aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorMartin Hiner <m.hiner@partner.samsung.com>2022-11-21 18:38:57 +0100
committerMartin Hiner <m.hiner@partner.samsung.com>2023-04-28 16:16:55 +0200
commit53e8b80ed36a9193627862427fa224ed38375d3a (patch)
tree14463dda4a87452345c37a1a5252d50db057bc12 /tests
parent92ddbdfbc190ec430f5527fcf867efec97e455b4 (diff)
downloadkolla-ansible-53e8b80ed36a9193627862427fa224ed38375d3a.tar.gz
kolla-ansible-53e8b80ed36a9193627862427fa224ed38375d3a.zip
Add container engine option to scripts
This patch add a way to choose container engine inside tool and test scripts. This is in preparation for Podman introduction but still leaves Docker as default container engine. Signed-off-by: Martin Hiner <m.hiner@partner.samsung.com> Change-Id: I395d2bdb0dfb4b325b6ad197c8893c8a0f768324
Diffstat (limited to 'tests')
-rwxr-xr-xtests/check-failure.sh34
-rwxr-xr-xtests/deploy-tenks.sh6
-rw-r--r--tests/get_logs.sh55
-rwxr-xr-xtests/init-swift.sh8
-rw-r--r--tests/pre.yml3
-rw-r--r--tests/run.yml18
-rwxr-xr-xtests/setup_gate.sh6
-rw-r--r--tests/templates/globals-default.j21
-rwxr-xr-xtests/test-bifrost.sh12
-rwxr-xr-xtests/test-mariadb.sh3
-rwxr-xr-xtests/test-masakari.sh11
-rwxr-xr-xtests/test-ovn.sh18
-rwxr-xr-xtests/test-zun.sh10
13 files changed, 132 insertions, 53 deletions
diff --git a/tests/check-failure.sh b/tests/check-failure.sh
index b62e6ffcc..ad88b29de 100755
--- a/tests/check-failure.sh
+++ b/tests/check-failure.sh
@@ -7,7 +7,22 @@ set -o errexit
export PYTHONUNBUFFERED=1
-check_failure() {
+check_podman_failures() {
+ failed_containers=$(sudo podman ps -a --format "{{.Names}}" \
+ --filter status=created \
+ --filter status=paused \
+ --filter status=exited \
+ --filter status=unknown)
+}
+
+
+check_podman_unhealthies() {
+ unhealthy_containers=$(sudo podman ps -a --format "{{.Names}}" \
+ --filter health=unhealthy)
+}
+
+
+check_docker_failures() {
# All docker container's status are created, restarting, running, removing,
# paused, exited and dead. Containers without running status are treated as
# failure. removing is added in docker 1.13, just ignore it now.
@@ -19,9 +34,26 @@ check_failure() {
--filter status=paused \
--filter status=exited \
--filter status=dead)
+}
+
+check_docker_unhealthies() {
unhealthy_containers=$(sudo docker ps -a --format "{{.Names}}" \
--filter health=unhealthy)
+}
+
+
+check_failure() {
+ if [ "$CONTAINER_ENGINE" = "docker" ]; then
+ check_docker_failures
+ check_docker_unhealthies
+ elif [ "$CONTAINER_ENGINE" = "podman" ]; then
+ check_podman_failures
+ check_podman_unhealthies
+ else
+ echo "Invalid container engine: ${CONTAINER_ENGINE}"
+ exit 1
+ fi
if [[ -n "$unhealthy_containers" ]]; then
exit 1;
diff --git a/tests/deploy-tenks.sh b/tests/deploy-tenks.sh
index b212d38eb..022cec229 100755
--- a/tests/deploy-tenks.sh
+++ b/tests/deploy-tenks.sh
@@ -24,7 +24,7 @@ function deploy_tenks_logged {
# Script installed onto the host to fool tenks into using the containerised
# Open vSwitch rather than installing its own.
-sudo docker exec openvswitch_vswitchd ovs-vsctl "\$@"
+sudo ${CONTAINER_ENGINE} exec openvswitch_vswitchd ovs-vsctl "\$@"
EOF
sudo chmod 755 /usr/bin/ovs-vsctl
@@ -57,7 +57,7 @@ EOF
function deploy_tenks {
echo "Configuring virtual bare metal via Tenks"
- deploy_tenks_logged > /tmp/logs/ansible/deploy-tenks 2>&1
+ deploy_tenks_logged $1 > /tmp/logs/ansible/deploy-tenks 2>&1
result=$?
if [[ $result != 0 ]]; then
echo "Deploying tenks failed. See ansible/deploy-tenks for details"
@@ -67,4 +67,4 @@ function deploy_tenks {
return $result
}
-deploy_tenks
+deploy_tenks $1
diff --git a/tests/get_logs.sh b/tests/get_logs.sh
index 0cb270073..29c6f4865 100644
--- a/tests/get_logs.sh
+++ b/tests/get_logs.sh
@@ -5,12 +5,25 @@ set +o errexit
copy_logs() {
LOG_DIR=${LOG_DIR:-/tmp/logs}
- cp -rnL /var/lib/docker/volumes/kolla_logs/_data/* ${LOG_DIR}/kolla/
+ if [ "$CONTAINER_ENGINE" = "docker" ]; then
+ VOLUMES_DIR="/var/lib/docker/volumes"
+ elif [ "$CONTAINER_ENGINE" = "podman" ]; then
+ VOLUMES_DIR="/var/lib/containers/storage/volumes"
+ else
+ echo "Invalid container engine: ${CONTAINER_ENGINE}"
+ exit 1
+ fi
+
+ cp -rnL ${VOLUMES_DIR}/kolla_logs/_data/* ${LOG_DIR}/kolla/
cp -rnL /etc/kolla/* ${LOG_DIR}/kolla_configs/
# Don't save the IPA images.
rm ${LOG_DIR}/kolla_configs/config/ironic/ironic-agent.{kernel,initramfs}
mkdir ${LOG_DIR}/system_configs/
- cp -rL /etc/{hostname,hosts,host.conf,resolv.conf,nsswitch.conf,docker,systemd} ${LOG_DIR}/system_configs/
+ cp -rL /etc/{hostname,hosts,host.conf,resolv.conf,nsswitch.conf,systemd} ${LOG_DIR}/system_configs/
+ # copy docker configs if used
+ if [ "$CONTAINER_ENGINE" = "docker" ]; then
+ cp -rL /etc/docker/ ${LOG_DIR}/system_configs/
+ fi
# Remove /var/log/kolla link to not double the data uploaded
unlink /var/log/kolla
cp -rvnL /var/log/* ${LOG_DIR}/system_logs/
@@ -18,10 +31,14 @@ copy_logs() {
if [[ -x "$(command -v journalctl)" ]]; then
journalctl --no-pager > ${LOG_DIR}/system_logs/syslog.txt
- journalctl --no-pager -u docker.service > ${LOG_DIR}/system_logs/docker.log
- journalctl --no-pager -u containerd.service > ${LOG_DIR}/system_logs/containerd.log
+ journalctl --no-pager -u ${CONTAINER_ENGINE}.service > ${LOG_DIR}/system_logs/${CONTAINER_ENGINE}.log
+ if [ "$CONTAINER_ENGINE" = "docker" ]; then
+ journalctl --no-pager -u containerd.service > ${LOG_DIR}/system_logs/containerd.log
+ fi
else
- cp /var/log/upstart/docker.log ${LOG_DIR}/system_logs/docker.log
+ if [ "$CONTAINER_ENGINE" = "docker" ]; then
+ cp /var/log/upstart/docker.log ${LOG_DIR}/system_logs/docker.log
+ fi
fi
cp -r /etc/sudoers.d ${LOG_DIR}/system_logs/
@@ -81,8 +98,12 @@ copy_logs() {
# final memory usage and process list
ps -eo user,pid,ppid,lwp,%cpu,%mem,size,rss,cmd > ${LOG_DIR}/system_logs/ps.txt
- # docker related information
- (docker info && docker images && docker ps -a && docker network ls && docker inspect $(docker ps -aq)) > ${LOG_DIR}/system_logs/docker-info.txt
+ # container engine related information
+ (${CONTAINER_ENGINE} info &&
+ ${CONTAINER_ENGINE} images &&
+ ${CONTAINER_ENGINE} ps -a &&
+ ${CONTAINER_ENGINE} network ls &&
+ ${CONTAINER_ENGINE} inspect $(${CONTAINER_ENGINE} ps -aq)) > ${LOG_DIR}/system_logs/${CONTAINER_ENGINE}-info.txt
# save dbus services
dbus-send --system --print-reply --dest=org.freedesktop.DBus /org/freedesktop/DBus org.freedesktop.DBus.ListNames > ${LOG_DIR}/system_logs/dbus-services.txt
@@ -98,28 +119,28 @@ copy_logs() {
fi
# bifrost related logs
- if [[ $(docker ps --filter name=bifrost_deploy --format "{{.Names}}") ]]; then
+ if [[ $(${CONTAINER_ENGINE} ps --filter name=bifrost_deploy --format "{{.Names}}") ]]; then
for service in dnsmasq ironic ironic-api ironic-conductor ironic-inspector mariadb nginx; do
mkdir -p ${LOG_DIR}/kolla/$service
- docker exec bifrost_deploy systemctl status $service > ${LOG_DIR}/kolla/$service/systemd-status-$service.txt
+ ${CONTAINER_ENGINE} exec bifrost_deploy systemctl status $service > ${LOG_DIR}/kolla/$service/systemd-status-$service.txt
done
- docker exec bifrost_deploy journalctl -u mariadb > ${LOG_DIR}/kolla/mariadb/mariadb.txt
+ ${CONTAINER_ENGINE} exec bifrost_deploy journalctl -u mariadb > ${LOG_DIR}/kolla/mariadb/mariadb.txt
fi
# haproxy related logs
- if [[ $(docker ps --filter name=haproxy --format "{{.Names}}") ]]; then
+ if [[ $(${CONTAINER_ENGINE} ps --filter name=haproxy --format "{{.Names}}") ]]; then
mkdir -p ${LOG_DIR}/kolla/haproxy
- docker exec haproxy bash -c 'echo show stat | socat stdio /var/lib/kolla/haproxy/haproxy.sock' > ${LOG_DIR}/kolla/haproxy/stats.txt
+ ${CONTAINER_ENGINE} exec haproxy bash -c 'echo show stat | socat stdio /var/lib/kolla/haproxy/haproxy.sock' > ${LOG_DIR}/kolla/haproxy/stats.txt
fi
# FIXME: remove
- if [[ $(docker ps -a --filter name=ironic_inspector --format "{{.Names}}") ]]; then
+ if [[ $(${CONTAINER_ENGINE} ps -a --filter name=ironic_inspector --format "{{.Names}}") ]]; then
mkdir -p ${LOG_DIR}/kolla/ironic-inspector
- ls -lR /var/lib/docker/volumes/ironic_inspector_dhcp_hosts > ${LOG_DIR}/kolla/ironic-inspector/var-lib-ls.txt
+ ls -lR ${VOLUMES_DIR}/ironic_inspector_dhcp_hosts > ${LOG_DIR}/kolla/ironic-inspector/var-lib-ls.txt
fi
- for container in $(docker ps -a --format "{{.Names}}"); do
- docker logs --timestamps --tail all ${container} &> ${LOG_DIR}/docker_logs/${container}.txt
+ for container in $(${CONTAINER_ENGINE} ps -a --format "{{.Names}}"); do
+ ${CONTAINER_ENGINE} logs --timestamps --tail all ${container} &> ${LOG_DIR}/container_logs/${container}.txt
done
# Rename files to .txt; this is so that when displayed via
@@ -128,7 +149,7 @@ copy_logs() {
# download it, etc.
# Rename all .log files to .txt files
- for f in $(find ${LOG_DIR}/{system_logs,kolla,docker_logs} -name "*.log"); do
+ for f in $(find ${LOG_DIR}/{system_logs,kolla,${CONTAINER_ENGINE}_logs} -name "*.log"); do
mv $f ${f/.log/.txt}
done
diff --git a/tests/init-swift.sh b/tests/init-swift.sh
index c5cfb2856..22c416971 100755
--- a/tests/init-swift.sh
+++ b/tests/init-swift.sh
@@ -10,7 +10,7 @@ function init_swift_logged {
# the order is important due to port incrementation
for ring in object account container; do
# create the *.builder files
- sudo docker run \
+ sudo ${CONTAINER_ENGINE} run \
--rm \
-v /etc/kolla/config/swift/:/etc/kolla/config/swift/ \
$KOLLA_SWIFT_BASE_IMAGE \
@@ -19,7 +19,7 @@ function init_swift_logged {
# add nodes to them
for node in ${STORAGE_NODES[@]}; do
- sudo docker run \
+ sudo ${CONTAINER_ENGINE} run \
--rm \
-v /etc/kolla/config/swift/:/etc/kolla/config/swift/ \
$KOLLA_SWIFT_BASE_IMAGE \
@@ -28,7 +28,7 @@ function init_swift_logged {
done
# create the *.ring.gz files
- sudo docker run \
+ sudo ${CONTAINER_ENGINE} run \
--rm \
-v /etc/kolla/config/swift/:/etc/kolla/config/swift/ \
$KOLLA_SWIFT_BASE_IMAGE \
@@ -36,7 +36,7 @@ function init_swift_logged {
/etc/kolla/config/swift/$ring.builder rebalance
# display contents for debugging
- sudo docker run \
+ sudo ${CONTAINER_ENGINE} run \
--rm \
-v /etc/kolla/config/swift/:/etc/kolla/config/swift/ \
$KOLLA_SWIFT_BASE_IMAGE \
diff --git a/tests/pre.yml b/tests/pre.yml
index b509da31f..2d4a98efa 100644
--- a/tests/pre.yml
+++ b/tests/pre.yml
@@ -69,6 +69,7 @@
environment:
LOG_DIR: "{{ logs_dir }}/pre"
KOLLA_INTERNAL_VIP_ADDRESS: "{{ kolla_internal_vip_address }}"
+ CONTAINER_ENGINE: "{{ container_engine }}"
script: get_logs.sh
register: get_logs_result
become: true
@@ -84,7 +85,7 @@
state: "directory"
mode: 0777
with_items:
- - "docker_logs"
+ - "container_logs"
- "kolla_configs"
- "system_logs"
- "kolla"
diff --git a/tests/run.yml b/tests/run.yml
index b89b8a261..01406b7d4 100644
--- a/tests/run.yml
+++ b/tests/run.yml
@@ -132,6 +132,7 @@
path: "/etc/docker"
state: directory
become: true
+ when: container_engine == 'docker'
- name: Ensure configuration directories exist
file:
@@ -321,6 +322,7 @@
SCENARIO: "{{ scenario }}"
UPPER_CONSTRAINTS: "{{ upper_constraints_file }}"
KOLLA_ANSIBLE_VENV_PATH: "{{ kolla_ansible_venv_path }}"
+ CONTAINER_ENGINE: "{{ container_engine }}"
- name: Run init-swift.sh script
script:
@@ -333,6 +335,7 @@
STORAGE_NODES: "{{ groups['all'] | map('extract', hostvars,
['ansible_'+api_interface_name, 'ipv4', 'address'])
| join(' ') }}"
+ CONTAINER_ENGINE: "{{ container_engine }}"
when: scenario == 'swift'
# At this point we have generated all necessary configuration, and are
@@ -439,6 +442,7 @@
when: scenario == 'zun'
environment:
BASE_DISTRO: "{{ base_distro }}"
+ CONTAINER_ENGINE: "{{ container_engine }}"
- name: Run test-swift.sh script
script:
@@ -466,6 +470,7 @@
# by default to ~/tenks-venv
TENKS_VENV_PATH: "{{ ansible_env.HOME }}/kolla-ansible-tenks-venv"
TENKS_SRC_PATH: "{{ ansible_env.HOME }}/src/opendev.org/openstack/tenks"
+ CONTAINER_ENGINE: "{{ container_engine }}"
- name: Run test-ironic.sh script
script:
@@ -498,6 +503,8 @@
executable: /bin/bash
chdir: "{{ kolla_ansible_src_dir }}"
when: scenario == "masakari"
+ environment:
+ CONTAINER_ENGINE: "{{ container_engine }}"
- name: Run test-ovn.sh script
script:
@@ -505,6 +512,8 @@
executable: /bin/bash
chdir: "{{ kolla_ansible_src_dir }}"
when: scenario == "ovn"
+ environment:
+ CONTAINER_ENGINE: "{{ container_engine }}"
- name: Run test-mariadb.sh script
script:
@@ -514,6 +523,7 @@
when: scenario == "mariadb"
environment:
KOLLA_ANSIBLE_VENV_PATH: "{{ kolla_ansible_venv_path }}"
+ CONTAINER_ENGINE: "{{ container_engine }}"
- name: Run test-prometheus-opensearch.sh script
script:
@@ -545,6 +555,8 @@
cmd: tests/check-failure.sh
executable: /bin/bash
chdir: "{{ kolla_ansible_src_dir }}"
+ environment:
+ CONTAINER_ENGINE: "{{ container_engine }}"
- name: Run pre-upgrade check-config.sh script
shell:
@@ -735,6 +747,8 @@
cmd: tests/test-bifrost.sh
executable: /bin/bash
chdir: "{{ kolla_ansible_src_dir }}"
+ environment:
+ CONTAINER_ENGINE: "{{ container_engine }}"
- name: Run upgrade-bifrost.sh script
shell:
@@ -756,6 +770,8 @@
cmd: tests/check-failure.sh
executable: /bin/bash
chdir: "{{ kolla_ansible_src_dir }}"
+ environment:
+ CONTAINER_ENGINE: "{{ container_engine }}"
- name: Run check-config.sh script
shell:
@@ -794,6 +810,8 @@
cmd: tests/check-failure.sh
executable: /bin/bash
chdir: "{{ kolla_ansible_src_dir }}"
+ environment:
+ CONTAINER_ENGINE: "{{ container_engine }}"
- name: Run check-config.sh script
shell:
diff --git a/tests/setup_gate.sh b/tests/setup_gate.sh
index c14a85dcb..20431bcd8 100755
--- a/tests/setup_gate.sh
+++ b/tests/setup_gate.sh
@@ -109,7 +109,7 @@ EOF
mkdir -p /tmp/logs/build
- sudo docker run -d --net=host -e REGISTRY_HTTP_ADDR=0.0.0.0:4000 --restart=always -v /opt/kolla_registry/:/var/lib/registry --name registry registry:2
+ sudo $CONTAINER_ENGINE run -d --net=host -e REGISTRY_HTTP_ADDR=0.0.0.0:4000 --restart=always -v /opt/kolla_registry/:/var/lib/registry --name registry registry:2
python3 -m venv ~/kolla-venv
. ~/kolla-venv/bin/activate
@@ -121,8 +121,8 @@ EOF
# NOTE(yoctozepto): due to debian buster we push after images are built
# see https://github.com/docker/for-linux/issues/711
if [[ "debian" == $BASE_DISTRO ]]; then
- for img in $(sudo docker image ls --format '{{ .Repository }}:{{ .Tag }}' | grep lokolla/); do
- sudo docker push $img;
+ for img in $(sudo ${CONTAINER_ENGINE} image ls --format '{{ .Repository }}:{{ .Tag }}' | grep lokolla/); do
+ sudo $CONTAINER_ENGINE push $img;
done
fi
diff --git a/tests/templates/globals-default.j2 b/tests/templates/globals-default.j2
index ca0e3a406..f57f625a5 100644
--- a/tests/templates/globals-default.j2
+++ b/tests/templates/globals-default.j2
@@ -13,6 +13,7 @@ kolla_base_distro: "{{ base_distro }}"
# Zed dropped install_type so we have it only on upgrades
network_interface: "{{ api_interface_name }}"
network_address_family: "{{ address_family }}"
+kolla_container_engine: "{{ container_engine }}"
docker_restart_policy: "no"
docker_custom_config:
debug: true
diff --git a/tests/test-bifrost.sh b/tests/test-bifrost.sh
index 93ce19794..0692dfcbd 100755
--- a/tests/test-bifrost.sh
+++ b/tests/test-bifrost.sh
@@ -8,11 +8,13 @@ export PYTHONUNBUFFERED=1
function test_bifrost {
+ container_engine="${1:-docker}"
+
# TODO(mgoddard): More testing, deploy bare metal nodes.
# TODO(mgoddard): Use openstackclient when clouds.yaml works. See
# https://bugs.launchpad.net/bifrost/+bug/1754070.
attempts=0
- while [[ $(sudo docker exec bifrost_deploy bash -c "OS_CLOUD=bifrost openstack baremetal driver list -f value" | wc -l) -eq 0 ]]; do
+ while [[ $(sudo ${container_engine} exec bifrost_deploy bash -c "OS_CLOUD=bifrost openstack baremetal driver list -f value" | wc -l) -eq 0 ]]; do
attempts=$((attempts + 1))
if [[ $attempts -gt 6 ]]; then
echo "Timed out waiting for ironic conductor to become active"
@@ -20,10 +22,10 @@ function test_bifrost {
fi
sleep 10
done
- sudo docker exec bifrost_deploy bash -c "OS_CLOUD=bifrost openstack baremetal node list"
- sudo docker exec bifrost_deploy bash -c "OS_CLOUD=bifrost openstack baremetal node create --driver ipmi --name test-node"
- sudo docker exec bifrost_deploy bash -c "OS_CLOUD=bifrost openstack baremetal node delete test-node"
+ sudo $container_engine exec bifrost_deploy bash -c "OS_CLOUD=bifrost openstack baremetal node list"
+ sudo $container_engine exec bifrost_deploy bash -c "OS_CLOUD=bifrost openstack baremetal node create --driver ipmi --name test-node"
+ sudo $container_engine exec bifrost_deploy bash -c "OS_CLOUD=bifrost openstack baremetal node delete test-node"
}
-test_bifrost
+test_bifrost $1
diff --git a/tests/test-mariadb.sh b/tests/test-mariadb.sh
index 76e6c3231..c5cf5b6a1 100755
--- a/tests/test-mariadb.sh
+++ b/tests/test-mariadb.sh
@@ -12,7 +12,7 @@ export PYTHONUNBUFFERED=1
function mariadb_stop {
echo "Stopping the database cluster"
kolla-ansible -i ${RAW_INVENTORY} -vvv stop --yes-i-really-really-mean-it --tags mariadb --skip-tags common
- if [[ $(sudo docker ps -q | grep mariadb | wc -l) -ne 0 ]]; then
+ if [[ $(sudo ${container_engine} ps -q | grep mariadb | wc -l) -ne 0 ]]; then
echo "Failed to stop MariaDB cluster"
return 1
fi
@@ -48,4 +48,5 @@ function test_mariadb {
return $result
}
+container_engine="${1:-docker}"
test_mariadb
diff --git a/tests/test-masakari.sh b/tests/test-masakari.sh
index 42a1e26d3..81f0a6185 100755
--- a/tests/test-masakari.sh
+++ b/tests/test-masakari.sh
@@ -8,6 +8,7 @@ set -o pipefail
export PYTHONUNBUFFERED=1
function test_hacluster_logged {
+ container_engine="${1:-docker}"
local cluster_failure
cluster_failure=0
@@ -17,17 +18,17 @@ function test_hacluster_logged {
# var setting from the container which would cause these commands to log up
# to 'trace' (likely a pacemaker bug)
- if ! sudo docker exec hacluster_pacemaker cibadmin -VVVVVV --query --local; then
+ if ! sudo ${container_engine} exec hacluster_pacemaker cibadmin -VVVVVV --query --local; then
cluster_failure=1
fi
local mon_output
- if ! mon_output=$(sudo docker exec -e PCMK_debug=no hacluster_pacemaker crm_mon -VVVVV --one-shot); then
+ if ! mon_output=$(sudo ${container_engine} exec -e PCMK_debug=no hacluster_pacemaker crm_mon -VVVVV --one-shot); then
cluster_failure=1
fi
- if ! sudo docker exec -e PCMK_debug=no hacluster_pacemaker crm_verify -VVVVV --live-check; then
+ if ! sudo ${container_engine} exec -e PCMK_debug=no hacluster_pacemaker crm_verify -VVVVV --live-check; then
cluster_failure=1
fi
@@ -81,7 +82,7 @@ function test_masakari_logged {
function test_masakari {
echo "Testing Masakari"
- test_hacluster_logged > /tmp/logs/ansible/test-hacluster 2>&1
+ test_hacluster_logged $1 > /tmp/logs/ansible/test-hacluster 2>&1
test_masakari_logged > /tmp/logs/ansible/test-masakari 2>&1
result=$?
if [[ $result != 0 ]]; then
@@ -92,4 +93,4 @@ function test_masakari {
return $result
}
-test_masakari
+test_masakari $1
diff --git a/tests/test-ovn.sh b/tests/test-ovn.sh
index 9ed190619..7159c804b 100755
--- a/tests/test-ovn.sh
+++ b/tests/test-ovn.sh
@@ -15,18 +15,18 @@ function test_ovn {
# List OVN NB/SB entries
echo "OVN NB DB entries:"
- sudo docker exec ovn_northd ovn-nbctl --db "$ovn_nb_connection" show
+ sudo ${container_engine} exec ovn_northd ovn-nbctl --db "$ovn_nb_connection" show
echo "OVN SB DB entries:"
- sudo docker exec ovn_northd ovn-sbctl --db "$ovn_sb_connection" show
+ sudo ${container_engine} exec ovn_northd ovn-sbctl --db "$ovn_sb_connection" show
# Test OVSDB cluster state
if [[ $BASE_DISTRO =~ ^(debian|ubuntu)$ ]]; then
- OVNNB_STATUS=$(sudo docker exec ovn_nb_db ovs-appctl -t /var/run/openvswitch/ovnnb_db.ctl cluster/status OVN_Northbound)
- OVNSB_STATUS=$(sudo docker exec ovn_sb_db ovs-appctl -t /var/run/openvswitch/ovnsb_db.ctl cluster/status OVN_Southbound)
+ OVNNB_STATUS=$(sudo ${container_engine} exec ovn_nb_db ovs-appctl -t /var/run/openvswitch/ovnnb_db.ctl cluster/status OVN_Northbound)
+ OVNSB_STATUS=$(sudo ${container_engine} exec ovn_sb_db ovs-appctl -t /var/run/openvswitch/ovnsb_db.ctl cluster/status OVN_Southbound)
else
- OVNNB_STATUS=$(sudo docker exec ovn_nb_db ovs-appctl -t /var/run/ovn/ovnnb_db.ctl cluster/status OVN_Northbound)
- OVNSB_STATUS=$(sudo docker exec ovn_sb_db ovs-appctl -t /var/run/ovn/ovnsb_db.ctl cluster/status OVN_Southbound)
+ OVNNB_STATUS=$(sudo ${container_engine} exec ovn_nb_db ovs-appctl -t /var/run/ovn/ovnnb_db.ctl cluster/status OVN_Northbound)
+ OVNSB_STATUS=$(sudo ${container_engine} exec ovn_sb_db ovs-appctl -t /var/run/ovn/ovnsb_db.ctl cluster/status OVN_Southbound)
fi
if [[ $(grep -o "at tcp:" <<< ${OVNNB_STATUS} | wc -l) != "3" ]]; then
@@ -84,9 +84,9 @@ function test_octavia {
openstack floating ip set $lb_fip --port $lb_port_id
echo "OVN NB entries for LB:"
- sudo docker exec ovn_northd ovn-nbctl --db "$ovn_nb_connection" list load_balancer
+ sudo ${container_engine} exec ovn_northd ovn-nbctl --db "$ovn_nb_connection" list load_balancer
echo "OVN NB entries for NAT:"
- sudo docker exec ovn_northd ovn-nbctl --db "$ovn_nb_connection" list nat
+ sudo ${container_engine} exec ovn_northd ovn-nbctl --db "$ovn_nb_connection" list nat
echo "Attempt to access the load balanced HTTP server."
attempts=12
@@ -133,5 +133,5 @@ function test_ovn_setup {
}
-
+container_engine=${1:-docker}
test_ovn_setup
diff --git a/tests/test-zun.sh b/tests/test-zun.sh
index 334bdd6f9..d01d2da2c 100755
--- a/tests/test-zun.sh
+++ b/tests/test-zun.sh
@@ -9,12 +9,14 @@ function test_zun_logged {
. /etc/kolla/admin-openrc.sh
. ~/openstackclient-venv/bin/activate
+ container_engine="${1:-docker}"
+
echo "TESTING: Zun"
openstack appcontainer service list
openstack appcontainer host list
openstack subnet set --no-dhcp demo-subnet
- sudo docker pull alpine
- sudo docker save alpine | openstack image create alpine --public --container-format docker --disk-format raw
+ sudo ${container_engine} pull alpine
+ sudo ${container_engine} save alpine | openstack image create alpine --public --container-format docker --disk-format raw
openstack appcontainer run --net network=demo-net --name test alpine sleep 1000
attempt=1
while [[ $(openstack appcontainer show test -f value -c status) != "Running" ]]; do
@@ -160,7 +162,7 @@ function test_zun {
if [[ -f $log_file ]]; then
log_file=${log_file}-upgrade
fi
- test_zun_logged > $log_file 2>&1
+ test_zun_logged $1 > $log_file 2>&1
result=$?
if [[ $result != 0 ]]; then
echo "Testing Zun failed. See ansible/test-zun for details"
@@ -170,4 +172,4 @@ function test_zun {
return $result
}
-test_zun
+test_zun $1