From 67a2bd3faaf2e6e0db9e0e2e99f02950952b7e01 Mon Sep 17 00:00:00 2001 From: Slawek Kaplonski Date: Thu, 23 Apr 2020 14:18:37 +0200 Subject: [PATCH] Add way to know topology is based on containers It is important in some cases to know if cloud topology is contenerized (like TripleO) or not (like e.g. Devstack). In case of contenerized topology, we need for now to skip radvd related faults test as this isn't run in side car container so it's gone always when neutron-l3-agent is stopped. Change-Id: If7f93c21814cfc75cdd3d32900403dc978b53afe --- tobiko/openstack/topology/_topology.py | 2 ++ tobiko/tests/faults/agents/test_neutron_agents.py | 7 +++++++ tobiko/tripleo/topology.py | 2 ++ 3 files changed, 11 insertions(+) diff --git a/tobiko/openstack/topology/_topology.py b/tobiko/openstack/topology/_topology.py index 2c86be5af..6ee89ca81 100644 --- a/tobiko/openstack/topology/_topology.py +++ b/tobiko/openstack/topology/_topology.py @@ -162,6 +162,8 @@ class OpenStackTopology(tobiko.SharedFixture): 'neutron-ovs-agent': 'devstack@q-agt', } + has_containers = False + def __init__(self): super(OpenStackTopology, self).__init__() self._reachable_ips = set() diff --git a/tobiko/tests/faults/agents/test_neutron_agents.py b/tobiko/tests/faults/agents/test_neutron_agents.py index 1c140c194..00bf197e5 100644 --- a/tobiko/tests/faults/agents/test_neutron_agents.py +++ b/tobiko/tests/faults/agents/test_neutron_agents.py @@ -278,6 +278,13 @@ class L3AgentTest(testtools.TestCase, AgentTestMixin): return True def test_radvd_during_stop_l3_agent(self): + os_topology = topology.get_openstack_topology() + if os_topology.has_containers: + self.skip("Radvd process is currently run directly in " + "neutron-l3-agent container so it will be always killed " + "when neutron-l3-agent container is killed and this " + "test is not needed") + if not self._is_radvd_process_expected(): self.skip("Radvd process is not expected to be run on router %s" % self.router_id) diff --git a/tobiko/tripleo/topology.py b/tobiko/tripleo/topology.py index 723a3a542..390969cab 100644 --- a/tobiko/tripleo/topology.py +++ b/tobiko/tripleo/topology.py @@ -33,6 +33,8 @@ class TripleoTopology(topology.OpenStackTopology): 'neutron-ovs-agent': 'tripleo_neutron_ovs_agent', } + has_containers = True + def discover_nodes(self): self.discover_undercloud_nodes() self.discover_overcloud_nodes()