summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorColleen Murphy <colleen@gazlene.net>2018-10-25 19:29:39 +0200
committerColleen Murphy <colleen@gazlene.net>2018-10-28 12:29:34 +0100
commit631d9420a31189122b2f10a1d9859789b5e7f7c5 (patch)
tree7d98325d8d89e0c0c0d91a07d7b8e83fd9b60ccb
parent8982841b637b1ce64af5134b628df515ab6d3afa (diff)
downloadpython-keystoneclient-631d9420a31189122b2f10a1d9859789b5e7f7c5.tar.gz
Convert functional tests to Zuulv3
Use the devstack-tox-functional-consumer job as a parent job to allow us to remove the custom playbooks and devstack hooks. Change-Id: Ide6e6da3cbb479b5149fb44f0ef392dc80202910
-rw-r--r--.zuul.yaml7
-rwxr-xr-xkeystoneclient/tests/functional/hooks/post_test_hook.sh50
-rw-r--r--playbooks/keystoneclient-dsvm-functional/post.yaml80
-rw-r--r--playbooks/keystoneclient-dsvm-functional/run.yaml47
4 files changed, 3 insertions, 181 deletions
diff --git a/.zuul.yaml b/.zuul.yaml
index 05c112b..e2dac1b 100644
--- a/.zuul.yaml
+++ b/.zuul.yaml
@@ -1,13 +1,12 @@
- job:
name: keystoneclient-devstack-functional
- parent: legacy-dsvm-base
- run: playbooks/keystoneclient-dsvm-functional/run.yaml
- post-run: playbooks/keystoneclient-dsvm-functional/post.yaml
+ parent: devstack-tox-functional-consumer
timeout: 4200
required-projects:
- - openstack-infra/devstack-gate
- openstack/keystone
- openstack/python-keystoneclient
+ vars:
+ tox_envlist: functional
- project:
templates:
diff --git a/keystoneclient/tests/functional/hooks/post_test_hook.sh b/keystoneclient/tests/functional/hooks/post_test_hook.sh
deleted file mode 100755
index a0adfd6..0000000
--- a/keystoneclient/tests/functional/hooks/post_test_hook.sh
+++ /dev/null
@@ -1,50 +0,0 @@
-#!/bin/bash -xe
-
-# 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 inside post_test_hook function in devstack gate.
-
-function generate_testr_results {
- if [ -f .testrepository/0 ]; then
- sudo .tox/functional/bin/testr last --subunit > $WORKSPACE/testrepository.subunit
- sudo mv $WORKSPACE/testrepository.subunit $BASE/logs/testrepository.subunit
- sudo /usr/os-testr-env/bin/subunit2html $BASE/logs/testrepository.subunit $BASE/logs/testr_results.html
- sudo gzip -9 $BASE/logs/testrepository.subunit
- sudo gzip -9 $BASE/logs/testr_results.html
- sudo chown $USER:$USER $BASE/logs/testrepository.subunit.gz $BASE/logs/testr_results.html.gz
- sudo chmod a+r $BASE/logs/testrepository.subunit.gz $BASE/logs/testr_results.html.gz
- fi
-}
-
-export KEYSTONECLIENT_DIR="$BASE/new/python-keystoneclient"
-
-# Get admin credentials
-cd $BASE/new/devstack
-source openrc admin admin
-
-# Go to the keystoneclient dir
-cd $KEYSTONECLIENT_DIR
-
-sudo chown -R $USER:stack $KEYSTONECLIENT_DIR
-
-# Run tests
-echo "Running keystoneclient functional test suite"
-set +e
-# Preserve env for OS_ credentials
-sudo -E -H -u $USER tox -efunctional
-EXIT_CODE=$?
-set -e
-
-# Collect and parse result
-generate_testr_results
-exit $EXIT_CODE
diff --git a/playbooks/keystoneclient-dsvm-functional/post.yaml b/playbooks/keystoneclient-dsvm-functional/post.yaml
deleted file mode 100644
index dac8753..0000000
--- a/playbooks/keystoneclient-dsvm-functional/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/keystoneclient-dsvm-functional/run.yaml b/playbooks/keystoneclient-dsvm-functional/run.yaml
deleted file mode 100644
index 0af9727..0000000
--- a/playbooks/keystoneclient-dsvm-functional/run.yaml
+++ /dev/null
@@ -1,47 +0,0 @@
-- hosts: all
- name: Autoconverted job legacy-keystoneclient-dsvm-functional from old job gate-keystoneclient-dsvm-functional-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
- export PYTHONUNBUFFERED=true
- export BRANCH_OVERRIDE=default
- export DEVSTACK_PROJECT_FROM_GIT=python-keystoneclient
- if [ "$BRANCH_OVERRIDE" != "default" ] ; then
- export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
- fi
-
- function post_test_hook {
- # Configure and run functional tests
- $BASE/new/python-keystoneclient/keystoneclient/tests/functional/hooks/post_test_hook.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 }}'