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
This commit is contained in:
Slawek Kaplonski
2020-04-23 14:18:37 +02:00
committed by Federico Ressi
parent 0908614679
commit 67a2bd3faa
3 changed files with 11 additions and 0 deletions

View File

@@ -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()

View File

@@ -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)

View File

@@ -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()