Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
This introduces a new lxc-autostart binary (and associated manpage) which will let you start/shutdown/kill/restart any container that's marked as lxc.start.auto=1. It respects the lxc.start.delay value, sorts by lxc.start.order and filters by lxc.group. By default it'll affect all containers that DO NOT have lxc.group set. If -g is specified, ONLY containers in those group will be affected. To have a command applied to all containers, the -a argument can be used. A -L flag is also offered for distributions wishing to start the containers themselves while still using LXC's calculated order and wait delays. Instead of performing the action, it'll print the container name and (if relevant for the action) the wait time. Signed-off-by: Stéphane Graber <stgraber@ubuntu.com> Acked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>
- Loading branch information
Showing
8 changed files
with
519 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,173 @@ | ||
<!-- | ||
|
||
lxc-autostart | ||
|
||
(C) Copyright 2013 Canonical Ltd. | ||
|
||
Authors: | ||
Stéphane Graber <stgraber@ubuntu.com> | ||
|
||
This library is free software; you can redistribute it and/or | ||
modify it under the terms of the GNU Lesser General Public | ||
License as published by the Free Software Foundation; either | ||
version 2.1 of the License, or (at your option) any later version. | ||
|
||
This library is distributed in the hope that it will be useful, | ||
but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
Lesser General Public License for more details. | ||
|
||
You should have received a copy of the GNU Lesser General Public | ||
License along with this library; if not, write to the Free Software | ||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA | ||
|
||
--> | ||
|
||
<!DOCTYPE refentry PUBLIC @docdtd@ [ | ||
<!ENTITY commonoptions SYSTEM "@builddir@/common_options.sgml"> | ||
<!ENTITY seealso SYSTEM "@builddir@/see_also.sgml"> | ||
]> | ||
|
||
<refentry> | ||
<docinfo><date>@LXC_GENERATE_DATE@</date></docinfo> | ||
<refmeta> | ||
<refentrytitle>lxc-autostart</refentrytitle> | ||
<manvolnum>1</manvolnum> | ||
</refmeta> | ||
|
||
<refnamediv> | ||
<refname>lxc-autostart</refname> | ||
|
||
<refpurpose> | ||
start/stop/kill auto-started containers | ||
</refpurpose> | ||
</refnamediv> | ||
|
||
<refsynopsisdiv> | ||
<cmdsynopsis> | ||
<command>lxc-autostart</command> | ||
<arg choice="opt">-k</arg> | ||
<arg choice="opt">-L</arg> | ||
<arg choice="opt">-r</arg> | ||
<arg choice="opt">-s</arg> | ||
<arg choice="opt">-a</arg> | ||
<arg choice="opt">-g <replaceable>groups</replaceable></arg> | ||
<arg choice="opt">-t <replaceable>timeout</replaceable></arg> | ||
</cmdsynopsis> | ||
</refsynopsisdiv> | ||
|
||
<refsect1> | ||
<title>Description</title> | ||
|
||
<para> | ||
<command>lxc-autostart</command> processes containers | ||
with lxc.start.auto set. It lets the user start, shutdown, | ||
kill, restart containers in the right order, waiting the | ||
right time. Supports filtering by lxc.group or just run | ||
against all defined containers. It can also be used by | ||
external tools in list mode where no action will be performed | ||
and the list of affected containers (and if relevant, delays) | ||
will be shown. | ||
</para> | ||
|
||
<para> | ||
The <optional>-r</optional>, <optional>-s</optional> | ||
and <optional>-k</optional> options specify the action to perform. | ||
If none is specified, then the containers will be started. | ||
<optional>-a</optional> and <optional>-g</optional> are used to | ||
specify which containers will be affected. By default only | ||
containers without a lxc.group set will be affected. | ||
<optional>-t TIMEOUT</optional> specifies the maximum amount | ||
of time to wait for the container to complete the shutdown | ||
or reboot. | ||
</para> | ||
</refsect1> | ||
|
||
<refsect1> | ||
<title>Options</title> | ||
<variablelist> | ||
<varlistentry> | ||
<term> | ||
<option>-r,--reboot </option> | ||
</term> | ||
<listitem> | ||
<para> | ||
Request a reboot of the container. | ||
</para> | ||
</listitem> | ||
</varlistentry> | ||
|
||
<varlistentry> | ||
<term> | ||
<option>-s,--shutdown </option> | ||
</term> | ||
<listitem> | ||
<para> | ||
Only request a clean shutdown, do not kill the | ||
container tasks if the clean shutdown fails. | ||
</para> | ||
</listitem> | ||
</varlistentry> | ||
|
||
<varlistentry> | ||
<term> | ||
<option>-k,--kill </option> | ||
</term> | ||
<listitem> | ||
<para> | ||
Rather than requesting a clean shutdown of the | ||
container, explicitly kill all tasks in the container. | ||
</para> | ||
</listitem> | ||
</varlistentry> | ||
|
||
<varlistentry> | ||
<term> | ||
<option>-L,--list </option> | ||
</term> | ||
<listitem> | ||
<para> | ||
Rather than performing the action, just print | ||
the container name. | ||
</para> | ||
</listitem> | ||
</varlistentry> | ||
|
||
<varlistentry> | ||
<term> | ||
<option>-t,--timeout <replaceable>TIMEOUT</replaceable></option> | ||
</term> | ||
<listitem> | ||
<para> | ||
Wait TIMEOUT seconds before hard-stopping the | ||
container of (in the reboot case) returning failure. | ||
</para> | ||
</listitem> | ||
</varlistentry> | ||
</variablelist> | ||
</refsect1> | ||
|
||
&seealso; | ||
|
||
<refsect1> | ||
<title>Author</title> | ||
<para>Stéphane Graber <email>stgraber@ubuntu.com</email></para> | ||
</refsect1> | ||
</refentry> | ||
|
||
<!-- Keep this comment at the end of the file | ||
Local variables: | ||
mode: sgml | ||
sgml-omittag:t | ||
sgml-shorttag:t | ||
sgml-minimize-attributes:nil | ||
sgml-always-quote-attributes:t | ||
sgml-indent-step:2 | ||
sgml-indent-data:t | ||
sgml-parent-document:nil | ||
sgml-default-dtd-file:nil | ||
sgml-exposed-tags:nil | ||
sgml-local-catalogs:nil | ||
sgml-local-ecat-files:nil | ||
End: | ||
--> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.