Improve rally-docker jobs to be usefull for rally-openstack

Change-Id: I107b28b38f0f33d79291eca782f63392e5e77c94
This commit is contained in:
Andrey Kurilin 2020-04-16 16:22:03 +03:00
parent becd9d6538
commit f1552e9f0a
12 changed files with 105 additions and 85 deletions

47
.zuul.d/docker-jobs.yaml Normal file
View File

@ -0,0 +1,47 @@
- secret:
name: rally-dockerhub-credentials
data:
username: !encrypted/pkcs1-oaep
- IOewkAChKmlkgrYeX+Lk+sjpGj99dswA6b0vXQBio0dUngRspAtXR3VJAxyZAyYwXbUPU
HHq7qHDlesVfBl/RCPVfbFt4+79L7h4NSCo2NIR3DPKIVIXBfVGsmHvRglY3c6E+ji2Bm
VOk/jsEW+b+k+SZy6rQ4J35HGVBJUzyJzVB7l/2lJ3Wmf0b2MyTBz3tApK8+dP+GAa6Hd
UTY6140pxTPS010kit7/8s5B2zlt/ky3raTjclLuCmQHR5J98/7Mxd02HYjz71VSmDOjZ
d0fWYGVLQb0XxcdaLHYNYQhY0BIq3qa0p9diavz131OzJ5maQI0RKDXcz0BTsBP6bQfcM
etdB7L9geqTjIoA8dlJgM4ZQNer5UFrfeOTf8XpjPtM+U03T9GE4wKtEu1S8iinN9CB/g
dQdcrel9V0HkKBvJTJdlHFngp4lGx2JG+sDGIIgUru2GH4mi3fndAkqth/m22SgDq14TG
Zksbd3pBtoirt93H1hk557EM1FbfNpxGXkIo4No+LzuCuDymDga2ntHF2EcuGGUDlE+Pn
vmEvD4/dkXyyNJAqaHhwnTHy8clTYu0xEwTDvUL+Ss86McIxotw6Vv0XPeL1JUB0Ewfdu
QG3mgGXWqnoaixZpxjtLnmvA/syB5BEj9qcw4aXfU0ACytTU5H+pGHiwah0ST0=
password: !encrypted/pkcs1-oaep
- VU7F2XHpVSvqfco6B6F3iXhTdy1/5Rv+8UiT/Sk2SuQd+ZHLV2mVSncdYQRpuAt3/z3Al
1BaoCFBYXPiaGOb1zW2s6kvwhn9jWOWHc20M2QAWMia45HNfS9qtMsBW4djlFFW4TTsSy
zCZXor3ulVhlBaLOKGrhjWTBi/EDCslLJEH4quOjmP5/RXqph7Z62RyueSbm6F1+JcWgE
zI+nJ+X7q4winKrAndSkP7lDr3IU1OK8gmPwfvPO4Tvwrec6RMWb5DlICp9YDP/H35Fb9
PdR+aapd++UOxsZPKc0nUroxjmENpOcqrIYuwtS7oAitoK3QuAsQ/M8d6WHwmoa4/I6DB
rBDEJV9goxu9qAzYLNKiqsV/IIcpud52j9HVlKLTvqeAN7qCSqxlhVlS8lXCmYhiNrscy
LTa+uM+6EKQC46eFaYos/2bChKR1c6wya2Y1Dj0Qj27CgQtp+WiAHTT+NgxGo7d3Jqk2z
UakGoIOovwcV7HpfFHQDijDBz/+6DR4iD+MSbOrG2QRzrjSix9kSk2b7t2liUZ0ODEPWe
DvlbYngfxXRzxdh/lxQ8AvCXtdRQNYrahyhhCsruBtQTptUgjxnPRe/tZyYAAKXILadZM
1cA3UecdfuFWhah/ffS1wWC0TvP+UPcJ/dNw3Xlurjt2USJfdyw0MueN7Wsj3Q=
- job:
name: rally-docker-build
parent: build-docker-image
nodeset: ubuntu-bionic
run: tests/ci/playbooks/docker-build-and-check.yaml
post-run: tests/ci/playbooks/fetch-html-and-json-reports.yaml
timeout: 1800
vars:
docker_image_version: latest
- job:
name: rally-docker-build-and-push
parent: build-docker-image
nodeset: ubuntu-bionic
run: tests/ci/playbooks/docker-build-check-and-push.yaml
post-run: tests/ci/playbooks/fetch-html-and-json-reports.yaml
timeout: 1800
secrets:
name: docker_credentials
secret: rally-dockerhub-credentials
pass-to-parent: false

