Compatible with old Swift service enable
Some of gate job, like ironic-inspector-tempest-dsvm-python3 doesn't
support data stores in Swift[1]. If use swift as tempest default
config, it will breaks that stable branch gate job.
This patch add backward compatibility for swift, and lets default data_store
is None.
[1] https://github.com/openstack/ironic-inspector/blob/stable/rocky/devstack/plugin.sh#L271-L273
Change-Id: Id349ab8c1cf90632032233c7a754e60544efd057
diff --git a/ironic_tempest_plugin/config.py b/ironic_tempest_plugin/config.py
index 819051e..79b6d18 100644
--- a/ironic_tempest_plugin/config.py
+++ b/ironic_tempest_plugin/config.py
@@ -199,6 +199,5 @@
help="The driver to set on the newly discovered nodes. "
"Only has effect with auto_discovery_feature is True."),
cfg.StrOpt('data_store',
- default='swift',
help="The storage backend for storing introspection data."),
]
diff --git a/ironic_tempest_plugin/tests/scenario/test_introspection_basic.py b/ironic_tempest_plugin/tests/scenario/test_introspection_basic.py
index 6df1207..9823a88 100644
--- a/ironic_tempest_plugin/tests/scenario/test_introspection_basic.py
+++ b/ironic_tempest_plugin/tests/scenario/test_introspection_basic.py
@@ -94,7 +94,12 @@
for node_id in self.node_ids:
node = self.node_show(node_id)
self.assertEqual('yes', node['extra']['rule_success'])
- if CONF.baremetal_introspection.data_store != "none":
+ data_store = CONF.baremetal_introspection.data_store
+ if data_store is None:
+ # Backward compatibility, the option is not set.
+ data_store = ('swift' if CONF.service_available.swift
+ else 'none')
+ if data_store != 'none':
self.verify_node_introspection_data(node)
self.verify_node_flavor(node)
diff --git a/ironic_tempest_plugin/tests/scenario/test_introspection_discovery.py b/ironic_tempest_plugin/tests/scenario/test_introspection_discovery.py
index 846fcfd..6f92d43 100644
--- a/ironic_tempest_plugin/tests/scenario/test_introspection_discovery.py
+++ b/ironic_tempest_plugin/tests/scenario/test_introspection_discovery.py
@@ -156,7 +156,12 @@
inspected_node = self.node_show(self.node_info['name'])
self.verify_node_flavor(inspected_node)
- if CONF.baremetal_introspection.data_store != "none":
+ data_store = CONF.baremetal_introspection.data_store
+ if data_store is None:
+ # Backward compatibility, the option is not set.
+ data_store = ('swift' if CONF.service_available.swift
+ else 'none')
+ if data_store != 'none':
self.verify_node_introspection_data(inspected_node)
self.assertEqual(ProvisionStates.ENROLL,
inspected_node['provision_state'])