From 221e1549ffd51d7b26a17fcbcc61e7fc1f9c909f Mon Sep 17 00:00:00 2001 From: Jesse Pretorius Date: Fri, 7 Sep 2018 14:16:04 +0100 Subject: [PATCH] Clean up role tests Now that we're using the general templates, we can slim down the role test definitions. We can also remove tests which are not being watched, or which are fundamentally broken. With this we can also remove unused scripts/plays. We do the following: 1. We remove the 'ssl' job, given that the person working on that is no longer doing so, and no-one else has picked up the work. 2. We remove the 'upgrade' job, given that it's been broken all cycle due to the way the job executes and we need to regroup to figure out another way to do it. 3. We promote the distro_install jobs, given that they are all now working. Change-Id: I9d33daeb6d591c6919f131aafd62c4a33e4ff68f --- tests/ansible-role-requirements.yml | 4 - .../test-benchmark-glance-upgrade-results.yml | 28 ----- tests/test-benchmark-glance-upgrade.yml | 56 ---------- tests/test-glance-upgrades.sh | 104 ------------------ tests/test-install-previous-glance.yml | 34 ------ tests/test-upgrade-post.yml | 29 ----- tests/test-upgrade.yml | 23 ---- tox.ini | 16 --- zuul.d/jobs.yaml | 7 -- zuul.d/project.yaml | 11 +- 10 files changed, 4 insertions(+), 308 deletions(-) delete mode 100644 tests/test-benchmark-glance-upgrade-results.yml delete mode 100644 tests/test-benchmark-glance-upgrade.yml delete mode 100755 tests/test-glance-upgrades.sh delete mode 100644 tests/test-install-previous-glance.yml delete mode 100644 tests/test-upgrade-post.yml delete mode 100644 tests/test-upgrade.yml diff --git a/tests/ansible-role-requirements.yml b/tests/ansible-role-requirements.yml index df608429..a7d92263 100644 --- a/tests/ansible-role-requirements.yml +++ b/tests/ansible-role-requirements.yml @@ -50,10 +50,6 @@ src: https://git.openstack.org/openstack/openstack-ansible-os_tempest scm: git version: master -- name: os_previous_glance - src: https://git.openstack.org/openstack/openstack-ansible-os_glance - scm: git - version: stable/queens - name: systemd_service src: https://git.openstack.org/openstack/ansible-role-systemd_service scm: git diff --git a/tests/test-benchmark-glance-upgrade-results.yml b/tests/test-benchmark-glance-upgrade-results.yml deleted file mode 100644 index 43439a8e..00000000 --- a/tests/test-benchmark-glance-upgrade-results.yml +++ /dev/null @@ -1,28 +0,0 @@ ---- -# Copyright 2017, 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. - -- name: Playbook to report resource tests - hosts: localhost - user: root - tasks: - - name: Kill resource test - command: pkill -f rolling_test - - name: Register upgrade benchmarking results - async_status: jid={{ rolling_test_benchmark.ansible_job_id }} - register: rolling_test_benchmark_results - until: rolling_test_benchmark_results.finished - - name: Display basic summary - debug: - msg: "Finished upgrade with {{ rolling_test_benchmark_results.stdout }}% API response failure rate" diff --git a/tests/test-benchmark-glance-upgrade.yml b/tests/test-benchmark-glance-upgrade.yml deleted file mode 100644 index 19a39199..00000000 --- a/tests/test-benchmark-glance-upgrade.yml +++ /dev/null @@ -1,56 +0,0 @@ ---- -# Copyright 2017, 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. - -- name: Playbook to run resource tests against an openstack service - hosts: localhost - user: root - become: true - # TODO: remove the static reference to openstack1 - vars: - test_keystone_host: openstack1 - working_dir: "{{ lookup('env', 'WORKING_DIR') }}" - upgrade_venv_folder: "/openstack/venvs/upgrades" - upgrade_test_packages: - - "python-keystoneclient" - - "python-glanceclient" - - "openstacksdk" - roles: - - openstack_openrc - post_tasks: - - name: Install openstack clients - pip: - name: "{{ upgrade_test_packages }}" - virtualenv: "{{ upgrade_venv_folder }}" - virtualenv_site_packages: "no" - extra_args: >- - {{ (pip_install_upper_constraints is defined) | ternary('--constraint ' + pip_install_upper_constraints | default(''),'') }} - {{ pip_install_options | default('') }} - register: install_packages - until: install_packages is success - retries: 5 - delay: 2 - - - name: Run rolling test script - shell: | - source {{ upgrade_venv_folder }}/bin/activate - ./openstack-ansible-ops/bowling_ball/rolling_tests.py glance - args: - chdir: "{{ working_dir }}" - executable: /bin/bash - async: 100000 - poll: 0 - register: rolling_test_benchmark - vars_files: - - common/test-vars.yml diff --git a/tests/test-glance-upgrades.sh b/tests/test-glance-upgrades.sh deleted file mode 100755 index e7f3d494..00000000 --- a/tests/test-glance-upgrades.sh +++ /dev/null @@ -1,104 +0,0 @@ -#!/usr/bin/env bash - -# 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. - -# WARNING: -# This file is use by all OpenStack-Ansible roles for testing purposes. -# Any changes here will affect all OpenStack-Ansible role repositories -# with immediate effect. - -# PURPOSE: -# This script executes test Ansible playbooks required for performing -# an upgrade test of the os_neutron role. -# Due to the way Ansible caches and handles modules, we need to run -# separate Ansible runs to ensure the "upgrade" uses the new -# "neutron_migrations_facts" module, instead of the cached version -# used when deploying the previous Neutron version. - -## Shell Opts ---------------------------------------------------------------- - -set -e - -## Vars ---------------------------------------------------------------------- - -export WORKING_DIR=${WORKING_DIR:-$(pwd)} -export ROLE_NAME=${ROLE_NAME:-''} - -export ANSIBLE_PARAMETERS=${ANSIBLE_PARAMETERS:-"-vvv"} -export TEST_PLAYBOOK=${TEST_PLAYBOOK:-$WORKING_DIR/tests/test-upgrade.yml} -export TEST_CHECK_MODE=${TEST_CHECK_MODE:-false} -export TEST_IDEMPOTENCE=${TEST_IDEMPOTENCE:-false} - -export COMMON_TESTS_PATH="${WORKING_DIR}/tests/common" -export OSA_OPS_DIR="${WORKING_DIR}/openstack-ansible-ops" -export BOWLING_BALL_DIR="${OSA_OPS_DIR}/bowling_ball" - -echo "ANSIBLE_OVERRIDES: ${ANSIBLE_OVERRIDES}" -echo "ANSIBLE_PARAMETERS: ${ANSIBLE_PARAMETERS}" -echo "TEST_PLAYBOOK: ${TEST_PLAYBOOK}" -echo "TEST_CHECK_MODE: ${TEST_CHECK_MODE}" -echo "TEST_IDEMPOTENCE: ${TEST_IDEMPOTENCE}" - -## Functions ----------------------------------------------------------------- - -function execute_ansible_playbook { - - export ANSIBLE_CLI_PARAMETERS="${ANSIBLE_PARAMETERS}" - export ANSIBLE_BIN=${ANSIBLE_BIN:-"ansible-playbook"} - CMD_TO_EXECUTE="${ANSIBLE_BIN} ${TEST_PLAYBOOK} $@ ${ANSIBLE_CLI_PARAMETERS}" - - echo "Executing: ${CMD_TO_EXECUTE}" - echo "With:" - echo " ANSIBLE_INVENTORY: ${ANSIBLE_INVENTORY}" - echo " ANSIBLE_LOG_PATH: ${ANSIBLE_LOG_PATH}" - - ${CMD_TO_EXECUTE} - -} - -## Main ---------------------------------------------------------------------- - -# Ensure that the Ansible environment is properly prepared -source "${COMMON_TESTS_PATH}/test-ansible-env-prep.sh" - -# Prepare environment for the initial deploy of (previous and current) Glance -# No upgrading or testing is done yet. -export TEST_PLAYBOOK="${WORKING_DIR}/tests/test-upgrade.yml" -export ANSIBLE_LOG_PATH="${ANSIBLE_LOG_DIR}/ansible-execute-glance-install.log" - -# Execute the setup of current infrastructure -execute_ansible_playbook - -# Prepare environment for the deploy of previous glance: -# No upgrading or testing is done yet. -export TEST_PLAYBOOK="${WORKING_DIR}/tests/test-install-previous-glance.yml" -export ANSIBLE_LOG_PATH="${ANSIBLE_LOG_DIR}/ansible-execute-previous_glance-install.log" -export PREVIOUS_VENV="ansible-previous" -export ANSIBLE_BIN="${WORKING_DIR}/.tox/${PREVIOUS_VENV}/bin/ansible-playbook" -source ${COMMON_TESTS_PATH}/test-create-previous-venv.sh - -# Execute the setup of previous glance -execute_ansible_playbook - -# Unset previous branch overrides -unset PREVIOUS_VENV -unset ANSIBLE_BIN - -# Prepare the environment for the upgrade of Glance -export TEST_PLAYBOOK="${WORKING_DIR}/tests/test-upgrade-post.yml" -export ANSIBLE_LOG_PATH="${ANSIBLE_LOG_DIR}/ansible-execute-glance-upgrade.log" - -# Execute the upgrade of Glance including testing/benchmarking -execute_ansible_playbook diff --git a/tests/test-install-previous-glance.yml b/tests/test-install-previous-glance.yml deleted file mode 100644 index da46daf2..00000000 --- a/tests/test-install-previous-glance.yml +++ /dev/null @@ -1,34 +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. - -# Ensure the repo is setup for previous version -- include: common/previous/test-repo-setup.yml - -- name: Playbook for deploying glance - hosts: glance_all - user: root - gather_facts: true - pre_tasks: - - include: common/ensure-rabbitmq.yml - vhost_name: "{{ glance_rabbitmq_vhost }}" - user_name: "{{ glance_rabbitmq_userid }}" - user_password: "{{ glance_rabbitmq_password }}" - - include: common/create-grant-db.yml - db_name: "{{ glance_galera_database }}" - db_password: "{{ glance_container_mysql_password }}" - roles: - - role: "os_previous_glance" - vars_files: - - common/previous/test-vars.yml diff --git a/tests/test-upgrade-post.yml b/tests/test-upgrade-post.yml deleted file mode 100644 index 07e11922..00000000 --- a/tests/test-upgrade-post.yml +++ /dev/null @@ -1,29 +0,0 @@ ---- -# Copyright 2017, 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. - -# This playbook handles the installation of current Glance -# Benchmarking, and tempest testing. - -# Install upgrade benchmarking -- include: test-benchmark-glance-upgrade.yml - -# Install Glance -- include: common/test-install-glance.yml - -# Install and execute Tempest -- include: common/test-install-tempest.yml - -# Test upgrade benchmarking results -- include: test-benchmark-glance-upgrade-results.yml diff --git a/tests/test-upgrade.yml b/tests/test-upgrade.yml deleted file mode 100644 index 0e7314fc..00000000 --- a/tests/test-upgrade.yml +++ /dev/null @@ -1,23 +0,0 @@ ---- -# 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. - -# Setup the host -- include: common/test-setup-host.yml - -# Install RabbitMQ/MariaDB -- include: common/test-install-infra.yml - -# Install Keystone -- include: common/test-install-keystone.yml diff --git a/tox.ini b/tox.ini index 93471fa9..e99b7573 100644 --- a/tox.ini +++ b/tox.ini @@ -100,14 +100,6 @@ commands = bash -c "{toxinidir}/tests/common/test-ansible-functional.sh" -[testenv:upgrade] -setenv = - {[testenv]setenv} - CLONE_UPGRADE_TESTS=yes -commands = - bash -c "{toxinidir}/tests/test-glance-upgrades.sh" - - [testenv:v2_registry_enabled] setenv = {[testenv]setenv} @@ -125,14 +117,6 @@ commands = bash -c "{toxinidir}/tests/common/test-ansible-functional.sh" -[testenv:ssl] -setenv = - {[testenv]setenv} - ANSIBLE_PARAMETERS=-vvv -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" diff --git a/zuul.d/jobs.yaml b/zuul.d/jobs.yaml index 553e4342..009bcc8e 100644 --- a/zuul.d/jobs.yaml +++ b/zuul.d/jobs.yaml @@ -26,10 +26,3 @@ nodeset: ubuntu-xenial vars: tox_env: nfs - -- job: - name: openstack-ansible-glance-ssl-nv - parent: openstack-ansible-functional-ubuntu-xenial - voting: false - vars: - tox_env: ssl diff --git a/zuul.d/project.yaml b/zuul.d/project.yaml index 7b669158..10c1c183 100644 --- a/zuul.d/project.yaml +++ b/zuul.d/project.yaml @@ -21,17 +21,14 @@ check: jobs: - openstack-ansible-nfs_glance - - openstack-ansible-upgrade-ubuntu-xenial - openstack-ansible-v2_registry_enabled - - openstack-ansible-glance-ssl-nv - openstack-ansible-functional-distro_install-ubuntu-xenial - # NOTE(hwoarang) Centos7 is having some troubles with repo dependencies - # so disabling until it's investigated. - - openstack-ansible-functional-distro_install-centos-7: - voting: false + - openstack-ansible-functional-distro_install-centos-7 - openstack-ansible-functional-distro_install-opensuse-423 gate: jobs: - openstack-ansible-nfs_glance - - openstack-ansible-upgrade-ubuntu-xenial - openstack-ansible-v2_registry_enabled + - openstack-ansible-functional-distro_install-ubuntu-xenial + - openstack-ansible-functional-distro_install-centos-7 + - openstack-ansible-functional-distro_install-opensuse-423 \ No newline at end of file