Merge "[RAFT] Fix OVN container names when RAFT is used"
This commit is contained in:
commit
4d4e131771
@ -25,6 +25,7 @@ from tobiko import config
|
||||
from tobiko.openstack import keystone
|
||||
from tobiko.openstack import ironic
|
||||
from tobiko.openstack import metalsmith
|
||||
from tobiko.openstack import neutron
|
||||
from tobiko.openstack import topology
|
||||
from tobiko.shell import sh
|
||||
from tobiko.shell import ssh
|
||||
@ -279,6 +280,24 @@ def is_redis_expected():
|
||||
return False
|
||||
|
||||
|
||||
@functools.lru_cache()
|
||||
def is_ovn_using_raft():
|
||||
if not neutron.has_ovn():
|
||||
LOG.info("Networking OVN not configured")
|
||||
return False
|
||||
|
||||
controller0 = topology.list_openstack_nodes(group='controller')[0]
|
||||
try:
|
||||
sh.execute('ovs-appctl -t /var/lib/openvswitch/ovn/ovnnb_db.ctl '
|
||||
'cluster/status OVN_Northbound',
|
||||
ssh_client=controller0.ssh_client, sudo=True)
|
||||
except sh.ShellCommandFailed:
|
||||
LOG.info('Command failed - RAFT is not configured')
|
||||
return False
|
||||
LOG.info('Command succeeded - RAFT is configured')
|
||||
return True
|
||||
|
||||
|
||||
def overcloud_version() -> tobiko.Version:
|
||||
from tobiko.tripleo import _topology
|
||||
node = topology.find_openstack_node(group='overcloud')
|
||||
|
@ -360,25 +360,31 @@ def osp13_container_name_short_format(container_name_long_format):
|
||||
|
||||
|
||||
def assert_ovn_containers_running():
|
||||
# specific OVN verifications
|
||||
if neutron.has_ovn():
|
||||
container_runtime_name = get_container_runtime_name()
|
||||
ovn_controller_containers = ['ovn_controller',
|
||||
'ovn-dbs-bundle-{}-'.
|
||||
format(container_runtime_name)]
|
||||
ovn_compute_containers = ['ovn_metadata_agent',
|
||||
'ovn_controller']
|
||||
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 in running state")
|
||||
else:
|
||||
if not neutron.has_ovn():
|
||||
LOG.info("Networking OVN not configured")
|
||||
return
|
||||
|
||||
# specific OVN verifications
|
||||
ovn_controller_containers = ['ovn_controller']
|
||||
if overcloud.is_ovn_using_raft():
|
||||
ovn_controller_containers += ['ovn_cluster_northd',
|
||||
'ovn_cluster_north_db_server',
|
||||
'ovn_cluster_south_db_server']
|
||||
else:
|
||||
container_runtime_name = get_container_runtime_name()
|
||||
ovn_controller_containers += [
|
||||
f'ovn-dbs-bundle-{container_runtime_name}-']
|
||||
ovn_compute_containers = ['ovn_metadata_agent',
|
||||
'ovn_controller']
|
||||
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 in running state")
|
||||
|
||||
|
||||
def run_container_config_validations():
|
||||
|
Loading…
x
Reference in New Issue
Block a user