Add molecule testing for the role
Depends-On: https://review.opendev.org/c/openstack/openstack-ansible/+/939771 Change-Id: I5e11a0309c3ba4a35f4fafb5927799d7d7b449f0
This commit is contained in:
parent
e31cc13254
commit
77995baef7
46
Vagrantfile
vendored
46
Vagrantfile
vendored
@ -1,46 +0,0 @@
|
||||
# Note:
|
||||
# This file is maintained in the openstack-ansible-tests repository.
|
||||
# https://opendev.org/openstack/openstack-ansible-tests/src/Vagrantfile
|
||||
#
|
||||
# If you need to perform any change on it, you should modify the central file,
|
||||
# then, an OpenStack CI job will propagate your changes to every OSA repository
|
||||
# since every repo uses the same Vagrantfile
|
||||
|
||||
# Verify whether required plugins are installed.
|
||||
required_plugins = [ "vagrant-disksize" ]
|
||||
required_plugins.each do |plugin|
|
||||
if not Vagrant.has_plugin?(plugin)
|
||||
raise "The vagrant plugin #{plugin} is required. Please run `vagrant plugin install #{plugin}`"
|
||||
end
|
||||
end
|
||||
|
||||
Vagrant.configure(2) do |config|
|
||||
config.vm.provider "virtualbox" do |v|
|
||||
v.memory = 6144
|
||||
v.cpus = 2
|
||||
# https://github.com/hashicorp/vagrant/issues/9524
|
||||
v.customize ["modifyvm", :id, "--audio", "none"]
|
||||
end
|
||||
|
||||
config.vm.synced_folder ".", "/vagrant", type: "rsync"
|
||||
|
||||
config.vm.provision "shell",
|
||||
privileged: false,
|
||||
inline: <<-SHELL
|
||||
cd /vagrant
|
||||
./run_tests.sh
|
||||
SHELL
|
||||
|
||||
config.vm.define "centos8" do |centos8|
|
||||
centos8.vm.box = "centos/8"
|
||||
end
|
||||
|
||||
config.vm.define "debian10" do |debian10|
|
||||
debian10.vm.box = "debian/buster64"
|
||||
end
|
||||
|
||||
config.vm.define "ubuntu2004" do |focal|
|
||||
focal.disksize.size = "40GB"
|
||||
focal.vm.box = "ubuntu/focal64"
|
||||
end
|
||||
end
|
47
bindep.txt
47
bindep.txt
@ -1,47 +0,0 @@
|
||||
# This file facilitates OpenStack-CI package installation
|
||||
# before the execution of any tests.
|
||||
#
|
||||
# See the following for details:
|
||||
# - https://docs.openstack.org/infra/bindep/
|
||||
# - https://opendev.org/openstack-infra/bindep
|
||||
#
|
||||
# Even if the role does not make use of this facility, it
|
||||
# is better to have this file empty, otherwise OpenStack-CI
|
||||
# will fall back to installing its default packages which
|
||||
# will potentially be detrimental to the tests executed.
|
||||
#
|
||||
# Note:
|
||||
# This file is maintained in the openstack-ansible-tests repository.
|
||||
# https://opendev.org/openstack/openstack-ansible-tests/src/bindep.txt
|
||||
# If you need to remove or add extra dependencies, you should modify
|
||||
# the central file instead and once your change is accepted then update
|
||||
# this file as well. The purpose of this file is to ensure that Python and
|
||||
# Ansible have all their necessary binary requirements on the test host before
|
||||
# tox executes. Any binary requirements needed by services/roles should be
|
||||
# installed by those roles in their applicable package install tasks, not through
|
||||
# using this file.
|
||||
#
|
||||
|
||||
# The gcc compiler
|
||||
gcc
|
||||
|
||||
# Base requirements for Ubuntu
|
||||
git-core [platform:dpkg]
|
||||
libssl-dev [platform:dpkg]
|
||||
libffi-dev [platform:dpkg]
|
||||
python3 [platform:dpkg]
|
||||
python3-apt [platform:dpkg]
|
||||
python3-dev [platform:dpkg]
|
||||
|
||||
# Base requirements for RPM distros
|
||||
gcc-c++ [platform:rpm]
|
||||
git [platform:rpm]
|
||||
libffi-devel [platform:rpm]
|
||||
openssl-devel [platform:rpm]
|
||||
python3-dnf [platform:fedora]
|
||||
python3-devel [platform:rpm]
|
||||
|
||||
# For SELinux
|
||||
libselinux-python3 [platform:redhat]
|
||||
libsemanage-python3 [platform:redhat]
|
||||
iptables [platform:redhat]
|
@ -1,33 +0,0 @@
|
||||
export VIRTUAL_ENV=$(pwd)
|
||||
export ANSIBLE_HOST_KEY_CHECKING=False
|
||||
export ANSIBLE_SSH_CONTROL_PATH=/tmp/%%h-%%r
|
||||
|
||||
# TODO (odyssey4me) These are only here as they are non-standard folder
|
||||
# names for Ansible 1.9.x. We are using the standard folder names for
|
||||
# Ansible v2.x. We can remove this when we move to Ansible 2.x.
|
||||
export ANSIBLE_ACTION_PLUGINS=${HOME}/.ansible/plugins/action
|
||||
export ANSIBLE_CALLBACK_PLUGINS=${HOME}/.ansible/plugins/callback
|
||||
export ANSIBLE_FILTER_PLUGINS=${HOME}/.ansible/plugins/filter
|
||||
export ANSIBLE_LOOKUP_PLUGINS=${HOME}/.ansible/plugins/lookup
|
||||
|
||||
# This is required as the default is the current path or a path specified
|
||||
# in ansible.cfg
|
||||
export ANSIBLE_LIBRARY=${HOME}/.ansible/plugins/library
|
||||
|
||||
# This is required as the default is '/etc/ansible/roles' or a path
|
||||
# specified in ansible.cfg
|
||||
export ANSIBLE_ROLES_PATH=${HOME}/.ansible/roles:$(pwd)/..
|
||||
|
||||
export ANSIBLE_SSH_ARGS="-o ControlMaster=no \
|
||||
-o UserKnownHostsFile=/dev/null \
|
||||
-o StrictHostKeyChecking=no \
|
||||
-o ServerAliveInterval=64 \
|
||||
-o ServerAliveCountMax=1024 \
|
||||
-o Compression=no \
|
||||
-o TCPKeepAlive=yes \
|
||||
-o VerifyHostKeyDNS=no \
|
||||
-o ForwardX11=no \
|
||||
-o ForwardAgent=yes"
|
||||
|
||||
echo "Run manual functional tests by executing the following:"
|
||||
echo "# ./.tox/functional/bin/ansible-playbook -i tests/inventory tests/test.yml"
|
77
molecule/default/molecule.yml
Normal file
77
molecule/default/molecule.yml
Normal file
@ -0,0 +1,77 @@
|
||||
---
|
||||
dependency:
|
||||
name: galaxy
|
||||
options:
|
||||
requirements-file: requirements.yml
|
||||
driver:
|
||||
name: docker
|
||||
platforms:
|
||||
- name: galera01
|
||||
groups:
|
||||
- galera_all
|
||||
image: "${DOCKER_REGISTRY:-quay.io/gotmax23}/${DOCKER_IMAGE_TAG:-debian-systemd:bookworm}"
|
||||
command: ${DOCKER_COMMAND:-""}
|
||||
privileged: true
|
||||
pre_build_image: true
|
||||
docker_networks:
|
||||
- name: 'galera'
|
||||
ipam_config:
|
||||
- subnet: '10.1.0.0/24'
|
||||
networks:
|
||||
- name: "galera"
|
||||
ipv4_address: '10.1.0.2'
|
||||
- name: galera02
|
||||
groups:
|
||||
- galera_all
|
||||
image: "${DOCKER_REGISTRY:-quay.io/gotmax23}/${DOCKER_IMAGE_TAG:-debian-systemd:bookworm}"
|
||||
command: ${DOCKER_COMMAND:-""}
|
||||
privileged: true
|
||||
pre_build_image: true
|
||||
docker_networks:
|
||||
- name: 'galera'
|
||||
ipam_config:
|
||||
- subnet: '10.1.0.0/24'
|
||||
networks:
|
||||
- name: "galera"
|
||||
ipv4_address: '10.1.0.3'
|
||||
- name: galera03
|
||||
groups:
|
||||
- galera_all
|
||||
image: "${DOCKER_REGISTRY:-quay.io/gotmax23}/${DOCKER_IMAGE_TAG:-debian-systemd:bookworm}"
|
||||
command: ${DOCKER_COMMAND:-""}
|
||||
privileged: true
|
||||
pre_build_image: true
|
||||
docker_networks:
|
||||
- name: 'galera'
|
||||
ipam_config:
|
||||
- subnet: '10.1.0.0/24'
|
||||
networks:
|
||||
- name: "galera"
|
||||
ipv4_address: '10.1.0.4'
|
||||
provisioner:
|
||||
name: ansible
|
||||
inventory:
|
||||
group_vars:
|
||||
galera_all:
|
||||
galera_my_cnf_overrides:
|
||||
sst:
|
||||
sst-initial-timeout: 600
|
||||
galera_root_password: SomeSecurePassword
|
||||
host_vars:
|
||||
galera01:
|
||||
galera_wsrep_address: 10.1.0.2
|
||||
galera02:
|
||||
galera_wsrep_address: 10.1.0.3
|
||||
galera03:
|
||||
galera_wsrep_address: 10.1.0.4
|
||||
lint:
|
||||
name: ansible-lint
|
||||
playbooks:
|
||||
prepare: prepare.yml
|
||||
converge: ../../tests/test.yml
|
||||
verify: ../../tests/test-galera-server-functional.yml
|
||||
config_options:
|
||||
defaults:
|
||||
inject_facts_as_vars: false
|
||||
scenario:
|
||||
name: default
|
10
molecule/default/prepare.yml
Normal file
10
molecule/default/prepare.yml
Normal file
@ -0,0 +1,10 @@
|
||||
---
|
||||
- name: Prepare
|
||||
hosts: all
|
||||
tasks:
|
||||
- name: Update apt cache
|
||||
ansible.builtin.apt:
|
||||
update_cache: true
|
||||
cache_valid_time: 3600
|
||||
when:
|
||||
- ansible_facts['os_family'] | lower == 'debian'
|
88
run_tests.sh
88
run_tests.sh
@ -1,88 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
# Copyright 2015, Rackspace US, 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.
|
||||
|
||||
# PURPOSE:
|
||||
# This script clones the openstack-ansible-tests repository to the
|
||||
# tests/common folder in order to be able to re-use test components
|
||||
# for role testing. This is intended to be the thinnest possible
|
||||
# shim for test execution outside of OpenStack CI.
|
||||
|
||||
# WARNING:
|
||||
# This file is maintained in the openstack-ansible-tests repository.
|
||||
# https://opendev.org/openstack/openstack-ansible-tests/src/run_tests.sh
|
||||
# If you need to modify this file, update the one in the openstack-ansible-tests
|
||||
# repository and then update this file as well. The purpose of this file is to
|
||||
# prepare the host and then execute all the tox tests.
|
||||
#
|
||||
|
||||
## Shell Opts ----------------------------------------------------------------
|
||||
set -xeu
|
||||
|
||||
## Vars ----------------------------------------------------------------------
|
||||
|
||||
WORKING_DIR="$(readlink -f $(dirname $0))"
|
||||
OSA_PROJECT_NAME="$(sed -n 's|^project=openstack/\(.*\).git$|\1|p' $(pwd)/.gitreview)"
|
||||
|
||||
COMMON_TESTS_PATH="${WORKING_DIR}/tests/common"
|
||||
TESTING_HOME=${TESTING_HOME:-$HOME}
|
||||
ZUUL_TESTS_CLONE_LOCATION="/home/zuul/src/opendev.org/openstack/openstack-ansible-tests"
|
||||
|
||||
# Use .gitreview as the key to determine the appropriate
|
||||
# branch to clone for tests.
|
||||
TESTING_BRANCH=$(awk -F'=' '/defaultbranch/ {print $2}' "${WORKING_DIR}/.gitreview")
|
||||
if [[ "${TESTING_BRANCH}" == "" ]]; then
|
||||
TESTING_BRANCH="master"
|
||||
fi
|
||||
|
||||
## Main ----------------------------------------------------------------------
|
||||
|
||||
# Source distribution information
|
||||
source /etc/os-release || source /usr/lib/os-release
|
||||
|
||||
# Figure out the appropriate package install command
|
||||
case ${ID,,} in
|
||||
centos|rhel|fedora|rocky) pkg_mgr_cmd="dnf install -y" ;;
|
||||
ubuntu|debian) pkg_mgr_cmd="apt-get install -y" ;;
|
||||
*) echo "unsupported distribution: ${ID,,}"; exit 1 ;;
|
||||
esac
|
||||
|
||||
# Install git so that we can clone the tests repo if git is not available
|
||||
which git &>/dev/null || eval sudo "${pkg_mgr_cmd}" git
|
||||
|
||||
# Clone the tests repo for access to the common test script
|
||||
if [[ ! -d "${COMMON_TESTS_PATH}" ]]; then
|
||||
# The tests repo doesn't need a clone, we can just
|
||||
# symlink it.
|
||||
if [[ "${OSA_PROJECT_NAME}" == "openstack-ansible-tests" ]]; then
|
||||
ln -s "${WORKING_DIR}" "${COMMON_TESTS_PATH}"
|
||||
|
||||
# In zuul v3 any dependent repository is placed into
|
||||
# /home/zuul/src/opendev.org, so we check to see
|
||||
# if there is a tests checkout there already. If so, we
|
||||
# symlink that and use it.
|
||||
elif [[ -d "${ZUUL_TESTS_CLONE_LOCATION}" ]]; then
|
||||
ln -s "${ZUUL_TESTS_CLONE_LOCATION}" "${COMMON_TESTS_PATH}"
|
||||
|
||||
# Otherwise we're clearly not in zuul or using a previously setup
|
||||
# repo in some way, so just clone it from upstream.
|
||||
else
|
||||
git clone -b "${TESTING_BRANCH}" \
|
||||
https://opendev.org/openstack/openstack-ansible-tests \
|
||||
"${COMMON_TESTS_PATH}"
|
||||
fi
|
||||
fi
|
||||
|
||||
# Execute the common test script
|
||||
source tests/common/run_tests_common.sh
|
@ -63,6 +63,7 @@
|
||||
- not galera_upgrade
|
||||
tags:
|
||||
- skip_ansible_lint
|
||||
- molecule-idempotence-notest
|
||||
|
||||
- name: Create the local directories
|
||||
file:
|
||||
@ -74,8 +75,10 @@
|
||||
recurse: "{{ item.recurse | default('false') }}"
|
||||
with_items:
|
||||
- { path: "{{ galera_data_dir }}", owner: "mysql", mode: "02755" }
|
||||
- { path: "{{ galera_tmp_dir }}", owner: "mysql", mode: "02755" }
|
||||
- { path: "{{ galera_tmp_dir }}", owner: "mysql", mode: "02755" } # TMP needs to be re-created after clustering, so breaks idempotence test on all[1:]
|
||||
- { path: "/etc/mysql/conf.d" }
|
||||
tags:
|
||||
- molecule-idempotence-notest
|
||||
|
||||
- name: Create and install SSL certificates
|
||||
include_role:
|
||||
|
@ -1,21 +0,0 @@
|
||||
---
|
||||
- name: apt_package_pinning
|
||||
src: https://opendev.org/openstack/openstack-ansible-apt_package_pinning
|
||||
scm: git
|
||||
version: master
|
||||
- name: pip_install
|
||||
src: https://opendev.org/openstack/openstack-ansible-pip_install
|
||||
scm: git
|
||||
version: master
|
||||
- name: openstack_hosts
|
||||
src: https://opendev.org/openstack/openstack-ansible-openstack_hosts
|
||||
scm: git
|
||||
version: master
|
||||
- name: lxc_hosts
|
||||
src: https://opendev.org/openstack/openstack-ansible-lxc_hosts
|
||||
scm: git
|
||||
version: master
|
||||
- name: lxc_container_create
|
||||
src: https://opendev.org/openstack/openstack-ansible-lxc_container_create
|
||||
scm: git
|
||||
version: master
|
@ -1,22 +0,0 @@
|
||||
---
|
||||
# Copyright 2016, Rackspace US, 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.
|
||||
|
||||
galera_install_server: true
|
||||
galera_install_client: true
|
||||
|
||||
# Testing my.cnf overrides
|
||||
galera_my_cnf_overrides:
|
||||
sst:
|
||||
sst-initial-timeout: 600
|
@ -1,26 +0,0 @@
|
||||
---
|
||||
# Copyright 2016, Rackspace US, 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.
|
||||
|
||||
container_networks:
|
||||
management_address:
|
||||
address: "{{ ansible_host }}"
|
||||
bridge: "br-mgmt"
|
||||
interface: "eth1"
|
||||
netmask: "255.255.252.0"
|
||||
type: "veth"
|
||||
physical_host: localhost
|
||||
properties:
|
||||
service_name: "{{ inventory_hostname }}"
|
||||
galera_disable_privatedevices: yes
|
@ -1,5 +0,0 @@
|
||||
---
|
||||
ansible_host: 10.1.0.2
|
||||
ansible_become: True
|
||||
ansible_user: root
|
||||
container_name: container1
|
@ -1,5 +0,0 @@
|
||||
---
|
||||
ansible_host: 10.1.0.3
|
||||
ansible_become: True
|
||||
ansible_user: root
|
||||
container_name: container2
|
@ -1,5 +0,0 @@
|
||||
---
|
||||
ansible_host: 10.1.0.4
|
||||
ansible_become: True
|
||||
ansible_user: root
|
||||
container_name: container3
|
@ -1,17 +0,0 @@
|
||||
---
|
||||
# Copyright 2016, Rackspace US, 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.
|
||||
|
||||
bridges:
|
||||
- "br-mgmt"
|
@ -1,15 +0,0 @@
|
||||
[all]
|
||||
localhost
|
||||
container1
|
||||
container2
|
||||
container3
|
||||
|
||||
[galera_all]
|
||||
container1
|
||||
container2
|
||||
container3
|
||||
|
||||
[all_containers]
|
||||
container1
|
||||
container2
|
||||
container3
|
@ -22,8 +22,7 @@
|
||||
block:
|
||||
- name: Wait for cluster ready state
|
||||
command: |
|
||||
mysql -h {{ ansible_host }} \
|
||||
-p"{{ galera_root_password }}" \
|
||||
mariadb \
|
||||
-e "show status like 'wsrep_incoming_addresses';" \
|
||||
--silent \
|
||||
--skip-column-names
|
||||
@ -39,8 +38,7 @@
|
||||
state: restarted
|
||||
- name: Wait for cluster ready state
|
||||
command: |
|
||||
mysql -h {{ ansible_host }} \
|
||||
-p"{{ galera_root_password }}" \
|
||||
mariadb \
|
||||
-e "show status like 'wsrep_incoming_addresses';" \
|
||||
--silent \
|
||||
--skip-column-names
|
||||
@ -51,8 +49,7 @@
|
||||
until: mysql_instance_ready is success and mysql_instance_ready.stdout.split()[-1].split(',') | length == groups['galera_all'] | length
|
||||
- name: Check cluster incoming addresses
|
||||
command: |
|
||||
mysql -h {{ ansible_host }} \
|
||||
-p"{{ galera_root_password }}" \
|
||||
mariadb \
|
||||
-e "show status like 'wsrep_incoming_addresses';" \
|
||||
--silent \
|
||||
--skip-column-names
|
||||
@ -62,8 +59,7 @@
|
||||
- skip_ansible_lint
|
||||
- name: Check cluster local state
|
||||
command: |
|
||||
mysql -h {{ ansible_host }} \
|
||||
-p"{{ galera_root_password }}" \
|
||||
mariadb \
|
||||
-e "show status like 'wsrep_local_state_comment';" \
|
||||
--silent \
|
||||
--skip-column-names
|
||||
@ -73,8 +69,7 @@
|
||||
- skip_ansible_lint
|
||||
- name: Check cluster evs state
|
||||
command: |
|
||||
mysql -h {{ ansible_host }} \
|
||||
-p"{{ galera_root_password }}" \
|
||||
mariadb \
|
||||
-e "show status like 'wsrep_evs_state';" \
|
||||
--silent \
|
||||
--skip-column-names
|
||||
@ -116,5 +111,3 @@
|
||||
when: ansible_host == '10.1.0.3'
|
||||
tags:
|
||||
- skip_ansible_lint
|
||||
vars_files:
|
||||
- common/test-vars.yml
|
||||
|
@ -13,11 +13,14 @@
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
# Setup the host
|
||||
- import_playbook: common/test-setup-host.yml
|
||||
|
||||
# Install Galera server
|
||||
- import_playbook: common/test-install-galera.yml
|
||||
|
||||
# Run functional tests
|
||||
- import_playbook: test-galera-server-functional.yml
|
||||
- name: Install Galera server
|
||||
hosts: galera_all
|
||||
user: root
|
||||
serial:
|
||||
- 1
|
||||
- 100%
|
||||
roles:
|
||||
- "{{ playbook_dir | dirname | basename }}"
|
||||
vars:
|
||||
galera_install_server: true
|
||||
galera_install_client: false
|
||||
|
54
tox.ini
54
tox.ini
@ -1,7 +1,7 @@
|
||||
[tox]
|
||||
minversion = 3.1
|
||||
minversion = 4.0
|
||||
skipsdist = True
|
||||
envlist = docs,linters,functional
|
||||
envlist = docs,molecule
|
||||
ignore_basepython_conflict = True
|
||||
|
||||
[testenv]
|
||||
@ -63,43 +63,19 @@ commands =
|
||||
commands =
|
||||
{posargs}
|
||||
|
||||
[testenv:pep8]
|
||||
commands =
|
||||
bash -c "{toxinidir}/tests/common/test-pep8.sh"
|
||||
[testenv:molecule]
|
||||
# You can use DOCKER_REGISTRY and DOCKER_IMAGE_TAG to switch between
|
||||
# tested distros. I.e:
|
||||
# DOCKER_IMAGE_TAG=ubuntu-systemd:jammy tox -e molecule
|
||||
deps =
|
||||
-c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
|
||||
-r{env:OSA_TEST_REQUIREMENTS_FILE:https://opendev.org/openstack/openstack-ansible/raw/branch/{env:TEST_BRANCH:master}/test-requirements.txt}
|
||||
|
||||
[flake8]
|
||||
# Ignores the following rules due to how ansible modules work in general
|
||||
# F403 'from ansible.module_utils.basic import *' used;
|
||||
# unable to detect undefined names
|
||||
ignore=F403
|
||||
|
||||
[testenv:bashate]
|
||||
commands =
|
||||
bash -c "{toxinidir}/tests/common/test-bashate.sh"
|
||||
molecule test
|
||||
|
||||
[testenv:ansible-syntax]
|
||||
commands =
|
||||
bash -c "{toxinidir}/tests/common/test-ansible-syntax.sh"
|
||||
|
||||
[testenv:ansible-lint]
|
||||
commands =
|
||||
bash -c "{toxinidir}/tests/common/test-ansible-lint.sh"
|
||||
|
||||
[testenv:functional]
|
||||
commands =
|
||||
bash -c "{toxinidir}/tests/common/test-ansible-functional.sh"
|
||||
|
||||
[testenv:ssl]
|
||||
setenv =
|
||||
{[testenv]setenv}
|
||||
ANSIBLE_PARAMETERS=-e galera_use_ssl=True
|
||||
commands =
|
||||
bash -c "{toxinidir}/tests/common/test-ansible-functional.sh"
|
||||
|
||||
[testenv:linters]
|
||||
commands =
|
||||
bash -c "{toxinidir}/tests/common/test-ansible-env-prep.sh"
|
||||
{[testenv:pep8]commands}
|
||||
{[testenv:bashate]commands}
|
||||
{[testenv:ansible-lint]commands}
|
||||
{[testenv:ansible-syntax]commands}
|
||||
passenv =
|
||||
{[testenv]passenv}
|
||||
DOCKER_REGISTRY
|
||||
DOCKER_IMAGE_TAG
|
||||
DOCKER_COMMAND
|
||||
|
@ -54,6 +54,7 @@ galera_server_mariadb_distro_packages:
|
||||
- mariadb-client
|
||||
- mariadb-backup
|
||||
- "{{ galera_mariadb_server_package }}"
|
||||
- procps
|
||||
- rsync
|
||||
- socat
|
||||
|
||||
|
@ -49,12 +49,13 @@ _galera_architecture_mapping:
|
||||
aarch64: aarch64
|
||||
|
||||
galera_server_mariadb_distro_packages:
|
||||
- which
|
||||
- "{{ galera_mariadb_server_package }}"
|
||||
- "{{ (galera_install_method == 'external_repo') | ternary('MariaDB-backup', 'mariadb-backup') }}"
|
||||
- "{{ (galera_install_method == 'external_repo') | ternary('MariaDB-shared', 'galera') }}"
|
||||
- procps-ng
|
||||
- rsync
|
||||
- socat
|
||||
- which
|
||||
|
||||
# Conflicting packages with those from the MariaDB repository
|
||||
galera_mariadb_distro_packages_remove:
|
||||
|
@ -19,6 +19,7 @@
|
||||
- publish-openstack-docs-pti
|
||||
- build-release-notes-jobs-python3
|
||||
- openstack-ansible-linters-jobs
|
||||
- openstack-ansible-molecule
|
||||
- openstack-ansible-deploy-infra_lxc-jobs
|
||||
- openstack-ansible-deploy-infra_distro_lxc-jobs
|
||||
- openstack-ansible-upgrade-infra_lxc-jobs
|
||||
|
Loading…
x
Reference in New Issue
Block a user