Prepare for new multi-node jobs

This patch makes the following changes in preparation for the new
multi-node gates:
1. Resolves some issues in the devstack plugin in multi-node mode.
2. Removes the legacy non-voting multi-node gates and playbooks.
3. Removes the lxd legacy playbook as the jobs were removed in a previous
   patch.

Change-Id: I3fb303a67cc66ec44a4ef4d09a16ed6470cbbaff
changes/77/621677/7
Michael Johnson 4 years ago
parent 816abab6a4
commit 256a3f9ce8
  1. 14
      devstack/plugin.sh
  2. 19
      playbooks/legacy/octavia-v1-dsvm-py3x-scenario-multinode/post.yaml
  3. 69
      playbooks/legacy/octavia-v1-dsvm-py3x-scenario-multinode/run.yaml
  4. 19
      playbooks/legacy/octavia-v1-dsvm-scenario-lxd/post.yaml
  5. 81
      playbooks/legacy/octavia-v1-dsvm-scenario-lxd/run.yaml
  6. 19
      playbooks/legacy/octavia-v1-dsvm-scenario-multinode/post.yaml
  7. 67
      playbooks/legacy/octavia-v1-dsvm-scenario-multinode/run.yaml
  8. 36
      zuul.d/jobs.yaml
  9. 4
      zuul.d/projects.yaml

