Convert legacy job to zuul v3 native
The CI job configuration was auto-converted from legacy job in before. This commit convert the job to zuul v3 native format. Change-Id: I591ca197b6860db31e76fc7af3547ff4a92b2a55
This commit is contained in:
parent
d7a72df7f4
commit
d9b045050c
@ -1,6 +1,7 @@
|
|||||||
- job:
|
- job:
|
||||||
name: devstack-plugin-container-dsvm
|
name: devstack-plugin-container-dsvm
|
||||||
parent: legacy-dsvm-base
|
parent: devstack
|
||||||
|
pre-run: playbooks/devstack-plugin-container-dsvm/pre.yaml
|
||||||
run: playbooks/devstack-plugin-container-dsvm/run.yaml
|
run: playbooks/devstack-plugin-container-dsvm/run.yaml
|
||||||
post-run: playbooks/devstack-plugin-container-dsvm/post.yaml
|
post-run: playbooks/devstack-plugin-container-dsvm/post.yaml
|
||||||
timeout: 4200
|
timeout: 4200
|
||||||
@ -8,6 +9,11 @@
|
|||||||
- openstack/devstack
|
- openstack/devstack
|
||||||
- openstack/devstack-gate
|
- openstack/devstack-gate
|
||||||
- openstack/devstack-plugin-container
|
- openstack/devstack-plugin-container
|
||||||
|
vars:
|
||||||
|
devstack_localrc:
|
||||||
|
USE_PYTHON3: true
|
||||||
|
devstack_plugins:
|
||||||
|
devstack-plugin-container: https://opendev.org/openstack/devstack-plugin-container
|
||||||
|
|
||||||
- project:
|
- project:
|
||||||
check:
|
check:
|
||||||
|
@ -1,21 +0,0 @@
|
|||||||
#!/bin/bash -x
|
|
||||||
#
|
|
||||||
# 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 gate_hook function in devstack gate.
|
|
||||||
|
|
||||||
|
|
||||||
# Keep all devstack settings here instead of project-config for easy
|
|
||||||
# maintain if we want to change devstack config settings in future.
|
|
||||||
|
|
||||||
$BASE/new/devstack-gate/devstack-vm-gate.sh
|
|
@ -1,48 +0,0 @@
|
|||||||
#!/bin/bash -x
|
|
||||||
#
|
|
||||||
# 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.
|
|
||||||
|
|
||||||
# Sleep some time until all services are starting
|
|
||||||
sleep 5
|
|
||||||
|
|
||||||
# Check if a function already exists
|
|
||||||
function function_exists {
|
|
||||||
declare -f -F $1 > /dev/null
|
|
||||||
}
|
|
||||||
|
|
||||||
if ! function_exists echo_summary; then
|
|
||||||
function echo_summary {
|
|
||||||
echo $@
|
|
||||||
}
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Save trace setting
|
|
||||||
XTRACE=$(set +o | grep xtrace)
|
|
||||||
set -o xtrace
|
|
||||||
|
|
||||||
echo_summary "Devstack-plugin-container's post_test_hook.sh was called..."
|
|
||||||
(set -o posix; set)
|
|
||||||
|
|
||||||
# Verify that Docker is installed correctly by running the hello-world image
|
|
||||||
sudo -H -u stack docker run hello-world
|
|
||||||
|
|
||||||
EXIT_CODE=$?
|
|
||||||
|
|
||||||
# Copy over docker systemd unit journals.
|
|
||||||
mkdir -p $WORKSPACE/logs
|
|
||||||
sudo journalctl -o short-precise --unit docker | sudo tee $WORKSPACE/logs/docker.txt > /dev/null
|
|
||||||
|
|
||||||
$XTRACE
|
|
||||||
exit $EXIT_CODE
|
|
@ -1,80 +1,3 @@
|
|||||||
- hosts: primary
|
- hosts: all
|
||||||
tasks:
|
roles:
|
||||||
|
- fetch_docker_log
|
||||||
- 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
|
|
||||||
|
3
playbooks/devstack-plugin-container-dsvm/pre.yaml
Normal file
3
playbooks/devstack-plugin-container-dsvm/pre.yaml
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
- hosts: all
|
||||||
|
roles:
|
||||||
|
- run-devstack
|
@ -1,69 +1,8 @@
|
|||||||
- hosts: all
|
- hosts: all
|
||||||
name: Autoconverted job legacy-devstack-plugin-container-dsvm from old job gate-devstack-plugin-container-dsvm-nv
|
name: Verify that Docker is installed correctly by running the hello-world image
|
||||||
tasks:
|
tasks:
|
||||||
|
|
||||||
- name: Ensure legacy workspace directory
|
|
||||||
file:
|
|
||||||
path: '{{ ansible_user_dir }}/workspace'
|
|
||||||
state: directory
|
|
||||||
|
|
||||||
- shell:
|
- shell:
|
||||||
cmd: |
|
cmd: |
|
||||||
set -e
|
set -e
|
||||||
set -x
|
set -x
|
||||||
cat > clonemap.yaml << EOF
|
sudo -H -u stack docker run hello-world
|
||||||
clonemap:
|
|
||||||
- name: openstack/devstack-gate
|
|
||||||
dest: devstack-gate
|
|
||||||
EOF
|
|
||||||
/usr/zuul-env/bin/zuul-cloner -m clonemap.yaml --cache-dir /opt/git \
|
|
||||||
https://opendev.org \
|
|
||||||
openstack/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 devstack-plugin-container https://opendev.org/openstack/devstack-plugin-container
|
|
||||||
|
|
||||||
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=0
|
|
||||||
|
|
||||||
export BRANCH_OVERRIDE=default
|
|
||||||
if [ "$BRANCH_OVERRIDE" != "default" ] ; then
|
|
||||||
export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
|
|
||||||
fi
|
|
||||||
|
|
||||||
export PROJECTS="openstack/devstack-plugin-container $PROJECTS"
|
|
||||||
# Keep localrc to be able to set some vars in post_test_hook
|
|
||||||
export KEEP_LOCALRC=1
|
|
||||||
|
|
||||||
function gate_hook {
|
|
||||||
bash -xe $BASE/new/devstack-plugin-container/contrib/gate_hook.sh
|
|
||||||
}
|
|
||||||
export -f gate_hook
|
|
||||||
|
|
||||||
function post_test_hook {
|
|
||||||
bash -xe $BASE/new/devstack-plugin-container/contrib/post_test_hook.sh fullstack
|
|
||||||
}
|
|
||||||
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
roles/fetch_docker_log/README.rst
Normal file
1
roles/fetch_docker_log/README.rst
Normal file
@ -0,0 +1 @@
|
|||||||
|
Collect docker log from test run
|
22
roles/fetch_docker_log/tasks/main.yaml
Normal file
22
roles/fetch_docker_log/tasks/main.yaml
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
- name: Ensure log path exists
|
||||||
|
become: yes
|
||||||
|
file:
|
||||||
|
path: "{{ ansible_user_dir }}/logs"
|
||||||
|
state: directory
|
||||||
|
owner: "{{ ansible_user }}"
|
||||||
|
group: "{{ ansible_user }}"
|
||||||
|
mode: 0775
|
||||||
|
|
||||||
|
- name: Store docker log in {{ ansible_user_dir }}/logs
|
||||||
|
become: yes
|
||||||
|
shell:
|
||||||
|
cmd: |
|
||||||
|
sudo journalctl -o short-precise --unit docker | sudo tee {{ ansible_user_dir }}/logs/docker.log > /dev/null
|
||||||
|
|
||||||
|
- name: Set docker.log file permissions
|
||||||
|
become: yes
|
||||||
|
file:
|
||||||
|
path: '{{ ansible_user_dir }}/logs/docker.log'
|
||||||
|
owner: '{{ ansible_user }}'
|
||||||
|
group: '{{ ansible_user }}'
|
||||||
|
mode: 0644
|
Loading…
x
Reference in New Issue
Block a user