add vhd/vpc support

This commit is contained in:
Jay Greguske 2015-05-05 13:04:15 -04:00 committed by Mike McLean
parent 108475b6a3
commit 865f93c1e2
2 changed files with 12 additions and 6 deletions

View file

@ -3049,7 +3049,7 @@ class BaseImageTask(OzImageTask):
Some image formats require others to be processed first, which is why
we have to do this. raw files in particular may not be kept.
"""
supported = ('raw', 'raw-xz', 'vmdk', 'qcow', 'qcow2', 'vdi', 'rhevm-ova', 'vsphere-ova', 'docker', 'vagrant-virtualbox', 'vagrant-libvirt')
supported = ('raw', 'raw-xz', 'vmdk', 'qcow', 'qcow2', 'vdi', 'rhevm-ova', 'vsphere-ova', 'docker', 'vagrant-virtualbox', 'vagrant-libvirt', 'vpc')
for f in formats:
if f not in supported:
raise koji.ApplianceError('Invalid format: %s' % f)
@ -3079,6 +3079,7 @@ class BaseImageTask(OzImageTask):
'vdi': self._buildConvert,
'qcow': self._buildConvert,
'qcow2': self._buildConvert,
'vpc': self._buildConvert,
'rhevm-ova': self._buildOVA,
'vsphere-ova': self._buildOVA,
'vagrant-virtualbox': self._buildOVA,
@ -3289,7 +3290,11 @@ class BaseImageTask(OzImageTask):
@returns
a dict with some metadata about the image
"""
newimg = os.path.join(self.workdir, self.imgname + '.%s' % format)
self.logger.debug('converting an image to "%s"' % format)
ofmt = format
if format == 'vpc':
ofmt = 'vhd'
newimg = os.path.join(self.workdir, self.imgname + '.%s' % ofmt)
cmd = ['/usr/bin/qemu-img', 'convert', '-f', 'raw', '-O',
format, self.base_img.base_image.data, newimg]
if format in ('qcow', 'qcow2'):
@ -3399,6 +3404,8 @@ class BaseImageTask(OzImageTask):
newname = self.imgname + '.' + format + '.box'
elif format == 'docker':
newname = self.imgname + '.' + 'tar.xz'
elif format == 'vpc':
newname = self.imgname + '.' + 'vhd'
else:
newname = self.imgname + '.' + format
if format != 'docker':

View file

@ -5238,12 +5238,11 @@ def _build_image_indirection(options, task_opts, session, args):
# return
def handle_image_build(options, session, args):
"""Create a disk image given an install tree"""
formats = ('vmdk', 'qcow', 'qcow2', 'vdi', 'rhevm-ova', 'vsphere-ova',
'vagrant-virtualbox', 'vagrant-libvirt', 'docker', 'raw-xz')
formats = ('vmdk', 'qcow', 'qcow2', 'vdi', 'vpc', 'rhevm-ova',
'vsphere-ova', 'vagrant-virtualbox', 'vagrant-libvirt',
'docker', 'raw-xz')
usage = _("usage: %prog image-build [options] <name> <version> " +
"<target> <install-tree-url> <arch> [<arch>...]")
usage += _("\n %prog image-build --config FILE")