Improve rally-docker jobs to be usefull for rally-openstack
Change-Id: I107b28b38f0f33d79291eca782f63392e5e77c94
This commit is contained in:
parent
becd9d6538
commit
f1552e9f0a
47
.zuul.d/docker-jobs.yaml
Normal file
47
.zuul.d/docker-jobs.yaml
Normal 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
|
@ -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:
|
- job:
|
||||||
name: rally-install-base
|
name: rally-install-base
|
||||||
parent: base
|
parent: base
|
||||||
@ -47,26 +21,6 @@
|
|||||||
parent: rally-install-base
|
parent: rally-install-base
|
||||||
nodeset: centos-8
|
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:
|
- job:
|
||||||
name: rally-database-migration
|
name: rally-database-migration
|
||||||
parent: base
|
parent: base
|
||||||
@ -95,9 +49,7 @@
|
|||||||
- rally-install-ubuntu-bionic
|
- rally-install-ubuntu-bionic
|
||||||
- rally-install-centos-7
|
- rally-install-centos-7
|
||||||
- rally-install-centos-8
|
- rally-install-centos-8
|
||||||
- rally-docker-build:
|
- rally-docker-build
|
||||||
vars:
|
|
||||||
docker_image_version: latest
|
|
||||||
gate:
|
gate:
|
||||||
jobs:
|
jobs:
|
||||||
- rally-tox-cover
|
- rally-tox-cover
|
||||||
|
@ -1,4 +0,0 @@
|
|||||||
- hosts: all
|
|
||||||
name: Execute the similar to `tox -e self` job
|
|
||||||
roles:
|
|
||||||
- build_docker_image
|
|
@ -1,5 +0,0 @@
|
|||||||
- hosts: all
|
|
||||||
name: Execute the similar to `tox -e self` job
|
|
||||||
roles:
|
|
||||||
- build_docker_image
|
|
||||||
- push_docker_image
|
|
4
tests/ci/playbooks/docker-build-and-check.yaml
Normal file
4
tests/ci/playbooks/docker-build-and-check.yaml
Normal 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
|
5
tests/ci/playbooks/docker-build-check-and-push.yaml
Normal file
5
tests/ci/playbooks/docker-build-check-and-push.yaml
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
- hosts: all
|
||||||
|
name: Build and push docker image for Rally
|
||||||
|
roles:
|
||||||
|
- docker-build-image
|
||||||
|
- docker-push-image
|
@ -1,3 +0,0 @@
|
|||||||
docker_repository: xrally/xrally
|
|
||||||
docker_image_version: "{{ zuul.tag }}"
|
|
||||||
docker_image_tag: "{{ docker_repository }}:{{ docker_image_version }}"
|
|
@ -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
|
|
@ -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: ""
|
42
tests/ci/playbooks/roles/docker-build-image/tasks/main.yaml
Normal file
42
tests/ci/playbooks/roles/docker-build-image/tasks/main.yaml
Normal 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
|
Loading…
Reference in New Issue
Block a user