On Wed, Sep 09, 2015 at 02:12:28PM +0200, Cedric Bosdonnat wrote:
On Tue, 2015-09-08 at 17:29 +0100, Daniel P. Berrange wrote:
> From: Eren Yagdiran <erenyagdiran(a)gmail.com>
>
> Signed-off-by: Daniel P. Berrange <berrange(a)redhat.com>
> ---
> bin/Makefile.am | 5 ++
> bin/virt-sandbox-image.pod | 169 +++++++++++++++++++++++++++++++++++++++++++++
> libvirt-sandbox.spec.in | 1 +
> 3 files changed, 175 insertions(+)
> create mode 100644 bin/virt-sandbox-image.pod
>
> diff --git a/bin/Makefile.am b/bin/Makefile.am
> index deedcf6..398e90c 100644
> --- a/bin/Makefile.am
> +++ b/bin/Makefile.am
> @@ -20,6 +20,7 @@ POD_FILES = \
> virt-sandbox-service-delete.pod \
> virt-sandbox-service-reload.pod \
> virt-sandbox-service-upgrade.pod \
> + virt-sandbox-image.pod \
> $(NULL)
> EXTRA_DIST = $(bin_SCRIPTS) $(POD_FILES) virt-sandbox-service-bash-completion.sh
virt-sandbox-service.logrotate
> EXTRA_DIST += virt-sandbox-service-bash-completion.sh
> @@ -34,6 +35,7 @@ man1_MANS = \
> virt-sandbox-service-delete.1 \
> virt-sandbox-service-reload.1 \
> virt-sandbox-service-upgrade.1 \
> + virt-sandbox-image.1 \
> $(NULL)
>
> POD2MAN = pod2man -c "Virtualization Support" -r
"$(PACKAGE)-$(VERSION)"
> @@ -65,6 +67,9 @@ virt-sandbox-service-reload.1: virt-sandbox-service-reload.pod
Makefile
> virt-sandbox-service-upgrade.1: virt-sandbox-service-upgrade.pod Makefile
> $(AM_V_GEN)$(POD2MAN) $< $(srcdir)/$@
>
> +virt-sandbox-image.1: virt-sandbox-image.pod Makefile
> + $(AM_V_GEN)$(POD2MAN) $< $(srcdir)/$@
> +
> CLEANFILES = $(man1_MANS)
>
> virt_sandbox_SOURCES = virt-sandbox.c
> diff --git a/bin/virt-sandbox-image.pod b/bin/virt-sandbox-image.pod
> new file mode 100644
> index 0000000..85954b0
> --- /dev/null
> +++ b/bin/virt-sandbox-image.pod
> @@ -0,0 +1,169 @@
> +=head1 NAME
> +
> +virt-sandbox-image - Sandbox Container Image Tool
> +
> +=head1 SYNOPSIS
> +
> + {download,create,run,delete}
> +
> + commands:
> +
> + download Download template data
> +
> + create Create image from template data
> +
> + run Run an already built image
> +
> + delete Delete template data
> +
> +=head1 DESCRIPTION
> +
> +virt-sandbox-image.py is a sandbox container image tool developed in python.
> +This tool can download,create,run and delete templates which are provided by
> +different sources. This tool comes with Docker source by default. Other sources
> +can be implemented by extending source class
The mention on the default source and possibility to add more may not
fit a man page... or we'll need to reword / remove it someday.
> +=head1 OPTIONS
> +
> +=over 4
> +
> +=item B<download -s source -r registry -u username -p password -t
template_directory template>
> +
>
Again here, do we really want to use the word "registry" sounding too
dockerish?
>
> +Download a template by given name with a specified source.
> +
> +=over 6
> +
> +=item B<template>
> +
> +Template name to download
> +
> +=item B<-s or --source>
> +
> +Source parameter will try load source module under sources/ directory. Each source
has to implement Source.py base class and register itself with a proper name
> +Default source is Docker.
> +
Do we really want to include development hints in the man?
> +=item B<-r or --registry>
> +
> +Custom registry url for downloading data. This might need privileged credentials
which can be specified by --username and --password parameters.
> +
> +=item B<-u or --username>
> +
> +Username for custom registry authentication
> +
> +=item B<-p or --password>
> +
> +Password for custom registry authentication
> +
> +=item B<-t or --template-dir>
> +
> +Custom directory for downloading template data
> +
> +=back
> +
> +=item B<create -s source -c uri -f format template>
> +
> +Create already downloaded template into image with given format.
> +
> +=over 5
> +
> +=item B<template>
> +
> +Template name to download.
> +
> +=item B<format>
> +
> +Image format e.g qcow2
> +
> +=item B<-s or --source>
> +
> +Source parameter will try load source module under sources/ directory. Each source
has to implement Source.py base class and register itself with a proper name
> +Default source is Docker.
> +
> +=item B<-c or --connect>
> +
> +Driver parameter can be specified with only supported driver by libvirt-sandbox.
These are lxc:///, qemu:///session, qemu:///system.
> +
> +=back
> +
> +=item B<run -n name -N network -v volume -s source -c uri template
command...>
> +
> +Run already built image. If B<command> is not specified, the default defined
> +command for the image will be run.
> +
> +=over 6
> +
> +=item B<template>
> +
> +Template name to download.
> +
> +=item B<imagepath>
> +
> +Image path where template image will be stored.
> +
> +=item B<-n or --name>
> +
> +The sandbox guest name
> +
> +=item B<-N or --network>
> +
> +Network params will be passed directly to the virt-sandbox. More information about
network params, See C<virt-sandbox(8)>
> +
> +=item B<-v or --volume>
> +
> +Volume params are for binding host-paths to the guest. E.g -v /home:/home will map
/home directory from host to the guest.
> +
> +=item B<-c or --connect>
> +
> +Driver parameter can be specified with only supported driver by libvirt-sandbox.
These are lxc:///, qemu:///session, qemu:///system.
> +
> +=back
> +
> +=item B<delete name imagepath -s source >
> +
> +Delete downloaded template data and its built image.
> +
> +=over 3
> +
> +=item B<name>
> +
> +Template name to delete.
> +
> +=item B<imagepath>
> +
> +Image path where template data or image stays.
> +
> +=item B<-s or --source>
> +
> +Source parameter will try load source module under sources/ directory. Each source
has to implement Source.py base class and register itself with a proper name
> +Default source is Docker.
> +
> +=back
> +
> +=back
> +
> +=head1 SEE ALSO
> +
> +C<virt-sandbox(8)>
> +
> +=head1 FILES
> +
> +Container content will be stored in subdirectories of
> +/var/lib/libvirt/templates, by default.
> +
> +=head1 AUTHORS
> +
> +Daniel P. Berrange <dan(a)berrange.com>
> +
> +Eren Yagdiran <erenyagdiran(a)gmail.com>
> +
> +=head1 COPYRIGHT
> +
> +Copyright (C) 2013 Red Hat, Inc.
> +Copyright (C) 2015 Universitat Politecnica de Catalunya.
> +
> +=head1 LICENSE
> +
> +virt-sandbox-image is distributed under the terms of the GNU LGPL v2+.
> +This is free software; see the source for copying conditions.
> +There is NO warranty; not even for MERCHANTABILITY or FITNESS
> +FOR A PARTICULAR PURPOSE
> diff --git a/libvirt-sandbox.spec.in b/libvirt-sandbox.spec.in
> index 54fde55..b488cec 100644
> --- a/libvirt-sandbox.spec.in
> +++ b/libvirt-sandbox.spec.in
> @@ -102,6 +102,7 @@ rm -rf $RPM_BUILD_ROOT
> %{_libexecdir}/virt-sandbox-service-util
> %{python_sitelib}/libvirt_sandbox
> %{_mandir}/man1/virt-sandbox.1*
> +%{_mandir}/man1/virt-sandbox-image.1*
> %{_mandir}/man1/virt-sandbox-service.1*
> %{_mandir}/man1/virt-sandbox-service-*.1*
>
ACK, but would be good to think about the raised questions before
pushing.
Yeah, I think we could temporarily postpone this, as the man page could
do with a little more work
Regards,
Daniel
--
|:
http://berrange.com -o-
http://www.flickr.com/photos/dberrange/ :|
|:
http://libvirt.org -o-
http://virt-manager.org :|
|:
http://autobuild.org -o-
http://search.cpan.org/~danberr/ :|
|:
http://entangle-photo.org -o-
http://live.gnome.org/gtk-vnc :|