[lxc-devel] [PATCH 1/1] snapshots: add man page and fix up help info a bit.

Stéphane Graber stgraber at ubuntu.com
Thu Sep 12 20:41:31 UTC 2013


On Thu, Sep 12, 2013 at 03:08:26PM -0500, Serge Hallyn wrote:

Awesome, I noticed it was missing when going through lintian output this
morning and added it to my TODO for later this cycle, glad I won't have
to do it myself then :)

Acked-by: Stéphane Graber <stgraber at ubuntu.com>

> Signed-off-by: Serge Hallyn <serge.hallyn at ubuntu.com>
> ---
>  configure.ac             |   1 +
>  doc/Makefile.am          |   1 +
>  doc/lxc-snapshot.sgml.in | 152 +++++++++++++++++++++++++++++++++++++++++++++++
>  src/lxc/lxc_snapshot.c   |   7 ++-
>  4 files changed, 158 insertions(+), 3 deletions(-)
>  create mode 100644 doc/lxc-snapshot.sgml.in
> 
> diff --git a/configure.ac b/configure.ac
> index c734bea..6c74dcd 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -414,6 +414,7 @@ AC_CONFIG_FILES([
>  	doc/lxc-netstat.sgml
>  	doc/lxc-ps.sgml
>  	doc/lxc-restart.sgml
> +	doc/lxc-snapshot.sgml
>  	doc/lxc-start-ephemeral.sgml
>  	doc/lxc-start.sgml
>  	doc/lxc-stop.sgml
> diff --git a/doc/Makefile.am b/doc/Makefile.am
> index 2321a68..f2a106b 100644
> --- a/doc/Makefile.am
> +++ b/doc/Makefile.am
> @@ -22,6 +22,7 @@ man_MANS = \
>  	lxc-netstat.1 \
>  	lxc-ps.1 \
>  	lxc-restart.1 \
> +	lxc-snapshot.1 \
>  	lxc-start.1 \
>  	lxc-stop.1 \
>  	lxc-unfreeze.1 \
> diff --git a/doc/lxc-snapshot.sgml.in b/doc/lxc-snapshot.sgml.in
> new file mode 100644
> index 0000000..f66070b
> --- /dev/null
> +++ b/doc/lxc-snapshot.sgml.in
> @@ -0,0 +1,152 @@
> +<!--
> +
> +lxc: linux Container library
> +
> +(C) Copyright Canonical Inc. 2007, 2008
> +
> +Authors:
> +Serge Hallyn <serge.hallyn at 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-snapshot</refentrytitle>
> +    <manvolnum>1</manvolnum>
> +  </refmeta>
> +
> +  <refnamediv>
> +    <refname>lxc-snapshot</refname>
> +
> +    <refpurpose>
> +      Snapshot an existing container.
> +    </refpurpose>
> +  </refnamediv>
> +
> +  <refsynopsisdiv>
> +    <cmdsynopsis>
> +      <command>lxc-snapshot</command>
> +      <arg choice="req">-n, --name <replaceable>name</replaceable></arg>
> +      <arg choice="opt">-c, --comment <replaceable>file</replaceable></arg>
> +    </cmdsynopsis>
> +    <cmdsynopsis>
> +      <command>lxc-snapshot</command>
> +      <arg choice="req">-n, --name <replaceable>name</replaceable></arg>
> +      <arg choice="req">-L, --list </arg>
> +      <arg choice="opt">-C, --showcomments </arg>
> +    </cmdsynopsis>
> +    <cmdsynopsis>
> +      <command>lxc-snapshot</command>
> +      <arg choice="req">-n, --name <replaceable>name</replaceable></arg>
> +      <arg choice="req">-r, -restore <replaceable>snapshot-name</replaceable></arg>
> +      <arg choice="opt"> <replaceable> newname</replaceable></arg>
> +    </cmdsynopsis>
> +  </refsynopsisdiv>
> +
> +  <refsect1>
> +    <title>Description</title>
> +
> +    <para>
> +      <command>lxc-snapshot</command> creates, lists, and restores
> +      container snapshots.
> +    </para>
> +    <para>
> +    Snapshots are stored as snapshotted containers under a private configuration path.  For instance, if the container's configuration path is <filename>/var/lib/lxc</filename> and the container is <filename>c1</filename>, then the first snapshot will be stored as container <filename>snap0</filename> under configuration path <filename>/var/lib/lxcsnaps/c1</filename>.
> +    </para>
> +  </refsect1>
> +
> +  <refsect1>
> +
> +    <title>Options</title>
> +
> +    <variablelist>
> +
> +	  <varlistentry>
> +	    <term> <option>-c,--comment <replaceable>comment_file</replaceable></option> </term>
> +	   <listitem>
> +	    <para> Associate the comment in <replaceable>comment_file</replaceable> with the newly created snapshot.</para>
> +	   </listitem>
> +	  </varlistentry>
> +
> +	  <varlistentry>
> +	    <term> <option>-L,--list </option> </term>
> +	   <listitem>
> +	    <para> List existing snapshots. </para>
> +	   </listitem>
> +	  </varlistentry>
> +
> +	  <varlistentry>
> +	    <term> <option>-C,--showcomments </option> </term>
> +	   <listitem>
> +	    <para> Show snapshot comments in the snapshots listings. </para>
> +	   </listitem>
> +	  </varlistentry>
> +
> +	  <varlistentry>
> +	    <term> <option>-r,--restore snapshot-name</option> </term>
> +	   <listitem>
> +	    <para> Restore the named snapshot, meaning a full new container is created which is a copy of the snapshot.</para>
> +	   </listitem>
> +	  </varlistentry>
> +
> +	  <varlistentry>
> +	    <term> <option>newname</option> </term>
> +	   <listitem>
> +	    <para> When restoring a snapshot, the last optional argument is the name to use for the restored container.  If no name is given, then the original container will be destroyed and the restored container will take its place.  Note that deleting the original snapshot is not possible in the case of overlayfs or zfs backed snapshots.</para>
> +	   </listitem>
> +	  </varlistentry>
> +
> +    </variablelist>
> +
> +  </refsect1>
> +
> +  &commonoptions;
> +
> +  &seealso;
> +
> +  <refsect1>
> +    <title>Author</title>
> +    <para>Serge Hallyn <email>serge.hallyn at 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:
> +-->
> diff --git a/src/lxc/lxc_snapshot.c b/src/lxc/lxc_snapshot.c
> index 05562f0..0177f5d 100644
> --- a/src/lxc/lxc_snapshot.c
> +++ b/src/lxc/lxc_snapshot.c
> @@ -129,13 +129,14 @@ static const struct option my_longopts[] = {
>  
>  
>  static struct lxc_arguments my_args = {
> -	.progname = "lxc-create",
> +	.progname = "lxc-snapshot",
>  	.help     = "\
> ---name=NAME [-w] [-r] [-t timeout] [-P lxcpath]\n\
> +--name=NAME [-P lxcpath] [-L [-C]] [-c commentfile] [-r snapname [newname]]\n\
>  \n\
> -lxc-create creates a container\n\
> +lxc-snapshot snapshots a container\n\
>  \n\
>  Options :\n\
> +  -n, --name=NAME   NAME for name of the container\n\
>    -L, --list          list snapshots\n\
>    -C, --showcomments  show snapshot comments in list\n\
>    -c, --comment=file  add file as a comment\n\
> -- 
> 1.8.1.2
> 
> 
> ------------------------------------------------------------------------------
> How ServiceNow helps IT people transform IT departments:
> 1. Consolidate legacy IT systems to a single system of record for IT
> 2. Standardize and globalize service processes across IT
> 3. Implement zero-touch automation to replace manual, redundant tasks
> http://pubads.g.doubleclick.net/gampad/clk?id=51271111&iu=/4140/ostg.clktrk
> _______________________________________________
> Lxc-devel mailing list
> Lxc-devel at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/lxc-devel

-- 
Stéphane Graber
Ubuntu developer
http://www.ubuntu.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.linuxcontainers.org/pipermail/lxc-devel/attachments/20130912/ed2e8cbb/attachment.pgp>


More information about the lxc-devel mailing list