Read baremetal images from extra_specs namespace.
Baremetal PXE driver should read deploy_kernel_id & deploy_ramdisk_id from the 'baremetal:' namespace within instance_type['extra_specs'] so that it doesn't conflict with ComputeCapabilitiesFilter any more. Fixes bug 1129485. Change-Id: I84b3acb2ed83dc2b1ff8f1a21ca1d95f7d25751a
This commit is contained in:
parent
bcdbe9ba88
commit
813ed1b61d
|
@ -202,8 +202,8 @@ class PXEClassMethodsTestCase(BareMetalPXETestCase):
|
|||
|
||||
def test_get_instance_deploy_ids(self):
|
||||
self.instance['extra_specs'] = {
|
||||
'deploy_kernel_id': 'aaaa',
|
||||
'deploy_ramdisk_id': 'bbbb',
|
||||
'baremetal:deploy_kernel_id': 'aaaa',
|
||||
'baremetal:deploy_ramdisk_id': 'bbbb',
|
||||
}
|
||||
self.flags(deploy_kernel="fail", group='baremetal')
|
||||
self.flags(deploy_ramdisk="fail", group='baremetal')
|
||||
|
@ -289,8 +289,8 @@ class PXEClassMethodsTestCase(BareMetalPXETestCase):
|
|||
# Note that it is passed on the 'instance' object, despite being
|
||||
# inherited from the instance_types_extra_specs table.
|
||||
extra_specs = {
|
||||
'deploy_kernel_id': 'eeee',
|
||||
'deploy_ramdisk_id': 'ffff',
|
||||
'baremetal:deploy_kernel_id': 'eeee',
|
||||
'baremetal:deploy_ramdisk_id': 'ffff',
|
||||
}
|
||||
instance_type['extra_specs'] = extra_specs
|
||||
res = pxe.get_tftp_image_info(self.instance, instance_type)
|
||||
|
@ -300,8 +300,8 @@ class PXEClassMethodsTestCase(BareMetalPXETestCase):
|
|||
# However, if invalid values are passed on the image extra_specs,
|
||||
# this should still raise an exception.
|
||||
extra_specs = {
|
||||
'deploy_kernel_id': '',
|
||||
'deploy_ramdisk_id': '',
|
||||
'baremetal:deploy_kernel_id': '',
|
||||
'baremetal:deploy_ramdisk_id': '',
|
||||
}
|
||||
instance_type['extra_specs'] = extra_specs
|
||||
self.assertRaises(exception.NovaException,
|
||||
|
@ -324,8 +324,8 @@ class PXEPrivateMethodsTestCase(BareMetalPXETestCase):
|
|||
self.instance['ramdisk_id'] = 'bbbb'
|
||||
instance_type = utils.get_test_instance_type()
|
||||
extra_specs = {
|
||||
'deploy_kernel_id': 'cccc',
|
||||
'deploy_ramdisk_id': 'dddd',
|
||||
'baremetal:deploy_kernel_id': 'cccc',
|
||||
'baremetal:deploy_ramdisk_id': 'dddd',
|
||||
}
|
||||
instance_type['extra_specs'] = extra_specs
|
||||
image_info = pxe.get_tftp_image_info(self.instance, instance_type)
|
||||
|
@ -477,8 +477,8 @@ class PXEPublicMethodsTestCase(BareMetalPXETestCase):
|
|||
self._create_node()
|
||||
instance_type = {
|
||||
'extra_specs': {
|
||||
'deploy_kernel_id': 'eeee',
|
||||
'deploy_ramdisk_id': 'ffff',
|
||||
'baremetal:deploy_kernel_id': 'eeee',
|
||||
'baremetal:deploy_ramdisk_id': 'ffff',
|
||||
}
|
||||
}
|
||||
self.instance['uuid'] = 'fake-uuid'
|
||||
|
@ -540,8 +540,9 @@ class PXEPublicMethodsTestCase(BareMetalPXETestCase):
|
|||
self.mox.StubOutWithMock(pxe, 'get_tftp_image_info')
|
||||
self.mox.StubOutWithMock(self.driver, '_collect_mac_addresses')
|
||||
|
||||
extra_specs = dict(extra_specs=dict(deploy_ramdisk_id='ignore',
|
||||
deploy_kernel_id='ignore'))
|
||||
extra_specs = dict(extra_specs={
|
||||
'baremetal:deploy_ramdisk_id': 'ignore',
|
||||
'baremetal:deploy_kernel_id': 'ignore'})
|
||||
pxe.get_tftp_image_info(self.instance, extra_specs).\
|
||||
AndRaise(exception.NovaException)
|
||||
bm_utils.unlink_without_raise(pxe_path)
|
||||
|
|
|
@ -150,12 +150,12 @@ def build_network_config(network_info):
|
|||
|
||||
def get_deploy_aki_id(instance_type):
|
||||
return instance_type.get('extra_specs', {}).\
|
||||
get('deploy_kernel_id', CONF.baremetal.deploy_kernel)
|
||||
get('baremetal:deploy_kernel_id', CONF.baremetal.deploy_kernel)
|
||||
|
||||
|
||||
def get_deploy_ari_id(instance_type):
|
||||
return instance_type.get('extra_specs', {}).\
|
||||
get('deploy_ramdisk_id', CONF.baremetal.deploy_ramdisk)
|
||||
get('baremetal:deploy_ramdisk_id', CONF.baremetal.deploy_ramdisk)
|
||||
|
||||
|
||||
def get_image_dir_path(instance):
|
||||
|
@ -423,8 +423,9 @@ class PXE(base.NodeDriver):
|
|||
# NOTE(danms): the instance_type extra_specs do not need to be
|
||||
# present/correct at deactivate time, so pass something empty
|
||||
# to avoid an extra lookup
|
||||
instance_type = dict(extra_specs=dict(deploy_ramdisk_id='ignore',
|
||||
deploy_kernel_id='ignore'))
|
||||
instance_type = dict(extra_specs={
|
||||
'baremetal:deploy_ramdisk_id': 'ignore',
|
||||
'baremetal:deploy_kernel_id': 'ignore'})
|
||||
try:
|
||||
image_info = get_tftp_image_info(instance, instance_type)
|
||||
except exception.NovaException:
|
||||
|
|
Loading…
Reference in New Issue