Fix ovn metadata service name in Devstack deployment

Since OVN driver was moved to the Neutron repo, sevice for
ovn-metadata-agent is called 'neutron-ovn-metadata-agent' instead of old
'networking-ovn-metadata-agent'.
This patch makes Tobiko faults tests aware of it so it can works fine
in both cases.

Change-Id: I961745f5610e3793bfb272451269259661498dc9
This commit is contained in:
Slawek Kaplonski 2021-03-11 14:55:23 +01:00
parent 7b1c687310
commit df69d47adb
4 changed files with 16 additions and 1 deletions

View File

@ -29,6 +29,7 @@ METADATA_AGENT = _agent.METADATA_AGENT
OPENVSWITCH_AGENT = _agent.OPENVSWITCH_AGENT OPENVSWITCH_AGENT = _agent.OPENVSWITCH_AGENT
OVN_CONTROLLER = _agent.OVN_CONTROLLER OVN_CONTROLLER = _agent.OVN_CONTROLLER
OVN_METADATA_AGENT = _agent.OVN_METADATA_AGENT OVN_METADATA_AGENT = _agent.OVN_METADATA_AGENT
NEUTRON_OVN_METADATA_AGENT = _agent.NEUTRON_OVN_METADATA_AGENT
AgentNotFoundOnHost = _agent.AgentNotFoundOnHost AgentNotFoundOnHost = _agent.AgentNotFoundOnHost
skip_if_missing_networking_agents = _agent.skip_if_missing_networking_agents skip_if_missing_networking_agents = _agent.skip_if_missing_networking_agents
skip_unless_is_ovn = _agent.skip_unless_is_ovn skip_unless_is_ovn = _agent.skip_unless_is_ovn

View File

@ -25,7 +25,12 @@ L3_AGENT = 'neutron-l3-agent'
METADATA_AGENT = 'neutron-metadata-agent' METADATA_AGENT = 'neutron-metadata-agent'
OPENVSWITCH_AGENT = 'neutron-openvswitch-agent' OPENVSWITCH_AGENT = 'neutron-openvswitch-agent'
OVN_CONTROLLER = 'ovn-controller' OVN_CONTROLLER = 'ovn-controller'
# NOTE(slaweq) name 'networking-ovn-metadata-agent' was used up to stable/train
# release when ovn driver was stadium project,
# Since stable/ussuri, when driver was included in the Neutron repo, it is
# called 'neutron-ovn-metadata-agent'
OVN_METADATA_AGENT = 'networking-ovn-metadata-agent' OVN_METADATA_AGENT = 'networking-ovn-metadata-agent'
NEUTRON_OVN_METADATA_AGENT = 'neutron-ovn-metadata-agent'
class AgentNotFoundOnHost(tobiko.TobikoException): class AgentNotFoundOnHost(tobiko.TobikoException):

View File

@ -185,6 +185,7 @@ class OpenStackTopology(tobiko.SharedFixture):
neutron.OPENVSWITCH_AGENT: 'devstack@q-agt', neutron.OPENVSWITCH_AGENT: 'devstack@q-agt',
neutron.METADATA_AGENT: 'devstack@q-meta', neutron.METADATA_AGENT: 'devstack@q-meta',
neutron.OVN_METADATA_AGENT: 'devstack@q-ovn-metadata-agent', neutron.OVN_METADATA_AGENT: 'devstack@q-ovn-metadata-agent',
neutron.NEUTRON_OVN_METADATA_AGENT: 'devstack@q-ovn-metadata-agent',
neutron.OVN_CONTROLLER: 'ovn-controller' neutron.OVN_CONTROLLER: 'ovn-controller'
} }
agent_to_container_name_mappings: typing.Dict[str, str] = {} agent_to_container_name_mappings: typing.Dict[str, str] = {}

View File

@ -749,12 +749,20 @@ class MetadataAgentTest(BaseAgentTest):
# Search for the corresponding container instead of the networking agent # Search for the corresponding container instead of the networking agent
class OvnMetadataAgentTest(MetadataAgentTest): class OvnMetadataAgentTest(MetadataAgentTest):
agent_name = neutron.OVN_METADATA_AGENT agent_name = neutron.NEUTRON_OVN_METADATA_AGENT
def setUp(self): def setUp(self):
self.get_ovn_agents_from_containers() self.get_ovn_agents_from_containers()
super(OvnMetadataAgentTest, self).setUp() super(OvnMetadataAgentTest, self).setUp()
@classmethod
def setUpClass(cls):
super(OvnMetadataAgentTest, cls).setUpClass()
if not cls.agents:
# Let's check if that is maybe older version with networking-ovn
cls.agents: AgentListType = neutron.list_networking_agents(
binary=neutron.OVN_METADATA_AGENT)
def parse_http_status(curl_output: str) -> int: def parse_http_status(curl_output: str) -> int:
http_head = curl_output.split('\n', 1)[0] http_head = curl_output.split('\n', 1)[0]