@ -183,7 +183,13 @@ function create_octavia_accounts {
local octavia_service=$(get_or_create_service "octavia" \
$OCTAVIA_SERVICE_TYPE "Octavia Load Balancing Service")
if [[ "$WSGI_MODE" == "uwsgi" ]]; then
if [[ "$WSGI_MODE" == "uwsgi" ]] && [[ "$OCTAVIA_NODE" == "main" ]] ; then
get_or_create_endpoint $octavia_service \
"$REGION_NAME" \
"$OCTAVIA_PROTOCOL://$SERVICE_HOST:$OCTAVIA_PORT/$OCTAVIA_SERVICE_TYPE" \
"$OCTAVIA_PROTOCOL://$SERVICE_HOST:$OCTAVIA_PORT/$OCTAVIA_SERVICE_TYPE" \
"$OCTAVIA_PROTOCOL://$SERVICE_HOST:$OCTAVIA_PORT/$OCTAVIA_SERVICE_TYPE"
elif [[ "$WSGI_MODE" == "uwsgi" ]]; then
get_or_create_endpoint $octavia_service \
"$REGION_NAME" \
"$OCTAVIA_PROTOCOL://$SERVICE_HOST/$OCTAVIA_SERVICE_TYPE" \
@ -444,7 +450,7 @@ function configure_octavia_api_haproxy {
DATA=(${NODE//:/ })
NAME=$(echo -e "${DATA[0]}" | tr -d '[[:space:]]')
IP=$(echo -e "${DATA[1]}" | tr -d '[[:space:]]')
echo " server octavia-${NAME} ${IP}:${OCTAVIA_HA_PORT} weight 1" >> ${OCTAVIA_CONF_DIR}/haproxy.cfg
echo " server octavia-${NAME} ${IP}:80 weight 1" >> ${OCTAVIA_CONF_DIR}/haproxy.cfg
done
}
@ -539,8 +545,10 @@ function octavia_init {
if [ $OCTAVIA_NODE != 'main' ] && [ $OCTAVIA_NODE != 'standalone' ] && [ $OCTAVIA_NODE != 'api' ]; then
# without the other services enabled apparently we don't have
# credentials at this point
TOP_DIR=$(cd $(dirname "$0") && pwd)
# TOP_DIR=$(cd $(dirname "$0") && pwd)
source ${TOP_DIR}/openrc admin admin
OCTAVIA_AMP_NETWORK_ID=$(openstack network show lb-mgmt-net -f value -c id)
iniset $OCTAVIA_CONF controller_worker amp_boot_network_list ${OCTAVIA_AMP_NETWORK_ID}
fi
if [ $OCTAVIA_NODE == 'main' ] || [ $OCTAVIA_NODE == 'standalone' ] ; then

@ -1,19 +0,0 @@
- hosts: primary
roles:
- role: stage-output
stage_dir: "{{ ansible_user_dir }}/workspace"
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

@ -1,69 +0,0 @@
- hosts: primary
name: Autoconverted job legacy-octavia-v1-dsvm-py3x-scenario-multinode from old
job gate-octavia-v1-dsvm-py3x-scenario-multinode
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
export DEVSTACK_GATE_USE_PYTHON3=True
export PYTHONUNBUFFERED=true
export DEVSTACK_GATE_TEMPEST=1
export DEVSTACK_GATE_TEMPEST_NOTESTS=1
export DEVSTACK_GATE_EXERCISES=0
export DEVSTACK_GATE_NEUTRON=1
export DEVSTACK_GATE_INSTALL_TESTONLY=1
export DEVSTACK_GATE_TOPOLOGY="multinode"
export BRANCH_OVERRIDE=default
if [ "$BRANCH_OVERRIDE" != "default" ] ; then
export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
fi
export PROJECTS="openstack/barbican $PROJECTS"
export PROJECTS="openstack/python-barbicanclient $PROJECTS"
export PROJECTS="openstack/diskimage-builder $PROJECTS"
export PROJECTS="openstack/tripleo-image-elements $PROJECTS"
export PROJECTS="openstack/neutron-lbaas $PROJECTS"
export PROJECTS="openstack/octavia $PROJECTS"
if ! [[ "$ZUUL_BRANCH" =~ "stable/newton"|"stable/ocata" ]]; then
export DEVSTACK_PROJECT_FROM_GIT="python-octaviaclient"
export OVERRIDE_PYTHON_OCTAVIACLIENT_PROJECT_BRANCH=$ZUUL_BRANCH
fi
function gate_hook {
$BASE/new/octavia/octavia/tests/contrib/gate_hook.sh tempest v1 scenario
}
export -f gate_hook
function post_test_hook {
$BASE/new/octavia/octavia/tests/contrib/post_test_hook.sh tempest v1 scenario
}
export -f post_test_hook
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 }}'

@ -1,19 +0,0 @@
- hosts: primary
roles:
- role: stage-output
stage_dir: "{{ ansible_user_dir }}/workspace"
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

@ -1,81 +0,0 @@
- hosts: all
name: Autoconverted job legacy-octavia-v1-dsvm-scenario-lxd from old job gate-octavia-v1-dsvm-scenario-lxd-ubuntu-xenial-nv
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 nova-lxd https://git.openstack.org/openstack/nova-lxd
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_TEMPEST_NOTESTS=1
export DEVSTACK_GATE_EXERCISES=0
export DEVSTACK_GATE_NEUTRON=1
export DEVSTACK_GATE_INSTALL_TESTONLY=1
export BRANCH_OVERRIDE=default
if [ "$BRANCH_OVERRIDE" != "default" ] ; then
export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
fi
export PROJECTS="openstack/barbican $PROJECTS"
export PROJECTS="openstack/barbican-tempest-plugin $PROJECTS"
export PROJECTS="openstack/python-barbicanclient $PROJECTS"
export PROJECTS="openstack/diskimage-builder $PROJECTS"
export PROJECTS="openstack/tripleo-image-elements $PROJECTS"
export PROJECTS="openstack/neutron-lbaas $PROJECTS"
export PROJECTS="openstack/nova-lxd $PROJECTS"
export PROJECTS="openstack/octavia $PROJECTS"
if ! [[ "$ZUUL_BRANCH" =~ "stable/newton"|"stable/ocata" ]]; then
export DEVSTACK_PROJECT_FROM_GIT="python-octaviaclient"
export OVERRIDE_PYTHON_OCTAVIACLIENT_PROJECT_BRANCH=$ZUUL_BRANCH
fi
function gate_hook {
$BASE/new/octavia/octavia/tests/contrib/gate_hook.sh tempest v1 scenario
}
export -f gate_hook
function post_test_hook {
$BASE/new/octavia/octavia/tests/contrib/post_test_hook.sh tempest v1 scenario
}
export -f post_test_hook
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 }}'

@ -1,19 +0,0 @@
- hosts: primary
roles:
- role: stage-output
stage_dir: "{{ ansible_user_dir }}/workspace"
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

