Directly use _overcloud and _undercloud private names from topology.py

Change-Id: I6831cdda8d9d2c645337c4f5eb184ec3578d675e
This commit is contained in:
Federico Ressi 2020-08-03 12:47:14 +02:00
parent 0b6c975fe5
commit d4b26b98cf
3 changed files with 24 additions and 22 deletions

View File

@ -17,32 +17,30 @@ from __future__ import absolute_import
import tobiko
from tobiko.shell import sh
from tobiko.tripleo import overcloud
from tobiko.tripleo import topology
from tobiko.tripleo import undercloud
from tobiko import tripleo
from tobiko.tests.functional.openstack import test_topology
class TripleoTopologyTest(test_topology.OpenStackTopologyTest):
topology = tobiko.required_setup_fixture(topology.TripleoTopology)
topology = tobiko.required_setup_fixture(tripleo.TripleoTopology)
@undercloud.skip_if_missing_undercloud
@tripleo.skip_if_missing_undercloud
def test_undercloud_group(self):
ssh_client = undercloud.undercloud_ssh_client()
ssh_client = tripleo.undercloud_ssh_client()
name = sh.get_hostname(ssh_client=ssh_client).split('.')[0]
node = self.topology.get_node(name)
self.assertIs(node.ssh_client, ssh_client)
self.assertEqual(name, node.name)
nodes = self.topology.get_group('undercloud')
self.assertEqual([node], nodes)
host_config = undercloud.undercloud_host_config()
host_config = tripleo.undercloud_host_config()
self.assertEqual(host_config.hostname, str(node.public_ip))
@overcloud.skip_if_missing_overcloud
@tripleo.skip_if_missing_overcloud
def test_overcloud_group(self):
for server in overcloud.list_overcloud_nodes():
ssh_client = overcloud.overcloud_ssh_client(server.name)
for server in tripleo.list_overcloud_nodes():
ssh_client = tripleo.overcloud_ssh_client(server.name)
name = sh.get_hostname(ssh_client=ssh_client).split('.')[0]
node = self.topology.get_node(name)
self.assertIs(node.ssh_client, ssh_client)
@ -55,6 +53,6 @@ class TripleoTopologyTest(test_topology.OpenStackTopologyTest):
nodes = self.topology.get_group(group)
self.assertIn(node, nodes)
self.assertIn(group, node.groups)
host_config = overcloud.overcloud_host_config(name)
host_config = tripleo.overcloud_host_config(name)
self.assertEqual(host_config.hostname,
str(node.public_ip))

View File

@ -15,6 +15,7 @@ from __future__ import absolute_import
from tobiko.tripleo import _ansible
from tobiko.tripleo import _overcloud as overcloud
from tobiko.tripleo import _topology as topology
from tobiko.tripleo import _undercloud as undercloud
@ -34,8 +35,11 @@ overcloud_node_ip_address = overcloud.overcloud_node_ip_address
overcloud_ssh_client = overcloud.overcloud_ssh_client
skip_if_missing_overcloud = overcloud.skip_if_missing_overcloud
TripleoTopology = topology.TripleoTopology
load_undercloud_rcfile = undercloud.load_undercloud_rcfile
skip_if_missing_undercloud = undercloud.skip_if_missing_undercloud
undercloud_host_config = undercloud.undercloud_host_config
undercloud_keystone_client = undercloud.undercloud_keystone_client
undercloud_keystone_credentials = undercloud.undercloud_keystone_credentials
undercloud_keystone_session = undercloud.undercloud_keystone_session

View File

@ -14,13 +14,13 @@
from __future__ import absolute_import
import re
import typing
import typing # noqa
from oslo_log import log
from tobiko.openstack import topology
from tobiko.tripleo import overcloud
from tobiko.tripleo import undercloud
from tobiko.tripleo import _overcloud
from tobiko.tripleo import _undercloud
LOG = log.getLogger(__name__)
@ -44,18 +44,18 @@ class TripleoTopology(topology.OpenStackTopology):
self.discover_overcloud_nodes()
def discover_undercloud_nodes(self):
if undercloud.has_undercloud():
config = undercloud.undercloud_host_config()
ssh_client = undercloud.undercloud_ssh_client()
if _undercloud.has_undercloud():
config = _undercloud.undercloud_host_config()
ssh_client = _undercloud.undercloud_ssh_client()
self.add_node(address=config.hostname,
group='undercloud',
ssh_client=ssh_client)
def discover_overcloud_nodes(self):
if overcloud.has_overcloud():
for server in overcloud.list_overcloud_nodes():
config = overcloud.overcloud_host_config(server.name)
ssh_client = overcloud.overcloud_ssh_client(server.name)
if _overcloud.has_overcloud():
for server in _overcloud.list_overcloud_nodes():
config = _overcloud.overcloud_host_config(server.name)
ssh_client = _overcloud.overcloud_ssh_client(server.name)
node = self.add_node(address=config.hostname,
group='overcloud',
ssh_client=ssh_client)
@ -111,7 +111,7 @@ def is_number(text: str):
def setup_tripleo_topology():
if undercloud.has_undercloud() or overcloud.has_overcloud():
if _undercloud.has_undercloud() or _overcloud.has_overcloud():
topology.set_default_openstack_topology_class(
'tobiko.tripleo.topology.TripleoTopology')