Merge "Fix vif tests"
diff --git a/ironic_tempest_plugin/tests/scenario/baremetal_standalone_manager.py b/ironic_tempest_plugin/tests/scenario/baremetal_standalone_manager.py
index a66d7d6..48a6bd5 100644
--- a/ironic_tempest_plugin/tests/scenario/baremetal_standalone_manager.py
+++ b/ironic_tempest_plugin/tests/scenario/baremetal_standalone_manager.py
@@ -192,7 +192,12 @@
"""
vifs = cls.get_node_vifs(node_id)
for vif in vifs:
- cls.baremetal_client.vif_detach(node_id, vif)
+ try:
+ cls.baremetal_client.vif_detach(node_id, vif)
+ except lib_exc.BadRequest:
+ # When the vif was already removed, such as the
+ # node was already unprovisioned.
+ pass
if force_delete:
try:
cls.ports_client.delete_port(vif)
@@ -791,8 +796,12 @@
"args": {"raid_config": config},
}
]
- self.baremetal_client.create_deploy_template(
+ _, template = self.baremetal_client.create_deploy_template(
'CUSTOM_RAID', steps=steps)
+ # Set a cleanup to ensure the deploy template is removed.
+ self.addCleanup(
+ self.baremetal_client.delete_deploy_template,
+ template['uuid'])
self.baremetal_client.add_node_trait(self.node['uuid'],
'CUSTOM_RAID')
@@ -873,8 +882,7 @@
self.assertTrue(self.ping_ip_address(self.node_ip,
should_succeed=True))
- @classmethod
- def boot_node_ramdisk(cls, ramdisk_ref, iso=False):
+ def boot_node_ramdisk(self, ramdisk_ref, iso=False):
"""Boot ironic using a ramdisk node.
The following actions are executed:
@@ -890,11 +898,11 @@
us actually an ISO image.
"""
if ramdisk_ref is None:
- ramdisk_ref = cls.image_ref
+ ramdisk_ref = self.image_ref
- network, subnet, router = cls.create_networks()
- n_port = cls.create_neutron_port(network_id=network['id'])
- cls.vif_attach(node_id=cls.node['uuid'], vif_id=n_port['id'])
+ network, subnet, router = self.create_networks()
+ n_port = self.create_neutron_port(network_id=network['id'])
+ self.vif_attach(node_id=self.node['uuid'], vif_id=n_port['id'])
if iso:
patch_path = '/instance_info/boot_iso'
else:
@@ -905,22 +913,25 @@
patch = [{'path': patch_path,
'op': 'add',
'value': ramdisk_ref}]
- cls.update_node(cls.node['uuid'], patch=patch)
- cls.set_node_provision_state(cls.node['uuid'], 'active')
+ self.update_node(self.node['uuid'], patch=patch)
+ self.set_node_provision_state(self.node['uuid'], 'active')
+ self.addCleanup(
+ self.set_node_provision_state,
+ self.node['uuid'], 'deleted')
if CONF.validation.connect_method == 'floating':
- cls.node_ip = cls.add_floatingip_to_node(cls.node['uuid'])
+ self.node_ip = self.add_floatingip_to_node(self.node['uuid'])
elif CONF.validation.connect_method == 'fixed':
- cls.node_ip = cls.get_server_ip(cls.node['uuid'])
+ self.node_ip = self.get_server_ip(self.node['uuid'])
else:
m = ('Configuration option "[validation]/connect_method" '
'must be set.')
raise lib_exc.InvalidConfiguration(m)
- cls.wait_power_state(cls.node['uuid'],
- bm.BaremetalPowerStates.POWER_ON)
- cls.wait_provisioning_state(cls.node['uuid'],
- bm.BaremetalProvisionStates.ACTIVE,
- timeout=CONF.baremetal.active_timeout,
- interval=30)
+ self.wait_power_state(self.node['uuid'],
+ bm.BaremetalPowerStates.POWER_ON)
+ self.wait_provisioning_state(self.node['uuid'],
+ bm.BaremetalProvisionStates.ACTIVE,
+ timeout=CONF.baremetal.active_timeout,
+ interval=30)
def boot_and_verify_ramdisk_node(self, ramdisk_ref=None, iso=False,
should_succeed=True):