View File

@ -1,29 +1,3 @@
- secret:
name: rally-dockerhub-credentials
data:
username: !encrypted/pkcs1-oaep
- IOewkAChKmlkgrYeX+Lk+sjpGj99dswA6b0vXQBio0dUngRspAtXR3VJAxyZAyYwXbUPU
HHq7qHDlesVfBl/RCPVfbFt4+79L7h4NSCo2NIR3DPKIVIXBfVGsmHvRglY3c6E+ji2Bm
VOk/jsEW+b+k+SZy6rQ4J35HGVBJUzyJzVB7l/2lJ3Wmf0b2MyTBz3tApK8+dP+GAa6Hd
UTY6140pxTPS010kit7/8s5B2zlt/ky3raTjclLuCmQHR5J98/7Mxd02HYjz71VSmDOjZ
d0fWYGVLQb0XxcdaLHYNYQhY0BIq3qa0p9diavz131OzJ5maQI0RKDXcz0BTsBP6bQfcM
etdB7L9geqTjIoA8dlJgM4ZQNer5UFrfeOTf8XpjPtM+U03T9GE4wKtEu1S8iinN9CB/g
dQdcrel9V0HkKBvJTJdlHFngp4lGx2JG+sDGIIgUru2GH4mi3fndAkqth/m22SgDq14TG
Zksbd3pBtoirt93H1hk557EM1FbfNpxGXkIo4No+LzuCuDymDga2ntHF2EcuGGUDlE+Pn
vmEvD4/dkXyyNJAqaHhwnTHy8clTYu0xEwTDvUL+Ss86McIxotw6Vv0XPeL1JUB0Ewfdu
QG3mgGXWqnoaixZpxjtLnmvA/syB5BEj9qcw4aXfU0ACytTU5H+pGHiwah0ST0=
password: !encrypted/pkcs1-oaep
- VU7F2XHpVSvqfco6B6F3iXhTdy1/5Rv+8UiT/Sk2SuQd+ZHLV2mVSncdYQRpuAt3/z3Al
1BaoCFBYXPiaGOb1zW2s6kvwhn9jWOWHc20M2QAWMia45HNfS9qtMsBW4djlFFW4TTsSy
zCZXor3ulVhlBaLOKGrhjWTBi/EDCslLJEH4quOjmP5/RXqph7Z62RyueSbm6F1+JcWgE
zI+nJ+X7q4winKrAndSkP7lDr3IU1OK8gmPwfvPO4Tvwrec6RMWb5DlICp9YDP/H35Fb9
PdR+aapd++UOxsZPKc0nUroxjmENpOcqrIYuwtS7oAitoK3QuAsQ/M8d6WHwmoa4/I6DB
rBDEJV9goxu9qAzYLNKiqsV/IIcpud52j9HVlKLTvqeAN7qCSqxlhVlS8lXCmYhiNrscy
LTa+uM+6EKQC46eFaYos/2bChKR1c6wya2Y1Dj0Qj27CgQtp+WiAHTT+NgxGo7d3Jqk2z
UakGoIOovwcV7HpfFHQDijDBz/+6DR4iD+MSbOrG2QRzrjSix9kSk2b7t2liUZ0ODEPWe
DvlbYngfxXRzxdh/lxQ8AvCXtdRQNYrahyhhCsruBtQTptUgjxnPRe/tZyYAAKXILadZM
1cA3UecdfuFWhah/ffS1wWC0TvP+UPcJ/dNw3Xlurjt2USJfdyw0MueN7Wsj3Q=
- job:
name: rally-install-base
parent: base
@ -47,26 +21,6 @@
parent: rally-install-base
nodeset: centos-8
- job:
name: rally-docker-build
parent: build-docker-image
nodeset: ubuntu-bionic
run: tests/ci/playbooks/build-and-check-docker-image.yaml
post-run: tests/ci/playbooks/fetch-html-and-json-reports.yaml
timeout: 1800
- job:
name: rally-docker-build-and-push
parent: build-docker-image
nodeset: ubuntu-bionic
run: tests/ci/playbooks/build-check-and-push-docker-image.yaml
post-run: tests/ci/playbooks/fetch-html-and-json-reports.yaml
timeout: 1800
secrets:
name: docker_credentials
secret: rally-dockerhub-credentials
pass-to-parent: false
- job:
name: rally-database-migration
parent: base
@ -95,9 +49,7 @@
- rally-install-ubuntu-bionic
- rally-install-centos-7
- rally-install-centos-8
- rally-docker-build:
vars:
docker_image_version: latest
- rally-docker-build
gate:
jobs:
- rally-tox-cover

