[libvirt] [sandbox PATCH v2 19/19] Image: Add custom environment support
Daniel P. Berrange
berrange at redhat.com
Mon Aug 10 16:20:57 UTC 2015
On Tue, Aug 04, 2015 at 08:11:25PM +0000, Eren Yagdiran wrote:
> Any custom key=value pair can be used as a custom environment variable
> in virt-sandbox-image.
> e.g virt-sandbox-image run ubuntu /var/lib/libvirt/templates -c lxc:/// -i /bin/bash -e key1=val1
> ---
> virt-sandbox-image/sources/DockerSource.py | 10 ++++++++++
> virt-sandbox-image/sources/Source.py | 4 ++++
> virt-sandbox-image/virt-sandbox-image.py | 19 +++++++++++++++++++
> 3 files changed, 33 insertions(+)
>
> diff --git a/virt-sandbox-image/sources/DockerSource.py b/virt-sandbox-image/sources/DockerSource.py
> index 44bc238..54b68b9 100644
> --- a/virt-sandbox-image/sources/DockerSource.py
> +++ b/virt-sandbox-image/sources/DockerSource.py
> @@ -48,6 +48,12 @@ class DockerConfParser():
> for key,value in volumes.iteritems():
> volumelist.append(key)
> return volumelist
> + def getEnvs(self):
> + lst = self.json_data['container_config']['Env']
> + if lst is not None and isinstance(lst,list):
> + return lst
> + else:
> + return []
>
> class DockerSource(Source):
> default_index_server = "index.docker.io"
> @@ -411,5 +417,9 @@ class DockerSource(Source):
> configParser = DockerConfParser(configfile)
> return configParser.getVolumes()
>
> + def get_environment(self,configfile):
> + configParser = DockerConfParser(configfile)
> + return configParser.getEnvs()
> +
> def debug(msg):
> sys.stderr.write(msg)
> diff --git a/virt-sandbox-image/sources/Source.py b/virt-sandbox-image/sources/Source.py
> index 6898c15..ad82986 100644
> --- a/virt-sandbox-image/sources/Source.py
> +++ b/virt-sandbox-image/sources/Source.py
> @@ -53,3 +53,7 @@ class Source():
> @abstractmethod
> def get_volume(self,**args):
> pass
> +
> + @abstractmethod
> + def get_env(self,**args):
Here you call it 'get_env' but in the DockerSource you call
it 'get_environment'. This causes python to immediately exit
saying that DockerSource doens't implement the API defined
by Source.
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 :|
More information about the libvir-list
mailing list