e69e25dc5d
Right now latest ceph release is Quincy. In order to test it in CI and not fetch packages via external network, it's proposed to add relevant mirror. At the moment OpenStack-Ansible and Loki does use these mirrors. Change-Id: Icb836b9046571c5f824a3b57dafca05d37f94372
118 lines
3.5 KiB
Python
118 lines
3.5 KiB
Python
# Copyright 2019 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.
|
|
|
|
|
|
testinfra_hosts = ['mirror-update99.opendev.org']
|
|
|
|
# Manually calculated from the "secret" value in the test host vars
|
|
KEYTAB_SHA256 = '88d4ac38ad3da024913843d8917d5be89ceac4abef7b977718f2c3f1db3ccde4'
|
|
|
|
def test_tools(host):
|
|
f = host.file('/usr/bin/k5start')
|
|
assert f.exists
|
|
f = host.file('/usr/bin/rsync')
|
|
assert f.exists
|
|
f = host.file('/usr/bin/vos')
|
|
assert f.exists
|
|
|
|
def test_rsync_scripts(host):
|
|
for script in ['centos',
|
|
'centos-stream',
|
|
'epel',
|
|
'fedora',
|
|
'openeuler',
|
|
'opensuse',
|
|
'yum-puppetlabs']:
|
|
f = host.file('/usr/local/bin/%s-mirror-update' % script)
|
|
assert f.exists
|
|
|
|
def test_publisher_script(host):
|
|
f = host.file('/usr/local/bin/publish-mirror-logs')
|
|
assert f.exists
|
|
|
|
def test_keytabs(host):
|
|
for keytab in ['/etc/afsadmin.keytab',
|
|
'/etc/logs.keytab',
|
|
'/etc/centos.keytab',
|
|
'/etc/centos-stream.keytab',
|
|
'/etc/epel.keytab',
|
|
'/etc/fedora.keytab',
|
|
'/etc/openeuler.keytab',
|
|
'/etc/opensuse.keytab',
|
|
'/etc/yum-puppetlabs.keytab',
|
|
'/etc/reprepro.keytab']:
|
|
|
|
f = host.file(keytab)
|
|
assert f.exists
|
|
assert f.sha256sum == KEYTAB_SHA256
|
|
assert f.mode == 0o400
|
|
|
|
def test_afs_release_script(host):
|
|
f = host.file('/opt/afs-release/release-volumes.py')
|
|
assert f.exists
|
|
|
|
def test_afs_release_script_run(host):
|
|
# This will just run the command in a no-op mode to make sure deps
|
|
# are installed, etc.
|
|
cmd = host.run('/opt/afs-release/release-volumes.py '
|
|
'--debug --skip-release')
|
|
assert cmd.succeeded
|
|
|
|
def test_afsmon_installed(host):
|
|
f = host.file('/usr/local/bin/afsmon')
|
|
assert f.exists
|
|
|
|
f = host.file('/etc/afsmon.cfg')
|
|
assert f.exists
|
|
|
|
# reprepro
|
|
|
|
def test_repro_general_conf(host):
|
|
package = host.package('reprepro')
|
|
assert package.is_installed
|
|
|
|
f = host.file('/etc/reprepro')
|
|
assert f.exists
|
|
assert f.is_directory
|
|
|
|
f = host.file('/var/log/reprepro')
|
|
assert f.exists
|
|
assert f.is_directory
|
|
|
|
f = host.file('/usr/local/bin/reprepro-mirror-update')
|
|
assert f.exists
|
|
|
|
f = host.file('/etc/logrotate.d/reprepro')
|
|
assert f.exists
|
|
|
|
def test_reprepro_configs(host):
|
|
|
|
dirs = ('apt-puppetlabs',
|
|
'debian',
|
|
'debian-security',
|
|
'debian-ceph-octopus',
|
|
'debian-ceph-nautilus',
|
|
'debian-ceph-quincy',
|
|
'debian-docker-xenial',
|
|
'debian-docker-bionic',
|
|
'debian-docker-focal',
|
|
'ubuntu',
|
|
'ubuntu-cloud-archive',
|
|
'ubuntu-ports')
|
|
|
|
for d in dirs:
|
|
for config in ('distributions', 'options', 'updates'):
|
|
f = host.file('/etc/reprepro/%s/%s' % (d, config))
|
|
assert f.exists
|