![Monty Taylor](/assets/img/avatar_default.png)
If we clone gerrit to ~/src/gerrit.googlesource.com/gerrit but want to keep the Dockerfile in system-config, then we need to be able to run: docker build ~/src/gerrit.googlesource.com/gerrit -f Dockerfile Most of the time the dir will just be '.', so put in a sensible default. Change-Id: I235080c05e679d2ac270cd5401b85c655fab3112
528 lines
15 KiB
YAML
528 lines
15 KiB
YAML
- job:
|
|
name: puppet-beaker-rspec-infra-system-config
|
|
parent: puppet-beaker-rspec-infra
|
|
vars:
|
|
project_src_dir: "{{ zuul.project.src_dir }}/modules/openstack_project"
|
|
|
|
- job:
|
|
name: puppet-beaker-rspec-infra-centos-7-system-config
|
|
parent: puppet-beaker-rspec-centos-7-infra
|
|
vars:
|
|
project_src_dir: "{{ zuul.project.src_dir }}/modules/openstack_project"
|
|
|
|
- job:
|
|
name: puppet-beaker-rspec-puppet-4-infra-system-config
|
|
parent: puppet-beaker-rspec-puppet-4-infra
|
|
vars:
|
|
project_src_dir: "{{ zuul.project.src_dir }}/modules/openstack_project"
|
|
|
|
- job:
|
|
name: puppet-beaker-rspec-puppet-4-centos-7-infra-system-config
|
|
parent: puppet-beaker-rspec-puppet-4-infra
|
|
vars:
|
|
project_src_dir: "{{ zuul.project.src_dir }}/modules/openstack_project"
|
|
|
|
# Image building jobs
|
|
- secret:
|
|
name: system-config-dockerhub
|
|
data:
|
|
username: openstackzuul
|
|
password: !encrypted/pkcs1-oaep
|
|
- iz3aVtc1eXwM/d02gaA8qyvryJtrOOTmPZhfWiRw3VaVpuU/lrpSD/qRKPwBEbhFCpzCh
|
|
B3eelTaJMKaMsVFU/cD+EOB6MBpCtHreKug3+B1g1Ag9TQaLGfa2d7swPRrhFEENpQBzm
|
|
D9OqBYVCWTyGo/Y1nkC/zb+e1H2IdI1axNJrVaKR6FYN8vhpPsflvyW2PCNsdT2YlKCMz
|
|
G0wFMJv6zMH6Jw1c0ruHm5pa9O4EWLwhmdxHMeTRAT4JVJdLehVGQLBXvXxZzMOXB2Jrj
|
|
KHIMFFhzlc1bZXcFKAMakvfP0ARLmPySEnIcVHjHXvsXmGLuVB0lSXUtUB1QW8qJcso1m
|
|
C0ky4VAFHoNB/EV5VGu7btkZDtJKzsQcPXnaT1LcX1xS+QC0bC4SYR25WN9RK7z1sXvMn
|
|
dxMIwJIvXOb+aE5mdl63G8OBTxznPAGioCZNjqoMPQJ7VzITSYnPiW5CyZDUinTSDDver
|
|
zHBG/Svpwiu7Lm2vOgExHYdCDeo0a5lacxjcwW2FfP7fal3ZLoTeSTGXvIaffS552mZ9L
|
|
I0cLfq/ikkbaC4a+bqFnVdDm9wNAyBtOkq5wn3TqOFMrFaBlkI5/34i2fLauZOoka6bcN
|
|
zJnvDrjRemvgmWP1q4uI8cPzJK3zjN9/GYrs1MQxHCsNn33sWpc1oHRO+TL/8g=
|
|
|
|
- job:
|
|
name: system-config-build-image
|
|
description: |
|
|
Build a docker image.
|
|
|
|
.. zuul:jobvar:: images
|
|
|
|
A list of images to build. Each item in the list should have:
|
|
|
|
.. zuul:jobvar:: context
|
|
|
|
The docker build context; should be a directory in this repo.
|
|
|
|
.. zuul:jobvar:: target
|
|
|
|
Optional; if supplied, the target for a multi-stage build.
|
|
|
|
.. zuul:jobvar:: repository
|
|
|
|
The name of the target repository in dockerhub for the
|
|
image. Supply this even if the image is not going to be
|
|
uploaded (it will be tagged with this in the local
|
|
registry).
|
|
|
|
.. zuul:jobvar:: path
|
|
|
|
Optional; if supplied, the directory that should be passed to
|
|
docker build. Useful for building images with a Dockerfile
|
|
in the context directory but a source repository elsewhere.
|
|
|
|
abstract: true
|
|
pre-run: playbooks/zuul/build-image/pre.yaml
|
|
run: playbooks/zuul/build-image/run.yaml
|
|
|
|
- job:
|
|
name: system-config-upload-image
|
|
parent: system-config-build-image
|
|
description: |
|
|
Build and upload a docker image.
|
|
|
|
.. zuul:jobvar:: images
|
|
|
|
A list of images to build. Each item in the list should have:
|
|
|
|
.. zuul:jobvar:: context
|
|
|
|
The docker build context; should be a directory in this repo.
|
|
|
|
.. zuul:jobvar:: target
|
|
|
|
Optional; if supplied, the target for a multi-stage build.
|
|
|
|
.. zuul:jobvar:: repository
|
|
|
|
The name of the target repository in dockerhub for the
|
|
image. Supply this even if the image is not going to be
|
|
uploaded (it will be tagged with this in the local
|
|
registry).
|
|
|
|
.. zuul:jobvar:: credentials
|
|
|
|
This should be a secret with two keys: ``username`` and
|
|
``password``.
|
|
|
|
abstract: true
|
|
post-run: playbooks/zuul/build-image/upload.yaml
|
|
secrets:
|
|
name: credentials
|
|
secret: system-config-dockerhub
|
|
|
|
- job:
|
|
name: system-config-promote-image
|
|
description: |
|
|
Retag a previously-uploaded docker image.
|
|
|
|
.. zuul:jobvar:: images
|
|
|
|
.. zuul:jobvar:: repository
|
|
|
|
The name of the target repository in dockerhub for the
|
|
image.
|
|
|
|
.. zuul:jobvar:: tags
|
|
|
|
A list of tags to be added to the image. Default: ['latest'].
|
|
|
|
.. zuul:jobvar:: credentials
|
|
|
|
This should be a secret with two keys: ``username`` and
|
|
``password``.
|
|
|
|
abstract: true
|
|
run: playbooks/zuul/build-image/promote.yaml
|
|
secrets:
|
|
name: credentials
|
|
secret: system-config-dockerhub
|
|
nodeset:
|
|
nodes: []
|
|
|
|
- job:
|
|
name: system-config-build-image-gitea
|
|
description: Build a gitea image
|
|
parent: system-config-build-image
|
|
vars: &gitea_vars
|
|
images:
|
|
- context: docker/gitea
|
|
target: gitea
|
|
repository: opendevorg/gitea
|
|
- context: docker/gitea
|
|
target: gitea-openssh
|
|
repository: opendevorg/gitea-openssh
|
|
files: &gitea_files
|
|
- docker/gitea/.*
|
|
|
|
- job:
|
|
name: system-config-upload-image-gitea
|
|
description: Build and upload a gitea image
|
|
parent: system-config-upload-image
|
|
vars: *gitea_vars
|
|
files: *gitea_files
|
|
|
|
- job:
|
|
name: system-config-promote-image-gitea
|
|
description: Promote a previously published gitea image to latest
|
|
parent: system-config-promote-image
|
|
vars: *gitea_vars
|
|
files: *gitea_files
|
|
|
|
- job:
|
|
name: system-config-build-image-jinja-init
|
|
description: Build a jinja-init image
|
|
parent: system-config-build-image
|
|
vars: &jinja-init_vars
|
|
images:
|
|
- context: docker/jinja-init
|
|
target: jinja-init
|
|
repository: opendevorg/jinja-init
|
|
files: &jinja-init_files
|
|
- docker/jinja-init/.*
|
|
|
|
- job:
|
|
name: system-config-upload-image-jinja-init
|
|
description: Build and upload a jinja-init image
|
|
parent: system-config-upload-image
|
|
vars: *jinja-init_vars
|
|
files: *jinja-init_files
|
|
|
|
- job:
|
|
name: system-config-promote-image-jinja-init
|
|
description: Promote a previously published jinja-init image to latest
|
|
parent: system-config-promote-image
|
|
vars: *jinja-init_vars
|
|
files: *jinja-init_files
|
|
|
|
- job:
|
|
name: system-config-build-image-gitea-init
|
|
description: Build a gitea-init image
|
|
parent: system-config-build-image
|
|
vars: &gitea-init_vars
|
|
images:
|
|
- context: docker/gitea-init
|
|
target: gitea-init
|
|
repository: opendevorg/gitea-init
|
|
files: &gitea-init_files
|
|
- docker/gitea-init/.*
|
|
|
|
- job:
|
|
name: system-config-upload-image-gitea-init
|
|
description: Build and upload a gitea-init image
|
|
parent: system-config-upload-image
|
|
vars: *gitea-init_vars
|
|
files: *gitea-init_files
|
|
|
|
- job:
|
|
name: system-config-promote-image-gitea-init
|
|
description: Promote a previously published gitea-init image to latest
|
|
parent: system-config-promote-image
|
|
vars: *gitea-init_vars
|
|
files: *gitea-init_files
|
|
|
|
# Role integration jobs. These test the top-level generic roles/*
|
|
# under Zuul. The range of platforms should be the same as those for
|
|
# openstack-zuul-jobs.
|
|
#
|
|
# NOTE(ianw): 2018-08 have left off Fedora & OpenSUSE because
|
|
# no roles currently run on them.
|
|
- job:
|
|
name: system-config-zuul-role-integration
|
|
description: |
|
|
Test roles provided by system-config with Zuul
|
|
abstract: true
|
|
parent: base
|
|
run: roles-test/base.yaml
|
|
files:
|
|
- roles/.*
|
|
|
|
- job:
|
|
name: system-config-zuul-role-integration-centos-7
|
|
parent: system-config-zuul-role-integration
|
|
nodeset:
|
|
nodes:
|
|
- name: base
|
|
label: centos-7
|
|
- name: puppet4
|
|
label: centos-7
|
|
groups:
|
|
- name: puppet3
|
|
nodes:
|
|
- base
|
|
|
|
- job:
|
|
name: system-config-zuul-role-integration-trusty
|
|
parent: system-config-zuul-role-integration
|
|
nodeset:
|
|
nodes:
|
|
- name: base
|
|
label: ubuntu-trusty
|
|
- name: puppet4
|
|
label: ubuntu-trusty
|
|
groups:
|
|
- name: puppet3
|
|
nodes:
|
|
- base
|
|
|
|
- job:
|
|
name: system-config-zuul-role-integration-xenial
|
|
parent: system-config-zuul-role-integration
|
|
nodeset:
|
|
nodes:
|
|
- name: base
|
|
label: ubuntu-xenial
|
|
- name: puppet4
|
|
label: ubuntu-xenial
|
|
groups:
|
|
- name: puppet3
|
|
nodes:
|
|
- base
|
|
|
|
- job:
|
|
name: system-config-zuul-role-integration-bionic
|
|
parent: system-config-zuul-role-integration
|
|
nodeset:
|
|
nodes:
|
|
- name: base
|
|
label: ubuntu-bionic
|
|
groups:
|
|
- name: puppet5
|
|
nodes:
|
|
- base
|
|
|
|
- job:
|
|
name: system-config-zuul-role-integration-debian-stable
|
|
parent: system-config-zuul-role-integration
|
|
nodeset:
|
|
nodes:
|
|
- name: base
|
|
label: debian-stretch
|
|
|
|
- project-template:
|
|
name: system-config-zuul-role-integration
|
|
check:
|
|
jobs:
|
|
- system-config-zuul-role-integration-centos-7
|
|
- system-config-zuul-role-integration-trusty
|
|
- system-config-zuul-role-integration-xenial
|
|
- system-config-zuul-role-integration-bionic
|
|
- system-config-zuul-role-integration-debian-stable
|
|
gate:
|
|
jobs:
|
|
- system-config-zuul-role-integration-centos-7
|
|
- system-config-zuul-role-integration-trusty
|
|
- system-config-zuul-role-integration-xenial
|
|
- system-config-zuul-role-integration-bionic
|
|
- system-config-zuul-role-integration-debian-stable
|
|
|
|
- job:
|
|
name: system-config-run
|
|
description: |
|
|
Run the "base" playbook for system-config hosts.
|
|
|
|
This is a parent job designed to be inherited.
|
|
abstract: true
|
|
pre-run: playbooks/zuul/run-base-pre.yaml
|
|
run: playbooks/zuul/run-base.yaml
|
|
post-run: playbooks/zuul/run-base-post.yaml
|
|
vars:
|
|
install_ansible_ara_enable: true
|
|
|
|
- job:
|
|
name: system-config-run-base
|
|
parent: system-config-run
|
|
description: |
|
|
Run the "base" playbook on each of the node types
|
|
currently in use.
|
|
nodeset:
|
|
nodes:
|
|
- name: bridge.openstack.org
|
|
label: ubuntu-bionic
|
|
- name: trusty
|
|
label: ubuntu-trusty
|
|
- name: xenial
|
|
label: ubuntu-xenial
|
|
- name: bionic
|
|
label: ubuntu-bionic
|
|
- name: centos7
|
|
label: centos-7
|
|
host-vars:
|
|
trusty:
|
|
ansible_python_interpreter: python2
|
|
centos7:
|
|
ansible_python_interpreter: python2
|
|
files:
|
|
- .zuul.yaml
|
|
- playbooks/.*
|
|
- roles/.*
|
|
- testinfra/.*
|
|
|
|
- job:
|
|
name: system-config-run-base-ansible-devel
|
|
parent: system-config-run-base
|
|
description: |
|
|
Run the base playbook with the latest ansible
|
|
required-projects:
|
|
- name: github.com/ansible/ansible
|
|
override-checkout: devel
|
|
- name: openstack/openstacksdk
|
|
- name: openstack/ara
|
|
vars:
|
|
bridge_ansible_name: '{{ ansible_user_dir}}/src/github.com/ansible/ansible'
|
|
bridge_ansible_version: null
|
|
bridge_openstacksdk_name: '{{ ansible_user_dir }}/src/git.openstack.org/openstack/openstacksdk'
|
|
bridge_openstacksdk_version: null
|
|
bridge_ara_name: '{{ ansible_user_dir}}/src/git.openstack.org/openstack/ara'
|
|
bridge_ara_version: null
|
|
|
|
- job:
|
|
name: system-config-run-eavesdrop
|
|
parent: system-config-run
|
|
description: |
|
|
Run the playbook for an eavesdrop server.
|
|
nodeset:
|
|
nodes:
|
|
- name: bridge.openstack.org
|
|
label: ubuntu-bionic
|
|
- name: eavesdrop01.openstack.org
|
|
label: ubuntu-xenial
|
|
files:
|
|
- .zuul.yaml
|
|
- playbooks/group_vars/eavesdrop.yaml
|
|
- testinfra/test_eavesdrop.py
|
|
|
|
- job:
|
|
name: system-config-run-nodepool
|
|
parent: system-config-run
|
|
description: |
|
|
Run the playbook for nodepool.
|
|
nodeset:
|
|
nodes:
|
|
- name: bridge.openstack.org
|
|
label: ubuntu-bionic
|
|
- name: nl01.openstack.org
|
|
label: ubuntu-xenial
|
|
- name: nb01.openstack.org
|
|
label: ubuntu-xenial
|
|
files:
|
|
- .zuul.yaml
|
|
- playbooks/group_vars/nodepool.yaml
|
|
- playbooks/group_vars/nodepool-builder.yaml
|
|
- playbooks/group_vars/nodepool-launcher.yaml
|
|
- playbooks/roles/configure-openstacksdk/
|
|
- playbooks/templates/clouds/
|
|
- testinfra/test_nodepool.py
|
|
|
|
- job:
|
|
name: system-config-run-docker
|
|
parent: system-config-run
|
|
description: |
|
|
Test docker installation and setup
|
|
nodeset:
|
|
nodes:
|
|
- name: bridge.openstack.org
|
|
label: ubuntu-bionic
|
|
- name: bionic-docker
|
|
label: ubuntu-bionic
|
|
files:
|
|
- .zuul.yaml
|
|
- playbooks/roles/install-docker
|
|
- testinfra/test_docker.py
|
|
|
|
- job:
|
|
name: system-config-run-dns
|
|
parent: system-config-run
|
|
description: |
|
|
Run the playbook for dns.
|
|
nodeset:
|
|
nodes:
|
|
- name: bridge.openstack.org
|
|
label: ubuntu-bionic
|
|
- name: adns1.opendev.org
|
|
label: ubuntu-bionic
|
|
- name: ns1.opendev.org
|
|
label: ubuntu-bionic
|
|
files:
|
|
- .zuul.yaml
|
|
- playbooks/group_vars/adns.yaml
|
|
- playbooks/group_vars/dns.yaml
|
|
- ^playbooks/host_vars/(ad)?ns\d+.opendev.org.yaml
|
|
- playbooks/zuul/templates/group_vars/adns.yaml.j2
|
|
- playbooks/zuul/templates/group_vars/ns.yaml.j2
|
|
- playbooks/roles/master-nameserver/
|
|
- playbooks/roles/nameserver/
|
|
- testinfra/test_adns.py
|
|
- testinfra/test_ns.py
|
|
|
|
- job:
|
|
name: infra-prod-playbook
|
|
description: |
|
|
Run specified playbook against productions hosts.
|
|
|
|
This is a parent job designed to be inherited to enabled
|
|
CD deployment of our infrastructure. Set playbook_name to
|
|
specify the playbook relative to
|
|
bridge.openstack.org:/opt/system-config/playbooks
|
|
abstract: true
|
|
run: playbooks/zuul/run-production-playbook.yaml
|
|
vars:
|
|
ansible_forks: 5
|
|
nodeset:
|
|
nodes: []
|
|
|
|
- job:
|
|
name: infra-prod-zuul_reconfigure
|
|
parent: infra-prod-playbook
|
|
description: |
|
|
Perform a full Zuul reconfiguration.
|
|
|
|
This reloads the tenant config file and clears all configuration
|
|
caches.
|
|
vars:
|
|
playbook_name: zuul_reconfigure.yaml
|
|
|
|
- project:
|
|
templates:
|
|
- system-config-zuul-role-integration
|
|
- infra-puppet-apply-jobs
|
|
- infra-logstash-filter-jobs
|
|
- publish-tox-docs-infra
|
|
check:
|
|
jobs:
|
|
- tox-linters
|
|
- legacy-system-config-puppet-syntax-3
|
|
- puppet-beaker-rspec-infra-system-config
|
|
- puppet-beaker-rspec-infra-centos-7-system-config
|
|
- puppet-beaker-rspec-puppet-4-infra-system-config
|
|
- puppet-beaker-rspec-puppet-4-centos-7-infra-system-config
|
|
- system-config-run-base
|
|
- system-config-run-base-ansible-devel:
|
|
voting: false
|
|
- system-config-run-dns
|
|
- system-config-run-eavesdrop
|
|
- system-config-run-nodepool
|
|
- system-config-run-docker
|
|
- system-config-build-image-gitea
|
|
- system-config-build-image-jinja-init
|
|
- system-config-build-image-gitea-init
|
|
gate:
|
|
jobs:
|
|
- tox-linters
|
|
- legacy-system-config-puppet-syntax-3
|
|
- puppet-beaker-rspec-infra-system-config
|
|
- puppet-beaker-rspec-infra-centos-7-system-config
|
|
- puppet-beaker-rspec-puppet-4-infra-system-config
|
|
- puppet-beaker-rspec-puppet-4-centos-7-infra-system-config
|
|
- system-config-run-base
|
|
- system-config-run-dns
|
|
- system-config-run-eavesdrop
|
|
- system-config-run-nodepool
|
|
- system-config-run-docker
|
|
- system-config-upload-image-gitea
|
|
- system-config-upload-image-jinja-init
|
|
- system-config-upload-image-gitea-init
|
|
promote:
|
|
jobs:
|
|
- system-config-promote-image-gitea
|
|
- system-config-promote-image-jinja-init
|
|
- system-config-promote-image-gitea-init
|