From 8f9ab5e4d39425d318801a675b7b78d604669ec5 Mon Sep 17 00:00:00 2001 From: Eduardo Olivares Date: Fri, 13 Mar 2020 10:23:52 +0100 Subject: [PATCH] Add support for networker nodes to assert_ovn_containers_running Changes in some functions where default groups where only compute and controller - now all overcloud nodes are included Change-Id: I2259a7beb9c8b16d740317ff633c369735f0361d --- tobiko/openstack/topology/__init__.py | 1 + tobiko/tripleo/containers.py | 19 +++++++++---------- tobiko/tripleo/topology.py | 5 +---- 3 files changed, 11 insertions(+), 14 deletions(-) diff --git a/tobiko/openstack/topology/__init__.py b/tobiko/openstack/topology/__init__.py index bf6e923d6..93236eb9e 100644 --- a/tobiko/openstack/topology/__init__.py +++ b/tobiko/openstack/topology/__init__.py @@ -26,6 +26,7 @@ find_openstack_node = _topology.find_openstack_node get_default_openstack_topology_class = ( _topology.get_default_openstack_topology_class) list_openstack_nodes = _topology.list_openstack_nodes +list_openstack_node_groups = _topology.list_openstack_node_groups OpenStackTopology = _topology.OpenStackTopology OpenStackTopologyNode = _topology.OpenStackTopologyNode set_default_openstack_topology_class = ( diff --git a/tobiko/tripleo/containers.py b/tobiko/tripleo/containers.py index 160ffc556..312810530 100644 --- a/tobiko/tripleo/containers.py +++ b/tobiko/tripleo/containers.py @@ -84,10 +84,7 @@ def list_containers(group=None): if group: openstack_nodes = topology.list_openstack_nodes(group=group) else: - openstack_controllers = topology.list_openstack_nodes( - group='controller') - openstack_computes = topology.list_openstack_nodes(group='compute') - openstack_nodes = openstack_controllers + openstack_computes + openstack_nodes = topology.list_openstack_nodes(group='overcloud') for node in openstack_nodes: ssh_client = node.ssh_client @@ -213,18 +210,20 @@ def ovn_used_on_overcloud(): def assert_ovn_containers_running(): # specific OVN verifications if ovn_used_on_overcloud(): - # TODO: deployments with networker nodes are not supported ovn_controller_containers = ['ovn_controller', 'ovn-dbs-bundle-{}-'. format(container_runtime_name)] ovn_compute_containers = ['ovn_metadata_agent', 'ovn_controller'] - for group, group_containers in [('controller', - ovn_controller_containers), - ('compute', - ovn_compute_containers)]: + group_containers_list = [('controller', ovn_controller_containers), + ('compute', ovn_compute_containers)] + if 'networker' in topology.list_openstack_node_groups(): + ovn_networker_containers = ['ovn_controller'] + group_containers_list.append(('networker', + ovn_networker_containers)) + for group, group_containers in group_containers_list: assert_containers_running(group, group_containers, full_name=False) - LOG.info("Networking OVN containers verified") + LOG.info("Networking OVN containers verified in running state") else: LOG.info("Networking OVN not configured") diff --git a/tobiko/tripleo/topology.py b/tobiko/tripleo/topology.py index 8c42299f1..7312b92cc 100644 --- a/tobiko/tripleo/topology.py +++ b/tobiko/tripleo/topology.py @@ -70,10 +70,7 @@ def setup_tripleo_topology(): def get_ip_to_nodes_dict(openstack_nodes=None): if not openstack_nodes: - openstack_controllers = topology.list_openstack_nodes( - group='controller') - openstack_computes = topology.list_openstack_nodes(group='compute') - openstack_nodes = openstack_controllers + openstack_computes + openstack_nodes = topology.list_openstack_nodes(group='overcloud') ip_to_nodes_dict = {str(node.public_ip): node.name for node in openstack_nodes} return ip_to_nodes_dict