From 5a3ae85cc1dc92203a4d29ac242b38f58d7dd24a Mon Sep 17 00:00:00 2001 From: Luigi Toscano Date: Mon, 3 Sep 2018 19:46:18 +0200 Subject: [PATCH] Import the legacy grenade sahara job While it would have been better to directly use a native Zuul v3 job, the work towards a common grenade job seems to be stalled. Import the job locally and fix some issues: - make sure that the heat_tempest_plugin is loaded correctly, so that the heat upgrade tests work; - bump the starting point from stable/ocata (!) to stable/queens; it will be changed to stable/rocky when grenade supports it; will require additional fixes due to the standalone->uwsgi change. - import lib/apache so that wsgi deployment works. Story: 2001686 Task: 24517 Change-Id: Ia8de2b8286287355e8e9d3f702027aa282ed8282 --- .zuul.yaml | 31 +++++++++++--- devstack/upgrade/settings | 14 ++++--- devstack/upgrade/upgrade.sh | 1 + playbooks/sahara-grenade/post.yaml | 15 +++++++ playbooks/sahara-grenade/run.yaml | 65 ++++++++++++++++++++++++++++++ 5 files changed, 115 insertions(+), 11 deletions(-) create mode 100644 playbooks/sahara-grenade/post.yaml create mode 100644 playbooks/sahara-grenade/run.yaml diff --git a/.zuul.yaml b/.zuul.yaml index 4252e071b1..de8459f069 100644 --- a/.zuul.yaml +++ b/.zuul.yaml @@ -16,11 +16,7 @@ - openstack-tox-lower-constraints - openstack-tox-cover: voting: false - - legacy-grenade-dsvm-sahara: - voting: false - irrelevant-files: - - ^(test-|)requirements.txt$ - - ^setup.cfg$ + - sahara-grenade gate: queue: sahara jobs: @@ -38,6 +34,31 @@ jobs: - openstack-tox-cover +- job: + name: sahara-grenade + parent: legacy-dsvm-base + run: playbooks/sahara-grenade/run.yaml + post-run: playbooks/sahara-grenade/post.yaml + timeout: 10800 + required-projects: + - openstack-dev/grenade + - openstack-infra/devstack-gate + - openstack/sahara + - openstack/python-saharaclient + - openstack/heat + - openstack/heat-tempest-plugin + - openstack/python-heatclient + - openstack/sahara-tests + irrelevant-files: + - ^(test-|)requirements.txt$ + - ^.*\.rst$ + - ^doc/.*$ + - ^sahara/locale/.*$ + - ^sahara/tests/unit/.*$ + - ^releasenotes/.*$ + - ^tools/.*$ + - ^tox.ini$ + - job: name: sahara-buildimages-base nodeset: centos-7 diff --git a/devstack/upgrade/settings b/devstack/upgrade/settings index c1cf3baee5..ce32c5fd4f 100644 --- a/devstack/upgrade/settings +++ b/devstack/upgrade/settings @@ -3,22 +3,24 @@ register_project_for_upgrade sahara register_db_to_save sahara devstack_localrc base IMAGE_URLS=\ -"http://download.cirros-cloud.net/0.3.2/cirros-0.3.2-x86_64-uec.tar.gz,\ +"http://download.cirros-cloud.net/0.3.5/cirros-0.3.5-x86_64-uec.tar.gz,\ http://tarballs.openstack.org/heat-test-image/fedora-heat-test-image.qcow2" devstack_localrc base enable_plugin sahara \ git://git.openstack.org/openstack/sahara \ - stable/ocata + stable/queens devstack_localrc base enable_plugin heat \ git://git.openstack.org/openstack/heat \ - stable/ocata -devstack_localrc base DEFAULT_IMAGE_NAME="cirros-0.3.2-x86_64-uec" + stable/queens +devstack_localrc base DEFAULT_IMAGE_NAME="cirros-0.3.5-x86_64-uec" +devstack_localrc base DEFAULT_IMAGE_NAME="cirros-0.3.5-x86_64-uec" devstack_localrc target IMAGE_URLS=\ -"http://download.cirros-cloud.net/0.3.2/cirros-0.3.2-x86_64-uec.tar.gz,\ +"http://download.cirros-cloud.net/0.3.5/cirros-0.3.5-x86_64-uec.tar.gz,\ http://tarballs.openstack.org/heat-test-image/fedora-heat-test-image.qcow2" devstack_localrc target enable_plugin sahara \ git://git.openstack.org/openstack/sahara devstack_localrc target enable_plugin heat \ git://git.openstack.org/openstack/heat devstack_localrc target LIBS_FROM_GIT=python-saharaclient -devstack_localrc target DEFAULT_IMAGE_NAME="cirros-0.3.2-x86_64-uec" +devstack_localrc target DEFAULT_IMAGE_NAME="cirros-0.3.5-x86_64-uec" +devstack_localrc target SAHARA_USE_MOD_WSGI="False" diff --git a/devstack/upgrade/upgrade.sh b/devstack/upgrade/upgrade.sh index c381928071..5b10d7db35 100755 --- a/devstack/upgrade/upgrade.sh +++ b/devstack/upgrade/upgrade.sh @@ -38,6 +38,7 @@ set -o errexit # Get functions from current DevStack . $TARGET_DEVSTACK_DIR/stackrc +. $TARGET_DEVSTACK_DIR/lib/apache . $TARGET_DEVSTACK_DIR/lib/tls . $(dirname $(dirname $BASH_SOURCE))/plugin.sh . $(dirname $(dirname $BASH_SOURCE))/settings diff --git a/playbooks/sahara-grenade/post.yaml b/playbooks/sahara-grenade/post.yaml new file mode 100644 index 0000000000..e07f5510ae --- /dev/null +++ b/playbooks/sahara-grenade/post.yaml @@ -0,0 +1,15 @@ +- 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/sahara-grenade/run.yaml b/playbooks/sahara-grenade/run.yaml new file mode 100644 index 0000000000..8f4ec04f09 --- /dev/null +++ b/playbooks/sahara-grenade/run.yaml @@ -0,0 +1,65 @@ +- hosts: all + name: Autoconverted job legacy-grenade-dsvm-sahara from old job gate-grenade-dsvm-sahara-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]] + TEMPEST_PLUGINS+=' ../heat-tempest-plugin ../sahara-tests' + EOF + executable: /bin/bash + chdir: '{{ ansible_user_dir }}/workspace' + environment: '{{ zuul | zuul_legacy_vars }}' + + - shell: + cmd: | + set -e + set -x + export PROJECTS="openstack-dev/grenade $PROJECTS" + export PROJECTS="openstack/sahara $PROJECTS" + export PROJECTS="openstack/python-saharaclient $PROJECTS" + export PROJECTS="openstack/heat-tempest-plugin $PROJECTS" + export PROJECTS="openstack/python-heatclient $PROJECTS" + export PROJECTS="openstack/sahara-tests $PROJECTS" + export PYTHONUNBUFFERED=true + export GRENADE_PLUGINRC="enable_grenade_plugin sahara https://git.openstack.org/openstack/sahara" + export GRENADE_PLUGINRC+=$'\n'"enable_grenade_plugin heat https://git.openstack.org/openstack/heat" + + export DEVSTACK_GATE_NEUTRON=1 + export DEVSTACK_GATE_TEMPEST=1 + export DEVSTACK_GATE_TEMPEST_REGEX="sahara_tempest_plugin.tests.api" + export DEVSTACK_GATE_GRENADE=pullup + export BRANCH_OVERRIDE=default + if [ "$BRANCH_OVERRIDE" != "default" ] ; then + export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE + 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 }}'