Report trait 'COMPUTE_IMAGE_TYPE_PLOOP'

This patch updates virt interface for reporting
trait 'COMPUTE_IMAGE_TYPE_PLOOP'.

Change-Id: Ifa2c3857725d64963aed2de7fac0b5b424665afe
Closes-Bug: #1854235
This commit is contained in:
ericxiett 2019-12-10 03:27:41 +00:00
parent 6695b5633b
commit e61cb24932
10 changed files with 28 additions and 2 deletions

View File

@ -68,7 +68,7 @@ os-brick==2.6.2
os-client-config==1.29.0
os-resource-classes==0.4.0
os-service-types==1.7.0
os-traits==1.1.0
os-traits==2.0.0
os-vif==1.14.0
os-win==3.0.0
os-xenapi==0.3.3

View File

@ -1010,6 +1010,10 @@ class LibvirtConnTestCase(test.NoDBTestCase,
'Driver capabilities for '
'\'supports_image_type_qcow2\' '
'is invalid')
self.assertFalse(drvr.capabilities['supports_image_type_ploop'],
'Driver capabilities for '
'\'supports_image_type_ploop\' '
'is invalid')
def test_driver_capabilities_qcow2_with_rbd(self):
self.flags(images_type='rbd', group='libvirt')
@ -1039,6 +1043,18 @@ class LibvirtConnTestCase(test.NoDBTestCase,
drvr = libvirt_driver.LibvirtDriver(fake.FakeVirtAPI(), False)
self.assertTrue(drvr.capabilities['supports_image_type_qcow2'])
def test_driver_capabilities_ploop_with_virtuozzo(self):
self.flags(virt_type='kvm', group='libvirt')
drvr = libvirt_driver.LibvirtDriver(fake.FakeVirtAPI(), False)
self.assertFalse(drvr.capabilities['supports_image_type_ploop'],
'Driver capabilities for '
'\'supports_image_type_ploop\' '
'is invalid when virt_type=kvm')
self.flags(virt_type='parallels', group='libvirt')
drvr = libvirt_driver.LibvirtDriver(fake.FakeVirtAPI(), False)
self.assertTrue(drvr.capabilities['supports_image_type_ploop'])
def create_fake_libvirt_mock(self, **kwargs):
"""Defining mocks for LibvirtDriver(libvirt is not used)."""

View File

@ -122,6 +122,8 @@ CAPABILITY_TRAITS_MAP = {
"supports_image_type_vhd": os_traits.COMPUTE_IMAGE_TYPE_VHD,
"supports_image_type_vhdx": os_traits.COMPUTE_IMAGE_TYPE_VHDX,
"supports_image_type_vmdk": os_traits.COMPUTE_IMAGE_TYPE_VMDK,
# Added in os-traits 2.0.0
"supports_image_type_ploop": os_traits.COMPUTE_IMAGE_TYPE_PLOOP,
}
@ -183,6 +185,7 @@ class ComputeDriver(object):
"supports_image_type_vhd": False,
"supports_image_type_vhdx": False,
"supports_image_type_vmdk": False,
"supports_image_type_ploop": False,
}
# Indicates if this driver will rebalance nodes among compute service

View File

@ -176,6 +176,7 @@ class IronicDriver(virt_driver.ComputeDriver):
"supports_image_type_vhd": False,
"supports_image_type_vhdx": False,
"supports_image_type_vmdk": False,
"supports_image_type_ploop": False,
}
# This driver is capable of rebalancing nodes between computes.

View File

@ -310,6 +310,7 @@ class LibvirtDriver(driver.ComputeDriver):
raw_only = ('rbd', 'lvm')
requires_raw_image = (CONF.libvirt.images_type in raw_only and
not CONF.force_raw_images)
requires_ploop_image = CONF.libvirt.virt_type == 'parallels'
self.capabilities = {
"has_imagecache": True,
@ -339,6 +340,7 @@ class LibvirtDriver(driver.ComputeDriver):
# formats. If we are configured for those backends, then we
# should not expose the corresponding support traits.
"supports_image_type_qcow2": not requires_raw_image,
"supports_image_type_ploop": requires_ploop_image,
"supports_pcpus": True,
}
super(LibvirtDriver, self).__init__(virtapi)

View File

@ -90,6 +90,7 @@ class PowerVMDriver(driver.ComputeDriver):
"supports_image_type_vhd": False,
"supports_image_type_vhdx": False,
"supports_image_type_vmdk": False,
"supports_image_type_ploop": False,
}
super(PowerVMDriver, self).__init__(virtapi)

View File

@ -82,6 +82,7 @@ class VMwareVCDriver(driver.ComputeDriver):
"supports_image_type_vhd": False,
"supports_image_type_vhdx": False,
"supports_image_type_vmdk": True,
"supports_image_type_ploop": False,
}
# Legacy nodename is of the form: <mo id>(<cluster name>)

View File

@ -82,6 +82,7 @@ class XenAPIDriver(driver.ComputeDriver):
"supports_image_type_vhd": True,
"supports_image_type_vhdx": False,
"supports_image_type_vmdk": False,
"supports_image_type_ploop": False,
}
def __init__(self, virtapi, read_only=False):

View File

@ -59,6 +59,7 @@ class ZVMDriver(driver.ComputeDriver):
"supports_image_type_vhd": False,
"supports_image_type_vhdx": False,
"supports_image_type_vmdk": False,
"supports_image_type_ploop": False,
}
def __init__(self, virtapi):

View File

@ -56,7 +56,7 @@ psutil>=3.2.2 # BSD
oslo.versionedobjects>=1.35.0 # Apache-2.0
os-brick>=2.6.2 # Apache-2.0
os-resource-classes>=0.4.0 # Apache-2.0
os-traits>=1.1.0 # Apache-2.0
os-traits>=2.0.0 # Apache-2.0
os-vif>=1.14.0 # Apache-2.0
os-win>=3.0.0 # Apache-2.0
castellan>=0.16.0 # Apache-2.0