Add common method for advanced image configuration
Add setup_advanced_image() to BaseTempestTestCase and update tests
to use it.
Related-Bug: OSPRH-19617
Assisted-by: Claude Code Sonnet 4.5
Change-Id: I4abea05a565061a57f71c37b98a101129cb388e2
Signed-off-by: Renjing Xiao <rxiao@redhat.com>
diff --git a/neutron_tempest_plugin/scenario/base.py b/neutron_tempest_plugin/scenario/base.py
index f7d08eb..36d15d8 100644
--- a/neutron_tempest_plugin/scenario/base.py
+++ b/neutron_tempest_plugin/scenario/base.py
@@ -269,6 +269,18 @@
raise cls.skipTest("No L3 agent with '%s' extension enabled found." %
extension)
+ @classmethod
+ def setup_advanced_image(cls):
+ if CONF.neutron_plugin_options.default_image_is_advanced:
+ cls.flavor_ref = CONF.compute.flavor_ref
+ cls.image_ref = CONF.compute.image_ref
+ cls.username = CONF.validation.image_ssh_user
+ else:
+ cls.flavor_ref = (
+ CONF.neutron_plugin_options.advanced_image_flavor_ref)
+ cls.image_ref = CONF.neutron_plugin_options.advanced_image_ref
+ cls.username = CONF.neutron_plugin_options.advanced_image_ssh_user
+
@removals.remove(version='Stein',
message="Please use create_floatingip method instead of "
"create_and_associate_floatingip.")
diff --git a/neutron_tempest_plugin/scenario/test_mac_learning.py b/neutron_tempest_plugin/scenario/test_mac_learning.py
index db340ed..1dca19a 100644
--- a/neutron_tempest_plugin/scenario/test_mac_learning.py
+++ b/neutron_tempest_plugin/scenario/test_mac_learning.py
@@ -79,15 +79,7 @@
def resource_setup(cls):
super(MacLearningTest, cls).resource_setup()
- if CONF.neutron_plugin_options.default_image_is_advanced:
- cls.flavor_ref = CONF.compute.flavor_ref
- cls.image_ref = CONF.compute.image_ref
- cls.username = CONF.validation.image_ssh_user
- else:
- cls.flavor_ref = (
- CONF.neutron_plugin_options.advanced_image_flavor_ref)
- cls.image_ref = CONF.neutron_plugin_options.advanced_image_ref
- cls.username = CONF.neutron_plugin_options.advanced_image_ssh_user
+ cls.setup_advanced_image()
# Setup basic topology for servers so that we can log into them
# It's important to keep port security and DHCP disabled for this test
diff --git a/neutron_tempest_plugin/scenario/test_mtu.py b/neutron_tempest_plugin/scenario/test_mtu.py
index 29ccb01..6f4fd80 100644
--- a/neutron_tempest_plugin/scenario/test_mtu.py
+++ b/neutron_tempest_plugin/scenario/test_mtu.py
@@ -46,24 +46,12 @@
secgroup_id=cls.secgroup['security_group']['id'])
cls.create_pingable_secgroup_rule(
secgroup_id=cls.secgroup['security_group']['id'])
- if CONF.neutron_plugin_options.default_image_is_advanced:
- cls.use_advanced_image = False
- cls.username = CONF.validation.image_ssh_user
- else:
- cls.use_advanced_image = True
- cls.username = CONF.neutron_plugin_options.advanced_image_ssh_user
+ cls.setup_advanced_image()
def create_pingable_vm(self, net, keypair, secgroup):
- if self.use_advanced_image:
- flavor_ref = CONF.neutron_plugin_options.advanced_image_flavor_ref
- image_ref = CONF.neutron_plugin_options.advanced_image_ref
- else:
- flavor_ref = CONF.compute.flavor_ref
- image_ref = CONF.compute.image_ref
-
server = self.create_server(
- flavor_ref=flavor_ref,
- image_ref=image_ref,
+ flavor_ref=self.flavor_ref,
+ image_ref=self.image_ref,
key_name=keypair['name'],
networks=[{'uuid': net['id']}],
security_groups=[{'name': secgroup[
diff --git a/neutron_tempest_plugin/scenario/test_multicast.py b/neutron_tempest_plugin/scenario/test_multicast.py
index a28328b..4d79f85 100644
--- a/neutron_tempest_plugin/scenario/test_multicast.py
+++ b/neutron_tempest_plugin/scenario/test_multicast.py
@@ -150,15 +150,7 @@
def resource_setup(cls):
super(BaseMulticastTest, cls).resource_setup()
- if CONF.neutron_plugin_options.default_image_is_advanced:
- cls.flavor_ref = CONF.compute.flavor_ref
- cls.image_ref = CONF.compute.image_ref
- cls.username = CONF.validation.image_ssh_user
- else:
- cls.flavor_ref = (
- CONF.neutron_plugin_options.advanced_image_flavor_ref)
- cls.image_ref = CONF.neutron_plugin_options.advanced_image_ref
- cls.username = CONF.neutron_plugin_options.advanced_image_ssh_user
+ cls.setup_advanced_image()
# setup basic topology for servers we can log into it
cls.network = cls.create_network()
diff --git a/neutron_tempest_plugin/scenario/test_vlan_transparency.py b/neutron_tempest_plugin/scenario/test_vlan_transparency.py
index 11ff510..b071ce0 100644
--- a/neutron_tempest_plugin/scenario/test_vlan_transparency.py
+++ b/neutron_tempest_plugin/scenario/test_vlan_transparency.py
@@ -60,13 +60,7 @@
cls.security_group = cls.create_security_group(name=cls.rand_name)
cls.create_loginable_secgroup_rule(cls.security_group['id'])
- if CONF.neutron_plugin_options.default_image_is_advanced:
- cls.flavor_ref = CONF.compute.flavor_ref
- cls.image_ref = CONF.compute.image_ref
- else:
- cls.flavor_ref = \
- CONF.neutron_plugin_options.advanced_image_flavor_ref
- cls.image_ref = CONF.neutron_plugin_options.advanced_image_ref
+ cls.setup_advanced_image()
@classmethod
def skip_checks(cls):
@@ -111,12 +105,8 @@
self.fail("Sub-port fixed IP not found on server.")
def _create_ssh_client(self, floating_ip):
- if CONF.neutron_plugin_options.default_image_is_advanced:
- username = CONF.validation.image_ssh_user
- else:
- username = CONF.neutron_plugin_options.advanced_image_ssh_user
return ssh.Client(host=floating_ip['floating_ip_address'],
- username=username,
+ username=self.username,
pkey=self.keypair['private_key'])
def _test_basic_inner_vlan_connectivity(