summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZuul <zuul@review.openstack.org>2017-10-17 14:10:51 +0000
committerGerrit Code Review <review@openstack.org>2017-10-17 14:10:51 +0000
commit09faba27133f4b96085ed8596fa199200ed015aa (patch)
treea9dd7949e32c02ff59f60b938146909c3759ee46
parent358544d40ea1ad64abefd5f34f011a3446c1b37d (diff)
parent4733621ecbfdd7e319f2822e25f87cdb75081758 (diff)
downloadpython-openstackclient-09faba27133f4b96085ed8596fa199200ed015aa.tar.gz
Merge "Move base functional test job in-repo"
-rw-r--r--.zuul.yaml19
-rw-r--r--playbooks/osc-functional-devstack/post.yaml80
-rw-r--r--playbooks/osc-functional-devstack/run.yaml83
3 files changed, 182 insertions, 0 deletions
diff --git a/.zuul.yaml b/.zuul.yaml
new file mode 100644
index 00000000..d7de0efe
--- /dev/null
+++ b/.zuul.yaml
@@ -0,0 +1,19 @@
+# from zuul.d/zuul-legacy-jobs.yaml legacy-osc-dsvm-functional
+- job:
+ name: osc-functional-devstack
+ parent: legacy-dsvm-base
+ run: playbooks/osc-functional-devstack/run
+ post-run: playbooks/osc-functional-devstack/post
+ timeout: 7800
+ required-projects:
+ - openstack-infra/devstack-gate
+ - openstack/python-openstackclient
+
+- project:
+ name: openstack/python-openstackclient
+ check:
+ jobs:
+ - osc-functional-devstack
+ gate:
+ jobs:
+ - osc-functional-devstack
diff --git a/playbooks/osc-functional-devstack/post.yaml b/playbooks/osc-functional-devstack/post.yaml
new file mode 100644
index 00000000..dac87534
--- /dev/null
+++ b/playbooks/osc-functional-devstack/post.yaml
@@ -0,0 +1,80 @@
+- 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/osc-functional-devstack/run.yaml b/playbooks/osc-functional-devstack/run.yaml
new file mode 100644
index 00000000..185ba437
--- /dev/null
+++ b/playbooks/osc-functional-devstack/run.yaml
@@ -0,0 +1,83 @@
+- hosts: all
+ name: Autoconverted job legacy-osc-dsvm-functional from old job gate-osc-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-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]]
+ # NOTE(amotoki): Some neutron features are enabled by devstack plugin
+ enable_plugin neutron https://git.openstack.org/openstack/neutron
+ enable_service q-qos
+ enable_service neutron-segments
+ # NOTE(dtroyer): OSC needs to support Image v1 for a while yet so re-enable
+ GLANCE_V1_ENABLED=True
+ # NOTE(dtroyer): Functional tests need a bit more volume headroom
+ VOLUME_BACKING_FILE_SIZE=20G
+ # NOTE(dtroyer): OSC needs to support Volume v1 for a while yet so re-enable
+ [[post-config|$CINDER_CONF]]
+ [DEFAULT]
+ enable_v1_api = True
+
+ 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_UNSTACK=0
+ export DEVSTACK_GATE_TEMPEST=0
+ export DEVSTACK_GATE_EXERCISES=0
+ export DEVSTACK_GATE_INSTALL_TESTONLY=1
+ export DEVSTACK_GATE_NEUTRON=1
+ export BRANCH_OVERRIDE=default
+ export DEVSTACK_PROJECT_FROM_GIT=python-openstackclient
+ if [ "$BRANCH_OVERRIDE" != "default" ] ; then
+ export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
+ fi
+
+ function post_test_hook {
+ # NOTE(stevemar): After the newton release was tagged the file was moved.
+ # But, we run functional tests for various stable releases
+ # (mitaka, and newton).
+ # TODO(stevemar): Remove this check when Newton hits EOL.
+ hook_location=$BASE/new/python-openstackclient/openstackclient/tests/functional/post_test_hook.sh
+ if [ ! -f "$hook_location" ]; then
+ hook_location=$BASE/new/python-openstackclient/post_test_hook.sh
+ fi
+ bash -xe $hook_location
+ }
+ 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 }}'