From 3bd21837001c77873b7cf4827de6d898fed567e1 Mon Sep 17 00:00:00 2001 From: David Shrewsbury Date: Tue, 17 Oct 2017 09:10:26 -0400 Subject: [PATCH] Migrate legacy jobs Also adds jobs from the openstack-python-jobs-no-constraints template that was removed from the project definition found in project-config (see Depends-On change). Depends-On: I65b2583a50effc7d743f2bb9231b35ec7659e4fa Needed-By: If8636dc36dbab145ef976ce3dd38dd3b593ef1b1 Change-Id: I22007434b38129379690f4e469a1981ed7dcb68c --- .zuul.yaml | 67 ++++++++++ .../nodepool-functional-py35-src/post.yaml | 15 +++ .../nodepool-functional-py35-src/run.yaml | 121 ++++++++++++++++++ playbooks/nodepool-functional-py35/post.yaml | 15 +++ playbooks/nodepool-functional-py35/run.yaml | 85 ++++++++++++ playbooks/nodepool-functional-src/post.yaml | 15 +++ playbooks/nodepool-functional-src/run.yaml | 121 ++++++++++++++++++ playbooks/nodepool-functional/post.yaml | 15 +++ playbooks/nodepool-functional/run.yaml | 85 ++++++++++++ 9 files changed, 539 insertions(+) create mode 100644 .zuul.yaml create mode 100644 playbooks/nodepool-functional-py35-src/post.yaml create mode 100644 playbooks/nodepool-functional-py35-src/run.yaml create mode 100644 playbooks/nodepool-functional-py35/post.yaml create mode 100644 playbooks/nodepool-functional-py35/run.yaml create mode 100644 playbooks/nodepool-functional-src/post.yaml create mode 100644 playbooks/nodepool-functional-src/run.yaml create mode 100644 playbooks/nodepool-functional/post.yaml create mode 100644 playbooks/nodepool-functional/run.yaml diff --git a/.zuul.yaml b/.zuul.yaml new file mode 100644 index 000000000..2a42e60f0 --- /dev/null +++ b/.zuul.yaml @@ -0,0 +1,67 @@ +- job: + name: nodepool-functional + parent: legacy-dsvm-base + run: playbooks/nodepool-functional/run + post-run: playbooks/nodepool-functional/post + timeout: 5400 + required-projects: + - openstack-infra/devstack-gate + - openstack-infra/nodepool + +- job: + name: nodepool-functional-src + parent: legacy-dsvm-base + run: playbooks/nodepool-functional-src/run + post-run: playbooks/nodepool-functional-src/post + timeout: 5400 + required-projects: + - openstack-infra/devstack-gate + - openstack-infra/glean + - openstack-infra/nodepool + - openstack-infra/shade + - openstack/diskimage-builder + +- job: + name: nodepool-functional-py35 + parent: legacy-dsvm-base + run: playbooks/nodepool-functional-py35/run + post-run: playbooks/nodepool-functional-py35/post + timeout: 5400 + required-projects: + - openstack-infra/devstack-gate + - openstack-infra/nodepool + +- job: + name: nodepool-functional-py35-src + parent: legacy-dsvm-base + run: playbooks/nodepool-functional-py35-src/run + post-run: playbooks/nodepool-functional-py35-src/post + timeout: 5400 + required-projects: + - openstack-infra/devstack-gate + - openstack-infra/glean + - openstack-infra/nodepool + - openstack-infra/shade + - openstack/diskimage-builder + +- project: + name: openstack-infra/nodepool + check: + jobs: + - tox-pep8 + - tox-py27 + - nodepool-functional: + voting: false + - nodepool-functional-src: + voting: false + - nodepool-functional-py35: + voting: false + - nodepool-functional-py35-src: + voting: false + gate: + jobs: + - tox-pep8 + - tox-py27 + post: + jobs: + - publish-openstack-python-branch-tarball diff --git a/playbooks/nodepool-functional-py35-src/post.yaml b/playbooks/nodepool-functional-py35-src/post.yaml new file mode 100644 index 000000000..e07f5510a --- /dev/null +++ b/playbooks/nodepool-functional-py35-src/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/nodepool-functional-py35-src/run.yaml b/playbooks/nodepool-functional-py35-src/run.yaml new file mode 100644 index 000000000..812532ee1 --- /dev/null +++ b/playbooks/nodepool-functional-py35-src/run.yaml @@ -0,0 +1,121 @@ +- hosts: all + name: Autoconverted job legacy-dsvm-nodepool-py35-src from old job gate-dsvm-nodepool-py35-src-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 + export PYTHONUNBUFFERED=true + # Disable tempest as nodepool is talking to the cloud not tempest. + export DEVSTACK_GATE_TEMPEST=0 + # Use neutron as the public clouds in use are neutron based. + export DEVSTACK_GATE_NEUTRON=1 + # The nodepool process needs sudo rights in order to + # perform dib image builds + export DEVSTACK_GATE_REMOVE_STACK_SUDO=0 + # Disable services we do not need for nodepool + export DEVSTACK_LOCAL_CONFIG="disable_service horizon" + export DEVSTACK_LOCAL_CONFIG+=$'\n'"disable_service ceilometer-acentral" + export DEVSTACK_LOCAL_CONFIG+=$'\n'"disable_service ceilometer-acompute" + export DEVSTACK_LOCAL_CONFIG+=$'\n'"disable_service ceilometer-alarm-evaluator" + export DEVSTACK_LOCAL_CONFIG+=$'\n'"disable_service ceilometer-alarm-notifier" + export DEVSTACK_LOCAL_CONFIG+=$'\n'"disable_service ceilometer-anotification" + export DEVSTACK_LOCAL_CONFIG+=$'\n'"disable_service ceilometer-api" + export DEVSTACK_LOCAL_CONFIG+=$'\n'"disable_service ceilometer-collector" + export DEVSTACK_LOCAL_CONFIG+=$'\n'"disable_service cinder" + export DEVSTACK_LOCAL_CONFIG+=$'\n'"disable_service c-bak" + export DEVSTACK_LOCAL_CONFIG+=$'\n'"disable_service c-sch" + export DEVSTACK_LOCAL_CONFIG+=$'\n'"disable_service c-api" + export DEVSTACK_LOCAL_CONFIG+=$'\n'"disable_service c-vol" + + if [ "-py35" == "-py35" ]; then + export DEVSTACK_GATE_USE_PYTHON3=True + + # swift is not ready for python3 yet + export DEVSTACK_LOCAL_CONFIG+=$'\n'"disable_service s-account" + export DEVSTACK_LOCAL_CONFIG+=$'\n'"disable_service s-container" + export DEVSTACK_LOCAL_CONFIG+=$'\n'"disable_service s-object" + export DEVSTACK_LOCAL_CONFIG+=$'\n'"disable_service s-proxy" + fi + + 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 the + # our project repository. This makes zuul do the right + # reference magic for testing changes. + export PROJECTS="openstack-infra/nodepool $PROJECTS" + # note the actual url here is somewhat irrelevant because it + # caches in nodepool, however make it a valid url for + # documentation purposes. + export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin nodepool git://git.openstack.org/openstack-infra/nodepool" + export DEVSTACK_PROJECT_FROM_GIT="diskimage-builder" + export DEVSTACK_PROJECT_FROM_GIT+=",glean" + export DEVSTACK_PROJECT_FROM_GIT+=",shade" + + # Start with all images disabled. + export NODEPOOL_PAUSE_CENTOS_7_DIB=true + export NODEPOOL_PAUSE_DEBIAN_JESSIE_DIB=true + export NODEPOOL_PAUSE_FEDORA_26_DIB=true + export NODEPOOL_PAUSE_OPENSUSE_423_DIB=true + export NODEPOOL_PAUSE_UBUNTU_TRUSTY_DIB=true + export NODEPOOL_PAUSE_UBUNTU_XENIAL_DIB=true + + if [ "" == "" ] ; then + # dsvm-nodepool-src + export NODEPOOL_PAUSE_UBUNTU_TRUSTY_DIB=false + elif [ "" == "-debian" ] ; then + # dsvm-nodepool-debian-src + export NODEPOOL_PAUSE_DEBIAN_JESSIE_DIB=false + elif [ "" == "-opensuse" ] ; then + # dsvm-nodepool-opensuse-src + export NODEPOOL_PAUSE_OPENSUSE_423_DIB=false + elif [ "" == "-redhat" ] ; then + # dsvm-nodepool-redhat-src + export NODEPOOL_PAUSE_CENTOS_7_DIB=false + export NODEPOOL_PAUSE_FEDORA_26_DIB=false + elif [ "" == "-ubuntu" ] ; then + # dsvm-nodepool-ubuntu-src + export NODEPOOL_PAUSE_UBUNTU_TRUSTY_DIB=false + export NODEPOOL_PAUSE_UBUNTU_XENIAL_DIB=false + fi + export DEVSTACK_LOCAL_CONFIG+=$'\n'"NODEPOOL_PAUSE_CENTOS_7_DIB=$NODEPOOL_PAUSE_CENTOS_7_DIB" + export DEVSTACK_LOCAL_CONFIG+=$'\n'"NODEPOOL_PAUSE_DEBIAN_JESSIE_DIB=$NODEPOOL_PAUSE_DEBIAN_JESSIE_DIB" + export DEVSTACK_LOCAL_CONFIG+=$'\n'"NODEPOOL_PAUSE_FEDORA_26_DIB=$NODEPOOL_PAUSE_FEDORA_26_DIB" + export DEVSTACK_LOCAL_CONFIG+=$'\n'"NODEPOOL_PAUSE_OPENSUSE_423_DIB=$NODEPOOL_PAUSE_OPENSUSE_423_DIB" + export DEVSTACK_LOCAL_CONFIG+=$'\n'"NODEPOOL_PAUSE_UBUNTU_TRUSTY_DIB=$NODEPOOL_PAUSE_UBUNTU_TRUSTY_DIB" + export DEVSTACK_LOCAL_CONFIG+=$'\n'"NODEPOOL_PAUSE_UBUNTU_XENIAL_DIB=$NODEPOOL_PAUSE_UBUNTU_XENIAL_DIB" + + function post_test_hook { + /opt/stack/new/nodepool/tools/check_devstack_plugin.sh + } + 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 }}' diff --git a/playbooks/nodepool-functional-py35/post.yaml b/playbooks/nodepool-functional-py35/post.yaml new file mode 100644 index 000000000..e07f5510a --- /dev/null +++ b/playbooks/nodepool-functional-py35/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/nodepool-functional-py35/run.yaml b/playbooks/nodepool-functional-py35/run.yaml new file mode 100644 index 000000000..d62470167 --- /dev/null +++ b/playbooks/nodepool-functional-py35/run.yaml @@ -0,0 +1,85 @@ +- hosts: all + name: Autoconverted job legacy-dsvm-nodepool-py35 from old job gate-dsvm-nodepool-py35-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 + export PYTHONUNBUFFERED=true + # Disable tempest as nodepool is talking to the cloud not tempest. + export DEVSTACK_GATE_TEMPEST=0 + # Use neutron as the public clouds in use are neutron based. + export DEVSTACK_GATE_NEUTRON=1 + # The nodepool process needs sudo rights in order to + # perform dib image builds + export DEVSTACK_GATE_REMOVE_STACK_SUDO=0 + # Disable services we do not need for nodepool + export DEVSTACK_LOCAL_CONFIG="disable_service horizon" + export DEVSTACK_LOCAL_CONFIG+=$'\n'"disable_service ceilometer-acentral" + export DEVSTACK_LOCAL_CONFIG+=$'\n'"disable_service ceilometer-acompute" + export DEVSTACK_LOCAL_CONFIG+=$'\n'"disable_service ceilometer-alarm-evaluator" + export DEVSTACK_LOCAL_CONFIG+=$'\n'"disable_service ceilometer-alarm-notifier" + export DEVSTACK_LOCAL_CONFIG+=$'\n'"disable_service ceilometer-anotification" + export DEVSTACK_LOCAL_CONFIG+=$'\n'"disable_service ceilometer-api" + export DEVSTACK_LOCAL_CONFIG+=$'\n'"disable_service ceilometer-collector" + export DEVSTACK_LOCAL_CONFIG+=$'\n'"disable_service cinder" + export DEVSTACK_LOCAL_CONFIG+=$'\n'"disable_service c-bak" + export DEVSTACK_LOCAL_CONFIG+=$'\n'"disable_service c-sch" + export DEVSTACK_LOCAL_CONFIG+=$'\n'"disable_service c-api" + export DEVSTACK_LOCAL_CONFIG+=$'\n'"disable_service c-vol" + + if [ "-py35" == "-py35" ]; then + export DEVSTACK_GATE_USE_PYTHON3=True + + # swift is not ready for python3 yet + export DEVSTACK_LOCAL_CONFIG+=$'\n'"disable_service s-account" + export DEVSTACK_LOCAL_CONFIG+=$'\n'"disable_service s-container" + export DEVSTACK_LOCAL_CONFIG+=$'\n'"disable_service s-object" + export DEVSTACK_LOCAL_CONFIG+=$'\n'"disable_service s-proxy" + fi + + 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 the + # our project repository. This makes zuul do the right + # reference magic for testing changes. + export PROJECTS="openstack-infra/nodepool $PROJECTS" + # note the actual url here is somewhat irrelevant because it + # caches in nodepool, however make it a valid url for + # documentation purposes. + export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin nodepool git://git.openstack.org/openstack-infra/nodepool" + + function post_test_hook { + /opt/stack/new/nodepool/tools/check_devstack_plugin.sh + } + 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 }}' diff --git a/playbooks/nodepool-functional-src/post.yaml b/playbooks/nodepool-functional-src/post.yaml new file mode 100644 index 000000000..e07f5510a --- /dev/null +++ b/playbooks/nodepool-functional-src/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/nodepool-functional-src/run.yaml b/playbooks/nodepool-functional-src/run.yaml new file mode 100644 index 000000000..5a17394c0 --- /dev/null +++ b/playbooks/nodepool-functional-src/run.yaml @@ -0,0 +1,121 @@ +- hosts: all + name: Autoconverted job legacy-dsvm-nodepool-src from old job gate-dsvm-nodepool-src-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 + export PYTHONUNBUFFERED=true + # Disable tempest as nodepool is talking to the cloud not tempest. + export DEVSTACK_GATE_TEMPEST=0 + # Use neutron as the public clouds in use are neutron based. + export DEVSTACK_GATE_NEUTRON=1 + # The nodepool process needs sudo rights in order to + # perform dib image builds + export DEVSTACK_GATE_REMOVE_STACK_SUDO=0 + # Disable services we do not need for nodepool + export DEVSTACK_LOCAL_CONFIG="disable_service horizon" + export DEVSTACK_LOCAL_CONFIG+=$'\n'"disable_service ceilometer-acentral" + export DEVSTACK_LOCAL_CONFIG+=$'\n'"disable_service ceilometer-acompute" + export DEVSTACK_LOCAL_CONFIG+=$'\n'"disable_service ceilometer-alarm-evaluator" + export DEVSTACK_LOCAL_CONFIG+=$'\n'"disable_service ceilometer-alarm-notifier" + export DEVSTACK_LOCAL_CONFIG+=$'\n'"disable_service ceilometer-anotification" + export DEVSTACK_LOCAL_CONFIG+=$'\n'"disable_service ceilometer-api" + export DEVSTACK_LOCAL_CONFIG+=$'\n'"disable_service ceilometer-collector" + export DEVSTACK_LOCAL_CONFIG+=$'\n'"disable_service cinder" + export DEVSTACK_LOCAL_CONFIG+=$'\n'"disable_service c-bak" + export DEVSTACK_LOCAL_CONFIG+=$'\n'"disable_service c-sch" + export DEVSTACK_LOCAL_CONFIG+=$'\n'"disable_service c-api" + export DEVSTACK_LOCAL_CONFIG+=$'\n'"disable_service c-vol" + + if [ "" == "-py35" ]; then + export DEVSTACK_GATE_USE_PYTHON3=True + + # swift is not ready for python3 yet + export DEVSTACK_LOCAL_CONFIG+=$'\n'"disable_service s-account" + export DEVSTACK_LOCAL_CONFIG+=$'\n'"disable_service s-container" + export DEVSTACK_LOCAL_CONFIG+=$'\n'"disable_service s-object" + export DEVSTACK_LOCAL_CONFIG+=$'\n'"disable_service s-proxy" + fi + + 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 the + # our project repository. This makes zuul do the right + # reference magic for testing changes. + export PROJECTS="openstack-infra/nodepool $PROJECTS" + # note the actual url here is somewhat irrelevant because it + # caches in nodepool, however make it a valid url for + # documentation purposes. + export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin nodepool git://git.openstack.org/openstack-infra/nodepool" + export DEVSTACK_PROJECT_FROM_GIT="diskimage-builder" + export DEVSTACK_PROJECT_FROM_GIT+=",glean" + export DEVSTACK_PROJECT_FROM_GIT+=",shade" + + # Start with all images disabled. + export NODEPOOL_PAUSE_CENTOS_7_DIB=true + export NODEPOOL_PAUSE_DEBIAN_JESSIE_DIB=true + export NODEPOOL_PAUSE_FEDORA_26_DIB=true + export NODEPOOL_PAUSE_OPENSUSE_423_DIB=true + export NODEPOOL_PAUSE_UBUNTU_TRUSTY_DIB=true + export NODEPOOL_PAUSE_UBUNTU_XENIAL_DIB=true + + if [ "" == "" ] ; then + # dsvm-nodepool-src + export NODEPOOL_PAUSE_UBUNTU_TRUSTY_DIB=false + elif [ "" == "-debian" ] ; then + # dsvm-nodepool-debian-src + export NODEPOOL_PAUSE_DEBIAN_JESSIE_DIB=false + elif [ "" == "-opensuse" ] ; then + # dsvm-nodepool-opensuse-src + export NODEPOOL_PAUSE_OPENSUSE_423_DIB=false + elif [ "" == "-redhat" ] ; then + # dsvm-nodepool-redhat-src + export NODEPOOL_PAUSE_CENTOS_7_DIB=false + export NODEPOOL_PAUSE_FEDORA_26_DIB=false + elif [ "" == "-ubuntu" ] ; then + # dsvm-nodepool-ubuntu-src + export NODEPOOL_PAUSE_UBUNTU_TRUSTY_DIB=false + export NODEPOOL_PAUSE_UBUNTU_XENIAL_DIB=false + fi + export DEVSTACK_LOCAL_CONFIG+=$'\n'"NODEPOOL_PAUSE_CENTOS_7_DIB=$NODEPOOL_PAUSE_CENTOS_7_DIB" + export DEVSTACK_LOCAL_CONFIG+=$'\n'"NODEPOOL_PAUSE_DEBIAN_JESSIE_DIB=$NODEPOOL_PAUSE_DEBIAN_JESSIE_DIB" + export DEVSTACK_LOCAL_CONFIG+=$'\n'"NODEPOOL_PAUSE_FEDORA_26_DIB=$NODEPOOL_PAUSE_FEDORA_26_DIB" + export DEVSTACK_LOCAL_CONFIG+=$'\n'"NODEPOOL_PAUSE_OPENSUSE_423_DIB=$NODEPOOL_PAUSE_OPENSUSE_423_DIB" + export DEVSTACK_LOCAL_CONFIG+=$'\n'"NODEPOOL_PAUSE_UBUNTU_TRUSTY_DIB=$NODEPOOL_PAUSE_UBUNTU_TRUSTY_DIB" + export DEVSTACK_LOCAL_CONFIG+=$'\n'"NODEPOOL_PAUSE_UBUNTU_XENIAL_DIB=$NODEPOOL_PAUSE_UBUNTU_XENIAL_DIB" + + function post_test_hook { + /opt/stack/new/nodepool/tools/check_devstack_plugin.sh + } + 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 }}' diff --git a/playbooks/nodepool-functional/post.yaml b/playbooks/nodepool-functional/post.yaml new file mode 100644 index 000000000..e07f5510a --- /dev/null +++ b/playbooks/nodepool-functional/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/nodepool-functional/run.yaml b/playbooks/nodepool-functional/run.yaml new file mode 100644 index 000000000..f33b55d67 --- /dev/null +++ b/playbooks/nodepool-functional/run.yaml @@ -0,0 +1,85 @@ +- hosts: all + name: Autoconverted job legacy-dsvm-nodepool from old job gate-dsvm-nodepool-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 + export PYTHONUNBUFFERED=true + # Disable tempest as nodepool is talking to the cloud not tempest. + export DEVSTACK_GATE_TEMPEST=0 + # Use neutron as the public clouds in use are neutron based. + export DEVSTACK_GATE_NEUTRON=1 + # The nodepool process needs sudo rights in order to + # perform dib image builds + export DEVSTACK_GATE_REMOVE_STACK_SUDO=0 + # Disable services we do not need for nodepool + export DEVSTACK_LOCAL_CONFIG="disable_service horizon" + export DEVSTACK_LOCAL_CONFIG+=$'\n'"disable_service ceilometer-acentral" + export DEVSTACK_LOCAL_CONFIG+=$'\n'"disable_service ceilometer-acompute" + export DEVSTACK_LOCAL_CONFIG+=$'\n'"disable_service ceilometer-alarm-evaluator" + export DEVSTACK_LOCAL_CONFIG+=$'\n'"disable_service ceilometer-alarm-notifier" + export DEVSTACK_LOCAL_CONFIG+=$'\n'"disable_service ceilometer-anotification" + export DEVSTACK_LOCAL_CONFIG+=$'\n'"disable_service ceilometer-api" + export DEVSTACK_LOCAL_CONFIG+=$'\n'"disable_service ceilometer-collector" + export DEVSTACK_LOCAL_CONFIG+=$'\n'"disable_service cinder" + export DEVSTACK_LOCAL_CONFIG+=$'\n'"disable_service c-bak" + export DEVSTACK_LOCAL_CONFIG+=$'\n'"disable_service c-sch" + export DEVSTACK_LOCAL_CONFIG+=$'\n'"disable_service c-api" + export DEVSTACK_LOCAL_CONFIG+=$'\n'"disable_service c-vol" + + if [ "" == "-py35" ]; then + export DEVSTACK_GATE_USE_PYTHON3=True + + # swift is not ready for python3 yet + export DEVSTACK_LOCAL_CONFIG+=$'\n'"disable_service s-account" + export DEVSTACK_LOCAL_CONFIG+=$'\n'"disable_service s-container" + export DEVSTACK_LOCAL_CONFIG+=$'\n'"disable_service s-object" + export DEVSTACK_LOCAL_CONFIG+=$'\n'"disable_service s-proxy" + fi + + 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 the + # our project repository. This makes zuul do the right + # reference magic for testing changes. + export PROJECTS="openstack-infra/nodepool $PROJECTS" + # note the actual url here is somewhat irrelevant because it + # caches in nodepool, however make it a valid url for + # documentation purposes. + export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin nodepool git://git.openstack.org/openstack-infra/nodepool" + + function post_test_hook { + /opt/stack/new/nodepool/tools/check_devstack_plugin.sh + } + 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 }}'