From 49c7e585a91f14016d88c7c14f7d6f669d0e4b8c Mon Sep 17 00:00:00 2001 From: Bernard Cafarelli Date: 2020年1月21日 13:37:22 +0100 Subject: [PATCH] Switch functional/install jobs to Zuulv3 syntax This patch switches from legacy jobs to standard jobs (neutron-functional for functional jobs) Clean up relevant files from legacy jobs Remove hook calls in install jobs as they did nothing TODO: not sure what to do about the install jobs, should we keep them? Change-Id: If27b989195999d202fb819b01fe085c143b920f4 --- .zuul.yaml | 60 ++++++++------ bindep.txt | 7 +- devstack/gate_hook.sh | 22 ----- devstack/post_test_hook.sh | 48 ----------- devstack/pre_test_hook.sh | 2 - .../post.yaml | 15 ---- .../run.yaml | 80 ------------------- .../run.yaml | 15 ---- .../post.yaml | 15 ---- .../run.yaml | 78 ------------------ .../networking-bgpvpn-dsvm-install/run.yaml | 15 ---- tools/test-setup.sh | 57 ------------- 12 files changed, 40 insertions(+), 374 deletions(-) delete mode 100644 devstack/gate_hook.sh delete mode 100755 devstack/post_test_hook.sh delete mode 100644 devstack/pre_test_hook.sh delete mode 100644 playbooks/networking-bgpvpn-bagpipe-dsvm-functional/post.yaml delete mode 100644 playbooks/networking-bgpvpn-bagpipe-dsvm-functional/run.yaml delete mode 100644 playbooks/networking-bgpvpn-dsvm-functional/post.yaml delete mode 100644 playbooks/networking-bgpvpn-dsvm-functional/run.yaml delete mode 100755 tools/test-setup.sh diff --git a/.zuul.yaml b/.zuul.yaml index 76408384..7abb2ea2 100644 --- a/.zuul.yaml +++ b/.zuul.yaml @@ -1,13 +1,35 @@ - job: - name: networking-bgpvpn-bagpipe-dsvm-functional - parent: legacy-dsvm-base - run: playbooks/networking-bgpvpn-bagpipe-dsvm-functional/run.yaml - post-run: playbooks/networking-bgpvpn-bagpipe-dsvm-functional/post.yaml - timeout: 7800 + name: networking-bgpvpn-functional-bagpipe + parent: neutron-functional required-projects: - - openstack/devstack-gate - - openstack/networking-bagpipe + - openstack/neutron - openstack/networking-bgpvpn + - openstack/networking-bagpipe + vars: + project_name: networking-bgpvpn + devstack_localrc: + NETWORKING_BGPVPN_DRIVER: BGPVPN:BaGPipe:networking_bgpvpn.neutron.services.service_drivers.bagpipe.bagpipe_v2.BaGPipeBGPVPNDriver:default + BAGPIPE_DATAPLANE_DRIVER_IPVPN: ovs + BAGPIPE_BGP_PEERS: "-" + devstack_plugins: + networking-bagpipe: https://opendev.org/openstack/networking-bagpipe + networking-bgpvpn: https://opendev.org/openstack/networking-bgpvpn + neutron: https://opendev.org/openstack/neutron + +- job: + name: networking-bgpvpn-functional-full + parent: neutron-functional + required-projects: + - openstack/neutron + - openstack/networking-bgpvpn + - openstack/networking-bagpipe + - openstack/networking-odl + - openstack/horizon + vars: + project_name: networking-bgpvpn + devstack_plugins: + networking-bgpvpn: https://opendev.org/openstack/networking-bgpvpn + neutron: https://opendev.org/openstack/neutron - job: name: networking-bgpvpn-bagpipe-dsvm-install @@ -20,20 +42,6 @@ - openstack/networking-bagpipe - openstack/networking-bgpvpn -- job: - name: networking-bgpvpn-dsvm-functional - parent: legacy-dsvm-base - run: playbooks/networking-bgpvpn-dsvm-functional/run.yaml - post-run: playbooks/networking-bgpvpn-dsvm-functional/post.yaml - timeout: 7800 - required-projects: - - openstack/devstack-gate - - openstack/networking-bgpvpn - - openstack/neutron - - openstack/networking-bagpipe - - openstack/networking-odl - - openstack/horizon - - job: name: networking-bgpvpn-dsvm-install parent: legacy-dsvm-base @@ -80,6 +88,10 @@ required-projects: - openstack/networking-bagpipe - openstack/horizon + - openstack-tox-py38: + required-projects: + - openstack/networking-bagpipe + - openstack/horizon - neutron-tempest-plugin-bgpvpn-bagpipe: irrelevant-files: - ^(test-|)requirements.txt$ @@ -89,7 +101,7 @@ - openstack/neutron - openstack/networking-bagpipe - openstack/horizon - - networking-bgpvpn-dsvm-functional + - networking-bgpvpn-functional-full gate: jobs: - openstack-tox-lower-constraints: @@ -113,9 +125,9 @@ irrelevant-files: - ^(test-|)requirements.txt$ - ^setup.cfg$ - - networking-bgpvpn-dsvm-functional + - networking-bgpvpn-functional-full experimental: jobs: - networking-bgpvpn-dsvm-install - networking-bgpvpn-bagpipe-dsvm-install - - networking-bgpvpn-bagpipe-dsvm-functional + - networking-bgpvpn-functional-bagpipe diff --git a/bindep.txt b/bindep.txt index 7ba6996d..57313f14 100644 --- a/bindep.txt +++ b/bindep.txt @@ -4,6 +4,7 @@ libpq-dev [platform:dpkg] mysql-client [platform:dpkg] mysql-server [platform:dpkg] -postgresql -postgresql-client [platform:dpkg] - +postgresql [test] +postgresql-client [platform:dpkg test] +postgresql-devel [platform:rpm test] +postgresql-server [platform:rpm test] diff --git a/devstack/gate_hook.sh b/devstack/gate_hook.sh deleted file mode 100644 index 17583a85..00000000 --- a/devstack/gate_hook.sh +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/sh - -set -xe - -testtype=${1:-"unknown"} -GATE_DEST=$BASE/new - -sudo modprobe bridge - -case "$testtype" in -dsvm-bagpipe-functional*|dsvm-functional*) - # Used by configure_for_func_testing - DEVSTACK_PATH=$GATE_DEST/devstack - IS_GATE=True - source "$GATE_DEST"/neutron/tools/configure_for_func_testing.sh - configure_host_for_func_testing - sudo chown -R stack:stack /opt/stack - ;; -*) - $GATE_DEST/devstack-gate/devstack-vm-gate.sh -esac - diff --git a/devstack/post_test_hook.sh b/devstack/post_test_hook.sh deleted file mode 100755 index 5ec45b01..00000000 --- a/devstack/post_test_hook.sh +++ /dev/null @@ -1,48 +0,0 @@ -#!/usr/bin/env bash - -set -xe - -NETWORKING_BGPVPN_DIR="$BASE/new/networking-bgpvpn" -LOGS=/opt/stack/logs -GATE_STACK_USER=stack -SCRIPTS_DIR="/usr/os-testr-env/bin/" - -typetest=${1:-"unknown"} - -function generate_testr_results { - sudo -H -u $GATE_STACK_USER chmod o+rw . - sudo -H -u $GATE_STACK_USER chmod o+rw -R .stestr - if [ -f ".stestr/0" ] ; then - .tox/$venv/bin/subunit-1to2 < .stestr/0> ./stestr.subunit - $SCRIPTS_DIR/subunit2html ./stestr.subunit testr_results.html - gzip -9 ./stestr.subunit - gzip -9 ./testr_results.html - sudo mv *.gz $LOGS - fi -} - -case "$typetest" in -dsvm-bagpipe-functional*|dsvm-functional*) - cd $NETWORKING_BGPVPN_DIR - sudo chown -R $GATE_STACK_USER:$GATE_STACK_USER . - # Run tests - venv=${typetest/dsvm-bagpipe/dsvm} - echo "Running networking-bgpvpn $venv test suite" - set +e - sudo -H -u $GATE_STACK_USER tox -e ${venv} - testr_exit_code=$? - set -e - - # move and zip tox logs into log directory - sudo mv $NETWORKING_BGPVPN_DIR/.tox/$venv/log /opt/stack/logs/tox - sudo -H -u $GATE_STACK_USER chmod o+rw -R /opt/stack/logs/tox/ - gzip -9 /opt/stack/logs/tox/*.log - - # Collect and parse results - generate_testr_results - exit $testr_exit_code - ;; -*) - ;; -esac - diff --git a/devstack/pre_test_hook.sh b/devstack/pre_test_hook.sh deleted file mode 100644 index 2287ae5b..00000000 --- a/devstack/pre_test_hook.sh +++ /dev/null @@ -1,2 +0,0 @@ -# place holder until we have something useful to do here - diff --git a/playbooks/networking-bgpvpn-bagpipe-dsvm-functional/post.yaml b/playbooks/networking-bgpvpn-bagpipe-dsvm-functional/post.yaml deleted file mode 100644 index e07f5510..00000000 --- a/playbooks/networking-bgpvpn-bagpipe-dsvm-functional/post.yaml +++ /dev/null @@ -1,15 +0,0 @@ -- hosts: primary - tasks: - - - name: Copy files from {{ ansible_user_dir }}/workspace/ on node - synchronize: - src: '{{ ansible_user_dir }}/workspace/' - dest: '{{ zuul.executor.log_root }}' - mode: pull - copy_links: true - verify_host: true - rsync_opts: - - --include=/logs/** - - --include=*/ - - --exclude=* - - --prune-empty-dirs diff --git a/playbooks/networking-bgpvpn-bagpipe-dsvm-functional/run.yaml b/playbooks/networking-bgpvpn-bagpipe-dsvm-functional/run.yaml deleted file mode 100644 index 7854c9a2..00000000 --- a/playbooks/networking-bgpvpn-bagpipe-dsvm-functional/run.yaml +++ /dev/null @@ -1,80 +0,0 @@ -- hosts: all - name: Autoconverted job legacy-networking-bgpvpn-bagpipe-dsvm-functional from old - job gate-networking-bgpvpn-bagpipe-dsvm-functional-ubuntu-xenial - tasks: - - - name: Ensure legacy workspace directory - file: - path: '{{ ansible_user_dir }}/workspace' - state: directory - - - shell: - cmd: | - set -e - set -x - cat> clonemap.yaml << EOF - clonemap: - - name: openstack/devstack-gate - dest: devstack-gate - EOF - /usr/zuul-env/bin/zuul-cloner -m clonemap.yaml --cache-dir /opt/git \ - https://opendev.org \ - openstack/devstack-gate - executable: /bin/bash - chdir: '{{ ansible_user_dir }}/workspace' - environment: '{{ zuul | zuul_legacy_vars }}' - - - shell: - cmd: | - set -e - set -x - cat << 'EOF'>>"/tmp/dg-local.conf" - [[local|localrc]] - enable_plugin networking-bgpvpn https://opendev.org/openstack/networking-bgpvpn - - EOF - executable: /bin/bash - chdir: '{{ ansible_user_dir }}/workspace' - environment: '{{ zuul | zuul_legacy_vars }}' - - - shell: - cmd: | - set -e - set -x - export PYTHONUNBUFFERED=true - export DEVSTACK_GATE_NEUTRON=1 - export BRANCH_OVERRIDE=default - if [ "$BRANCH_OVERRIDE" != "default" ] ; then - export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE - fi - # Because we are testing a non standard project, add - # our project repository. This makes zuul do the right - # reference magic for testing changes. - export PROJECTS="openstack/networking-bgpvpn $PROJECTS" - export PROJECTS="openstack/networking-bagpipe $PROJECTS" - - # Keep localrc to be able to set some vars in pre_test_hook - export KEEP_LOCALRC=1 - - function pre_test_hook { - . $BASE/new/networking-bgpvpn/devstack/pre_test_hook.sh dsvm-bagpipe-functional - } - export -f pre_test_hook - - function gate_hook { - . $BASE/new/networking-bgpvpn/devstack/gate_hook.sh dsvm-bagpipe-functional - } - export -f gate_hook - - function post_test_hook { - . $BASE/new/networking-bgpvpn/devstack/post_test_hook.sh dsvm-bagpipe-functional - } - export -f post_test_hook - - export DEVSTACK_GATE_SETTINGS=/opt/stack/new/networking-bgpvpn/devstack/devstack-gate-bagpipe-rc - - cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh - ./safe-devstack-vm-gate-wrap.sh - executable: /bin/bash - chdir: '{{ ansible_user_dir }}/workspace' - environment: '{{ zuul | zuul_legacy_vars }}' diff --git a/playbooks/networking-bgpvpn-bagpipe-dsvm-install/run.yaml b/playbooks/networking-bgpvpn-bagpipe-dsvm-install/run.yaml index ab24c430..d6ab2bcb 100644 --- a/playbooks/networking-bgpvpn-bagpipe-dsvm-install/run.yaml +++ b/playbooks/networking-bgpvpn-bagpipe-dsvm-install/run.yaml @@ -56,21 +56,6 @@ # Keep localrc to be able to set some vars in pre_test_hook export KEEP_LOCALRC=1 - function pre_test_hook { - . $BASE/new/networking-bgpvpn/devstack/pre_test_hook.sh dsvm-bagpipe-install - } - export -f pre_test_hook - - function gate_hook { - . $BASE/new/networking-bgpvpn/devstack/gate_hook.sh dsvm-bagpipe-install - } - export -f gate_hook - - function post_test_hook { - . $BASE/new/networking-bgpvpn/devstack/post_test_hook.sh dsvm-bagpipe-install - } - export -f post_test_hook - export DEVSTACK_GATE_SETTINGS=/opt/stack/new/networking-bgpvpn/devstack/devstack-gate-bagpipe-rc cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh diff --git a/playbooks/networking-bgpvpn-dsvm-functional/post.yaml b/playbooks/networking-bgpvpn-dsvm-functional/post.yaml deleted file mode 100644 index e07f5510..00000000 --- a/playbooks/networking-bgpvpn-dsvm-functional/post.yaml +++ /dev/null @@ -1,15 +0,0 @@ -- hosts: primary - tasks: - - - name: Copy files from {{ ansible_user_dir }}/workspace/ on node - synchronize: - src: '{{ ansible_user_dir }}/workspace/' - dest: '{{ zuul.executor.log_root }}' - mode: pull - copy_links: true - verify_host: true - rsync_opts: - - --include=/logs/** - - --include=*/ - - --exclude=* - - --prune-empty-dirs diff --git a/playbooks/networking-bgpvpn-dsvm-functional/run.yaml b/playbooks/networking-bgpvpn-dsvm-functional/run.yaml deleted file mode 100644 index 0270b371..00000000 --- a/playbooks/networking-bgpvpn-dsvm-functional/run.yaml +++ /dev/null @@ -1,78 +0,0 @@ -- hosts: all - name: Autoconverted job legacy-networking-bgpvpn-dsvm-functional from old job gate-networking-bgpvpn-dsvm-functional-ubuntu-xenial - tasks: - - - name: Ensure legacy workspace directory - file: - path: '{{ ansible_user_dir }}/workspace' - state: directory - - - shell: - cmd: | - set -e - set -x - cat> clonemap.yaml << EOF - clonemap: - - name: openstack/devstack-gate - dest: devstack-gate - EOF - /usr/zuul-env/bin/zuul-cloner -m clonemap.yaml --cache-dir /opt/git \ - https://opendev.org \ - openstack/devstack-gate - executable: /bin/bash - chdir: '{{ ansible_user_dir }}/workspace' - environment: '{{ zuul | zuul_legacy_vars }}' - - - shell: - cmd: | - set -e - set -x - cat << 'EOF'>>"/tmp/dg-local.conf" - [[local|localrc]] - enable_plugin networking-bgpvpn https://opendev.org/openstack/networking-bgpvpn - - EOF - executable: /bin/bash - chdir: '{{ ansible_user_dir }}/workspace' - environment: '{{ zuul | zuul_legacy_vars }}' - - - shell: - cmd: | - set -e - set -x - export PYTHONUNBUFFERED=true - export DEVSTACK_GATE_NEUTRON=1 - export BRANCH_OVERRIDE=default - if [ "$BRANCH_OVERRIDE" != "default" ] ; then - export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE - fi - # Because we are testing a non standard project, add - # our project repository. This makes zuul do the right - # reference magic for testing changes. - export PROJECTS="openstack/networking-bgpvpn $PROJECTS" - - # Keep localrc to be able to set some vars in pre_test_hook - export KEEP_LOCALRC=1 - - function pre_test_hook { - . $BASE/new/networking-bgpvpn/devstack/pre_test_hook.sh dsvm-functional - } - export -f pre_test_hook - - function gate_hook { - . $BASE/new/networking-bgpvpn/devstack/gate_hook.sh dsvm-functional - } - export -f gate_hook - - function post_test_hook { - . $BASE/new/networking-bgpvpn/devstack/post_test_hook.sh dsvm-functional - } - export -f post_test_hook - - export DEVSTACK_GATE_SETTINGS=/opt/stack/new/networking-bgpvpn/devstack/devstack-gate-rc - - cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh - ./safe-devstack-vm-gate-wrap.sh - executable: /bin/bash - chdir: '{{ ansible_user_dir }}/workspace' - environment: '{{ zuul | zuul_legacy_vars }}' diff --git a/playbooks/networking-bgpvpn-dsvm-install/run.yaml b/playbooks/networking-bgpvpn-dsvm-install/run.yaml index 90ee1dc5..c35c694b 100644 --- a/playbooks/networking-bgpvpn-dsvm-install/run.yaml +++ b/playbooks/networking-bgpvpn-dsvm-install/run.yaml @@ -54,21 +54,6 @@ # Keep localrc to be able to set some vars in pre_test_hook export KEEP_LOCALRC=1 - function pre_test_hook { - . $BASE/new/networking-bgpvpn/devstack/pre_test_hook.sh dsvm-install - } - export -f pre_test_hook - - function gate_hook { - . $BASE/new/networking-bgpvpn/devstack/gate_hook.sh dsvm-install - } - export -f gate_hook - - function post_test_hook { - . $BASE/new/networking-bgpvpn/devstack/post_test_hook.sh dsvm-install - } - export -f post_test_hook - export DEVSTACK_GATE_SETTINGS=/opt/stack/new/networking-bgpvpn/devstack/devstack-gate-rc cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh diff --git a/tools/test-setup.sh b/tools/test-setup.sh deleted file mode 100755 index 07a07854..00000000 --- a/tools/test-setup.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/bash -xe - -# This script will be run by OpenStack CI before unit tests are run, -# it sets up the test system as needed. -# Developers should setup their test systems in a similar way. - -# This setup needs to be run as a user that can run sudo. - -# The root password for the MySQL database; pass it in via -# MYSQL_ROOT_PW. -DB_ROOT_PW=${MYSQL_ROOT_PW:-insecure_slave} - -# This user and its password are used by the tests, if you change it, -# your tests might fail. -DB_USER=openstack_citest -DB_PW=openstack_citest - -sudo -H mysqladmin -u root password $DB_ROOT_PW - -# It's best practice to remove anonymous users from the database. If -# a anonymous user exists, then it matches first for connections and -# other connections from that host will not work. -sudo -H mysql -u root -p$DB_ROOT_PW -h localhost -e " - DELETE FROM mysql.user WHERE User=''; - FLUSH PRIVILEGES; - GRANT ALL PRIVILEGES ON *.* - TO '$DB_USER'@'%' identified by '$DB_PW' WITH GRANT OPTION;" - -# Now create our database. -mysql -u $DB_USER -p$DB_PW -h 127.0.0.1 -e " - SET default_storage_engine=MYISAM; - DROP DATABASE IF EXISTS openstack_citest; - CREATE DATABASE openstack_citest CHARACTER SET utf8;" - -# Same for PostgreSQL -# The root password for the PostgreSQL database; pass it in via -# POSTGRES_ROOT_PW. -DB_ROOT_PW=${POSTGRES_ROOT_PW:-insecure_slave} - -# Setup user -root_roles=$(sudo -H -u postgres psql -t -c " - SELECT 'HERE' from pg_roles where rolname='$DB_USER'") -if [[ ${root_roles} == *HERE ]];then - sudo -H -u postgres psql -c "ALTER ROLE $DB_USER WITH SUPERUSER LOGIN PASSWORD '$DB_PW'" -else - sudo -H -u postgres psql -c "CREATE ROLE $DB_USER WITH SUPERUSER LOGIN PASSWORD '$DB_PW'" -fi - -# Store password for tests -cat << EOF> $HOME/.pgpass -*:*:*:$DB_USER:$DB_PW -EOF -chmod 0600 $HOME/.pgpass - -# Now create our database -psql -h 127.0.0.1 -U $DB_USER -d template1 -c "DROP DATABASE IF EXISTS openstack_citest" -createdb -h 127.0.0.1 -U $DB_USER -l C -T template0 -E utf8 openstack_citest

AltStyle によって変換されたページ (->オリジナル) /