system-config/testinfra/test_bridge.py
Clark Boylan 4a631dd201 Cleanup leftover inmotion configs
This removes leftover inmotion clouds.yaml related configs from our
configuration management. We remove the hardcoded cert (since the old
cloud used a self signed cert) and various ansible vars used in testing.
Note we keep the ansible task to write out special cloud certs so that
we don't have to reinvent this code in the future / remember we had it
once and unrevert it, but we feed that task an empty list making it a
noop currently.

Change-Id: I2a6fdf06879023ab6ee65437a592d55a8c0eb371
2024-06-20 09:52:50 -07:00

113 lines
3.4 KiB
Python

# Copyright 2018 Red Hat, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
import platform
import pytest
testinfra_hosts = ['bridge99.opendev.org']
def test_zuul_data(host, zuul_data):
# Test the zuul_data fixture that picks up things set by Zuul
assert 'inventory' in zuul_data
assert 'extra' in zuul_data
assert 'zuul' in zuul_data['extra']
def test_clouds_yaml(host):
clouds_yaml = host.file('/etc/openstack/clouds.yaml')
assert clouds_yaml.exists
assert b'password' in clouds_yaml.content
def test_openstacksdk_config(host):
f = host.file('/etc/openstack')
assert f.exists
assert f.is_directory
assert f.user == 'root'
assert f.group == 'root'
assert f.mode == 0o750
del f
def test_root_authorized_keys(host):
authorized_keys = host.file('/root/.ssh/authorized_keys')
assert authorized_keys.exists
content = authorized_keys.content.decode('utf8')
lines = content.split('\n')
assert len(lines) >= 2
def test_ara(host):
ara = host.run('/usr/ansible-venv/bin/ara-manage migrate')
assert ara.rc == 0
database = host.file('/root/.ara/server/ansible.sqlite')
assert database.exists
def test_kube_config(host):
if platform.machine() != 'x86_64':
pytest.skip()
kubeconfig = host.file('/root/.kube/config')
assert kubeconfig.exists
assert b'Z2l0ZWFfazhzX2tleQ==' in kubeconfig.content
def test_kubectl(host):
if platform.machine() != 'x86_64':
pytest.skip()
kube = host.run('kubectl help')
assert kube.rc == 0
def test_zuul_authorized_keys(host):
authorized_keys = host.file('/home/zuul/.ssh/authorized_keys')
assert authorized_keys.exists
content = authorized_keys.content.decode('utf8')
lines = content.split('\n')
# Remove empty lines
keys = list(filter(None, lines))
assert len(keys) >= 2
for key in keys:
assert 'ssh-rsa' in key
def test_rax_dns_backup(host):
config_file = host.file('/etc/rax-dns-auth.conf')
assert config_file.exists
tool_file = host.file('/usr/local/bin/rax-dns-backup')
assert tool_file.exists
output_dir = host.file('/var/lib/rax-dns-backup')
assert output_dir.exists
def test_ssh_known_hosts(host):
f = host.file('/etc/ssh/ssh_known_hosts')
assert f.exists
assert f.is_file
assert f.user == 'root'
assert f.group == 'root'
assert f.mode == 0o644
# Nothing special about this host, just testing it has an entry we
# expect.
assert b'bridge01.opendev.org,104.130.253.34,2001:4800:7818:103:be76:4eff:fe04:48c1 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGG6WTR3dkhn766C69IRcLNN1Oxx7WMrcNsN03r+uZbU' in f.content
def test_launch_node_venv(host):
launch = host.run('/usr/launcher-venv/bin/launch-node --help')
assert 'usage: launch-node' in launch.stdout
assert launch.rc == 0
def test_osc_binary(host):
osc = host.run('/usr/launcher-venv/bin/openstack --version')
assert 'openstack' in osc.stdout
assert osc.rc == 0