From b0b961de4ef5e3119176413c28d1686ba6c04481 Mon Sep 17 00:00:00 2001 From: Daniel Mellado Date: Thu, 15 Feb 2018 14:37:22 +0100 Subject: [PATCH] Refactor Kuryr-Kubernetes gates to Zuul-V3 This commit refactors the Kuryr-Kubernetes gates to Zuul-V3 native format. Depends-On: https://review.openstack.org/546120 Partially-Implements: blueprint zuulv3-native-gates Change-Id: I597b1df228493b727eb2470213edb954a63ce0bf --- .zuul.yaml | 432 ++++++++++++------ devstack/devstackgaterc | 41 -- devstack/gate_hook.sh | 6 - .../tempest-kuryr-kubernetes-base/post.yaml | 80 ---- .../tempest-kuryr-kubernetes-base/run.yaml | 136 ------ ...zuul-v3-native-gates-4ed7698667a7b92e.yaml | 7 + 6 files changed, 287 insertions(+), 415 deletions(-) delete mode 100644 devstack/devstackgaterc delete mode 100644 devstack/gate_hook.sh delete mode 100644 playbooks/tempest-kuryr-kubernetes-base/post.yaml delete mode 100644 playbooks/tempest-kuryr-kubernetes-base/run.yaml create mode 100644 releasenotes/notes/zuul-v3-native-gates-4ed7698667a7b92e.yaml diff --git a/.zuul.yaml b/.zuul.yaml index 25ded6ba7..38e78c34c 100644 --- a/.zuul.yaml +++ b/.zuul.yaml @@ -1,161 +1,289 @@ -- job: - name: kuryr-kubernetes-install-base - parent: legacy-dsvm-base - run: playbooks/kuryr-kubernetes-install-base/run.yaml - post-run: playbooks/kuryr-kubernetes-install-base/post.yaml - timeout: 4200 - vars: - variant: default - required-projects: - - openstack-infra/devstack-gate - - openstack/devstack-plugin-container - - openstack/dragonflow - - openstack/kuryr - - openstack/kuryr-kubernetes - irrelevant-files: - - ^.*\.rst$ - - ^doc/.*$ - - ^releasenotes/.*$ - -- job: - name: kuryr-kubernetes-tempest-base - parent: legacy-dsvm-base - run: playbooks/tempest-kuryr-kubernetes-base/run.yaml - post-run: playbooks/tempest-kuryr-kubernetes-base/post.yaml - timeout: 4200 - vars: - loadbalancer: lbaasv2 - kuryr_daemon: False - container_engine: kubernetes - required-projects: - - openstack-infra/devstack-gate - - openstack/devstack-plugin-container - - openstack/kuryr - - openstack/kuryr-kubernetes - - openstack/kuryr-tempest-plugin - - openstack/tempest - irrelevant-files: - - ^.*\.rst$ - - ^doc/.*$ - - ^releasenotes/.*$ - -- job: - name: kuryr-kubernetes-install-default - parent: kuryr-kubernetes-install-base - -- job: - name: kuryr-kubernetes-install-dragonflow - parent: kuryr-kubernetes-install-base - vars: - variant: dragonflow - voting: false - -- job: - name: kuryr-kubernetes-tempest-multinode - parent: legacy-dsvm-base-multinode - run: playbooks/tempest-kuryr-kubernetes-multinode/run.yaml - post-run: playbooks/tempest-kuryr-kubernetes-multinode/post.yaml - timeout: 4200 - required-projects: - - openstack-infra/devstack-gate - - openstack/devstack-plugin-container - - openstack/kuryr - - openstack/kuryr-kubernetes - - openstack/kuryr-tempest-plugin - - openstack/tempest - nodeset: legacy-ubuntu-xenial-2-node - voting: false - irrelevant-files: - - ^.*\.rst$ - - ^doc/.*$ - - ^releasenotes/.*$ - -# Tempest with LBaaSV2 -- job: - name: kuryr-kubernetes-tempest-lbaasv2 - parent: kuryr-kubernetes-tempest-base - -# Tempest with LBaaSV2 and CNI daemon enabled -- job: - name: kuryr-kubernetes-tempest-lbaasv2-daemon - parent: kuryr-kubernetes-tempest-base - vars: - kuryr_daemon: True - -# Tempest with LBaaSV2 and OpenShift -- job: - name: kuryr-kubernetes-tempest-lbaasv2-openshift - parent: kuryr-kubernetes-tempest-lbaasv2 - vars: - container_engine: openshift - voting: false - -# Tempest with LBaaSV2, OpenShift and CNI daemon enabled -- job: - name: kuryr-kubernetes-tempest-lbaasv2-daemon-openshift - parent: kuryr-kubernetes-tempest-lbaasv2-daemon - vars: - container_engine: openshift - voting: false - -# Tempest with Octavia -- job: - name: kuryr-kubernetes-tempest-octavia - parent: kuryr-kubernetes-tempest-base - vars: - loadbalancer: octavia - required-projects: - - openstack-infra/devstack-gate - - openstack/barbican - - openstack/devstack-plugin-container - - openstack/kuryr - - openstack/kuryr-kubernetes - - openstack/kuryr-tempest-plugin - - openstack/octavia - - openstack/python-barbicanclient - - openstack/python-octaviaclient - - openstack/tempest - -# Tempest with Octavia and CNI daemon enabled -- job: - name: kuryr-kubernetes-tempest-octavia-daemon - parent: kuryr-kubernetes-tempest-octavia - vars: - kuryr_daemon: True - voting: false - -# Tempest with Octavia and OpenShift -- job: - name: kuryr-kubernetes-tempest-octavia-openshift - parent: kuryr-kubernetes-tempest-octavia - vars: - container_engine: openshift - voting: false - -# Tempest with Octavia, OpenShift and CNI daemon enabled -- job: - name: kuryr-kubernetes-tempest-octavia-daemon-openshift - parent: kuryr-kubernetes-tempest-octavia-daemon - vars: - container_engine: openshift - voting: false +# Copyright 2018 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. - project: check: jobs: - - kuryr-kubernetes-install-default - - kuryr-kubernetes-install-dragonflow - - kuryr-kubernetes-tempest-lbaasv2 - - kuryr-kubernetes-tempest-lbaasv2-openshift - - kuryr-kubernetes-tempest-lbaasv2-daemon - kuryr-kubernetes-tempest-octavia - - kuryr-kubernetes-tempest-octavia-daemon - - kuryr-kubernetes-tempest-octavia-openshift + - kuryr-kubernetes-tempest-daemon-octavia + - kuryr-kubernetes-tempest-openshift-octavia + - kuryr-kubernetes-tempest-lbaasv2 + - kuryr-kubernetes-tempest-daemon-lbaasv2 + - kuryr-kubernetes-tempest-openshift-lbaasv2 + - kuryr-kubernetes-tempest-dragonflow + - kuryr-kubernetes-tempest-ovn gate: jobs: - - kuryr-kubernetes-install-default + - kuryr-kubernetes-tempest-octavia + - kuryr-kubernetes-tempest-lbaasv2 experimental: jobs: - - kuryr-kubernetes-tempest-multinode - - kuryr-kubernetes-tempest-lbaasv2-daemon-openshift - - kuryr-kubernetes-tempest-octavia-daemon-openshift + - kuryr-kubernetes-tempest-daemon-openshift-octavia + - kuryr-kubernetes-tempest-daemon-openshift-lbaasv2 + - kuryr-kubernetes-tempest-multinode-octavia + - kuryr-kubernetes-tempest-multinode-lbaasv2 + - kuryr-kubernetes-tempest-octavia-centos-7 + - kuryr-kubernetes-tempest-lbaasv2-centos-7 + +- nodeset: + name: openstack-centos-7-single-node + nodes: + - name: controller + label: centos-7 + groups: + - name: tempest + nodes: + - controller + +- job: + name: kuryr-kubernetes-tempest-base + parent: devstack-tempest + description: Base kuryr-kubernetes-job + required-projects: + - openstack-infra/devstack-gate + - openstack/devstack-plugin-container + - openstack/kuryr + - openstack/kuryr-kubernetes + - openstack/kuryr-tempest-plugin + - openstack/neutron-lbaas + - openstack/tempest + vars: + tempest_test_regex: '^(kuryr_tempest_plugin.tests.)' + tox_envlist: 'all' + devstack_localrc: + KURYR_K8S_API_PORT: 8080 + TEMPEST_PLUGINS: '/opt/stack/kuryr-tempest-plugin' + devstack_services: + base: false + tempest: true + neutron: true + q-agt: true + q-dhcp: true + q-l3: true + q-svc: true + q-meta: true + q-lbaasv2: true + key: true + mysql: true + rabbit: true + n-api: true + n-api-meta: true + n-cpu: true + n-cond: true + n-sch: true + placement-api: true + placement-client: true + g-api: true + g-reg: true + etcd3: true + kubernetes-api: true + kubernetes-controller-manager: true + kubernetes-scheduler: true + kubelet: true + kuryr-kubernetes: true + devstack_plugins: + kuryr-kubernetes: https://git.openstack.org/openstack/kuryr + devstack-plugin-container: https://git.openstack.org/openstack/devstack-plugin-container + neutron-lbaas: https://git.openstack.org/openstack/neutron-lbaas + irrelevant-files: + - ^.*\.rst$ + - ^doc/.*$ + - ^releasenotes/.*$ + +- job: + name: kuryr-kubernetes-tempest-octavia + parent: kuryr-kubernetes-tempest-base + description: | + Kuryr-Kubernetes tempest job using octavia + required-projects: + - openstack/barbican + - openstack/octavia + - openstack/python-barbicanclient + - openstack/python-octaviaclient + vars: + devstack_local_conf: + post-config: + $OCTAVIA_CONF: + controller_worker: + amp_active_retries: 9999 + devstack_services: + octavia: true + o-api: true + o-cw: true + o-hk: true + o-hm: true + devstack_plugins: + octavia: https://git.openstack.org/openstack/octavia + barbican: https://git.openstack.org/openstack/barbican + +- job: + name: kuryr-kubernetes-tempest-octavia-centos-7 + parent: kuryr-kubernetes-tempest-octavia + nodeset: openstack-centos-7-single-node + voting: false + +- job: + name: kuryr-kubernetes-tempest-daemon-octavia + parent: kuryr-kubernetes-tempest-octavia + description: | + Kuryr-Kubernetes tempest job using octavia and CNI daemon + vars: + devstack_services: + kuryr_daemon: true + +- job: + name: kuryr-kubernetes-tempest-openshift-octavia + parent: kuryr-kubernetes-tempest-octavia + description: | + Kuryr-Kubernetes tempest job using octavia and OpenShift + vars: + devstack_localrc: + DOCKER_CGROUP_DRIVER: "systemd" + devstack_services: + kubernetes-api: false + kubernetes-controller-manager: false + kubernetes-scheduler: false + kubelet: false + openshift-master: true + openshift-node: true + +- job: + name: kuryr-kubernetes-tempest-daemon-openshift-octavia + parent: kuryr-kubernetes-tempest-openshift-octavia + description: | + Kuryr-Kubernetes tempest job using octavia, CNI daemon and OpenShift + vars: + devstack_services: + kuryr_daemon: true + voting: false + +- job: + name: kuryr-kubernetes-tempest-multinode-octavia + parent: kuryr-kubernetes-tempest-octavia + description: | + Kuryr-Kubernetes tempest multinode job using octavia + nodeset: openstack-two-node + voting: false + +- job: + name: kuryr-kubernetes-tempest-lbaasv2 + parent: kuryr-kubernetes-tempest-base + description: | + Kuryr-Kubernetes tempest job using lbaasv2 + vars: + devstack_localrc: + NEUTRON_LBAAS_SERVICE_PROVIDERV2: 'LOADBALANCERV2:Haproxy:neutron_lbaas.drivers.haproxy.plugin_driver.HaproxyOnHostPluginDriver:default' + +- job: + name: kuryr-kubernetes-tempest-lbaasv2-centos-7 + parent: kuryr-kubernetes-tempest-lbaasv2 + nodeset: openstack-centos-7-single-node + voting: false + +- job: + name: kuryr-kubernetes-tempest-daemon-lbaasv2 + parent: kuryr-kubernetes-tempest-lbaasv2 + description: | + Kuryr-Kubernetes tempest job using lbaasv2 and CNI daemon + vars: + devstack_services: + kuryr_daemon: true + +- job: + name: kuryr-kubernetes-tempest-openshift-lbaasv2 + parent: kuryr-kubernetes-tempest-lbaasv2 + description: | + Kuryr-Kubernetes tempest job using lbaasv2 and OpenShift + vars: + devstack_localrc: + DOCKER_CGROUP_DRIVER: "systemd" + devstack_services: + kubernetes-api: false + kubernetes-controller-manager: false + kubernetes-scheduler: false + kubelet: false + openshift-master: true + openshift-node: true + +- job: + name: kuryr-kubernetes-tempest-daemon-openshift-lbaasv2 + parent: kuryr-kubernetes-tempest-openshift-lbaasv2 + description: | + Kuryr-Kubernetes tempest job using lbaasv2, CNI daemon and OpenShift + vars: + devstack_services: + kuryr_daemon: true + voting: false + +- job: + name: kuryr-kubernetes-tempest-multinode-lbaasv2 + parent: kuryr-kubernetes-tempest-lbaasv2 + description: | + Kuryr-Kubernetes tempest multinode job using lbaasv2 + nodeset: openstack-two-node + voting: false + +- job: + name: kuryr-kubernetes-tempest-ovn + parent: kuryr-kubernetes-tempest-lbaasv2 + description: | + Kuryr-Kubernetes tempest job using OVN + required-projects: + - openstack/networking-ovn + vars: + devstack_localrc: + OVS_HOST_PATH: /usr/local/var/run/openvswitch + devstack_services: + ovn-northd: true + ovn-controller: true + networking-ovn-metadata-agent: true + q-agt: false + q-l3: false + q-dhcp: false + q-meta: false + q-trunk: true + devstack_plugins: + networking-ovn: https://git.openstack.org/openstack/networking-ovn + neutron: https://git.openstack.org/openstack/neutron + voting: false + +- job: + name: kuryr-kubernetes-tempest-dragonflow + parent: kuryr-kubernetes-tempest-lbaasv2 + description: | + Kuryr-Kubernetes tempest job using Dragonflow + required-projects: + - openstack/dragonflow + vars: + devstack_localrc: + Q_ENABLE_DRAGONFLOW_LOCAL_CONTROLLER: true + DF_RUNNING_IN_GATE: true + TUNNEL_TYPE: vxlan + DF_L2_RESPONDER: true + OVS_INSTALL_FROM_GIT: false + OVS_BRANCH: master + devstack_services: + q-agt: false + q-dhcp: false + q-l3: false + q-trunk: true + df-redis: true + df-redis-server: true + df-controller: true + df-ext-services: true + df-zmq-publisher-service: true + df-l3-agent: true + devstack_plugins: + dragonflow: https://github.com/openstack/dragonflow + voting: false diff --git a/devstack/devstackgaterc b/devstack/devstackgaterc deleted file mode 100644 index 48836252d..000000000 --- a/devstack/devstackgaterc +++ /dev/null @@ -1,41 +0,0 @@ -# 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 script is executed in the install-dsvm-kuryr-kuryr-kubernetes -# OpenStack CI job that runs DevStack + kuryr. You can find the CI job -# configuration here: -# -# https://git.openstack.org/cgit/openstack-infra/project-config/tree/jenkins/jobs/kuryr.yaml -# - -VARIANT=${1:-default} -export DEVSTACK_LOCAL_CONFIG="enable_plugin neutron-lbaas git://git.openstack.org/openstack/neutron-lbaas" -export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin devstack-plugin-container https://git.openstack.org/openstack/devstack-plugin-container" -export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin kuryr-kubernetes https://git.openstack.org/openstack/kuryr-kubernetes" -export DEVSTACK_LOCAL_CONFIG+=$'\n'"NEUTRON_LBAAS_SERVICE_PROVIDERV2=LOADBALANCERV2:Haproxy:neutron_lbaas.drivers.haproxy.plugin_driver.HaproxyOnHostPluginDriver:default" -export OVERRIDE_ENABLED_SERVICES=neutron,q-svc,key,mysql,rabbit,docker,etcd3,kubernetes-api,kubernetes-controller-manager,kubernetes-scheduler,kubelet,kuryr-kubernetes,q-lbaasv2 - -if [[ $VARIANT == 'default' ]]; then - export OVERRIDE_ENABLED_SERVICES+=,q-agt,q-dhcp,q-l3 -elif [[ $VARIANT == 'dragonflow' ]]; then - export OVERRIDE_ENABLED_SERVICES+=,df-redis,df-redis-server,df-controller,df-ext-services,df-zmq-publisher-service,df-l3-agent - export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin dragonflow https://github.com/openstack/dragonflow" - export DEVSTACK_LOCAL_CONFIG+=$'\n'"Q_ENABLE_DRAGONFLOW_LOCAL_CONTROLLER=True" - export DEVSTACK_LOCAL_CONFIG+=$'\n'"DF_RUNNING_IN_GATE=True" - export DEVSTACK_LOCAL_CONFIG+=$'\n'"TUNNEL_TYPE=vxlan" - export DEVSTACK_LOCAL_CONFIG+=$'\n'"DF_L2_RESPONDER=\"True\"" - export DEVSTACK_LOCAL_CONFIG+=$'\n'"OVS_INSTALL_FROM_GIT=False" - export DEVSTACK_LOCAL_CONFIG+=$'\n'"OVS_BRANCH=master" -else - die $LINENO "Unsupported variant" -fi diff --git a/devstack/gate_hook.sh b/devstack/gate_hook.sh deleted file mode 100644 index 92b112078..000000000 --- a/devstack/gate_hook.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/bin/env bash - -set -ex - -source $BASE/new/kuryr-kubernetes/devstack/devstackgaterc $1 -$BASE/new/devstack-gate/devstack-vm-gate.sh diff --git a/playbooks/tempest-kuryr-kubernetes-base/post.yaml b/playbooks/tempest-kuryr-kubernetes-base/post.yaml deleted file mode 100644 index dac875340..000000000 --- a/playbooks/tempest-kuryr-kubernetes-base/post.yaml +++ /dev/null @@ -1,80 +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=**/*nose_results.html - - --include=*/ - - --exclude=* - - --prune-empty-dirs - - - 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=**/*testr_results.html.gz - - --include=*/ - - --exclude=* - - --prune-empty-dirs - - - 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=/.testrepository/tmp* - - --include=*/ - - --exclude=* - - --prune-empty-dirs - - - 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=**/*testrepository.subunit.gz - - --include=*/ - - --exclude=* - - --prune-empty-dirs - - - name: Copy files from {{ ansible_user_dir }}/workspace/ on node - synchronize: - src: '{{ ansible_user_dir }}/workspace/' - dest: '{{ zuul.executor.log_root }}/tox' - mode: pull - copy_links: true - verify_host: true - rsync_opts: - - --include=/.tox/*/log/* - - --include=*/ - - --exclude=* - - --prune-empty-dirs - - - 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/tempest-kuryr-kubernetes-base/run.yaml b/playbooks/tempest-kuryr-kubernetes-base/run.yaml deleted file mode 100644 index 484a17a88..000000000 --- a/playbooks/tempest-kuryr-kubernetes-base/run.yaml +++ /dev/null @@ -1,136 +0,0 @@ -- hosts: all - name: tempest-kuryr-kubernetes-base - 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-infra/devstack-gate - dest: devstack-gate - EOF - /usr/zuul-env/bin/zuul-cloner -m clonemap.yaml --cache-dir /opt/git \ - git://git.openstack.org \ - openstack-infra/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 kuryr-kubernetes \ - https://git.openstack.org/openstack/kuryr-kubernetes - ENABLED_SERVICES="" - # Neutron services - enable_service neutron - enable_service q-agt - enable_service q-dhcp - enable_service q-l3 - enable_service q-svc - enable_service q-meta - # Keystone - enable_service key - # dependencies - enable_service mysql - enable_service rabbit - # Nova - enable_service n-api - enable_service n-api-meta - enable_service n-cpu - enable_service n-cond - enable_service n-sch - enable_service placement-api - enable_service placement-client - # Glance - enable_service g-api - enable_service g-reg - # Docker - enable_plugin devstack-plugin-container \ - git://git.openstack.org/openstack/devstack-plugin-container - # Etcd - enable_service etcd3 - # Kubernetes - KURYR_K8S_API_PORT="8080" - if [ "{{ container_engine }}" == "kubernetes" ]; then - enable_service kubernetes-api - enable_service kubernetes-controller-manager - enable_service kubernetes-scheduler - # Kubelet - enable_service kubelet - elif [ "{{ container_engine }}" == "openshift" ]; then - enable_service openshift-master - enable_service openshift-node - DOCKER_CGROUP_DRIVER="systemd" - fi - # Kuryr watcher - enable_service kuryr-kubernetes - # LBaaS service - ENABLED_SERVICES+=,q-lbaasv2 - - enable_plugin neutron-lbaas git://git.openstack.org/openstack/neutron-lbaas - if [ "{{ loadbalancer }}" == "lbaasv2" ]; then - # Haproxy agent - NEUTRON_LBAAS_SERVICE_PROVIDERV2=LOADBALANCERV2:Haproxy:neutron_lbaas.drivers.haproxy.plugin_driver.HaproxyOnHostPluginDriver:default - elif [ "{{ loadbalancer }}" == "octavia" ]; then - # Octavia - enable_plugin octavia https://git.openstack.org/openstack/octavia - enable_plugin barbican https://git.openstack.org/openstack/barbican - ENABLED_SERVICES+=,octavia,o-api,o-cw,o-hk,o-hm - fi - - if [ "{{ kuryr_daemon }}" == "True" ]; then - # Enable kuryr-daemon - enable_service kuryr-daemon - fi - - # Enable Tempest - enable_service tempest - # Enable Tempest plugin - TEMPEST_PLUGINS='/opt/stack/new/kuryr-tempest-plugin' - - 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_TEMPEST=1 - export DEVSTACK_GATE_NEUTRON=1 - export DEVSTACK_GATE_TEMPEST_REGEX="kuryr_tempest_plugin.tests" - export BRANCH_OVERRIDE=default - - if [ "$BRANCH_OVERRIDE" != "default" ] ; then - export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE - fi - - export PROJECTS="openstack/kuryr-kubernetes $PROJECTS" - export PROJECTS="openstack/kuryr-tempest-plugin $PROJECTS" - export PROJECTS="openstack/devstack-plugin-container $PROJECTS" - - if [ "{{ loadbalancer }}" == "octavia" ]; then - export PROJECTS="openstack/barbican $PROJECTS" - export PROJECTS="openstack/python-barbicanclient $PROJECTS" - export PROJECTS="openstack/octavia $PROJECTS" - export PROJECTS="openstack/python-octaviaclient $PROJECTS" - fi - - 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/releasenotes/notes/zuul-v3-native-gates-4ed7698667a7b92e.yaml b/releasenotes/notes/zuul-v3-native-gates-4ed7698667a7b92e.yaml new file mode 100644 index 000000000..75db92570 --- /dev/null +++ b/releasenotes/notes/zuul-v3-native-gates-4ed7698667a7b92e.yaml @@ -0,0 +1,7 @@ +--- +features: + - | + Migrated all upstream gates to Zuul V3 [1] native format. This commit also + introduces several new (for now) experimental gates such as multinode and + centos-7 based. These will be moved to check and voting once they have been + behaving at a stable pace for some time.