View File

@ -1,4 +0,0 @@
- hosts: all
name: Execute the similar to `tox -e self` job
roles:
- build_docker_image

View File

@ -1,5 +0,0 @@
- hosts: all
name: Execute the similar to `tox -e self` job
roles:
- build_docker_image
- push_docker_image

View File

@ -0,0 +1,4 @@
- hosts: all
name: Build docker image for Rally and check it (calling the similar workload as `tox -e self`)
roles:
- docker-build-image

View File

@ -0,0 +1,5 @@
- hosts: all
name: Build and push docker image for Rally
roles:
- docker-build-image
- docker-push-image

View File

@ -1,3 +0,0 @@
docker_repository: xrally/xrally
docker_image_version: "{{ zuul.tag }}"
docker_image_tag: "{{ docker_repository }}:{{ docker_image_version }}"

View File

@ -1,24 +0,0 @@
- name: Build xrally/xrally docker image
shell:
chdir: '{{ zuul.project.src_dir }}'
cmd: 'docker build -t {{ docker_image_tag }} ./'
- name: List available docker images
shell: docker image list
- name: Prepare directories to mount to the docker container for persistency
shell:
chdir: '{{ zuul.project.src_dir }}'
cmd: |
mkdir -p .test_results
sudo chown 65500 .test_results
- name: Execute the similar wokrloads as `tox -e self`
shell:
cmd: >
python3 {{ zuul.project.src_dir }}/tests/ci/rally_self_job.py
--task /rally/source/rally-jobs/self-rally.yaml
--plugins-path /rally/source/rally-jobs/plugins
--rally-cmd 'docker run -v '$(realpath {{ zuul.project.src_dir }})'/.test_results:/home/rally/.rally {{ docker_image_tag }}'
--results-dir /home/rally/.rally
--without-tmp-sqlite

View File

@ -0,0 +1,6 @@
docker_repository: xrally/xrally
docker_image_version: "{{ zuul.tag }}"
docker_image_tag: "{{ docker_repository }}:{{ docker_image_version }}"
rally_project_path: "{{ zuul.projects['opendev.org/openstack/rally'].src_dir }}"
rally_plugin_name: "Dummy.dummy"
rally_package_name: ""

View File

@ -0,0 +1,42 @@
- name: "Build {{ docker_image_tag }} docker image"
shell:
chdir: '{{ zuul.project.src_dir }}'
cmd: 'docker build -t {{ docker_image_tag }} ./'
- name: Get image size
shell: >
set -e
SIZE=$(docker image inspect {{ docker_image_tag }} {% raw %}--format='{{.Size}}'{% endraw %} )
SIZE=$(expr $SIZE / 1000 / 1000)
echo "Size of {{ docker_image_tag }}: "$SIZE" Mbyte"
- name: Prepare directories to mount to the docker container for persistency
shell:
chdir: '{{ zuul.project.src_dir }}'
cmd: |
mkdir -p .test_results
sudo chown 65500 .test_results
- name: List Rally version
shell: docker run {{ docker_image_tag }} --version
register: rally_version_info
- name: Check plugin package is discoverable
fail:
msg: "{{ rally_package_name }} is not discoverable."
when:
- '"{{ rally_package_name }}" != ""'
- '"{{ rally_package_name }}" not in rally_version_info.stdout'
- name: "Check availability of {{ rally_plugin_name }} plugin"
shell: docker run {{ docker_image_tag }} plugin show {{ rally_plugin_name }}
- name: Execute the similar wokrloads as `tox -e self`
shell:
cmd: >
python3 {{ rally_project_path }}/tests/ci/rally_self_job.py
--task /rally/source/rally-jobs/self-rally.yaml
--plugins-path /rally/source/rally-jobs/plugins
--rally-cmd 'docker run -v '$(realpath {{ zuul.project.src_dir }})'/.test_results:/home/rally/.rally {{ docker_image_tag }}'
--results-dir /home/rally/.rally
--without-tmp-sqlite