I agree with tosky. none of the repo/plugins should register the duplicate config option.
There are many tempest-plugin like congress etc which need to check some other plugin service_availability. So they check the service presence in their devstack plugin and then set the service_availability of that service in tempest.conf. Note, they only set the value of that config option but do not register. registry of config options has to be done in own plugin only.
What Octavia can do here is, check the presence of CONF.service_available.barbican and if that config option is not registered/available then, consider that Barbican is not available and skip the test/operation. For example[1].
Setting of value can be handled via devstack plugin as service_available.barbican is default to false in barbican-tempest-plugin [2]
I agree with tosky. none of the repo/plugins should register the duplicate config option.
There are many tempest-plugin like congress etc which need to check some other plugin service_ availability. So they check the service presence in their devstack plugin and then set the service_ availability of that service in tempest.conf. Note, they only set the value of that config option but do not register. registry of config options has to be done in own plugin only.
What Octavia can do here is, check the presence of CONF.service_ available. barbican and if that config option is not registered/ available then, consider that Barbican is not available and skip the test/operation. For example[1].
Setting of value can be handled via devstack plugin as service_ available. barbican is default to false in barbican- tempest- plugin [2]
[1] https:/ /github. com/openstack/ congress- tempest- plugin/ blob/4390716a37 3b67a85fadc7434 95494bd18679b63 /congress_ tempest_ plugin/ tests/scenario/ congress_ datasources/ test_mistral. py#L31
[2] https:/ /github. com/openstack/ barbican- tempest- plugin/ blob/123dd7d416 2c39a1cb4b4c1b0 9a5dceaee127eb6 /barbican_ tempest_ plugin/ config. py#L19