Fix barbican service_available check
Tempest plugins should not explicitly set option from other plugins. The
change I7013888f94261d94e1cd4c3167dc84da7125d1da set
service_available.barbican to false if the barbican plugin doesn't
exist, but cause duplicate error if both are installed. The right way to
check if a service is available or not is checking if the attribute
exists and set the default to false. This patch fix the duplicate error.
Depends-On: https://review.openstack.org/#/c/639153/
Change-Id: I1ba353328e759391cc6a46d95b74c85c4cea6d92
Closes-Bug: 1817154
diff --git a/octavia_tempest_plugin/config.py b/octavia_tempest_plugin/config.py
index 91aa2c4..701eb8e 100644
--- a/octavia_tempest_plugin/config.py
+++ b/octavia_tempest_plugin/config.py
@@ -31,19 +31,6 @@
"to be available."),
]
-# Pull in the service_available for barbican if it is not defined.
-# If the barbican tempest plugin isn't loaded, this won't load from
-# tempest.conf.
-try:
- if cfg.CONF.service_available.barbican is not None:
- LOG.info('Barbican service_available state: {}'.format(
- cfg.CONF.service_available.barbican))
-except cfg.NoSuchOptError:
- ServiceAvailableGroup.append(
- cfg.BoolOpt('barbican', default=False,
- help="Whether or not the barbican service is expected to "
- "be available."))
-
octavia_group = cfg.OptGroup(name='load_balancer',
title='load-balancer service options')
diff --git a/octavia_tempest_plugin/tests/barbican_scenario/v2/test_tls_barbican.py b/octavia_tempest_plugin/tests/barbican_scenario/v2/test_tls_barbican.py
index 86dac04..27663b2 100644
--- a/octavia_tempest_plugin/tests/barbican_scenario/v2/test_tls_barbican.py
+++ b/octavia_tempest_plugin/tests/barbican_scenario/v2/test_tls_barbican.py
@@ -50,7 +50,7 @@
if not CONF.validation.run_validation:
raise cls.skipException('Traffic tests will not work without '
'run_validation enabled.')
- if not CONF.service_available.barbican:
+ if not getattr(CONF.service_available, 'barbican', False):
raise cls.skipException('TLS with Barbican tests require the '
'barbican service.')
diff --git a/zuul.d/jobs.yaml b/zuul.d/jobs.yaml
index d53fa42..40e260f 100644
--- a/zuul.d/jobs.yaml
+++ b/zuul.d/jobs.yaml
@@ -369,12 +369,15 @@
- openstack/barbican
- openstack/diskimage-builder
- openstack/python-barbicanclient
+ - openstack/barbican-tempest-plugin
vars:
tempest_test_regex: ^octavia_tempest_plugin.tests.barbican_scenario.v2
devstack_services:
barbican: true
devstack_plugins:
barbican: https://git.openstack.org/openstack/barbican.git
+ devstack_localrc:
+ TEMPEST_PLUGINS: '"/opt/stack/octavia-tempest-plugin /opt/stack/barbican-tempest-plugin"'
# Temporary transitional aliases for gates used in other repos
# Remove once octavia has transitioned job names