Browse Source
Depends-On: https://review.opendev.org/#/c/737997/ Change-Id: If5e678a7fbaba2790d31887c411fea0ed6d2b622changes/08/726108/43
6 changed files with 243 additions and 37 deletions
@ -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 |
@ -0,0 +1,96 @@
|
||||
- hosts: primary |
||||
tasks: |
||||
- name: Set fact for validation src directory |
||||
set_fact: |
||||
src_dir: '/home/zuul/src/opendev.org/openstack' |
||||
|
||||
- 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 |
||||
|
||||
- name: Copy files from {{ src_dir }} on node |
||||
synchronize: |
||||
src: '{{ src_dir }}' |
||||
dest: '{{ zuul.executor.log_root }}' |
||||
mode: pull |
||||
copy_links: true |
||||
verify_host: true |
||||
rsync_opts: |
||||
- --include=**/*.log |
||||
- --include=*/ |
||||
- --exclude=* |
||||
- --prune-empty-dirs |
@ -0,0 +1,60 @@
|
||||
- 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: Make validation script executable |
||||
register: output |
||||
shell: |
||||
cmd: | |
||||
chmod +x validations_common/validation.py |
||||
executable: /bin/bash |
||||
chdir: '{{ src_dir }}/validations-common' |
||||
environment: '{{ zuul | zuul_legacy_vars }}' |
@ -0,0 +1,23 @@
|
||||
- name: Execute validation commands |
||||
shell: "{{ validation_command }}" |
||||
|
||||
- name: Get run results |
||||
register: result |
||||
shell: |
||||
cmd: "cat {{val_output}}" |
||||
executable: /bin/bash |
||||
|
||||
- name: Get json data |
||||
set_fact: |
||||
jsondata: "{{ result.stdout | from_json }}" |
||||
|
||||
- name: Get Validations Status |
||||
set_fact: |
||||
status: "{{ jsondata | json_query(jsonres) }}" |
||||
vars: |
||||
jsonres: 'results[*].Status' |
||||
|
||||
- fail: |
||||
msg: "Validation failed: some of the validations has failed." |
||||
when: item != "PASSED" |
||||
loop: "{{ status }}" |
@ -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 |
Loading…
Reference in new issue