@ -1,67 +0,0 @@
- hosts: primary
name: Autoconverted job legacy-octavia-v1-dsvm-scenario-multinode from old job gate-octavia-v1-dsvm-scenario-multinode
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
export PYTHONUNBUFFERED=true
export DEVSTACK_GATE_TEMPEST=1
export DEVSTACK_GATE_TEMPEST_NOTESTS=1
export DEVSTACK_GATE_EXERCISES=0
export DEVSTACK_GATE_NEUTRON=1
export DEVSTACK_GATE_INSTALL_TESTONLY=1
export DEVSTACK_GATE_TOPOLOGY="multinode"
export BRANCH_OVERRIDE=default
if [ "$BRANCH_OVERRIDE" != "default" ] ; then
export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
fi
export PROJECTS="openstack/barbican $PROJECTS"
export PROJECTS="openstack/python-barbicanclient $PROJECTS"
export PROJECTS="openstack/diskimage-builder $PROJECTS"
export PROJECTS="openstack/tripleo-image-elements $PROJECTS"
export PROJECTS="openstack/neutron-lbaas $PROJECTS"
export PROJECTS="openstack/octavia $PROJECTS"
if ! [[ "$ZUUL_BRANCH" =~ "stable/newton"|"stable/ocata" ]]; then
export DEVSTACK_PROJECT_FROM_GIT="python-octaviaclient"
export OVERRIDE_PYTHON_OCTAVIACLIENT_PROJECT_BRANCH=$ZUUL_BRANCH
fi
function gate_hook {
$BASE/new/octavia/octavia/tests/contrib/gate_hook.sh tempest v1 scenario
}
export -f gate_hook
function post_test_hook {
$BASE/new/octavia/octavia/tests/contrib/post_test_hook.sh tempest v1 scenario
}
export -f post_test_hook
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 }}'

@ -21,30 +21,6 @@
zuul_copy_output:
'/var/log/dib-build': 'logs'
- job:
name: octavia-legacy-dsvm-base-multinode
parent: legacy-dsvm-base-multinode
timeout: 7800
required-projects:
- openstack-infra/devstack-gate
- openstack/barbican
- openstack/diskimage-builder
- openstack/neutron-lbaas
- openstack/octavia
- openstack/python-barbicanclient
- openstack/python-octaviaclient
- openstack/tripleo-image-elements
irrelevant-files:
- ^.*\.rst$
- ^api-ref/.*$
- ^doc/.*$
- ^etc/.*$
- ^releasenotes/.*$
nodeset: legacy-ubuntu-xenial-2-node
vars:
zuul_copy_output:
'/var/log/dib-build/': 'logs'
- job:
name: octavia-v1-dsvm-scenario
parent: octavia-legacy-dsvm-base
@ -57,18 +33,6 @@
run: playbooks/legacy/octavia-v1-dsvm-py3x-scenario/run.yaml
post-run: playbooks/legacy/octavia-v1-dsvm-py3x-scenario/post.yaml
- job:
name: octavia-v1-dsvm-scenario-multinode
parent: octavia-legacy-dsvm-base-multinode
run: playbooks/legacy/octavia-v1-dsvm-scenario-multinode/run.yaml
post-run: playbooks/legacy/octavia-v1-dsvm-scenario-multinode/post.yaml
- job:
name: octavia-v1-dsvm-py3x-scenario-multinode
parent: octavia-legacy-dsvm-base-multinode
run: playbooks/legacy/octavia-v1-dsvm-py3x-scenario-multinode/run.yaml
post-run: playbooks/legacy/octavia-v1-dsvm-py3x-scenario-multinode/post.yaml
- job:
name: publish-openstack-octavia-amphora-image
parent: publish-openstack-artifacts

@ -35,10 +35,6 @@
- ^releasenotes/.*$
- octavia-v1-dsvm-scenario
- octavia-v1-dsvm-py3x-scenario
- octavia-v1-dsvm-scenario-multinode:
voting: false
- octavia-v1-dsvm-py3x-scenario-multinode:
voting: false
- octavia-v2-dsvm-noop-api
- octavia-v2-dsvm-noop-py35-api
- octavia-v2-dsvm-scenario

Loading…
Cancel
Save