Change zuul config for functional CI execution

Depends-On: https://review.opendev.org/#/c/735973/

Change-Id: If5e678a7fbaba2790d31887c411fea0ed6d2b622
This commit is contained in:
Mathieu Bultel 2020-05-07 14:36:02 +02:00
parent a842d333fc
commit 2616a3905f
4 changed files with 199 additions and 37 deletions

27
.zuul.yaml Normal file
View File

@ -0,0 +1,27 @@
- job:
name: validations-dsvm-functional
parent: legacy-dsvm-base
run: playbooks/legacy/validations-dsvm-functional/run.yaml
post-run: playbooks/legacy/validations-dsvm-functional/post.yaml
timeout: 7200
required-projects:
- openstack/devstack-gate
- openstack/validations-libs
- openstack/validations-common
irrelevant-files:
- ^.*\.rst$
- ^doc/.*$
- ^releasenotes/.*$
- project:
templates:
- check-requirements
- openstack-lower-constraints-jobs
- openstack-python3-victoria-jobs
check:
jobs:
- validations-dsvm-functional
gate:
jobs:
- openstack-tox-linters
- validations-dsvm-functional

View File

@ -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

View File

@ -0,0 +1,92 @@
---
- hosts: all
name: validations-dsvm-functional
tasks:
- name: Ensure legacy workspace directory
file:
path: '{{ ansible_user_dir }}/workspace'
state: directory
- name: Set fact for validation src directory
set_fact:
src_dir: '/home/zuul/src/opendev.org/openstack'
- name: Set fact for validation src directory
set_fact:
log_dir: '/var/log/validations'
- name: Instal python pip
ignore_errors: yes
become: yes
package:
name:
- python3-pip
- python-pip
state: present
- name: Install validations deps
ignore_errors: yes
shell:
cmd: |
sudo pip3 install prettytable
sudo pip3 install setuptools
sudo pip3 install ansible
- name: Install validations deps
shell:
cmd: |
sudo pip install prettytable
sudo pip install setuptools
sudo pip3 install ansible
- name: Install validations-libs
ignore_errors: yes
shell:
cmd: |
sudo pip install -r requirements.txt
sudo python setup.py install
executable: /bin/bash
chdir: '{{ src_dir }}/validations-libs'
- name: Install validations-common
ignore_errors: yes
shell:
cmd: |
sudo pip install -r requirements.txt
sudo python setup.py install
executable: /bin/bash
chdir: '{{ src_dir }}/validations-common'
- name: Make sure Validations Log dir exists
become: yes
file:
path: '{{ log_dir }}'
state: directory
mode: '0755'
owner: '{{ ansible_user }}'
group: '{{ ansible_user }}'
recurse: yes
- name: Execute Prep validation group
register: output
shell:
cmd: |
chmod +x validations_common/validation.py
./validations_common/validation.py run --validation check-ftype,512e \
--validation-dir {{ src_dir }}/validations-common/validations_common/playbooks \
--ansible-base-dir {{ src_dir }}/validations-common/validations_common
executable: /bin/bash
chdir: '{{ src_dir }}/validations-common'
environment: '{{ zuul | zuul_legacy_vars }}'
- name: Check output
debug: var=output.stdout
- name: Execute Prep validation group
register: output
shell:
cmd: |
./validations_common/validation.py list
executable: /bin/bash
chdir: '{{ src_dir }}/validations-common'
environment: '{{ zuul | zuul_legacy_vars }}'

View File

@ -1,37 +0,0 @@
- project:
templates:
- openstack-python3-victoria-jobs
- check-requirements
- openstack-lower-constraints-jobs
check:
jobs:
- openstack-tox-linters: &tripleo-linters
nodeset: centos-8
- openstack-tox-docs: &tripleo-docs
files:
- ^doc/.*
- ^README.rst
- tripleo-ci-centos-8-containers-multinode: &containers_multinode
dependencies: &deps
- openstack-tox-linters
files: &containers_files
- ^validations_libs/.*
irrelevant-files: &irrelevant_scenario_files
- .*.md$
- .*.rst$
- .*.txt$
- .*.ini$
- ^validations_libs/tests/.*
- tripleo-ci-centos-8-standalone: &basic_standalone
dependencies: *deps
files: *containers_files
irrelevant-files: *irrelevant_scenario_files
gate:
jobs:
- openstack-tox-linters: *tripleo-linters
- openstack-tox-docs: *tripleo-docs
- tripleo-ci-centos-8-containers-multinode: *containers_multinode
- tripleo-ci-centos-8-standalone: *basic_standalone
promote:
jobs:
- promote-openstack-tox-docs: *tripleo-docs