[libvirt] [sandbox PATCH v4 16/21] Image: Add Volume Support
Daniel P. Berrange
berrange at redhat.com
Tue Sep 8 16:27:44 UTC 2015
On Fri, Aug 28, 2015 at 01:47:44PM +0000, Eren Yagdiran wrote:
> Volumes let user to map host-paths into sandbox. Docker containers
> need volumes for data persistence.
I'm a little bit puzzelled about how this feature is supposed
to be used. IIUC, in the Docker json file we have something
like
{
"/var/my-app-data/": {},
"/etc/some-config.d/": {},
}
> + def getVolumes(self):
> + volumes = self.json_data['container_config']['Volumes']
> + volumelist = []
> + if isinstance(volumes,collections.Iterable):
> + for key,value in volumes.iteritems():
> + volumelist.append(key)
> + return volumelist
This will just return a python list
["/var/my-app-data/", "/etc/some-config.d"]
> diff --git a/virt-sandbox-image/virt-sandbox-image.py b/virt-sandbox-image/virt-sandbox-image.py
> index 058738a..79f8d8c 100755
> --- a/virt-sandbox-image/virt-sandbox-image.py
> @@ -150,6 +151,25 @@ def run(args):
> if networkArgs is not None:
> params.append('-N')
> params.append(networkArgs)
> + allVolumes = source.get_volume(configfile)
> + volumeArgs = args.volume
> + if volumeArgs is not None:
> + allVolumes = allVolumes + volumeArgs
> + for volume in allVolumes:
> + volumeSplit = volume.split(":")
We don't have any ':' in our returned list from getVolumes()
> + volumelen = len(volumeSplit)
> + if volumelen == 2:
> + hostPath = volumeSplit[0]
> + guestPath = volumeSplit[1]
> + elif volumelen == 1:
> + guestPath = volumeSplit[0]
> + hostPath = storage_dir + guestPath
> + if not os.path.exists(hostPath):
> + os.makedirs(hostPath)
> + else:
> + pass
So we seem to just skip this ?
> + params.append("--mount")
> + params.append("host-bind:%s=%s" %(guestPath,hostPath))
> params.append('--')
> params.append(commandToRun)
> cmd = cmd + params
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