diff --git a/.zuul.yaml b/.zuul.yaml deleted file mode 100644 index 55e81f0743..0000000000 --- a/.zuul.yaml +++ /dev/null @@ -1,3160 +0,0 @@ -# Image building jobs -- secret: - name: system-config-dockerhub - data: - username: opendevzuul - password: !encrypted/pkcs1-oaep - - FF2mwsdYo4b9QI/kEmeFdZS32I+OJUac2xy4JEQJaIevRK9E3rQ/11cBn7xX6zelA/htY - hENMM1gGTYO8BKgTVNijFfCiVCTYFJ9efsOrSeMdj2aLcq/OkZFeq8gMHAZDv+3qaiggq - hbDmldgSouNahhJByWMsDjYqnItfR8w1dYisNQBkDEJdNW5+Cin5WgHRYv2skui9pjumU - vWHjwLbITLEjb0hwVErggAzvED4x0UjNEMfb6KCpoXeKdlCaI8h1DXVD9RdQ4s1WvUCro - xwl4AIUyCmdtXbqW787PQ4j8BgdOi8RD40ZTSxpoV/bwT+/NrP3Jj2KVYdEKQJimzXnwL - goDclapu9aFrAaqwWSnWCRc7GQptSZ7DBXmA7MsNinBclWHX/chX5k9Q1+XifAhmKJZqP - ovkzEGtmUjTQZFjvuCtFxIWZEGVtGHDmgEkzevgVCeuHDTeIDlkAvA3+TT+/A70zyYdbP - EHOTSSjCU6RSlJxAXjNb5pzKjpeT7PyX2f4/8Zn3JnwTlfPJ0C7qdEYjQ54hbsKynjrpQ - 7f6NN9pAeQS1pid5J7oH4f7YaKM78pnhoTxRl3LmeitIlAG+zCpiT4J+se2eG27ep4aUA - bYuO0L+KBosY6DcvEbR9TqkYLPgJuEPi/6SQr9bBOldEspXXAv9msyCB4VMhVU= - -- job: - name: system-config-build-image - parent: opendev-build-docker-image - dependencies: opendev-buildset-registry - abstract: true - vars: - docker_mirror_base_url: "http://{{ zuul_site_mirror_fqdn }}/deb-docker" - zuul_work_dir: /home/zuul/src/opendev.org/opendev/system-config - -- job: - name: system-config-upload-image - parent: opendev-upload-docker-image - dependencies: opendev-buildset-registry - abstract: true - vars: - zuul_work_dir: /home/zuul/src/opendev.org/opendev/system-config - secrets: - name: docker_credentials - secret: system-config-dockerhub - pass-to-parent: true - -- job: - name: system-config-promote-image - parent: opendev-promote-docker-image - abstract: true - secrets: - name: docker_credentials - secret: system-config-dockerhub - pass-to-parent: true - -# Jinja-init jobs -- job: - name: system-config-build-image-jinja-init - description: Build a jinja-init image. - parent: system-config-build-image - requires: python-base-3.7-container-image - provides: jinja-init-container-image - vars: &jinja-init_vars - docker_images: - - context: docker/jinja-init - target: jinja-init - repository: opendevorg/jinja-init - files: &jinja-init_files - - docker/jinja-init/ - - docker/python-base/ - -- job: - name: system-config-upload-image-jinja-init - description: Build and upload a jinja-init image. - parent: system-config-upload-image - requires: python-base-3.7-container-image - provides: jinja-init-container-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 - -# Gitea-init jobs -- job: - name: system-config-build-image-gitea-init - description: Build a gitea-init image. - parent: system-config-build-image - requires: jinja-init-container-image - vars: &gitea-init_vars - docker_images: - - context: docker/gitea-init - target: gitea-init - repository: opendevorg/gitea-init - files: &gitea-init_files - - docker/gitea-init/ - - docker/jinja-init/ - - docker/python-base/ - -- job: - name: system-config-upload-image-gitea-init - description: Build and upload a gitea-init image. - parent: system-config-upload-image - requires: jinja-init-container-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 - -# Gitea jobs -- job: - name: system-config-build-image-gitea - description: Build a gitea image. - parent: system-config-build-image - vars: &gitea_vars - docker_images: - - context: docker/gitea - target: gitea - repository: opendevorg/gitea - - context: docker/gitea - target: gitea-openssh - repository: opendevorg/gitea-openssh - # Duplicate in the run-gitea job - 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 - -# Etherpad jobs -- job: - name: system-config-build-image-etherpad - description: Build a etherpad image. - provides: etherpad-container-image - parent: system-config-build-image - vars: ðerpad_vars - docker_images: - - context: docker/etherpad - repository: opendevorg/etherpad - files: ðerpad_files - - docker/etherpad/ - -- job: - name: system-config-upload-image-etherpad - description: Build and upload a etherpad image. - provides: etherpad-container-image - parent: system-config-upload-image - vars: *etherpad_vars - files: *etherpad_files - -- job: - name: system-config-promote-image-etherpad - description: Promote a previously published etherpad image to latest. - parent: system-config-promote-image - vars: *etherpad_vars - files: *etherpad_files - -# Jitsi-meet jobs -- job: - name: system-config-build-image-jitsi-meet - description: Build jitsi-meet images. - parent: system-config-build-image - provides: jitsi-meet-container-image - vars: &jitsi-meet_vars - docker_images: - - context: docker/jitsi-meet - target: web - repository: opendevorg/jitsi-meet-web - - context: docker/jitsi-meet - target: prosody - repository: opendevorg/jitsi-meet-prosody - files: &jitsi-meet_files - - docker/jitsi-meet/ - -- job: - name: system-config-upload-image-jitsi-meet - description: Build and upload a jitsi-meet image. - parent: system-config-upload-image - requires: python-base-container-image - provides: jitsi-meet-container-image - vars: *jitsi-meet_vars - files: *jitsi-meet_files - -- job: - name: system-config-promote-image-jitsi-meet - description: Promote a previously published jitsi-meet image to latest. - parent: system-config-promote-image - vars: *jitsi-meet_vars - files: *jitsi-meet_files - -# Haproxy-statsd jobs -- job: - name: system-config-build-image-haproxy-statsd - description: Build a haproxy-statsd image. - parent: system-config-build-image - requires: python-base-3.7-container-image - vars: &haproxy-statsd_vars - docker_images: - - context: docker/haproxy-statsd - repository: opendevorg/haproxy-statsd - # Duplicate in the run-gitea job - files: &haproxy-statsd_files - - docker/haproxy-statsd/ - - docker/python-base/ - -- job: - name: system-config-upload-image-haproxy-statsd - description: Build and upload a haproxy-statsd image. - parent: system-config-upload-image - requires: python-base-3.7-container-image - vars: *haproxy-statsd_vars - files: *haproxy-statsd_files - -- job: - name: system-config-promote-image-haproxy-statsd - description: Promote a previously published haproxy-statsd image to latest. - parent: system-config-promote-image - vars: *haproxy-statsd_vars - files: *haproxy-statsd_files - -# accessbot jobs -- job: - name: system-config-build-image-accessbot - description: Build a accessbot image. - parent: system-config-build-image - requires: python-base-3.7-container-image - provides: accessbot-container-image - vars: &accessbot_vars - docker_images: - - context: docker/accessbot - repository: opendevorg/accessbot - files: &accessbot_files - - docker/accessbot/ - - docker/python-base/ - -- job: - name: system-config-upload-image-accessbot - description: Build and upload a accessbot image. - parent: system-config-upload-image - requires: python-base-3.7-container-image - provides: accessbot-container-image - vars: *accessbot_vars - files: *accessbot_files - -- job: - name: system-config-promote-image-accessbot - description: Promote a previously published accessbot image to latest. - parent: system-config-promote-image - vars: *accessbot_vars - files: *accessbot_files - -# Gerrit 2.13 jobs -- job: - name: system-config-build-image-gerrit-2.13 - description: Build a gerrit 2.13 image. - parent: system-config-build-image - requires: gerrit-base-container-image - provides: gerrit-2.13-container-image - required-projects: &gerrit_projects_2_13 - - name: opendev/system-config - override-checkout: master - vars: &gerrit_vars_2_13 - docker_images: - # The 2.13 image doesn't build from source, but from existing war file - - context: docker/gerrit/2.13 - repository: opendevorg/gerrit - path: /home/zuul/src/opendev.org/opendev/system-config - tags: - - 2.13 - files: &gerrit_files_2_13 - - docker/gerrit/base/ - - docker/gerrit/2.13/ - - jeepyb/ - -- job: - name: system-config-upload-image-gerrit-2.13 - description: Build and upload a gerrit 2.13 image. - parent: system-config-upload-image - requires: gerrit-base-container-image - provides: gerrit-2.13-container-image - required-projects: *gerrit_projects_2_13 - vars: *gerrit_vars_2_13 - files: *gerrit_files_2_13 - -- job: - name: system-config-promote-image-gerrit-2.13 - description: Promote a previously published gerrit 2.13 image to latest. - parent: system-config-promote-image - vars: *gerrit_vars_2_13 - files: *gerrit_files_2_13 - -# Gerrit 2.14 jobs -- job: - name: system-config-build-image-gerrit-2.14 - description: Build a gerrit image. - parent: system-config-build-image - pre-run: playbooks/zuul/gerrit/repos.yaml - run: playbooks/zuul/gerrit/run.yaml - requires: gerrit-base-container-image - provides: gerrit-2.14-container-image - required-projects: &gerrit_projects_2_14 - - name: opendev/system-config - override-checkout: master - - name: gerrit.googlesource.com/gerrit - override-checkout: stable-2.14 - - name: gerrit.googlesource.com/plugins/commit-message-length-validator - override-checkout: stable-2.14 - - name: gerrit.googlesource.com/plugins/download-commands - override-checkout: stable-2.14 - - name: gerrit.googlesource.com/plugins/hooks - override-checkout: stable-2.14 - - name: gerrit.googlesource.com/plugins/its-base - override-checkout: stable-2.14 - - name: gerrit.googlesource.com/plugins/its-storyboard - override-checkout: stable-2.14 - - name: gerrit.googlesource.com/plugins/javamelody - override-checkout: stable-2.14 - - name: gerrit.googlesource.com/plugins/replication - override-checkout: stable-2.14 - - name: gerrit.googlesource.com/plugins/reviewnotes - override-checkout: stable-2.14 - - name: gerrit.googlesource.com/plugins/singleusergroup - override-checkout: stable-2.14 - vars: &gerrit_vars_2_14 - docker_images: - - context: docker/gerrit/bazel - repository: opendevorg/gerrit - path: /home/zuul/src/gerrit.googlesource.com/gerrit - tags: - - 2.14 - files: &gerrit_files_2_14 - - docker/gerrit/base/ - - docker/gerrit/bazel/ - - playbooks/zuul/gerrit/ - - jeepyb/ - -- job: - name: system-config-upload-image-gerrit-2.14 - description: Build and upload a gerrit image. - parent: system-config-upload-image - pre-run: playbooks/zuul/gerrit/repos.yaml - run: playbooks/zuul/gerrit/run.yaml - requires: gerrit-base-container-image - provides: gerrit-2.14-container-image - required-projects: *gerrit_projects_2_14 - vars: *gerrit_vars_2_14 - files: *gerrit_files_2_14 - -- job: - name: system-config-promote-image-gerrit-2.14 - description: Promote a previously published gerrit image to latest. - parent: system-config-promote-image - vars: *gerrit_vars_2_14 - files: *gerrit_files_2_14 - -# Gerrit 2.15 jobs -- job: - name: system-config-build-image-gerrit-2.15 - description: Build a gerrit image. - parent: system-config-build-image - pre-run: playbooks/zuul/gerrit/repos.yaml - run: playbooks/zuul/gerrit/run.yaml - requires: gerrit-base-container-image - provides: gerrit-2.15-container-image - required-projects: &gerrit_projects_2_15 - - name: opendev/system-config - override-checkout: master - - name: gerrit.googlesource.com/gerrit - override-checkout: stable-2.15 - - name: gerrit.googlesource.com/plugins/commit-message-length-validator - override-checkout: stable-2.15 - - name: gerrit.googlesource.com/plugins/download-commands - override-checkout: stable-2.15 - - name: gerrit.googlesource.com/plugins/hooks - override-checkout: stable-2.15 - - name: gerrit.googlesource.com/plugins/its-base - override-checkout: stable-2.15 - - name: gerrit.googlesource.com/plugins/its-storyboard - override-checkout: stable-2.15 - - name: gerrit.googlesource.com/plugins/javamelody - override-checkout: stable-2.15 - - name: gerrit.googlesource.com/plugins/replication - override-checkout: stable-2.15 - - name: gerrit.googlesource.com/plugins/reviewnotes - override-checkout: stable-2.15 - - name: gerrit.googlesource.com/plugins/singleusergroup - override-checkout: stable-2.15 - vars: &gerrit_vars_2_15 - docker_images: - - context: docker/gerrit/bazel - repository: opendevorg/gerrit - path: /home/zuul/src/gerrit.googlesource.com/gerrit - tags: - - 2.15 - files: &gerrit_files_2_15 - - docker/gerrit/base/ - - docker/gerrit/bazel/ - - playbooks/zuul/gerrit/ - - jeepyb/ - -- job: - name: system-config-upload-image-gerrit-2.15 - description: Build and upload a gerrit image. - parent: system-config-upload-image - pre-run: playbooks/zuul/gerrit/repos.yaml - run: playbooks/zuul/gerrit/run.yaml - requires: gerrit-base-container-image - provides: gerrit-2.15-container-image - required-projects: *gerrit_projects_2_15 - vars: *gerrit_vars_2_15 - files: *gerrit_files_2_15 - -- job: - name: system-config-promote-image-gerrit-2.15 - description: Promote a previously published gerrit image to latest. - parent: system-config-promote-image - vars: *gerrit_vars_2_15 - files: *gerrit_files_2_15 - -# Gerrit 2.16 jobs -- job: - name: system-config-build-image-gerrit-2.16 - description: Build a gerrit image. - parent: system-config-build-image - pre-run: playbooks/zuul/gerrit/repos.yaml - run: playbooks/zuul/gerrit/run.yaml - requires: gerrit-base-container-image - provides: gerrit-2.16-container-image - required-projects: &gerrit_projects_2_16 - - name: opendev/system-config - override-checkout: master - - name: gerrit.googlesource.com/gerrit - override-checkout: stable-2.16 - - name: gerrit.googlesource.com/plugins/codemirror-editor - override-checkout: stable-2.16 - - name: gerrit.googlesource.com/plugins/commit-message-length-validator - override-checkout: stable-2.16 - - name: gerrit.googlesource.com/plugins/download-commands - override-checkout: stable-2.16 - - name: gerrit.googlesource.com/plugins/hooks - override-checkout: stable-2.16 - - name: gerrit.googlesource.com/plugins/its-base - override-checkout: stable-2.16 - - name: gerrit.googlesource.com/plugins/its-storyboard - override-checkout: stable-2.16 - - name: gerrit.googlesource.com/plugins/javamelody - override-checkout: stable-2.16 - - name: gerrit.googlesource.com/plugins/replication - override-checkout: stable-2.16 - - name: gerrit.googlesource.com/plugins/reviewnotes - override-checkout: stable-2.16 - - name: gerrit.googlesource.com/plugins/singleusergroup - override-checkout: stable-2.16 - vars: &gerrit_vars_2_16 - docker_images: - - context: docker/gerrit/bazel - repository: opendevorg/gerrit - path: /home/zuul/src/gerrit.googlesource.com/gerrit - tags: - - 2.16 - gerrit_additional_plugins: - - codemirror-editor - files: &gerrit_files_2_16 - - docker/gerrit/base/ - - docker/gerrit/bazel/ - - playbooks/zuul/gerrit/ - - jeepyb/ - -- job: - name: system-config-upload-image-gerrit-2.16 - description: Build and upload a gerrit image. - parent: system-config-upload-image - pre-run: playbooks/zuul/gerrit/repos.yaml - run: playbooks/zuul/gerrit/run.yaml - requires: gerrit-base-container-image - provides: gerrit-2.16-container-image - required-projects: *gerrit_projects_2_16 - vars: *gerrit_vars_2_16 - files: *gerrit_files_2_16 - -- job: - name: system-config-promote-image-gerrit-2.16 - description: Promote a previously published gerrit image to latest. - parent: system-config-promote-image - vars: *gerrit_vars_2_16 - files: *gerrit_files_2_16 - -# Gerrit 3.0 jobs -- job: - name: system-config-build-image-gerrit-3.0 - description: Build a gerrit image. - parent: system-config-build-image - pre-run: playbooks/zuul/gerrit/repos.yaml - run: playbooks/zuul/gerrit/run.yaml - requires: gerrit-base-container-image - provides: gerrit-3.0-container-image - required-projects: &gerrit_projects_3_0 - - name: opendev/system-config - override-checkout: master - - name: gerrit.googlesource.com/gerrit - override-checkout: stable-3.0 - - name: gerrit.googlesource.com/plugins/codemirror-editor - override-checkout: stable-3.0 - - name: gerrit.googlesource.com/plugins/commit-message-length-validator - override-checkout: stable-3.0 - - name: gerrit.googlesource.com/plugins/delete-project - override-checkout: stable-3.0 - - name: gerrit.googlesource.com/plugins/download-commands - override-checkout: stable-3.0 - - name: gerrit.googlesource.com/plugins/gitiles - override-checkout: stable-3.0 - - name: gerrit.googlesource.com/plugins/hooks - override-checkout: stable-3.0 - - name: gerrit.googlesource.com/plugins/its-base - override-checkout: stable-3.0 - - name: gerrit.googlesource.com/plugins/its-storyboard - override-checkout: stable-3.0 - - name: gerrit.googlesource.com/plugins/javamelody - override-checkout: stable-3.0 - - name: gerrit.googlesource.com/plugins/plugin-manager - override-checkout: stable-3.0 - - name: gerrit.googlesource.com/plugins/replication - override-checkout: stable-3.0 - - name: gerrit.googlesource.com/plugins/reviewnotes - override-checkout: stable-3.0 - - name: gerrit.googlesource.com/plugins/singleusergroup - override-checkout: stable-3.0 - - name: gerrit.googlesource.com/plugins/webhooks - override-checkout: stable-3.0 - vars: &gerrit_vars_3_0 - docker_images: - - context: docker/gerrit/bazel - repository: opendevorg/gerrit - path: /home/zuul/src/gerrit.googlesource.com/gerrit - tags: - - 3.0 - gerrit_additional_plugins: - - codemirror-editor - - delete-project - - gitiles - - plugin-manager - - webhooks - files: &gerrit_files_3_0 - - docker/gerrit/base/ - - docker/gerrit/bazel/ - - playbooks/zuul/gerrit/ - - jeepyb/ - -- job: - name: system-config-upload-image-gerrit-3.0 - description: Build and upload a gerrit image. - parent: system-config-upload-image - pre-run: playbooks/zuul/gerrit/repos.yaml - run: playbooks/zuul/gerrit/run.yaml - requires: gerrit-base-container-image - provides: gerrit-3.0-container-image - required-projects: *gerrit_projects_3_0 - vars: *gerrit_vars_3_0 - files: *gerrit_files_3_0 - -- job: - name: system-config-promote-image-gerrit-3.0 - description: Promote a previously published gerrit image to latest. - parent: system-config-promote-image - vars: *gerrit_vars_3_0 - files: *gerrit_files_3_0 - -# Gerrit master jobs -- job: - name: system-config-build-image-gerrit-master-base - description: | - Build a gerrit image. - - This job has no files matchers so it can be used in other repos. - parent: system-config-build-image - pre-run: - - playbooks/zuul/gerrit/repos.yaml - - playbooks/zuul/gerrit/submodules.yaml - run: playbooks/zuul/gerrit/run.yaml - requires: gerrit-base-container-image - provides: gerrit-master-container-image - required-projects: &gerrit_projects_master - - opendev/system-config - - gerrit.googlesource.com/jgit - - gerrit.googlesource.com/gerrit - - gerrit.googlesource.com/plugins/checks - - gerrit.googlesource.com/plugins/codemirror-editor - - gerrit.googlesource.com/plugins/commit-message-length-validator - - gerrit.googlesource.com/plugins/delete-project - - gerrit.googlesource.com/plugins/download-commands - - gerrit.googlesource.com/plugins/gitiles - - gerrit.googlesource.com/plugins/hooks - - gerrit.googlesource.com/plugins/its-base - - gerrit.googlesource.com/plugins/its-storyboard - - gerrit.googlesource.com/plugins/javamelody - - gerrit.googlesource.com/plugins/plugin-manager - - gerrit.googlesource.com/plugins/replication - - gerrit.googlesource.com/plugins/reviewnotes - - gerrit.googlesource.com/plugins/singleusergroup - - gerrit.googlesource.com/plugins/webhooks - - gerrit.googlesource.com/polymer-bridges - vars: &gerrit_vars_master - zuul_work_dir: src/opendev.org/opendev/system-config - docker_images: - - context: docker/gerrit/bazel - repository: opendevorg/gerrit - path: /home/zuul/src/gerrit.googlesource.com/gerrit - tags: - - master - gerrit_additional_plugins: - - checks - - codemirror-editor - - delete-project - - gitiles - - plugin-manager - - webhooks - -- job: - name: system-config-build-image-gerrit-master - description: | - Build a gerrit image. - - This job is used in system-config. - parent: system-config-build-image-gerrit-master-base - files: &gerrit_files_master - - docker/gerrit/base/ - - docker/gerrit/bazel/ - - playbooks/zuul/gerrit/ - - jeepyb/ - -- job: - name: system-config-upload-image-gerrit-master - description: Build and upload a gerrit image. - parent: system-config-upload-image - pre-run: - - playbooks/zuul/gerrit/repos.yaml - - playbooks/zuul/gerrit/submodules.yaml - run: playbooks/zuul/gerrit/run.yaml - requires: gerrit-base-container-image - provides: gerrit-master-container-image - required-projects: *gerrit_projects_master - vars: *gerrit_vars_master - files: *gerrit_files_master - -- job: - name: system-config-promote-image-gerrit-master - description: Promote a previously published gerrit image to latest. - parent: system-config-promote-image - vars: *gerrit_vars_master - files: *gerrit_files_master - -# python-builder-3.7 jobs -- job: - name: system-config-build-image-python-builder-3.7 - description: Build a python-builder-3.7 image. - parent: system-config-build-image - provides: - - python-builder-container-image - - python-builder-3.7-container-image - vars: &python-builder_3_7_vars - docker_images: - - context: docker/python-builder - repository: opendevorg/python-builder - tags: - - 3.7 - - latest - build_args: - - PYTHON_VERSION=3.7 - files: &python-builder_3_7_files - - docker/python-base/ - - docker/python-builder/ - -- job: - name: system-config-upload-image-python-builder-3.7 - description: Build and upload a python-builder-3.7 image. - parent: system-config-upload-image - provides: - - python-builder-container-image - - python-builder-3.7-container-image - vars: *python-builder_3_7_vars - files: *python-builder_3_7_files - -- job: - name: system-config-promote-image-python-builder-3.7 - description: Promote a previously published python-builder-3.7 image to latest. - parent: system-config-promote-image - vars: *python-builder_3_7_vars - files: *python-builder_3_7_files - -# python-builder-3.8 jobs -- job: - name: system-config-build-image-python-builder-3.8 - description: Build a python-builder-3.8 image. - parent: system-config-build-image - provides: - - python-builder-3.8-container-image - vars: &python-builder_3_8_vars - docker_images: - - context: docker/python-builder - repository: opendevorg/python-builder - tags: - - 3.8 - build_args: - - PYTHON_VERSION=3.8 - files: &python-builder_3_8_files - - docker/python-base/ - - docker/python-builder/ - -- job: - name: system-config-upload-image-python-builder-3.8 - description: Build and upload a python-builder-3.8 image. - parent: system-config-upload-image - provides: python-builder-3.8-container-image - vars: *python-builder_3_8_vars - files: *python-builder_3_8_files - -- job: - name: system-config-promote-image-python-builder-3.8 - description: Promote a previously published python-builder-3.8 image to latest. - parent: system-config-promote-image - vars: *python-builder_3_8_vars - files: *python-builder_3_8_files - -# python-base-3.7 jobs -- job: - name: system-config-build-image-python-base-3.7 - description: Build a python-base-3.7 image. - parent: system-config-build-image - provides: - - python-base-container-image - - python-base-3.7-container-image - vars: &python-base-3_7_vars - docker_images: - - context: docker/python-base - repository: opendevorg/python-base - tags: - - 3.7 - - latest - build_args: - - PYTHON_VERSION=3.7 - files: &python-base-3_7_files - - docker/python-base/ - - docker/python-builder/ - -- job: - name: system-config-upload-image-python-base-3.7 - description: Build and upload a python-base-3.7 image. - parent: system-config-upload-image - provides: python-base-3.7-container-image - vars: *python-base-3_7_vars - files: *python-base-3_7_files - -- job: - name: system-config-promote-image-python-base-3.7 - description: Promote a previously published python-base-3.7 image to latest. - parent: system-config-promote-image - vars: *python-base-3_7_vars - files: *python-base-3_7_files - -# python-base-3.8 jobs -- job: - name: system-config-build-image-python-base-3.8 - description: Build a python-base-3.8 image. - parent: system-config-build-image - provides: python-base-3.8-container-image - vars: &python-base-3_8_vars - docker_images: - - context: docker/python-base - repository: opendevorg/python-base - tags: - - 3.8 - build_args: - - PYTHON_VERSION=3.8 - files: &python-base-3_8_files - - docker/python-base/ - - docker/python-builder/ - -- job: - name: system-config-upload-image-python-base-3.8 - description: Build and upload a python-base-3.8 image. - parent: system-config-upload-image - provides: python-base-3.8-container-image - vars: *python-base-3_8_vars - files: *python-base-3_8_files - -- job: - name: system-config-promote-image-python-base-3.8 - description: Promote a previously published python-base-3.8 image to latest. - parent: system-config-promote-image - vars: *python-base-3_8_vars - files: *python-base-3_8_files - -# uwsgi-base-3.7 jobs -- job: - name: system-config-build-image-uwsgi-base-3.7 - description: Build a uwsgi-base-3.7 image. - parent: system-config-build-image - requires: &uwsgi-base_3_7_requires - - python-base-3.7-container-image - - python-builder-3.7-container-image - provides: uwsgi-base-3.7-container-image - dependencies: - - name: system-config-build-image-python-base-3.7 - soft: true - - name: system-config-build-image-python-builder-3.7 - soft: true - vars: &uwsgi-base_3_7_vars - docker_images: - - context: docker/uwsgi-base - repository: opendevorg/uwsgi-base - tags: - - 3.7 - - latest - build_args: - - PYTHON_VERSION=3.7 - files: &uwsgi-base_3_7_files - - docker/python-base/.* - - docker/python-builder/.* - - docker/uwsgi-base/.* - -- job: - name: system-config-upload-image-uwsgi-base-3.7 - description: Build and upload a uwsgi-base-3.7 image. - parent: system-config-upload-image - provides: uwsgi-base-3.7-container-image - requires: *uwsgi-base_3_7_requires - dependencies: - - name: system-config-upload-image-python-base-3.7 - soft: true - - name: system-config-upload-image-python-builder-3.7 - soft: true - vars: *uwsgi-base_3_7_vars - files: *uwsgi-base_3_7_files - -- job: - name: system-config-promote-image-uwsgi-base-3.7 - description: Promote a previously published uwsgi-base-3.7 image to latest. - parent: system-config-promote-image - vars: *uwsgi-base_3_7_vars - files: *uwsgi-base_3_7_files - -# uwsgi-base-3.8 jobs -- job: - name: system-config-build-image-uwsgi-base-3.8 - description: Build a uwsgi-base-3.8 image. - parent: system-config-build-image - provides: uwsgi-base-3.8-container-image - requires: &uwsgi-base_3_8_requires - - python-base-3.8-container-image - - python-builder-3.8-container-image - dependencies: - - name: system-config-build-image-python-base-3.8 - soft: true - - name: system-config-build-image-python-builder-3.8 - soft: true - vars: &uwsgi-base_3_8_vars - docker_images: - - context: docker/uwsgi-base - repository: opendevorg/uwsgi-base - tags: - - 3.8 - build_args: - - PYTHON_VERSION=3.8 - files: &uwsgi-base_3_8_files - - docker/python-base/.* - - docker/python-builder/.* - - docker/uwsgi-base/.* - -- job: - name: system-config-upload-image-uwsgi-base-3.8 - description: Build and upload a uwsgi-base-3.8 image. - parent: system-config-upload-image - provides: uwsgi-base-3.8-container-image - requires: *uwsgi-base_3_8_requires - dependencies: - - name: system-config-upload-image-python-base-3.8 - soft: true - - name: system-config-upload-image-python-builder-3.8 - soft: true - vars: *uwsgi-base_3_8_vars - files: *uwsgi-base_3_8_files - -- job: - name: system-config-promote-image-uwsgi-base-3.8 - description: Promote a previously published uwsgi-base-3.8 image to latest. - parent: system-config-promote-image - vars: *uwsgi-base_3_8_vars - files: *uwsgi-base_3_8_files - - -# gerrit-base jobs -- job: - name: system-config-build-image-gerrit-base - description: Build a gerrit-base image. - parent: system-config-build-image - required-projects: &gerrit_base_projects - - opendev/jeepyb - - opendev/system-config - requires: python-builder-3.7-container-image - provides: gerrit-base-container-image - vars: &gerrit-base_vars - docker_images: - - context: docker/gerrit/base - repository: opendevorg/gerrit-base - path: /home/zuul/src/opendev.org/opendev/jeepyb - files: &gerrit-base_files - - docker/gerrit/base/ - -- job: - name: system-config-upload-image-gerrit-base - description: Build and upload a gerrit-base image. - parent: system-config-upload-image - requires: python-builder-3.7-container-image - provides: gerrit-base-container-image - required-projects: *gerrit_base_projects - vars: *gerrit-base_vars - files: *gerrit-base_files - -- job: - name: system-config-promote-image-gerrit-base - description: Promote a previously published gerrit-base image to latest. - parent: system-config-promote-image - required-projects: *gerrit_base_projects - vars: *gerrit-base_vars - files: *gerrit-base_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-xenial - parent: system-config-zuul-role-integration - nodeset: - nodes: - - name: base - label: ubuntu-xenial - - name: puppet4 - label: ubuntu-xenial - groups: - - name: puppet3 - nodes: - - base - - name: openafs - 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 - - name: openafs - nodes: - - base - -- job: - name: system-config-zuul-role-integration-focal - parent: system-config-zuul-role-integration - nodeset: - nodes: - - name: base - label: ubuntu-focal - groups: - - name: openafs - nodes: - - base - -- job: - name: system-config-zuul-role-integration-debian-stable - parent: system-config-zuul-role-integration - nodeset: - nodes: - - name: base - label: debian-stretch - groups: - - name: openafs - nodes: - - base - -- job: - name: system-config-zuul-role-integration-centos-8 - parent: system-config-zuul-role-integration - nodeset: - nodes: - - name: base - label: centos-8 - groups: - - name: openafs - nodes: - - base - -- project-template: - name: system-config-zuul-role-integration - check: - jobs: - - system-config-zuul-role-integration-xenial - - system-config-zuul-role-integration-bionic - - system-config-zuul-role-integration-focal - - system-config-zuul-role-integration-debian-stable - - system-config-zuul-role-integration-centos-8 - gate: - jobs: - - system-config-zuul-role-integration-xenial - - system-config-zuul-role-integration-bionic - - system-config-zuul-role-integration-focal - - system-config-zuul-role-integration-debian-stable - - system-config-zuul-role-integration-centos-8 - -- 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 - zuul_copy_output: "{{ copy_output | combine(host_copy_output | default({})) }}" - stage_dir: "{{ ansible_user_dir }}/zuul-output" - copy_output: - '/var/log/syslog': logs_txt - '/var/log/messages': logs_txt - '/var/log/docker': logs - host-vars: - bridge.openstack.org: - host_copy_output: - '{{ zuul.project.src_dir }}/junit.xml': logs - -# Note: the following two jobs implement the variant-based multiple -# inheritance trick. Both of these variants will always apply, -# therefore both parents will appear in the inheritance hierarchy). -- job: - name: system-config-run-containers - parent: system-config-run - -# Note: see above re multiple-inheritance. -- job: - name: system-config-run-containers - parent: opendev-buildset-registry-consumer - description: | - Run the "base" playbook for system-config hosts which use - containers. - - This is a parent job designed to be inherited. Use this job if - the service in question is container-based. It expects a - buildset registry and pulls images from the intermediate - registry. - -- 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: xenial - label: ubuntu-xenial - - name: bionic - label: ubuntu-bionic - files: - - 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: github.com/philpep/testinfra - - name: openstack/openstacksdk - - name: recordsansible/ara - # NOTE(ianw): 2019-06-11 pinned to stable branch until we handle 1.0 - # http://lists.openstack.org/pipermail/openstack-infra/2019-June/006400.html - override-checkout: stable/0.x - vars: - bridge_ansible_name: '{{ ansible_user_dir}}/src/github.com/ansible/ansible' - bridge_ansible_version: null - bridge_openstacksdk_name: '{{ ansible_user_dir }}/src/opendev.org/openstack/openstacksdk' - bridge_openstacksdk_version: null - bridge_ara_name: '{{ ansible_user_dir}}/src/opendev.org/recordsansible/ara' - bridge_ara_version: null - -# Although we don't have an arm64 based bridge; Zuul can't currently -# allocate a mixed x86/arm64 situation across clouds. Thus it helps -# to keep this clean so we can run the other tests. -- job: - name: system-config-run-base-arm64 - parent: system-config-run - description: | - Run the "base" playbook on ARM64. - nodeset: - nodes: - - name: bridge.openstack.org - label: ubuntu-bionic-arm64 - - name: bionic - label: ubuntu-bionic-arm64 - files: - - playbooks/ - - roles/ - - testinfra/ - -- job: - name: system-config-run-eavesdrop - parent: system-config-run-containers - description: | - Run the playbook for an eavesdrop server. - required-projects: - - opendev/ansible-role-puppet - - opendev/system-config - - openstack/project-config - requires: accessbot-container-image - nodeset: - nodes: - - name: bridge.openstack.org - label: ubuntu-bionic - - name: eavesdrop01.openstack.org - label: ubuntu-xenial - vars: - run_playbooks: - - playbooks/service-eavesdrop.yaml - files: - - playbooks/service-eavesdrop.yaml - - playbooks/run-accessbot.yaml - - playbooks/group_vars/eavesdrop.yaml - - playbooks/group_vars/puppet.yaml - - playbooks/roles/zuul-user - - playbooks/roles/install-docker - - playbooks/roles/puppet-install/ - - playbooks/roles/disable-puppet-agent/ - - playbooks/roles/accessbot - - playbooks/roles/logrotate - - modules/openstack_project/manifests/eavesdrop.pp - - manifests/eavesdrop.pp - - docker/accessbot/ - - testinfra/test_eavesdrop.py - -- job: - name: system-config-run-codesearch - parent: system-config-run - description: | - Run the playbook for an codesearch server. - nodeset: - nodes: - - name: bridge.openstack.org - label: ubuntu-bionic - - name: codesearch01.openstack.org - label: ubuntu-xenial - required-projects: - - opendev/ansible-role-puppet - - opendev/system-config - - openstack/project-config - files: - - playbooks/install-ansible.yaml - - playbooks/service-codesearch.yaml - - playbooks/group_vars/puppet.yaml - - playbooks/roles/run-puppet/ - - playbooks/roles/install-ansible-roles/ - - playbooks/roles/sync-project-config - - playbooks/roles/puppet-install/ - - playbooks/roles/disable-puppet-agent/ - - modules/openstack_project/manifests/codesearch.pp - - modules/openstack_project/files/resync-hound-config.sh - - manifests/codesearch.pp - vars: - run_playbooks: - - playbooks/service-codesearch.yaml - -- job: - name: system-config-run-letsencrypt - parent: system-config-run - description: | - Run the playbook for letsencrypt key acquisition - nodeset: - nodes: - - name: bridge.openstack.org - label: ubuntu-bionic - - name: adns-letsencrypt.opendev.org - label: ubuntu-bionic - - name: letsencrypt01.opendev.org - label: ubuntu-bionic - - name: letsencrypt02.opendev.org - label: ubuntu-bionic - vars: - run_playbooks: - - playbooks/service-nameserver.yaml - - playbooks/service-letsencrypt.yaml - host-vars: - letsencrypt01.opendev.org: - host_copy_output: - '/var/log/acme.sh': logs - letsencrypt02.opendev.org: - host_copy_output: - '/var/log/acme.sh': logs - files: - - playbooks/install-ansible.yaml - - playbooks/group_vars/letsencrypt.yaml - - playbooks/roles/letsencrypt - -- job: - name: system-config-run-lists - parent: system-config-run - description: | - Run the playbook for a list server. - nodeset: - nodes: - - name: bridge.openstack.org - label: ubuntu-bionic - - name: lists.openstack.org - label: ubuntu-xenial - required-projects: - - opendev/ansible-role-puppet - - opendev/system-config - files: - - playbooks/install-ansible.yaml - - modules/openstack_project/manifests/lists.pp - - playbooks/host_vars/lists.openstack.org.yaml - - playbooks/group_vars/puppet - - playbooks/roles/run-puppet/ - - playbooks/roles/install-ansible-roles/ - - roles/exim - vars: - run_playbooks: - - playbooks/remote_puppet_else.yaml - -- job: - name: system-config-run-nodepool - parent: system-config-run - description: | - Run the playbook for nodepool. - timeout: 3600 - nodeset: - nodes: - - name: bridge.openstack.org - label: ubuntu-bionic - - name: zk01.opendev.org - label: ubuntu-bionic - - name: nl01.openstack.org - label: ubuntu-xenial - - name: nb04.opendev.org - label: ubuntu-bionic - required-projects: - - opendev/ansible-role-puppet - - opendev/system-config - - openstack/project-config - host-vars: - nl01.openstack.org: - host_copy_output: - '/etc/nodepool/nodepool.yaml': logs - nb04.opendev.org: - host_copy_output: - '/etc/nodepool/nodepool.yaml': logs - vars: - run_playbooks: - - playbooks/service-letsencrypt.yaml - - playbooks/service-zookeeper.yaml - - playbooks/service-nodepool.yaml - - playbooks/remote_puppet_else.yaml - files: - - playbooks/install-ansible.yaml - - playbooks/group_vars/nodepool.yaml - - playbooks/group_vars/nodepool-builder.yaml - - playbooks/group_vars/nodepool-launcher.yaml - - playbooks/group_vars/puppet - - playbooks/roles/run-puppet/ - - playbooks/roles/install-ansible-roles/ - - playbooks/roles/configure-openstacksdk/ - - playbooks/roles/nodepool - - playbooks/templates/clouds/ - - testinfra/test_nodepool.py - -- job: - name: system-config-run-dns - parent: system-config-run - description: | - Run the playbook for dns. - required-projects: - - opendev/zone-opendev.org - - opendev/zone-zuul-ci.org - nodeset: - nodes: - - name: bridge.openstack.org - label: ubuntu-bionic - - name: adns1.opendev.org - label: ubuntu-bionic - - name: ns1.opendev.org - label: ubuntu-bionic - vars: - run_playbooks: - - playbooks/service-nameserver.yaml - host-vars: - adns1.opendev.org: - host_copy_output: - '/etc/bind/named.conf': logs - '/var/lib/bind/zones': logs - files: - - playbooks/install-ansible.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: system-config-run-backup - parent: system-config-run - description: | - Run the playbook for backup configuration - nodeset: - nodes: - - name: bridge.openstack.org - label: ubuntu-bionic - - name: backup01.region.provider.opendev.org - label: ubuntu-bionic - - name: backup-test01.opendev.org - label: ubuntu-bionic - - name: backup-test02.opendev.org - label: ubuntu-xenial - vars: - run_playbooks: - - playbooks/service-backup.yaml - files: - - playbooks/install-ansible.yaml - - playbooks/roles/backup - - playbooks/zuul/templates/host_vars/backup - - testinfra/test_backups.py - -- job: - name: system-config-run-mirror-base - parent: system-config-run - abstract: true - description: | - Run the playbook for a mirror node - vars: - run_playbooks: - - playbooks/service-letsencrypt.yaml - - playbooks/service-mirror.yaml - host-vars: - mirror01.openafs.provider.opendev.org: - host_copy_output: - '/var/log/apache2/': logs - '/var/log/acme.sh': logs - files: - - playbooks/install-ansible.yaml - - roles/ - - playbooks/group_vars/mirror_opendev.yaml - - playbooks/roles/mirror/ - - playbooks/roles/letsencrypt - - playbooks/service-letsencrypt.yaml - - playbooks/service-mirror.yaml - - playbooks/zuul/templates/group_vars/mirror_opendev.yaml.j2 - - testinfra/test_mirror.py - -- job: - name: system-config-run-mirror-x86 - parent: system-config-run-mirror-base - nodeset: - nodes: - - name: bridge.openstack.org - label: ubuntu-bionic - - name: mirror01.openafs.provider.opendev.org - label: ubuntu-bionic - -- job: - name: system-config-run-mirror-arm64 - parent: system-config-run-mirror-base - timeout: 3600 - nodeset: - nodes: - - name: bridge.openstack.org - label: ubuntu-bionic-arm64 - - name: mirror01.openafs.provider.opendev.org - label: ubuntu-bionic-arm64 - -- job: - name: system-config-run-mirror-update - parent: system-config-run - description: | - Run the playbook for a mirror update node - nodeset: - nodes: - - name: bridge.openstack.org - label: ubuntu-bionic - - name: mirror-update01.opendev.org - label: ubuntu-bionic - vars: - run_playbooks: - - playbooks/service-mirror-update.yaml - files: - - playbooks/install-ansible.yaml - - roles/ - - playbooks/roles/mirror-update/ - - playbooks/service-mirror-update.yaml - - testinfra/test_mirror-update.py - -- job: - name: system-config-run-docker-registry - parent: system-config-run - description: | - Run the playbook for the docker registry. - nodeset: - nodes: - - name: bridge.openstack.org - label: ubuntu-bionic - - name: insecure-ci-registry01.opendev.org - label: ubuntu-bionic - vars: - run_playbooks: - - playbooks/service-letsencrypt.yaml - - playbooks/service-registry.yaml - host-vars: - insecure-ci-registry01.opendev.org: - host_copy_output: - '/var/registry/auth': logs - '/var/registry/certs': logs - files: - - playbooks/install-ansible.yaml - - playbooks/group_vars/registry.yaml - - playbooks/host_vars/insecure-ci-registry\d+.opendev.org.yaml - - playbooks/zuul/templates/group_vars/registry.yaml.j2 - - playbooks/roles/letsencrypt-create-certs/handlers/restart_zuul_registry.yaml - - playbooks/roles/registry/ - - playbooks/roles/pip3/ - - playbooks/roles/install-docker/ - - testinfra/test_registry.py - -- job: - name: system-config-run-etherpad - parent: system-config-run-containers - description: | - Run the playbook for the etherpad servers. - timeout: 3600 - requires: etherpad-container-image - nodeset: - nodes: - - name: bridge.openstack.org - label: ubuntu-bionic - - name: etherpad01.opendev.org - label: ubuntu-bionic - vars: - run_playbooks: - - playbooks/service-letsencrypt.yaml - - playbooks/service-etherpad.yaml - files: - - playbooks/bridge.yaml - - playbooks/service-letsencrypt.yaml - - playbooks/service-etherpad.yaml - - playbooks/roles/etherpad/ - - playbooks/roles/install-docker/ - - playbooks/roles/pip3/ - - docker/etherpad/ - -- job: - name: system-config-run-gitea - parent: system-config-run-containers - description: | - Run the playbook for the gitea servers. - timeout: 3600 - nodeset: - nodes: - - name: bridge.openstack.org - label: ubuntu-bionic - - name: gitea-lb01.opendev.org - label: ubuntu-bionic - - name: gitea99.opendev.org - label: ubuntu-bionic - required-projects: - - openstack/project-config - - opendev/system-config - vars: - run_playbooks: - - playbooks/service-letsencrypt.yaml - - playbooks/service-gitea-lb.yaml - - playbooks/service-gitea.yaml - - playbooks/manage-projects.yaml - run_test_playbook: playbooks/test-gitea.yaml - host-vars: - gitea99.opendev.org: - host_copy_output: - '/var/gitea/conf': logs - '/var/gitea/certs': logs - '/var/gitea/logs': logs - gitea-lb01.opendev.org: - host_copy_output: - '/var/haproxy/etc': logs - files: - - playbooks/install-ansible.yaml - - playbooks/service-letsencrypt.yaml - - playbooks/service-gitea-lb.yaml - - playbooks/service-gitea.yaml - - playbooks/manage-projects.yaml - - playbooks/test-gitea.yaml - - playbooks/group_vars/gitea.yaml - - playbooks/group_vars/gitea-lb.yaml - - playbooks/host_vars/gitea - - playbooks/zuul/templates/group_vars/gitea.yaml.j2 - - playbooks/zuul/templates/group_vars/gitea-lb.yaml.j2 - - playbooks/roles/pip3/ - - playbooks/roles/install-docker/ - - playbooks/roles/letsencrypt - - playbooks/roles/gerrit/ - - playbooks/roles/gitea/ - - playbooks/roles/gitea-git-repos/ - - playbooks/roles/haproxy/ - - playbooks/roles/letsencrypt-create-certs/handlers/restart_gitea.yaml - - testinfra/test_gitea.py - - testinfra/test_gitea_lb.py - # From gitea_files -- If we rebuild the image, we want to run - # this job as well. - - docker/gitea/ - # From haproxy-statsd_files -- If we rebuild the image, we want - # to run this job as well. - - docker/haproxy-statsd/ - -- job: - name: system-config-run-meetpad - parent: system-config-run-containers - requires: jitsi-meet-container-image - description: | - Run the playbook for jitsi-meet. - nodeset: - nodes: - - name: bridge.openstack.org - label: ubuntu-bionic - - name: meetpad01.opendev.org - label: ubuntu-bionic - vars: - run_playbooks: - - playbooks/service-letsencrypt.yaml - - playbooks/service-meetpad.yaml - host-vars: - meetpad01.opendev.org: - host_copy_output: - '/var/jitsi-meet': logs - files: - - playbooks/install-ansible.yaml - - playbooks/group_vars/meetpad.yaml - - playbooks/host_vars/meetpad\d+.opendev.org.yaml - - playbooks/roles/letsencrypt-create-certs/handlers/restart_jitsi_meet.yaml - - playbooks/roles/jitsi-meet/ - - playbooks/roles/pip3/ - - playbooks/roles/install-docker/ - - playbooks/zuul/templates/group_vars/meetpad.yaml.j2 - - testinfra/test_meetpad.py - -- job: - name: system-config-run-zookeeper - parent: system-config-run - description: | - Run the playbook for the zookeeper cluster. - nodeset: - nodes: - - name: bridge.openstack.org - label: ubuntu-bionic - - name: zk01.opendev.org - label: ubuntu-bionic - vars: - run_playbooks: - - playbooks/service-zookeeper.yaml - files: - - playbooks/install-ansible.yaml - - playbooks/group_vars/zookeeper.yaml - - ^playbooks/host_vars/zk\d+\..* - - playbooks/roles/zookeeper/ - - playbooks/roles/pip3/ - - playbooks/roles/install-docker/ - - testinfra/test_zookeeper.py - -- job: - name: system-config-run-zuul-preview - parent: system-config-run - description: | - Run the playbook for the zuul-preview service. - nodeset: - nodes: - - name: bridge.openstack.org - label: ubuntu-bionic - - name: zp01.opendev.org - label: ubuntu-bionic - vars: - run_playbooks: - - playbooks/service-zuul-preview.yaml - files: - - playbooks/install-ansible.yaml - - playbooks/roles/zuul-preview/ - - playbooks/roles/pip3/ - - playbooks/roles/install-docker/ - - testinfra/test_zuul_preview.py - -- job: - name: system-config-run-zuul - parent: system-config-run - description: | - Run the playbook for the main Zuul cluster. - timeout: 3600 - nodeset: - nodes: - - name: bridge.openstack.org - label: ubuntu-bionic - - name: zk01.opendev.org - label: ubuntu-bionic - - name: zm01.openstack.org - label: ubuntu-xenial - - name: ze01.opendev.org - label: ubuntu-focal - - name: ze01.openstack.org - label: ubuntu-xenial - - name: zuul01.openstack.org - label: ubuntu-xenial - required-projects: - - openstack/project-config - - opendev/system-config - vars: - run_playbooks: - - playbooks/service-letsencrypt.yaml - - playbooks/service-zookeeper.yaml - - playbooks/service-zuul.yaml - host-vars: - zm01.openstack.org: - host_copy_output: - '/etc/zuul/zuul.conf': logs - ze01.opendev.org: - host_copy_output: - '/etc/zuul/zuul.conf': logs - ze01.openstack.org: - host_copy_output: - '/etc/zuul/zuul.conf': logs - zuul01.openstack.org: - host_copy_output: - '/etc/zuul/zuul.conf': logs - files: - - playbooks/install-ansible.yaml - - playbooks/service-zookeeper.yaml - - playbooks/service-zuul.yaml - - playbooks/group_vars/zuul - - playbooks/group_vars/zookeeper.yaml - - playbooks/host_vars/zk\d+ - - playbooks/host_vars/zuul01.openstack.org - - playbooks/roles/zookeeper/ - - playbooks/roles/zuul - -- job: - name: system-config-run-review - parent: system-config-run-containers - description: | - Run the playbook for gerrit (in a container). - requires: gerrit-2.13-container-image - nodeset: - nodes: - - name: bridge.openstack.org - label: ubuntu-bionic - - name: review01.openstack.org - label: ubuntu-xenial - - name: review-dev01.opendev.org - label: ubuntu-xenial - required-projects: - - openstack/project-config - - opendev/system-config - vars: - run_playbooks: - - playbooks/service-letsencrypt.yaml - - playbooks/service-review-dev.yaml - - playbooks/service-review.yaml - host-vars: - review-dev01.opendev.org: - host_copy_output: - '/home/gerrit2/review_site/etc': logs - '/home/gerrit2/review_site/logs': logs - '/var/log/apache2/': logs - '/var/log/acme.sh': logs - review01.openstack.org: - host_copy_output: - '/home/gerrit2/review_site/etc': logs - '/home/gerrit2/review_site/logs': logs - '/var/log/apache2/': logs - '/var/log/acme.sh': logs - files: - - playbooks/install-ansible.yaml - - playbooks/service-letsencrypt.yaml - - playbooks/service-review.*.yaml - - playbooks/group_vars/review.yaml - - playbooks/host_vars/review\d+.openstack.org.yaml - - playbooks/group_vars/review-dev.yaml - - playbooks/host_vars/review-dev\d+.opendev.org.yaml - - playbooks/roles/pip3/ - - playbooks/roles/install-docker/ - - playbooks/roles/letsencrypt - - playbooks/roles/gerrit/ - - playbooks/zuul/templates/group_vars/review-dev.yaml.j2 - - playbooks/zuul/templates/group_vars/review.yaml.j2 - - testinfra/test_gerrit.py - -- job: - name: system-config-run-static - parent: system-config-run - description: | - Run the playbook for a static node. - timeout: 3600 - nodeset: - nodes: - - name: bridge.openstack.org - label: ubuntu-bionic - - name: static01.opendev.org - label: ubuntu-bionic - vars: - run_playbooks: - - playbooks/service-letsencrypt.yaml - - playbooks/service-static.yaml - files: - - playbooks/install-ansible.yaml - - playbooks/roles/static/ - - playbooks/roles/letsencrypt - - playbooks/service-letsencrypt.yaml - - playbooks/service-static.yaml - - testinfra/test_static.py - host-vars: - static01.opendev.org: - host_copy_output: - '/var/log/acme.sh/': logs - '/etc/apache2/': logs - '/var/log/apache2/': logs - -- job: - name: system-config-puppet-apply-4-ubuntu-xenial - # Required to install z-c for puppet module installs. - parent: legacy-base - timeout: 1800 - nodeset: ubuntu-xenial - vars: - puppet_version: 4 - required-projects: - - opendev/system-config - - opendev/ansible-role-puppet - - opendev/puppet-ansible - - opendev/puppet-apparmor - - opendev/puppet-askbot - - opendev/puppet-asterisk - - opendev/puppet-bandersnatch - - opendev/puppet-bugdaystats - - opendev/puppet-bup - - opendev/puppet-cgit - - opendev/puppet-ciwatch - - opendev/puppet-diskimage_builder - - opendev/puppet-drupal - - opendev/puppet-elastic_recheck - - opendev/puppet-elasticsearch - - opendev/puppet-ethercalc - - opendev/puppet-etherpad_lite - - opendev/puppet-exim - - opendev/puppet-germqtt - - opendev/puppet-gerrit - - opendev/puppet-gerritbot - - opendev/puppet-github - - opendev/puppet-grafyaml - - opendev/puppet-graphite - - opendev/puppet-haveged - - opendev/puppet-hound - - opendev/puppet-httpd - - opendev/puppet-infracloud - - opendev/puppet-infra-cookiecutter - - opendev/puppet-ipsilon - - opendev/puppet-iptables - - opendev/puppet-jeepyb - - opendev/puppet-jenkins - - opendev/puppet-kerberos - - opendev/puppet-kibana - - opendev/puppet-lodgeit - - opendev/puppet-log_processor - - opendev/puppet-logrotate - - opendev/puppet-logstash - - opendev/puppet-lpmqtt - - opendev/puppet-mailman - - opendev/puppet-mediawiki - - opendev/puppet-meetbot - - opendev/puppet-mosquitto - - opendev/puppet-mqtt_statsd - - opendev/puppet-mysql_backup - - opendev/puppet-nodepool - - opendev/puppet-openafs - - opendev/puppet-openstackci - - opendev/puppet-openstack_health - - opendev/puppet-openstackid - - opendev/puppet-openstack_infra_spec_helper - - opendev/puppet-os_client_config - - opendev/puppet-packagekit - - opendev/puppet-pgsql_backup - - opendev/puppet-phabricator - - opendev/puppet-pip - - opendev/puppet-planet - - opendev/puppet-project_config - - opendev/puppet-ptgbot - - opendev/puppet-puppet - - opendev/puppet-redis - - opendev/puppet-refstack - - opendev/puppet-reviewday - - opendev/puppet-simpleproxy - - opendev/puppet-snmpd - - opendev/puppet-ssh - - opendev/puppet-ssl_cert_check - - opendev/puppet-statusbot - - opendev/puppet-storyboard - - opendev/puppet-subunit2sql - - opendev/puppet-sudoers - - opendev/puppet-tmpreaper - - opendev/puppet-translation_checksite - - opendev/puppet-ulimit - - opendev/puppet-unattended_upgrades - - opendev/puppet-unbound - - opendev/puppet-user - - opendev/puppet-vcsrepo - - opendev/puppet-zanata - - opendev/puppet-zuul - pre-run: playbooks/zuul/infra-puppet-apply/pre.yaml - run: playbooks/zuul/infra-puppet-apply/run.yaml - post-run: playbooks/zuul/infra-puppet-apply/post.yaml - irrelevant-files: - - docker/.* - - playbooks/.* - -- job: - name: system-config-puppet-beaker-rspec-infra - parent: legacy-base - description: | - Base job for beaker-rspec tests for Infra's puppet modules. - nodeset: ubuntu-xenial - run: playbooks/zuul/infra-puppet-beaker-rspec/run.yaml - vars: - nodeset: nodepool-xenial - project_src_dir: "{{ zuul.project.src_dir }}" - timeout: 3600 - irrelevant-files: - - ^.*\.md$ - - ^.*\.rst$ - - ^doc/.*$ - - ^etc/.*$ - - ^metadata.json$ - - ^releasenotes/.*$ - - ^test-requirements.txt$ - required-projects: - - openstack/project-config - - opendev/system-config - - opendev/puppet-openstack_infra_spec_helper - - opendev/puppet-bugdaystats - - opendev/puppet-mysql_backup - - opendev/puppet-openstackci - - opendev/puppet-zuul - - opendev/puppet-mqtt_statsd - - opendev/puppet-meetbot - - opendev/puppet-hound - - opendev/puppet-pip - - opendev/puppet-os_client_config - - opendev/puppet-openstackid - - opendev/puppet-bandersnatch - - opendev/puppet-project_config - - opendev/puppet-grafyaml - - opendev/puppet-refstack - - opendev/puppet-github - - opendev/puppet-ethercalc - - opendev/puppet-unattended_upgrades - - opendev/puppet-openafs - - opendev/puppet-httpd - - opendev/puppet-drupal - - opendev/puppet-subunit2sql - - opendev/puppet-reviewday - - opendev/puppet-kibana - - opendev/puppet-redis - - opendev/puppet-phabricator - - opendev/puppet-ssl_cert_check - - opendev/puppet-lpmqtt - - opendev/puppet-germqtt - - opendev/puppet-cgit - - opendev/puppet-packagekit - - opendev/puppet-haveged - - opendev/puppet-graphite - - opendev/puppet-diskimage_builder - - opendev/puppet-sudoers - - opendev/puppet-zanata - - opendev/puppet-logstash - - opendev/puppet-gerritbot - - opendev/puppet-asterisk - - opendev/puppet-statusbot - - opendev/puppet-gerrit - - opendev/puppet-mediawiki - - opendev/puppet-mailman - - opendev/puppet-exim - - opendev/puppet-tmpreaper - - opendev/puppet-elastic_recheck - - opendev/puppet-ulimit - - opendev/puppet-planet - - opendev/puppet-nodepool - - opendev/puppet-logrotate - - opendev/puppet-infracloud - - opendev/puppet-elasticsearch - - opendev/puppet-unbound - - opendev/puppet-storyboard - - opendev/puppet-openstack_health - - opendev/puppet-kerberos - - opendev/puppet-askbot - - opendev/puppet-log_processor - - opendev/puppet-simpleproxy - - opendev/puppet-iptables - - opendev/puppet-lodgeit - - opendev/puppet-etherpad_lite - - opendev/puppet-mosquitto - - opendev/puppet-bup - - opendev/puppet-pgsql_backup - - opendev/puppet-ansible - - opendev/puppet-ssh - - opendev/puppet-snmpd - - opendev/puppet-user - - opendev/puppet-jeepyb - - opendev/puppet-ptgbot - - opendev/puppet-jenkins - - opendev/puppet-vcsrepo - -- job: - name: system-config-puppet-beaker-rspec-puppet-4-infra - parent: system-config-puppet-beaker-rspec-infra - description: | - Run beaker-rspec functional tests with puppet 4 on Ubuntu Xenial. - vars: - puppet_version: 4 - -- job: - name: system-config-openstackci-beaker-puppet-4 - parent: system-config-puppet-beaker-rspec-infra - description: | - Run beaker-rspec functional tests with puppet 4 on Ubuntu Xenial for the - puppet-openstackci module. - vars: - project_src_dir: "{{ zuul.projects['opendev.org/opendev/puppet-openstackci'].src_dir }}" - puppet_version: 4 - -- project-template: - name: system-config-puppet-apply-jobs - description: | - Runs puppet apply tests for OpenStack Infrastructure. - check: - jobs: - - system-config-puppet-apply-4-ubuntu-xenial - - system-config-openstackci-beaker-puppet-4 - gate: - jobs: - - system-config-puppet-apply-4-ubuntu-xenial - - system-config-openstackci-beaker-puppet-4 - -- project-template: - name: system-config-puppet-beaker-jobs - description: | - Runs puppet beaker tests for OpenStack Infrastructure. - The jobs are run on Ubuntu Xenial. - check: - jobs: - - system-config-puppet-beaker-rspec-puppet-4-infra - gate: - jobs: - - system-config-puppet-beaker-rspec-puppet-4-infra - -- job: - name: system-config-legacy-logstash-filters - parent: legacy-base - required-projects: - - opendev/ansible-role-puppet - - openstack/logstash-filters - - opendev/puppet-ansible - - opendev/puppet-askbot - - opendev/puppet-asterisk - - opendev/puppet-bandersnatch - - opendev/puppet-bugdaystats - - opendev/puppet-bup - - opendev/puppet-cgit - - opendev/puppet-diskimage_builder - - opendev/puppet-drupal - - opendev/puppet-elastic_recheck - - opendev/puppet-elasticsearch - - opendev/puppet-ethercalc - - opendev/puppet-etherpad_lite - - opendev/puppet-exim - - opendev/puppet-germqtt - - opendev/puppet-gerrit - - opendev/puppet-gerritbot - - opendev/puppet-github - - opendev/puppet-grafyaml - - opendev/puppet-graphite - - opendev/puppet-haveged - - opendev/puppet-hound - - opendev/puppet-httpd - - opendev/puppet-infracloud - - opendev/puppet-iptables - - opendev/puppet-jeepyb - - opendev/puppet-jenkins - - opendev/puppet-kerberos - - opendev/puppet-kibana - - opendev/puppet-lodgeit - - opendev/puppet-log_processor - - opendev/puppet-logrotate - - opendev/puppet-logstash - - opendev/puppet-lpmqtt - - opendev/puppet-mailman - - opendev/puppet-mediawiki - - opendev/puppet-meetbot - - opendev/puppet-mosquitto - - opendev/puppet-mqtt_statsd - - opendev/puppet-mysql_backup - - opendev/puppet-nodepool - - opendev/puppet-openafs - - opendev/puppet-openstackci - - opendev/puppet-openstack_health - - opendev/puppet-openstackid - - opendev/puppet-os_client_config - - opendev/puppet-packagekit - - opendev/puppet-pgsql_backup - - opendev/puppet-phabricator - - opendev/puppet-pip - - opendev/puppet-planet - - opendev/puppet-project_config - - opendev/puppet-ptgbot - - opendev/puppet-redis - - opendev/puppet-refstack - - opendev/puppet-reviewday - - opendev/puppet-simpleproxy - - opendev/puppet-snmpd - - opendev/puppet-ssh - - opendev/puppet-ssl_cert_check - - opendev/puppet-statusbot - - opendev/puppet-storyboard - - opendev/puppet-subunit2sql - - opendev/puppet-sudoers - - opendev/puppet-tmpreaper - - opendev/puppet-ulimit - - opendev/puppet-unattended_upgrades - - opendev/puppet-unbound - - opendev/puppet-user - - opendev/puppet-vcsrepo - - opendev/puppet-zanata - - opendev/puppet-zuul - - opendev/system-config - run: playbooks/zuul/logstash-filters/run.yaml - post-run: playbooks/zuul/logstash-filters/post.yaml - timeout: 1800 - nodeset: ubuntu-xenial - -- project-template: - name: system-config-logstash-filter-jobs - check: - jobs: - - system-config-legacy-logstash-filters - gate: - jobs: - - system-config-legacy-logstash-filters - -# Make sure only one run of a system-config playbook happens at a time -- semaphore: - name: infra-prod-playbook - max: 1 - -- 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 - /home/zuul/src/opendev.org/opendev/system-config/playbooks - on bridge.openstack.org. - abstract: true - semaphore: infra-prod-playbook - run: playbooks/zuul/run-production-playbook.yaml - required-projects: - - opendev/system-config - vars: - infra_prod_ansible_forks: 5 - infra_prod_playbook_collect_log: false - nodeset: - nodes: [] - -- job: - name: infra-prod-install-ansible - parent: infra-prod-playbook - description: Install ansible on bridge. - vars: - playbook_name: install-ansible.yaml - files: - - inventory/ - - roles/ - - install_modules.sh - - modules.env - - playbooks/install-ansible.yaml - - playbooks/roles/pip3/ - - playbooks/roles/install-ansible/ - - playbooks/roles/logrotate/ - - playbooks/roles/root-keys/ - - playbooks/host_vars/bridge.openstack.org.yaml - - playbooks/zuul/run-production-playbook.yaml - -- job: - name: infra-prod-base - parent: infra-prod-playbook - description: Run the base playbook everywhere. - dependencies: - - name: infra-prod-install-ansible - soft: true - vars: - playbook_name: base.yaml - infra_prod_ansible_forks: 50 - files: - - inventory/ - - playbooks/host_vars/ - - playbooks/group_vars/ - - playbooks/base.yaml - - playbooks/roles/users/ - - playbooks/roles/base-repos/ - - playbooks/roles/base-server/ - - playbooks/roles/timezone/ - - playbooks/roles/unbound/ - - playbooks/roles/exim/ - - playbooks/roles/snmpd/ - - playbooks/roles/iptables/ - -- job: - name: infra-prod-service-letsencrypt - parent: infra-prod-playbook - description: Run service-letsencrypt.yaml playbook. - vars: - playbook_name: service-letsencrypt.yaml - dependencies: - - name: infra-prod-install-ansible - soft: true - - name: infra-prod-base - soft: true - files: - - inventory/ - - playbooks/service-letsencrypt.yaml - # Any touching of host_vars or group_vars can substantively - # change the certs we're doing, so be greedy here. - - playbooks/host_vars/ - - playbooks/group_vars/ - - playbooks/roles/letsencrypt - - playbooks/roles/logrotate/ - -- job: - name: infra-prod-manage-projects - parent: infra-prod-playbook - description: | - Create and update projects in gerrit and gitea. - allowed-projects: - - opendev/system-config - - openstack/project-config - required-projects: - - opendev/system-config - - openstack/project-config - vars: - playbook_name: manage-projects.yaml - infra_prod_ansible_forks: 10 - infra_prod_playbook_collect_log: true - -- job: - name: infra-prod-service-base - parent: infra-prod-playbook - description: Base job for most service playbooks. - abstract: true - dependencies: - - name: infra-prod-install-ansible - soft: true - - name: infra-prod-base - soft: true - - name: infra-prod-service-letsencrypt - soft: true - -- job: - name: infra-prod-service-bridge - parent: infra-prod-service-base - description: Run service-bridge.yaml playbook. - vars: - playbook_name: service-bridge.yaml - files: - - inventory/ - - playbooks/service-bridge.yaml - - playbooks/host_vars/bridge.openstack.org.yaml - - playbooks/roles/logrotate/ - - playbooks/roles/edit-secrets-script/ - - playbooks/roles/install-kubectl/ - - playbooks/roles/configure-kubectl/ - - playbooks/roles/configure-openstacksdk/ - - playbooks/templates/clouds/bridge_all_clouds.yaml.j2 - -- job: - name: infra-prod-service-gitea-lb - parent: infra-prod-service-base - description: Run service-gitea-lb.yaml playbook. - vars: - playbook_name: service-gitea-lb.yaml - files: - - inventory/ - - playbooks/service-gitea-lb.yaml - - playbooks/group_vars/gitea-lb.yaml - - playbooks/roles/pip3/ - - playbooks/roles/install-docker/ - - playbooks/roles/haproxy/ - -- job: - name: infra-prod-service-nameserver - parent: infra-prod-service-base - description: Run service-nameserver.yaml playbook. - vars: - playbook_name: service-nameserver.yaml - files: - - inventory/ - - playbooks/service-nameserver.yaml - - playbooks/host_vars/adns1.opendev.org.yaml - - playbooks/host_vars/ns1.opendev.org.yaml - - playbooks/host_vars/ns2.opendev.org.yaml - - playbooks/group_vars/adns.yaml - - playbooks/group_vars/ns.yaml - - playbooks/roles/master-nameserver/ - - playbooks/roles/nameserver/ - -- job: - name: infra-prod-service-nodepool - parent: infra-prod-service-base - description: Run service-nodepool.yaml playbook. - vars: - playbook_name: service-nodepool.yaml - required-projects: - - opendev/system-config - - openstack/project-config - files: - - inventory/ - - playbooks/service-nodepool.yaml - - playbooks/host_vars/nb - - playbooks/host_vars/nl - - playbooks/group_vars/nodepool - - playbooks/group_vars/puppet - - playbooks/roles/install-ansible-roles/ - - playbooks/roles/run-puppet/ - - playbooks/roles/configure-kubectl/ - - playbooks/roles/configure-openstacksdk/ - - playbooks/roles/install-docker/ - - playbooks/roles/nodepool - - playbooks/templates/clouds/nodepool_ - -- job: - name: infra-prod-service-etherpad - parent: infra-prod-service-base - description: Run service-etherpad.yaml playbook. - vars: - playbook_name: service-etherpad.yaml - files: - - inventory/ - - playbooks/service-etherpad.yaml - - playbooks/host_vars/etherpad01.opendev.org.yaml - - playbooks/group_vars/etherpad - - playbooks/roles/install-docker/ - - playbooks/roles/pip3/ - - playbooks/roles/etherpad - - playbooks/roles/logrotate - -- job: - name: infra-prod-service-meetpad - parent: infra-prod-service-base - description: Run service-meetpad.yaml playbook. - dependencies: - - name: infra-prod-install-ansible - soft: true - - name: infra-prod-base - soft: true - - name: infra-prod-service-letsencrypt - soft: true - - name: system-config-promote-image-jitsi-meet - soft: true - vars: - playbook_name: service-meetpad.yaml - files: - - inventory/ - - playbooks/service-meetpad.yaml - - playbooks/host_vars/meetpad01.opendev.org.yaml - - playbooks/group_vars/meetpad.yaml - - playbooks/roles/pip3/ - - playbooks/roles/install-docker/ - - playbooks/roles/jitsi-meet/ - -- job: - name: infra-prod-service-mirror-update - parent: infra-prod-service-base - description: Run service-mirror-update.yaml playbook. - vars: - playbook_name: service-mirror-update.yaml - files: - - inventory/ - - playbooks/service-mirror-update.yaml - - playbooks/roles/kerberos-client/ - - playbooks/roles/openafs-client/ - - playbooks/roles/mirror-update/ - - playbooks/roles/logrotate/ - -- job: - name: infra-prod-service-mirror - parent: infra-prod-service-base - description: Run service-mirror.yaml playbook. - vars: - playbook_name: service-mirror.yaml - files: - - inventory/ - - playbooks/service-mirror.yaml - - playbooks/group_vars/mirror_opendev.yaml - - playbooks/roles/kerberos-client/ - - playbooks/roles/openafs-client/ - - playbooks/roles/mirror/ - - playbooks/roles/afs-release/ - - playbooks/roles/afsmon/ - - playbooks/roles/logrotate/ - -- job: - name: infra-prod-service-static - parent: infra-prod-service-base - description: Run service-static.yaml playbook. - vars: - playbook_name: service-static.yaml - files: - - inventory/ - - playbooks/service-static.yaml - - playbooks/host_vars/static01.opendev.org.yaml - - playbooks/group_vars/static.yaml - - playbooks/roles/kerberos-client/ - - playbooks/roles/openafs-client/ - - playbooks/roles/static/ - - playbooks/roles/zuul-user/ - -- job: - name: infra-prod-service-backup - parent: infra-prod-service-base - description: Run service-backup.yaml playbook. - vars: - playbook_name: service-backup.yaml - files: - - inventory/ - - playbooks/service-backup.yaml - - playbooks/roles/backup/ - - playbooks/roles/backup-server/ - -- job: - name: infra-prod-service-registry - parent: infra-prod-service-base - description: Run service-registry.yaml playbook. - vars: - playbook_name: service-registry.yaml - files: - - inventory/ - - playbooks/service-registry.yaml - - playbooks/group_vars/registry.yaml - - playbooks/roles/pip3/ - - playbooks/roles/install-docker/ - - playbooks/roles/registry/ - -- job: - name: infra-prod-service-zuul-preview - parent: infra-prod-service-base - description: Run service-zuul-preview.yaml playbook. - vars: - playbook_name: service-zuul-preview.yaml - files: - - inventory/ - - playbooks/service-zuul-preview.yaml - - playbooks/group_vars/zuul-preview.yaml - - playbooks/roles/pip3/ - - playbooks/roles/install-docker/ - - playbooks/roles/zuul-preview/ - -- job: - name: infra-prod-service-zookeeper - parent: infra-prod-service-base - description: Run service-zookeeper.yaml playbook. - vars: - playbook_name: service-zookeeper.yaml - files: - - inventory/.* - - playbooks/group_vars/zookeeper.yaml - - ^playbooks/host_vars/zk\d+\..* - - playbooks/roles/pip3/ - - playbooks/roles/install-docker/ - - playbooks/roles/zookeeper/ - -- job: - name: infra-prod-service-zuul - parent: infra-prod-service-base - description: | - Run service-zuul.yaml playbook. - - This configures the main Zuul cluster. It will perform a - smart-reconfigure of the scheduler if the tenant configuration - is changed. - vars: - playbook_name: service-zuul.yaml - dependencies: - - name: infra-prod-install-ansible - soft: true - - name: infra-prod-base - soft: true - - name: infra-prod-service-letsencrypt - soft: true - - name: infra-prod-manage-projects - soft: true - files: - - inventory/.* - - playbooks/install-ansible.yaml - - playbooks/service-zuul.yaml - - playbooks/group_vars/zuul - - playbooks/group_vars/zookeeper.yaml - - playbooks/host_vars/zk\d+ - - playbooks/host_vars/zuul01.openstack.org - - playbooks/roles/install-docker/ - - playbooks/roles/zookeeper/ - - playbooks/roles/zuul - -- job: - name: infra-prod-service-review - parent: infra-prod-service-base - description: Run service-review.yaml playbook. - vars: - playbook_name: service-review.yaml - dependencies: &infra_prod_service_review_deps - - name: infra-prod-install-ansible - soft: true - - name: infra-prod-base - soft: true - - name: infra-prod-service-letsencrypt - soft: true - - name: system-config-promote-image-gerrit-2.13 - soft: true - files: - - inventory/ - - playbooks/service-review.yaml - - playbooks/group_vars/gerrit.yaml - - playbooks/host_vars/review01.openstack.org.yaml - - playbooks/roles/pip3/ - - playbooks/roles/install-docker/ - - playbooks/roles/gerrit/ - -- job: - name: infra-prod-service-review-dev - parent: infra-prod-service-base - description: Run service-review-dev.yaml playbook. - vars: - playbook_name: service-review-dev.yaml - dependencies: *infra_prod_service_review_deps - files: - - inventory/ - - playbooks/service-review-dev.yaml - - playbooks/group_vars/gerrit.yaml - - playbooks/host_vars/review-dev01.opendev.org.yaml - - playbooks/roles/pip3/ - - playbooks/roles/install-docker/ - - playbooks/roles/gerrit/ - -- job: - name: infra-prod-service-gitea - parent: infra-prod-service-base - description: Run service-gitea.yaml playbook. - vars: - playbook_name: service-gitea.yaml - dependencies: - - name: infra-prod-install-ansible - soft: true - - name: infra-prod-base - soft: true - - name: infra-prod-service-letsencrypt - soft: true - - name: system-config-promote-image-gitea-init - soft: true - - name: system-config-promote-image-gitea - soft: true - files: - - inventory/ - - playbooks/service-gitea.yaml - - playbooks/group_vars/gitea.yaml - - playbooks/host_vars/gitea[0-9][0-9] - - playbooks/roles/install-docker/ - - playbooks/roles/pip3/ - - playbooks/roles/gitea/ - - playbooks/roles/logrotate/ - - docker/gitea/ - - docker/gitea-init/ - - docker/jinja-init/ - - docker/python-base/ - -- job: - name: infra-prod-service-codesearch - parent: infra-prod-service-base - description: Run service-codesearch.yaml playbook. - required-projects: - - opendev/ansible-role-puppet - - opendev/system-config - - openstack/project-config - vars: - playbook_name: service-codesearch.yaml - files: - - inventory/ - - playbooks/install-ansible.yaml - - playbooks/service-codesearch.yaml - - playbooks/group_vars/puppet.yaml - - playbooks/roles/run-puppet/ - - playbooks/roles/install-ansible-roles/ - - playbooks/roles/sync-project-config - - playbooks/roles/puppet-install/ - - playbooks/roles/disable-puppet-agent/ - - modules/openstack_project/manifests/codesearch.pp - - modules/openstack_project/files/resync-hound-config.sh - - manifests/codesearch.pp - -- job: - name: infra-prod-service-eavesdrop - parent: infra-prod-service-base - description: Run service-eavesdrop.yaml playbook. - required-projects: - - opendev/ansible-role-puppet - - opendev/system-config - - openstack/project-config - dependencies: - - name: infra-prod-install-ansible - soft: true - - name: infra-prod-base - soft: true - - name: infra-prod-service-letsencrypt - soft: true - - name: system-config-promote-image-accessbot - soft: true - vars: - playbook_name: service-eavesdrop.yaml - files: &infra_prod_eavesdrop_files - - inventory/ - - playbooks/service-eavesdrop.yaml - - playbooks/run-accessbot.yaml - - playbooks/group_vars/eavesdrop.yaml - - playbooks/group_vars/puppet.yaml - - playbooks/roles/run-puppet/ - - playbooks/roles/install-ansible-roles/ - - playbooks/roles/zuul-user - - playbooks/roles/install-docker - - playbooks/roles/puppet-install/ - - playbooks/roles/disable-puppet-agent/ - - playbooks/roles/accessbot - - playbooks/roles/logrotate - - modules/openstack_project/manifests/eavesdrop.pp - - manifests/eavesdrop.pp - - docker/accessbot/ - -- job: - name: infra-prod-run-accessbot - parent: infra-prod-service-base - description: Run run-accessbot.yaml playbook. - required-projects: - - opendev/system-config - - openstack/project-config - dependencies: - - infra-prod-service-eavesdrop - vars: - playbook_name: run-accessbot.yaml - files: *infra_prod_eavesdrop_files - -# Run AFS changes separately so we can make sure to only do one at a time -# (turns out quorum is nice to have) -- job: - name: infra-prod-remote-puppet-afs - parent: infra-prod-service-base - description: Run remote-puppet-afs.yaml playbook. - vars: - playbook_name: remote_puppet_afs.yaml - infra_prod_ansible_forks: 1 - required-projects: - - opendev/ansible-role-puppet - - opendev/system-config - files: - - inventory/ - - playbooks/remote_puppet_afs.yaml - - playbooks/group_vars/afs - - playbooks/group_vars/mirror-update - - playbooks/group_vars/puppet - - playbooks/roles/run-puppet/ - - playbooks/roles/install-ansible-roles/ - - playbooks/roles/puppet-install/ - - playbooks/roles/disable-puppet-agent/ - - playbooks/roles/vos-release/ - - modules/ - - manifests/ - -- job: - name: infra-prod-remote-puppet-else - parent: infra-prod-service-base - description: Run remote-puppet-else.yaml playbook. - vars: - playbook_name: remote_puppet_else.yaml - infra_prod_ansible_forks: 50 - required-projects: - - opendev/ansible-role-puppet - - opendev/system-config - files: - - hiera/ - - inventory/ - - playbooks/remote_puppet_else.yaml - - playbooks/group_vars/ - - playbooks/host_vars/ - - playbooks/group_vars/puppet - - playbooks/roles/run-puppet/ - - playbooks/roles/install-ansible-roles/ - - playbooks/roles/puppet-install/ - - playbooks/roles/disable-puppet-agent/ - - modules/ - - manifests/ - -- job: - name: infra-prod-run-cloud-launcher - parent: infra-prod-service-base - description: Run cloud launcher playbook - vars: - playbook_name: run_cloud_launcher.yaml - infra_prod_ansible_forks: 1 - required-projects: - - opendev/ansible-role-cloud-launcher - - opendev/system-config - dependencies: - - name: infra-prod-service-bridge - soft: true - files: - - playbooks/run_cloud_launcher.yaml - - playbooks/host_vars/bridge.openstack.org.yaml - -- job: - name: system-config-goaccess-report - description: | - Run goaccess tool on static.opendev.org hosted site. - abstract: true - protected: true - timeout: 7200 - nodeset: - nodes: [] - run: playbooks/periodic/goaccess.yaml - -- job: - name: developer-openstack-goaccess-report - parent: system-config-goaccess-report - description: | - Run goaccess tool on developer.openstack.org. - final: true - protected: true - vars: - goaccess_site: developer.openstack.org - -- job: - name: docs-opendev-goaccess-report - parent: system-config-goaccess-report - description: | - Run goaccess tool on docs.opendev.org. - final: true - protected: true - vars: - goaccess_site: docs.opendev.org - -- job: - name: docs-openstack-goaccess-report - parent: system-config-goaccess-report - description: | - Run goaccess tool on docs.openstack.org. - final: true - protected: true - vars: - goaccess_site: docs.openstack.org - -- job: - name: docs-starlingx-goaccess-report - parent: system-config-goaccess-report - description: | - Run goaccess tool on docs.starlingx.io. - final: true - protected: true - vars: - goaccess_site: docs.starlingx.io - -- job: - name: governance-openstack-goaccess-report - parent: system-config-goaccess-report - description: | - Run goaccess tool on governance.openstack.org. - final: true - protected: true - vars: - goaccess_site: governance.openstack.org - -- job: - name: releases-openstack-goaccess-report - parent: system-config-goaccess-report - description: | - Run goaccess tool on releases.openstack.org. - final: true - protected: true - vars: - goaccess_site: releases.openstack.org - -- job: - name: security-openstack-goaccess-report - parent: system-config-goaccess-report - description: | - Run goaccess tool on security.openstack.org. - final: true - protected: true - vars: - goaccess_site: security.openstack.org - -- job: - name: specs-openstack-goaccess-report - parent: system-config-goaccess-report - description: | - Run goaccess tool on specs.openstack.org. - final: true - protected: true - vars: - goaccess_site: specs.openstack.org - -- job: - name: tarballs-opendev-goaccess-report - parent: system-config-goaccess-report - description: | - Run goaccess tool on tarballs.opendev.org. - final: true - protected: true - vars: - goaccess_site: tarballs.opendev.org - -- job: - name: zuul-ci-goaccess-report - parent: system-config-goaccess-report - description: | - Run goaccess tool on zuul-ci.org. - final: true - protected: true - vars: - goaccess_site: zuul-ci.org - -- project-template: - name: system-config-gerrit-images - check: - jobs: - - system-config-build-image-gerrit-base: - dependencies: - - name: opendev-buildset-registry - - name: system-config-build-image-python-builder-3.7 - soft: true - - system-config-build-image-gerrit-2.13: - dependencies: - - name: opendev-buildset-registry - - name: system-config-build-image-python-builder-3.7 - soft: true - - name: system-config-build-image-gerrit-base - soft: true - - system-config-build-image-gerrit-2.14: - dependencies: - - name: opendev-buildset-registry - - name: system-config-build-image-gerrit-base - soft: true - - system-config-build-image-gerrit-2.15: - dependencies: - - name: opendev-buildset-registry - - name: system-config-build-image-gerrit-base - soft: true - - system-config-build-image-gerrit-2.16: - dependencies: - - name: opendev-buildset-registry - - name: system-config-build-image-gerrit-base - soft: true - - system-config-build-image-gerrit-3.0: - dependencies: - - name: opendev-buildset-registry - - name: system-config-build-image-gerrit-base - soft: true - - system-config-build-image-gerrit-master: - voting: false - dependencies: - - name: opendev-buildset-registry - - name: system-config-build-image-gerrit-base - soft: true - gate: - jobs: - - system-config-upload-image-gerrit-base: - dependencies: - - name: opendev-buildset-registry - - name: system-config-upload-image-python-builder-3.7 - soft: true - - system-config-upload-image-gerrit-2.13: - dependencies: - - name: opendev-buildset-registry - - name: system-config-upload-image-python-builder-3.7 - soft: true - - name: system-config-upload-image-gerrit-base - soft: true - - system-config-upload-image-gerrit-2.14: - dependencies: - - name: opendev-buildset-registry - - name: system-config-upload-image-gerrit-base - soft: true - - system-config-upload-image-gerrit-2.15: - dependencies: - - name: opendev-buildset-registry - - name: system-config-upload-image-gerrit-base - soft: true - - system-config-upload-image-gerrit-2.16: - dependencies: - - name: opendev-buildset-registry - - name: system-config-upload-image-gerrit-base - soft: true - - system-config-upload-image-gerrit-3.0: - dependencies: - - name: opendev-buildset-registry - - name: system-config-upload-image-gerrit-base - soft: true - deploy: - jobs: - - system-config-promote-image-gerrit-base - - system-config-promote-image-gerrit-2.13 - - system-config-promote-image-gerrit-2.14 - - system-config-promote-image-gerrit-2.15 - - system-config-promote-image-gerrit-2.16 - - system-config-promote-image-gerrit-3.0 - -- project: - templates: - - system-config-zuul-role-integration - - system-config-gerrit-images - - system-config-puppet-apply-jobs - - system-config-logstash-filter-jobs - check: - jobs: - - opendev-tox-docs - - opendev-buildset-registry - - tox-linters - - system-config-run-base - - system-config-run-base-ansible-devel: - voting: false - - system-config-run-backup - - system-config-run-dns - - system-config-run-eavesdrop: - dependencies: - - name: opendev-buildset-registry - - name: system-config-build-image-accessbot - soft: true - - system-config-run-codesearch - - system-config-run-lists - - system-config-run-nodepool - - system-config-run-meetpad: - dependencies: - - name: opendev-buildset-registry - - name: system-config-build-image-jitsi-meet - soft: true - - system-config-run-mirror-x86 - - system-config-run-mirror-update - - system-config-run-static - - system-config-run-docker-registry - - system-config-run-etherpad: - dependencies: - - name: opendev-buildset-registry - - name: system-config-build-image-etherpad - soft: true - - system-config-run-gitea: - dependencies: - - name: opendev-buildset-registry - - name: system-config-build-image-gitea - soft: true - - name: system-config-build-image-haproxy-statsd - soft: true - - system-config-run-review: - dependencies: - - name: opendev-buildset-registry - - name: system-config-build-image-gerrit-2.13 - soft: true - - system-config-run-zookeeper - - system-config-run-zuul - - system-config-run-zuul-preview - - system-config-run-letsencrypt - - system-config-build-image-jinja-init: - dependencies: - - name: opendev-buildset-registry - - name: system-config-build-image-python-base-3.7 - soft: true - - system-config-build-image-gitea-init: - dependencies: - - name: opendev-buildset-registry - - name: system-config-build-image-jinja-init - soft: true - - system-config-build-image-etherpad - - system-config-build-image-gitea - - system-config-build-image-jitsi-meet - - system-config-build-image-haproxy-statsd: - dependencies: - - name: opendev-buildset-registry - - name: system-config-build-image-python-base-3.7 - soft: true - - system-config-build-image-accessbot: - dependencies: - - name: opendev-buildset-registry - - name: system-config-build-image-python-base-3.7 - soft: true - - system-config-build-image-python-base-3.7 - - system-config-build-image-python-base-3.8 - - system-config-build-image-python-builder-3.7 - - system-config-build-image-python-builder-3.8 - - system-config-build-image-uwsgi-base-3.7 - - system-config-build-image-uwsgi-base-3.8 - check-arm64: - jobs: - - system-config-run-base-arm64 - - system-config-run-mirror-arm64 - gate: - jobs: - - opendev-tox-docs - - opendev-buildset-registry - - tox-linters - - system-config-run-base - - system-config-run-dns - - system-config-run-eavesdrop: - dependencies: - - name: opendev-buildset-registry - - name: system-config-upload-image-accessbot - soft: true - - system-config-run-codesearch - - system-config-run-lists - - system-config-run-nodepool - - system-config-run-meetpad: - dependencies: - - name: opendev-buildset-registry - - name: system-config-upload-image-jitsi-meet - soft: true - - system-config-run-mirror-x86 - - system-config-run-mirror-update - - system-config-run-static - - system-config-run-docker-registry - - system-config-run-etherpad: - dependencies: - - name: opendev-buildset-registry - - name: system-config-upload-image-etherpad - soft: true - - system-config-run-gitea: - dependencies: - - name: opendev-buildset-registry - - name: system-config-upload-image-gitea - soft: true - - name: system-config-upload-image-haproxy-statsd - soft: true - - system-config-run-review: - dependencies: - - name: opendev-buildset-registry - - name: system-config-upload-image-gerrit-2.13 - soft: true - - system-config-run-zookeeper - - system-config-run-zuul - - system-config-run-zuul-preview - - system-config-run-letsencrypt - - system-config-upload-image-jinja-init: - dependencies: - - name: opendev-buildset-registry - - name: system-config-upload-image-python-base-3.7 - soft: true - - system-config-upload-image-gitea-init: - dependencies: - - name: opendev-buildset-registry - - name: system-config-upload-image-jinja-init - soft: true - - system-config-upload-image-etherpad - - system-config-upload-image-gitea - - system-config-upload-image-jitsi-meet - - system-config-upload-image-haproxy-statsd: - dependencies: - - name: opendev-buildset-registry - - name: system-config-upload-image-python-base-3.7 - soft: true - - system-config-upload-image-accessbot: - dependencies: - - name: opendev-buildset-registry - - name: system-config-build-image-python-base-3.7 - soft: true - - system-config-upload-image-python-base-3.7 - - system-config-upload-image-python-base-3.8 - - system-config-upload-image-python-builder-3.7 - - system-config-upload-image-python-builder-3.8 - - system-config-upload-image-uwsgi-base-3.7 - - system-config-upload-image-uwsgi-base-3.8 - promote: - jobs: - - opendev-promote-docs - deploy: - jobs: - - system-config-promote-image-jinja-init - - system-config-promote-image-gitea-init - - system-config-promote-image-gitea - - system-config-promote-image-etherpad - - system-config-promote-image-jitsi-meet - - system-config-promote-image-haproxy-statsd - - system-config-promote-image-accessbot - - system-config-promote-image-python-base-3.7 - - system-config-promote-image-python-base-3.8 - - system-config-promote-image-python-builder-3.7 - - system-config-promote-image-python-builder-3.8 - - system-config-promote-image-uwsgi-base-3.7 - - system-config-promote-image-uwsgi-base-3.8 - - infra-prod-install-ansible - - infra-prod-base - - infra-prod-service-letsencrypt - - infra-prod-manage-projects: - files: - - inventory/.* - - playbooks/manage-projects.yaml - - playbooks/group_vars/gerrit.yaml - - playbooks/group_vars/gitea.yaml - - playbooks/host_vars/gitea - - playbooks/host_vars/review - - playbooks/roles/gitea-git-repos/ - - playbooks/roles/gerrit/defaults/main.yaml - - playbooks/roles/gerrit/tasks/manage-projects.yaml - dependencies: - - name: system-config-promote-image-gerrit-2.13 - soft: true - - name: infra-prod-install-ansible - soft: true - - infra-prod-service-bridge - - infra-prod-service-gitea-lb - - infra-prod-service-nameserver - - infra-prod-service-nodepool - - infra-prod-service-etherpad: - dependencies: - - name: infra-prod-install-ansible - soft: true - - name: infra-prod-base - soft: true - - name: infra-prod-service-letsencrypt - soft: true - - name: system-config-promote-image-etherpad - soft: true - - infra-prod-service-meetpad - - infra-prod-service-mirror-update - - infra-prod-service-mirror - - infra-prod-service-static - - infra-prod-service-backup - - infra-prod-service-registry - - infra-prod-service-zookeeper - - infra-prod-service-zuul - - infra-prod-service-zuul-preview - - infra-prod-service-review - - infra-prod-service-review-dev - - infra-prod-service-gitea - - infra-prod-service-codesearch - - infra-prod-service-eavesdrop - - infra-prod-remote-puppet-afs - - infra-prod-remote-puppet-else - - infra-prod-run-cloud-launcher - periodic: - jobs: - - developer-openstack-goaccess-report - - docs-opendev-goaccess-report - - docs-openstack-goaccess-report - - docs-starlingx-goaccess-report - - governance-openstack-goaccess-report - - releases-openstack-goaccess-report - - security-openstack-goaccess-report - - specs-openstack-goaccess-report - - tarballs-opendev-goaccess-report - - zuul-ci-goaccess-report - # Nightly runs of ansible things for catchup - - infra-prod-install-ansible - - infra-prod-base - - infra-prod-service-letsencrypt - - infra-prod-service-bridge - - infra-prod-service-gitea-lb - - infra-prod-service-nameserver - - infra-prod-service-etherpad - - infra-prod-service-meetpad - - infra-prod-service-mirror-update - - infra-prod-service-mirror - - infra-prod-service-static - - infra-prod-service-backup - - infra-prod-service-zookeeper - - infra-prod-service-review - - infra-prod-service-review-dev - - infra-prod-service-gitea - - infra-prod-service-codesearch - - infra-prod-service-eavesdrop - - infra-prod-run-accessbot - - infra-prod-remote-puppet-afs - opendev-prod-hourly: - jobs: - - infra-prod-install-ansible - - infra-prod-service-bridge: - dependencies: - - name: infra-prod-install-ansible - soft: true - - infra-prod-run-cloud-launcher - - infra-prod-service-nodepool: - dependencies: - - name: infra-prod-install-ansible - soft: true - - infra-prod-service-registry: - dependencies: - - name: infra-prod-install-ansible - soft: true - - infra-prod-service-zuul: - dependencies: - - name: infra-prod-install-ansible - soft: true - - infra-prod-service-zuul-preview: - dependencies: - - name: infra-prod-install-ansible - soft: true - - infra-prod-remote-puppet-else: - dependencies: - - name: infra-prod-install-ansible - soft: true - - infra-prod-run-accessbot: - dependencies: - - name: infra-prod-install-ansible - soft: true diff --git a/zuul.d/docker-images/accessbot.yaml b/zuul.d/docker-images/accessbot.yaml new file mode 100644 index 0000000000..84c138de6c --- /dev/null +++ b/zuul.d/docker-images/accessbot.yaml @@ -0,0 +1,30 @@ +# accessbot jobs +- job: + name: system-config-build-image-accessbot + description: Build a accessbot image. + parent: system-config-build-image + requires: python-base-3.7-container-image + provides: accessbot-container-image + vars: &accessbot_vars + docker_images: + - context: docker/accessbot + repository: opendevorg/accessbot + files: &accessbot_files + - docker/accessbot/ + - docker/python-base/ + +- job: + name: system-config-upload-image-accessbot + description: Build and upload a accessbot image. + parent: system-config-upload-image + requires: python-base-3.7-container-image + provides: accessbot-container-image + vars: *accessbot_vars + files: *accessbot_files + +- job: + name: system-config-promote-image-accessbot + description: Promote a previously published accessbot image to latest. + parent: system-config-promote-image + vars: *accessbot_vars + files: *accessbot_files diff --git a/zuul.d/docker-images/base.yaml b/zuul.d/docker-images/base.yaml new file mode 100644 index 0000000000..5251dec4a6 --- /dev/null +++ b/zuul.d/docker-images/base.yaml @@ -0,0 +1,46 @@ +# Base image building jobs +- secret: + name: system-config-dockerhub + data: + username: opendevzuul + password: !encrypted/pkcs1-oaep + - FF2mwsdYo4b9QI/kEmeFdZS32I+OJUac2xy4JEQJaIevRK9E3rQ/11cBn7xX6zelA/htY + hENMM1gGTYO8BKgTVNijFfCiVCTYFJ9efsOrSeMdj2aLcq/OkZFeq8gMHAZDv+3qaiggq + hbDmldgSouNahhJByWMsDjYqnItfR8w1dYisNQBkDEJdNW5+Cin5WgHRYv2skui9pjumU + vWHjwLbITLEjb0hwVErggAzvED4x0UjNEMfb6KCpoXeKdlCaI8h1DXVD9RdQ4s1WvUCro + xwl4AIUyCmdtXbqW787PQ4j8BgdOi8RD40ZTSxpoV/bwT+/NrP3Jj2KVYdEKQJimzXnwL + goDclapu9aFrAaqwWSnWCRc7GQptSZ7DBXmA7MsNinBclWHX/chX5k9Q1+XifAhmKJZqP + ovkzEGtmUjTQZFjvuCtFxIWZEGVtGHDmgEkzevgVCeuHDTeIDlkAvA3+TT+/A70zyYdbP + EHOTSSjCU6RSlJxAXjNb5pzKjpeT7PyX2f4/8Zn3JnwTlfPJ0C7qdEYjQ54hbsKynjrpQ + 7f6NN9pAeQS1pid5J7oH4f7YaKM78pnhoTxRl3LmeitIlAG+zCpiT4J+se2eG27ep4aUA + bYuO0L+KBosY6DcvEbR9TqkYLPgJuEPi/6SQr9bBOldEspXXAv9msyCB4VMhVU= + +- job: + name: system-config-build-image + parent: opendev-build-docker-image + dependencies: opendev-buildset-registry + abstract: true + vars: + docker_mirror_base_url: "http://{{ zuul_site_mirror_fqdn }}/deb-docker" + zuul_work_dir: /home/zuul/src/opendev.org/opendev/system-config + +- job: + name: system-config-upload-image + parent: opendev-upload-docker-image + dependencies: opendev-buildset-registry + abstract: true + vars: + zuul_work_dir: /home/zuul/src/opendev.org/opendev/system-config + secrets: + name: docker_credentials + secret: system-config-dockerhub + pass-to-parent: true + +- job: + name: system-config-promote-image + parent: opendev-promote-docker-image + abstract: true + secrets: + name: docker_credentials + secret: system-config-dockerhub + pass-to-parent: true diff --git a/zuul.d/docker-images/etherpad.yaml b/zuul.d/docker-images/etherpad.yaml new file mode 100644 index 0000000000..dbfe4fa7a1 --- /dev/null +++ b/zuul.d/docker-images/etherpad.yaml @@ -0,0 +1,27 @@ +# Etherpad jobs +- job: + name: system-config-build-image-etherpad + description: Build a etherpad image. + provides: etherpad-container-image + parent: system-config-build-image + vars: ðerpad_vars + docker_images: + - context: docker/etherpad + repository: opendevorg/etherpad + files: ðerpad_files + - docker/etherpad/ + +- job: + name: system-config-upload-image-etherpad + description: Build and upload a etherpad image. + provides: etherpad-container-image + parent: system-config-upload-image + vars: *etherpad_vars + files: *etherpad_files + +- job: + name: system-config-promote-image-etherpad + description: Promote a previously published etherpad image to latest. + parent: system-config-promote-image + vars: *etherpad_vars + files: *etherpad_files diff --git a/zuul.d/docker-images/gerrit.yaml b/zuul.d/docker-images/gerrit.yaml new file mode 100644 index 0000000000..972f85f5a2 --- /dev/null +++ b/zuul.d/docker-images/gerrit.yaml @@ -0,0 +1,520 @@ +# gerrit-base jobs +- job: + name: system-config-build-image-gerrit-base + description: Build a gerrit-base image. + parent: system-config-build-image + required-projects: &gerrit_base_projects + - opendev/jeepyb + - opendev/system-config + requires: python-builder-3.7-container-image + provides: gerrit-base-container-image + vars: &gerrit-base_vars + docker_images: + - context: docker/gerrit/base + repository: opendevorg/gerrit-base + path: /home/zuul/src/opendev.org/opendev/jeepyb + files: &gerrit-base_files + - docker/gerrit/base/ + +- job: + name: system-config-upload-image-gerrit-base + description: Build and upload a gerrit-base image. + parent: system-config-upload-image + requires: python-builder-3.7-container-image + provides: gerrit-base-container-image + required-projects: *gerrit_base_projects + vars: *gerrit-base_vars + files: *gerrit-base_files + +- job: + name: system-config-promote-image-gerrit-base + description: Promote a previously published gerrit-base image to latest. + parent: system-config-promote-image + required-projects: *gerrit_base_projects + vars: *gerrit-base_vars + files: *gerrit-base_files + +# Gerrit 2.13 jobs +- job: + name: system-config-build-image-gerrit-2.13 + description: Build a gerrit 2.13 image. + parent: system-config-build-image + requires: gerrit-base-container-image + provides: gerrit-2.13-container-image + required-projects: &gerrit_projects_2_13 + - name: opendev/system-config + override-checkout: master + vars: &gerrit_vars_2_13 + docker_images: + # The 2.13 image doesn't build from source, but from existing war file + - context: docker/gerrit/2.13 + repository: opendevorg/gerrit + path: /home/zuul/src/opendev.org/opendev/system-config + tags: + - 2.13 + files: &gerrit_files_2_13 + - docker/gerrit/base/ + - docker/gerrit/2.13/ + - jeepyb/ + +- job: + name: system-config-upload-image-gerrit-2.13 + description: Build and upload a gerrit 2.13 image. + parent: system-config-upload-image + requires: gerrit-base-container-image + provides: gerrit-2.13-container-image + required-projects: *gerrit_projects_2_13 + vars: *gerrit_vars_2_13 + files: *gerrit_files_2_13 + +- job: + name: system-config-promote-image-gerrit-2.13 + description: Promote a previously published gerrit 2.13 image to latest. + parent: system-config-promote-image + vars: *gerrit_vars_2_13 + files: *gerrit_files_2_13 + +# Gerrit 2.14 jobs +- job: + name: system-config-build-image-gerrit-2.14 + description: Build a gerrit image. + parent: system-config-build-image + pre-run: playbooks/zuul/gerrit/repos.yaml + run: playbooks/zuul/gerrit/run.yaml + requires: gerrit-base-container-image + provides: gerrit-2.14-container-image + required-projects: &gerrit_projects_2_14 + - name: opendev/system-config + override-checkout: master + - name: gerrit.googlesource.com/gerrit + override-checkout: stable-2.14 + - name: gerrit.googlesource.com/plugins/commit-message-length-validator + override-checkout: stable-2.14 + - name: gerrit.googlesource.com/plugins/download-commands + override-checkout: stable-2.14 + - name: gerrit.googlesource.com/plugins/hooks + override-checkout: stable-2.14 + - name: gerrit.googlesource.com/plugins/its-base + override-checkout: stable-2.14 + - name: gerrit.googlesource.com/plugins/its-storyboard + override-checkout: stable-2.14 + - name: gerrit.googlesource.com/plugins/javamelody + override-checkout: stable-2.14 + - name: gerrit.googlesource.com/plugins/replication + override-checkout: stable-2.14 + - name: gerrit.googlesource.com/plugins/reviewnotes + override-checkout: stable-2.14 + - name: gerrit.googlesource.com/plugins/singleusergroup + override-checkout: stable-2.14 + vars: &gerrit_vars_2_14 + docker_images: + - context: docker/gerrit/bazel + repository: opendevorg/gerrit + path: /home/zuul/src/gerrit.googlesource.com/gerrit + tags: + - 2.14 + files: &gerrit_files_2_14 + - docker/gerrit/base/ + - docker/gerrit/bazel/ + - playbooks/zuul/gerrit/ + - jeepyb/ + +- job: + name: system-config-upload-image-gerrit-2.14 + description: Build and upload a gerrit image. + parent: system-config-upload-image + pre-run: playbooks/zuul/gerrit/repos.yaml + run: playbooks/zuul/gerrit/run.yaml + requires: gerrit-base-container-image + provides: gerrit-2.14-container-image + required-projects: *gerrit_projects_2_14 + vars: *gerrit_vars_2_14 + files: *gerrit_files_2_14 + +- job: + name: system-config-promote-image-gerrit-2.14 + description: Promote a previously published gerrit image to latest. + parent: system-config-promote-image + vars: *gerrit_vars_2_14 + files: *gerrit_files_2_14 + +# Gerrit 2.15 jobs +- job: + name: system-config-build-image-gerrit-2.15 + description: Build a gerrit image. + parent: system-config-build-image + pre-run: playbooks/zuul/gerrit/repos.yaml + run: playbooks/zuul/gerrit/run.yaml + requires: gerrit-base-container-image + provides: gerrit-2.15-container-image + required-projects: &gerrit_projects_2_15 + - name: opendev/system-config + override-checkout: master + - name: gerrit.googlesource.com/gerrit + override-checkout: stable-2.15 + - name: gerrit.googlesource.com/plugins/commit-message-length-validator + override-checkout: stable-2.15 + - name: gerrit.googlesource.com/plugins/download-commands + override-checkout: stable-2.15 + - name: gerrit.googlesource.com/plugins/hooks + override-checkout: stable-2.15 + - name: gerrit.googlesource.com/plugins/its-base + override-checkout: stable-2.15 + - name: gerrit.googlesource.com/plugins/its-storyboard + override-checkout: stable-2.15 + - name: gerrit.googlesource.com/plugins/javamelody + override-checkout: stable-2.15 + - name: gerrit.googlesource.com/plugins/replication + override-checkout: stable-2.15 + - name: gerrit.googlesource.com/plugins/reviewnotes + override-checkout: stable-2.15 + - name: gerrit.googlesource.com/plugins/singleusergroup + override-checkout: stable-2.15 + vars: &gerrit_vars_2_15 + docker_images: + - context: docker/gerrit/bazel + repository: opendevorg/gerrit + path: /home/zuul/src/gerrit.googlesource.com/gerrit + tags: + - 2.15 + files: &gerrit_files_2_15 + - docker/gerrit/base/ + - docker/gerrit/bazel/ + - playbooks/zuul/gerrit/ + - jeepyb/ + +- job: + name: system-config-upload-image-gerrit-2.15 + description: Build and upload a gerrit image. + parent: system-config-upload-image + pre-run: playbooks/zuul/gerrit/repos.yaml + run: playbooks/zuul/gerrit/run.yaml + requires: gerrit-base-container-image + provides: gerrit-2.15-container-image + required-projects: *gerrit_projects_2_15 + vars: *gerrit_vars_2_15 + files: *gerrit_files_2_15 + +- job: + name: system-config-promote-image-gerrit-2.15 + description: Promote a previously published gerrit image to latest. + parent: system-config-promote-image + vars: *gerrit_vars_2_15 + files: *gerrit_files_2_15 + +# Gerrit 2.16 jobs +- job: + name: system-config-build-image-gerrit-2.16 + description: Build a gerrit image. + parent: system-config-build-image + pre-run: playbooks/zuul/gerrit/repos.yaml + run: playbooks/zuul/gerrit/run.yaml + requires: gerrit-base-container-image + provides: gerrit-2.16-container-image + required-projects: &gerrit_projects_2_16 + - name: opendev/system-config + override-checkout: master + - name: gerrit.googlesource.com/gerrit + override-checkout: stable-2.16 + - name: gerrit.googlesource.com/plugins/codemirror-editor + override-checkout: stable-2.16 + - name: gerrit.googlesource.com/plugins/commit-message-length-validator + override-checkout: stable-2.16 + - name: gerrit.googlesource.com/plugins/download-commands + override-checkout: stable-2.16 + - name: gerrit.googlesource.com/plugins/hooks + override-checkout: stable-2.16 + - name: gerrit.googlesource.com/plugins/its-base + override-checkout: stable-2.16 + - name: gerrit.googlesource.com/plugins/its-storyboard + override-checkout: stable-2.16 + - name: gerrit.googlesource.com/plugins/javamelody + override-checkout: stable-2.16 + - name: gerrit.googlesource.com/plugins/replication + override-checkout: stable-2.16 + - name: gerrit.googlesource.com/plugins/reviewnotes + override-checkout: stable-2.16 + - name: gerrit.googlesource.com/plugins/singleusergroup + override-checkout: stable-2.16 + vars: &gerrit_vars_2_16 + docker_images: + - context: docker/gerrit/bazel + repository: opendevorg/gerrit + path: /home/zuul/src/gerrit.googlesource.com/gerrit + tags: + - 2.16 + gerrit_additional_plugins: + - codemirror-editor + files: &gerrit_files_2_16 + - docker/gerrit/base/ + - docker/gerrit/bazel/ + - playbooks/zuul/gerrit/ + - jeepyb/ + +- job: + name: system-config-upload-image-gerrit-2.16 + description: Build and upload a gerrit image. + parent: system-config-upload-image + pre-run: playbooks/zuul/gerrit/repos.yaml + run: playbooks/zuul/gerrit/run.yaml + requires: gerrit-base-container-image + provides: gerrit-2.16-container-image + required-projects: *gerrit_projects_2_16 + vars: *gerrit_vars_2_16 + files: *gerrit_files_2_16 + +- job: + name: system-config-promote-image-gerrit-2.16 + description: Promote a previously published gerrit image to latest. + parent: system-config-promote-image + vars: *gerrit_vars_2_16 + files: *gerrit_files_2_16 + +# Gerrit 3.0 jobs +- job: + name: system-config-build-image-gerrit-3.0 + description: Build a gerrit image. + parent: system-config-build-image + pre-run: playbooks/zuul/gerrit/repos.yaml + run: playbooks/zuul/gerrit/run.yaml + requires: gerrit-base-container-image + provides: gerrit-3.0-container-image + required-projects: &gerrit_projects_3_0 + - name: opendev/system-config + override-checkout: master + - name: gerrit.googlesource.com/gerrit + override-checkout: stable-3.0 + - name: gerrit.googlesource.com/plugins/codemirror-editor + override-checkout: stable-3.0 + - name: gerrit.googlesource.com/plugins/commit-message-length-validator + override-checkout: stable-3.0 + - name: gerrit.googlesource.com/plugins/delete-project + override-checkout: stable-3.0 + - name: gerrit.googlesource.com/plugins/download-commands + override-checkout: stable-3.0 + - name: gerrit.googlesource.com/plugins/gitiles + override-checkout: stable-3.0 + - name: gerrit.googlesource.com/plugins/hooks + override-checkout: stable-3.0 + - name: gerrit.googlesource.com/plugins/its-base + override-checkout: stable-3.0 + - name: gerrit.googlesource.com/plugins/its-storyboard + override-checkout: stable-3.0 + - name: gerrit.googlesource.com/plugins/javamelody + override-checkout: stable-3.0 + - name: gerrit.googlesource.com/plugins/plugin-manager + override-checkout: stable-3.0 + - name: gerrit.googlesource.com/plugins/replication + override-checkout: stable-3.0 + - name: gerrit.googlesource.com/plugins/reviewnotes + override-checkout: stable-3.0 + - name: gerrit.googlesource.com/plugins/singleusergroup + override-checkout: stable-3.0 + - name: gerrit.googlesource.com/plugins/webhooks + override-checkout: stable-3.0 + vars: &gerrit_vars_3_0 + docker_images: + - context: docker/gerrit/bazel + repository: opendevorg/gerrit + path: /home/zuul/src/gerrit.googlesource.com/gerrit + tags: + - 3.0 + gerrit_additional_plugins: + - codemirror-editor + - delete-project + - gitiles + - plugin-manager + - webhooks + files: &gerrit_files_3_0 + - docker/gerrit/base/ + - docker/gerrit/bazel/ + - playbooks/zuul/gerrit/ + - jeepyb/ + +- job: + name: system-config-upload-image-gerrit-3.0 + description: Build and upload a gerrit image. + parent: system-config-upload-image + pre-run: playbooks/zuul/gerrit/repos.yaml + run: playbooks/zuul/gerrit/run.yaml + requires: gerrit-base-container-image + provides: gerrit-3.0-container-image + required-projects: *gerrit_projects_3_0 + vars: *gerrit_vars_3_0 + files: *gerrit_files_3_0 + +- job: + name: system-config-promote-image-gerrit-3.0 + description: Promote a previously published gerrit image to latest. + parent: system-config-promote-image + vars: *gerrit_vars_3_0 + files: *gerrit_files_3_0 + +# Gerrit master jobs +- job: + name: system-config-build-image-gerrit-master-base + description: | + Build a gerrit image. + + This job has no files matchers so it can be used in other repos. + parent: system-config-build-image + pre-run: + - playbooks/zuul/gerrit/repos.yaml + - playbooks/zuul/gerrit/submodules.yaml + run: playbooks/zuul/gerrit/run.yaml + requires: gerrit-base-container-image + provides: gerrit-master-container-image + required-projects: &gerrit_projects_master + - opendev/system-config + - gerrit.googlesource.com/jgit + - gerrit.googlesource.com/gerrit + - gerrit.googlesource.com/plugins/checks + - gerrit.googlesource.com/plugins/codemirror-editor + - gerrit.googlesource.com/plugins/commit-message-length-validator + - gerrit.googlesource.com/plugins/delete-project + - gerrit.googlesource.com/plugins/download-commands + - gerrit.googlesource.com/plugins/gitiles + - gerrit.googlesource.com/plugins/hooks + - gerrit.googlesource.com/plugins/its-base + - gerrit.googlesource.com/plugins/its-storyboard + - gerrit.googlesource.com/plugins/javamelody + - gerrit.googlesource.com/plugins/plugin-manager + - gerrit.googlesource.com/plugins/replication + - gerrit.googlesource.com/plugins/reviewnotes + - gerrit.googlesource.com/plugins/singleusergroup + - gerrit.googlesource.com/plugins/webhooks + - gerrit.googlesource.com/polymer-bridges + vars: &gerrit_vars_master + zuul_work_dir: src/opendev.org/opendev/system-config + docker_images: + - context: docker/gerrit/bazel + repository: opendevorg/gerrit + path: /home/zuul/src/gerrit.googlesource.com/gerrit + tags: + - master + gerrit_additional_plugins: + - checks + - codemirror-editor + - delete-project + - gitiles + - plugin-manager + - webhooks + +- job: + name: system-config-build-image-gerrit-master + description: | + Build a gerrit image. + + This job is used in system-config. + parent: system-config-build-image-gerrit-master-base + files: &gerrit_files_master + - docker/gerrit/base/ + - docker/gerrit/bazel/ + - playbooks/zuul/gerrit/ + - jeepyb/ + +- job: + name: system-config-upload-image-gerrit-master + description: Build and upload a gerrit image. + parent: system-config-upload-image + pre-run: + - playbooks/zuul/gerrit/repos.yaml + - playbooks/zuul/gerrit/submodules.yaml + run: playbooks/zuul/gerrit/run.yaml + requires: gerrit-base-container-image + provides: gerrit-master-container-image + required-projects: *gerrit_projects_master + vars: *gerrit_vars_master + files: *gerrit_files_master + +- job: + name: system-config-promote-image-gerrit-master + description: Promote a previously published gerrit image to latest. + parent: system-config-promote-image + vars: *gerrit_vars_master + files: *gerrit_files_master + +- project-template: + name: system-config-gerrit-images + check: + jobs: + - system-config-build-image-gerrit-base: + dependencies: + - name: opendev-buildset-registry + - name: system-config-build-image-python-builder-3.7 + soft: true + - system-config-build-image-gerrit-2.13: + dependencies: + - name: opendev-buildset-registry + - name: system-config-build-image-python-builder-3.7 + soft: true + - name: system-config-build-image-gerrit-base + soft: true + - system-config-build-image-gerrit-2.14: + dependencies: + - name: opendev-buildset-registry + - name: system-config-build-image-gerrit-base + soft: true + - system-config-build-image-gerrit-2.15: + dependencies: + - name: opendev-buildset-registry + - name: system-config-build-image-gerrit-base + soft: true + - system-config-build-image-gerrit-2.16: + dependencies: + - name: opendev-buildset-registry + - name: system-config-build-image-gerrit-base + soft: true + - system-config-build-image-gerrit-3.0: + dependencies: + - name: opendev-buildset-registry + - name: system-config-build-image-gerrit-base + soft: true + - system-config-build-image-gerrit-master: + voting: false + dependencies: + - name: opendev-buildset-registry + - name: system-config-build-image-gerrit-base + soft: true + gate: + jobs: + - system-config-upload-image-gerrit-base: + dependencies: + - name: opendev-buildset-registry + - name: system-config-upload-image-python-builder-3.7 + soft: true + - system-config-upload-image-gerrit-2.13: + dependencies: + - name: opendev-buildset-registry + - name: system-config-upload-image-python-builder-3.7 + soft: true + - name: system-config-upload-image-gerrit-base + soft: true + - system-config-upload-image-gerrit-2.14: + dependencies: + - name: opendev-buildset-registry + - name: system-config-upload-image-gerrit-base + soft: true + - system-config-upload-image-gerrit-2.15: + dependencies: + - name: opendev-buildset-registry + - name: system-config-upload-image-gerrit-base + soft: true + - system-config-upload-image-gerrit-2.16: + dependencies: + - name: opendev-buildset-registry + - name: system-config-upload-image-gerrit-base + soft: true + - system-config-upload-image-gerrit-3.0: + dependencies: + - name: opendev-buildset-registry + - name: system-config-upload-image-gerrit-base + soft: true + deploy: + jobs: + - system-config-promote-image-gerrit-base + - system-config-promote-image-gerrit-2.13 + - system-config-promote-image-gerrit-2.14 + - system-config-promote-image-gerrit-2.15 + - system-config-promote-image-gerrit-2.16 + - system-config-promote-image-gerrit-3.0 diff --git a/zuul.d/docker-images/gitea.yaml b/zuul.d/docker-images/gitea.yaml new file mode 100644 index 0000000000..d4754ce95e --- /dev/null +++ b/zuul.d/docker-images/gitea.yaml @@ -0,0 +1,61 @@ +# Gitea-init jobs +- job: + name: system-config-build-image-gitea-init + description: Build a gitea-init image. + parent: system-config-build-image + requires: jinja-init-container-image + vars: &gitea-init_vars + docker_images: + - context: docker/gitea-init + target: gitea-init + repository: opendevorg/gitea-init + files: &gitea-init_files + - docker/gitea-init/ + - docker/jinja-init/ + - docker/python-base/ + +- job: + name: system-config-upload-image-gitea-init + description: Build and upload a gitea-init image. + parent: system-config-upload-image + requires: jinja-init-container-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 + +# Gitea jobs +- job: + name: system-config-build-image-gitea + description: Build a gitea image. + parent: system-config-build-image + vars: &gitea_vars + docker_images: + - context: docker/gitea + target: gitea + repository: opendevorg/gitea + - context: docker/gitea + target: gitea-openssh + repository: opendevorg/gitea-openssh + # Duplicate in the run-gitea job + 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 diff --git a/zuul.d/docker-images/haproxy.yaml b/zuul.d/docker-images/haproxy.yaml new file mode 100644 index 0000000000..1d7c418a9a --- /dev/null +++ b/zuul.d/docker-images/haproxy.yaml @@ -0,0 +1,29 @@ +# Haproxy-statsd jobs +- job: + name: system-config-build-image-haproxy-statsd + description: Build a haproxy-statsd image. + parent: system-config-build-image + requires: python-base-3.7-container-image + vars: &haproxy-statsd_vars + docker_images: + - context: docker/haproxy-statsd + repository: opendevorg/haproxy-statsd + # Duplicate in the run-gitea job + files: &haproxy-statsd_files + - docker/haproxy-statsd/ + - docker/python-base/ + +- job: + name: system-config-upload-image-haproxy-statsd + description: Build and upload a haproxy-statsd image. + parent: system-config-upload-image + requires: python-base-3.7-container-image + vars: *haproxy-statsd_vars + files: *haproxy-statsd_files + +- job: + name: system-config-promote-image-haproxy-statsd + description: Promote a previously published haproxy-statsd image to latest. + parent: system-config-promote-image + vars: *haproxy-statsd_vars + files: *haproxy-statsd_files diff --git a/zuul.d/docker-images/jinja-init.yaml b/zuul.d/docker-images/jinja-init.yaml new file mode 100644 index 0000000000..81a40dcf07 --- /dev/null +++ b/zuul.d/docker-images/jinja-init.yaml @@ -0,0 +1,31 @@ +# Jinja-init jobs +- job: + name: system-config-build-image-jinja-init + description: Build a jinja-init image. + parent: system-config-build-image + requires: python-base-3.7-container-image + provides: jinja-init-container-image + vars: &jinja-init_vars + docker_images: + - context: docker/jinja-init + target: jinja-init + repository: opendevorg/jinja-init + files: &jinja-init_files + - docker/jinja-init/ + - docker/python-base/ + +- job: + name: system-config-upload-image-jinja-init + description: Build and upload a jinja-init image. + parent: system-config-upload-image + requires: python-base-3.7-container-image + provides: jinja-init-container-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 diff --git a/zuul.d/docker-images/jitsi.yaml b/zuul.d/docker-images/jitsi.yaml new file mode 100644 index 0000000000..5c19db66e3 --- /dev/null +++ b/zuul.d/docker-images/jitsi.yaml @@ -0,0 +1,32 @@ +# Jitsi-meet jobs +- job: + name: system-config-build-image-jitsi-meet + description: Build jitsi-meet images. + parent: system-config-build-image + provides: jitsi-meet-container-image + vars: &jitsi-meet_vars + docker_images: + - context: docker/jitsi-meet + target: web + repository: opendevorg/jitsi-meet-web + - context: docker/jitsi-meet + target: prosody + repository: opendevorg/jitsi-meet-prosody + files: &jitsi-meet_files + - docker/jitsi-meet/ + +- job: + name: system-config-upload-image-jitsi-meet + description: Build and upload a jitsi-meet image. + parent: system-config-upload-image + requires: python-base-container-image + provides: jitsi-meet-container-image + vars: *jitsi-meet_vars + files: *jitsi-meet_files + +- job: + name: system-config-promote-image-jitsi-meet + description: Promote a previously published jitsi-meet image to latest. + parent: system-config-promote-image + vars: *jitsi-meet_vars + files: *jitsi-meet_files diff --git a/zuul.d/docker-images/python.yaml b/zuul.d/docker-images/python.yaml new file mode 100644 index 0000000000..dec2df05e1 --- /dev/null +++ b/zuul.d/docker-images/python.yaml @@ -0,0 +1,237 @@ +# python-builder-3.7 jobs +- job: + name: system-config-build-image-python-builder-3.7 + description: Build a python-builder-3.7 image. + parent: system-config-build-image + provides: + - python-builder-container-image + - python-builder-3.7-container-image + vars: &python-builder_3_7_vars + docker_images: + - context: docker/python-builder + repository: opendevorg/python-builder + tags: + - 3.7 + - latest + build_args: + - PYTHON_VERSION=3.7 + files: &python-builder_3_7_files + - docker/python-base/ + - docker/python-builder/ + +- job: + name: system-config-upload-image-python-builder-3.7 + description: Build and upload a python-builder-3.7 image. + parent: system-config-upload-image + provides: + - python-builder-container-image + - python-builder-3.7-container-image + vars: *python-builder_3_7_vars + files: *python-builder_3_7_files + +- job: + name: system-config-promote-image-python-builder-3.7 + description: Promote a previously published python-builder-3.7 image to latest. + parent: system-config-promote-image + vars: *python-builder_3_7_vars + files: *python-builder_3_7_files + +# python-builder-3.8 jobs +- job: + name: system-config-build-image-python-builder-3.8 + description: Build a python-builder-3.8 image. + parent: system-config-build-image + provides: + - python-builder-3.8-container-image + vars: &python-builder_3_8_vars + docker_images: + - context: docker/python-builder + repository: opendevorg/python-builder + tags: + - 3.8 + build_args: + - PYTHON_VERSION=3.8 + files: &python-builder_3_8_files + - docker/python-base/ + - docker/python-builder/ + +- job: + name: system-config-upload-image-python-builder-3.8 + description: Build and upload a python-builder-3.8 image. + parent: system-config-upload-image + provides: python-builder-3.8-container-image + vars: *python-builder_3_8_vars + files: *python-builder_3_8_files + +- job: + name: system-config-promote-image-python-builder-3.8 + description: Promote a previously published python-builder-3.8 image to latest. + parent: system-config-promote-image + vars: *python-builder_3_8_vars + files: *python-builder_3_8_files + +# python-base-3.7 jobs +- job: + name: system-config-build-image-python-base-3.7 + description: Build a python-base-3.7 image. + parent: system-config-build-image + provides: + - python-base-container-image + - python-base-3.7-container-image + vars: &python-base-3_7_vars + docker_images: + - context: docker/python-base + repository: opendevorg/python-base + tags: + - 3.7 + - latest + build_args: + - PYTHON_VERSION=3.7 + files: &python-base-3_7_files + - docker/python-base/ + - docker/python-builder/ + +- job: + name: system-config-upload-image-python-base-3.7 + description: Build and upload a python-base-3.7 image. + parent: system-config-upload-image + provides: python-base-3.7-container-image + vars: *python-base-3_7_vars + files: *python-base-3_7_files + +- job: + name: system-config-promote-image-python-base-3.7 + description: Promote a previously published python-base-3.7 image to latest. + parent: system-config-promote-image + vars: *python-base-3_7_vars + files: *python-base-3_7_files + +# python-base-3.8 jobs +- job: + name: system-config-build-image-python-base-3.8 + description: Build a python-base-3.8 image. + parent: system-config-build-image + provides: python-base-3.8-container-image + vars: &python-base-3_8_vars + docker_images: + - context: docker/python-base + repository: opendevorg/python-base + tags: + - 3.8 + build_args: + - PYTHON_VERSION=3.8 + files: &python-base-3_8_files + - docker/python-base/ + - docker/python-builder/ + +- job: + name: system-config-upload-image-python-base-3.8 + description: Build and upload a python-base-3.8 image. + parent: system-config-upload-image + provides: python-base-3.8-container-image + vars: *python-base-3_8_vars + files: *python-base-3_8_files + +- job: + name: system-config-promote-image-python-base-3.8 + description: Promote a previously published python-base-3.8 image to latest. + parent: system-config-promote-image + vars: *python-base-3_8_vars + files: *python-base-3_8_files + +# uwsgi-base-3.7 jobs +- job: + name: system-config-build-image-uwsgi-base-3.7 + description: Build a uwsgi-base-3.7 image. + parent: system-config-build-image + requires: &uwsgi-base_3_7_requires + - python-base-3.7-container-image + - python-builder-3.7-container-image + provides: uwsgi-base-3.7-container-image + dependencies: + - name: system-config-build-image-python-base-3.7 + soft: true + - name: system-config-build-image-python-builder-3.7 + soft: true + vars: &uwsgi-base_3_7_vars + docker_images: + - context: docker/uwsgi-base + repository: opendevorg/uwsgi-base + tags: + - 3.7 + - latest + build_args: + - PYTHON_VERSION=3.7 + files: &uwsgi-base_3_7_files + - docker/python-base/.* + - docker/python-builder/.* + - docker/uwsgi-base/.* + +- job: + name: system-config-upload-image-uwsgi-base-3.7 + description: Build and upload a uwsgi-base-3.7 image. + parent: system-config-upload-image + provides: uwsgi-base-3.7-container-image + requires: *uwsgi-base_3_7_requires + dependencies: + - name: system-config-upload-image-python-base-3.7 + soft: true + - name: system-config-upload-image-python-builder-3.7 + soft: true + vars: *uwsgi-base_3_7_vars + files: *uwsgi-base_3_7_files + +- job: + name: system-config-promote-image-uwsgi-base-3.7 + description: Promote a previously published uwsgi-base-3.7 image to latest. + parent: system-config-promote-image + vars: *uwsgi-base_3_7_vars + files: *uwsgi-base_3_7_files + +# uwsgi-base-3.8 jobs +- job: + name: system-config-build-image-uwsgi-base-3.8 + description: Build a uwsgi-base-3.8 image. + parent: system-config-build-image + provides: uwsgi-base-3.8-container-image + requires: &uwsgi-base_3_8_requires + - python-base-3.8-container-image + - python-builder-3.8-container-image + dependencies: + - name: system-config-build-image-python-base-3.8 + soft: true + - name: system-config-build-image-python-builder-3.8 + soft: true + vars: &uwsgi-base_3_8_vars + docker_images: + - context: docker/uwsgi-base + repository: opendevorg/uwsgi-base + tags: + - 3.8 + build_args: + - PYTHON_VERSION=3.8 + files: &uwsgi-base_3_8_files + - docker/python-base/.* + - docker/python-builder/.* + - docker/uwsgi-base/.* + +- job: + name: system-config-upload-image-uwsgi-base-3.8 + description: Build and upload a uwsgi-base-3.8 image. + parent: system-config-upload-image + provides: uwsgi-base-3.8-container-image + requires: *uwsgi-base_3_8_requires + dependencies: + - name: system-config-upload-image-python-base-3.8 + soft: true + - name: system-config-upload-image-python-builder-3.8 + soft: true + vars: *uwsgi-base_3_8_vars + files: *uwsgi-base_3_8_files + +- job: + name: system-config-promote-image-uwsgi-base-3.8 + description: Promote a previously published uwsgi-base-3.8 image to latest. + parent: system-config-promote-image + vars: *uwsgi-base_3_8_vars + files: *uwsgi-base_3_8_files diff --git a/zuul.d/goaccess.yaml b/zuul.d/goaccess.yaml new file mode 100644 index 0000000000..335498026f --- /dev/null +++ b/zuul.d/goaccess.yaml @@ -0,0 +1,110 @@ +- job: + name: system-config-goaccess-report + description: | + Run goaccess tool on static.opendev.org hosted site. + abstract: true + protected: true + timeout: 7200 + nodeset: + nodes: [] + run: playbooks/periodic/goaccess.yaml + +- job: + name: developer-openstack-goaccess-report + parent: system-config-goaccess-report + description: | + Run goaccess tool on developer.openstack.org. + final: true + protected: true + vars: + goaccess_site: developer.openstack.org + +- job: + name: docs-opendev-goaccess-report + parent: system-config-goaccess-report + description: | + Run goaccess tool on docs.opendev.org. + final: true + protected: true + vars: + goaccess_site: docs.opendev.org + +- job: + name: docs-openstack-goaccess-report + parent: system-config-goaccess-report + description: | + Run goaccess tool on docs.openstack.org. + final: true + protected: true + vars: + goaccess_site: docs.openstack.org + +- job: + name: docs-starlingx-goaccess-report + parent: system-config-goaccess-report + description: | + Run goaccess tool on docs.starlingx.io. + final: true + protected: true + vars: + goaccess_site: docs.starlingx.io + +- job: + name: governance-openstack-goaccess-report + parent: system-config-goaccess-report + description: | + Run goaccess tool on governance.openstack.org. + final: true + protected: true + vars: + goaccess_site: governance.openstack.org + +- job: + name: releases-openstack-goaccess-report + parent: system-config-goaccess-report + description: | + Run goaccess tool on releases.openstack.org. + final: true + protected: true + vars: + goaccess_site: releases.openstack.org + +- job: + name: security-openstack-goaccess-report + parent: system-config-goaccess-report + description: | + Run goaccess tool on security.openstack.org. + final: true + protected: true + vars: + goaccess_site: security.openstack.org + +- job: + name: specs-openstack-goaccess-report + parent: system-config-goaccess-report + description: | + Run goaccess tool on specs.openstack.org. + final: true + protected: true + vars: + goaccess_site: specs.openstack.org + +- job: + name: tarballs-opendev-goaccess-report + parent: system-config-goaccess-report + description: | + Run goaccess tool on tarballs.opendev.org. + final: true + protected: true + vars: + goaccess_site: tarballs.opendev.org + +- job: + name: zuul-ci-goaccess-report + parent: system-config-goaccess-report + description: | + Run goaccess tool on zuul-ci.org. + final: true + protected: true + vars: + goaccess_site: zuul-ci.org diff --git a/zuul.d/infra-prod.yaml b/zuul.d/infra-prod.yaml new file mode 100644 index 0000000000..255b0f8853 --- /dev/null +++ b/zuul.d/infra-prod.yaml @@ -0,0 +1,575 @@ +# Make sure only one run of a system-config playbook happens at a time +- semaphore: + name: infra-prod-playbook + max: 1 + +- 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 + /home/zuul/src/opendev.org/opendev/system-config/playbooks + on bridge.openstack.org. + abstract: true + semaphore: infra-prod-playbook + run: playbooks/zuul/run-production-playbook.yaml + required-projects: + - opendev/system-config + vars: + infra_prod_ansible_forks: 5 + infra_prod_playbook_collect_log: false + nodeset: + nodes: [] + +- job: + name: infra-prod-install-ansible + parent: infra-prod-playbook + description: Install ansible on bridge. + vars: + playbook_name: install-ansible.yaml + files: + - inventory/ + - roles/ + - install_modules.sh + - modules.env + - playbooks/install-ansible.yaml + - playbooks/roles/pip3/ + - playbooks/roles/install-ansible/ + - playbooks/roles/logrotate/ + - playbooks/roles/root-keys/ + - playbooks/host_vars/bridge.openstack.org.yaml + - playbooks/zuul/run-production-playbook.yaml + +- job: + name: infra-prod-base + parent: infra-prod-playbook + description: Run the base playbook everywhere. + dependencies: + - name: infra-prod-install-ansible + soft: true + vars: + playbook_name: base.yaml + infra_prod_ansible_forks: 50 + files: + - inventory/ + - playbooks/host_vars/ + - playbooks/group_vars/ + - playbooks/base.yaml + - playbooks/roles/users/ + - playbooks/roles/base-repos/ + - playbooks/roles/base-server/ + - playbooks/roles/timezone/ + - playbooks/roles/unbound/ + - playbooks/roles/exim/ + - playbooks/roles/snmpd/ + - playbooks/roles/iptables/ + +- job: + name: infra-prod-service-letsencrypt + parent: infra-prod-playbook + description: Run service-letsencrypt.yaml playbook. + vars: + playbook_name: service-letsencrypt.yaml + dependencies: + - name: infra-prod-install-ansible + soft: true + - name: infra-prod-base + soft: true + files: + - inventory/ + - playbooks/service-letsencrypt.yaml + # Any touching of host_vars or group_vars can substantively + # change the certs we're doing, so be greedy here. + - playbooks/host_vars/ + - playbooks/group_vars/ + - playbooks/roles/letsencrypt + - playbooks/roles/logrotate/ + +- job: + name: infra-prod-manage-projects + parent: infra-prod-playbook + description: | + Create and update projects in gerrit and gitea. + allowed-projects: + - opendev/system-config + - openstack/project-config + required-projects: + - opendev/system-config + - openstack/project-config + vars: + playbook_name: manage-projects.yaml + infra_prod_ansible_forks: 10 + infra_prod_playbook_collect_log: true + +- job: + name: infra-prod-service-base + parent: infra-prod-playbook + description: Base job for most service playbooks. + abstract: true + dependencies: + - name: infra-prod-install-ansible + soft: true + - name: infra-prod-base + soft: true + - name: infra-prod-service-letsencrypt + soft: true + +- job: + name: infra-prod-service-bridge + parent: infra-prod-service-base + description: Run service-bridge.yaml playbook. + vars: + playbook_name: service-bridge.yaml + files: + - inventory/ + - playbooks/service-bridge.yaml + - playbooks/host_vars/bridge.openstack.org.yaml + - playbooks/roles/logrotate/ + - playbooks/roles/edit-secrets-script/ + - playbooks/roles/install-kubectl/ + - playbooks/roles/configure-kubectl/ + - playbooks/roles/configure-openstacksdk/ + - playbooks/templates/clouds/bridge_all_clouds.yaml.j2 + +- job: + name: infra-prod-service-gitea-lb + parent: infra-prod-service-base + description: Run service-gitea-lb.yaml playbook. + vars: + playbook_name: service-gitea-lb.yaml + files: + - inventory/ + - playbooks/service-gitea-lb.yaml + - playbooks/group_vars/gitea-lb.yaml + - playbooks/roles/pip3/ + - playbooks/roles/install-docker/ + - playbooks/roles/haproxy/ + +- job: + name: infra-prod-service-nameserver + parent: infra-prod-service-base + description: Run service-nameserver.yaml playbook. + vars: + playbook_name: service-nameserver.yaml + files: + - inventory/ + - playbooks/service-nameserver.yaml + - playbooks/host_vars/adns1.opendev.org.yaml + - playbooks/host_vars/ns1.opendev.org.yaml + - playbooks/host_vars/ns2.opendev.org.yaml + - playbooks/group_vars/adns.yaml + - playbooks/group_vars/ns.yaml + - playbooks/roles/master-nameserver/ + - playbooks/roles/nameserver/ + +- job: + name: infra-prod-service-nodepool + parent: infra-prod-service-base + description: Run service-nodepool.yaml playbook. + vars: + playbook_name: service-nodepool.yaml + required-projects: + - opendev/system-config + - openstack/project-config + files: + - inventory/ + - playbooks/service-nodepool.yaml + - playbooks/host_vars/nb + - playbooks/host_vars/nl + - playbooks/group_vars/nodepool + - playbooks/group_vars/puppet + - playbooks/roles/install-ansible-roles/ + - playbooks/roles/run-puppet/ + - playbooks/roles/configure-kubectl/ + - playbooks/roles/configure-openstacksdk/ + - playbooks/roles/install-docker/ + - playbooks/roles/nodepool + - playbooks/templates/clouds/nodepool_ + +- job: + name: infra-prod-service-etherpad + parent: infra-prod-service-base + description: Run service-etherpad.yaml playbook. + vars: + playbook_name: service-etherpad.yaml + files: + - inventory/ + - playbooks/service-etherpad.yaml + - playbooks/host_vars/etherpad01.opendev.org.yaml + - playbooks/group_vars/etherpad + - playbooks/roles/install-docker/ + - playbooks/roles/pip3/ + - playbooks/roles/etherpad + - playbooks/roles/logrotate + +- job: + name: infra-prod-service-meetpad + parent: infra-prod-service-base + description: Run service-meetpad.yaml playbook. + dependencies: + - name: infra-prod-install-ansible + soft: true + - name: infra-prod-base + soft: true + - name: infra-prod-service-letsencrypt + soft: true + - name: system-config-promote-image-jitsi-meet + soft: true + vars: + playbook_name: service-meetpad.yaml + files: + - inventory/ + - playbooks/service-meetpad.yaml + - playbooks/host_vars/meetpad01.opendev.org.yaml + - playbooks/group_vars/meetpad.yaml + - playbooks/roles/pip3/ + - playbooks/roles/install-docker/ + - playbooks/roles/jitsi-meet/ + +- job: + name: infra-prod-service-mirror-update + parent: infra-prod-service-base + description: Run service-mirror-update.yaml playbook. + vars: + playbook_name: service-mirror-update.yaml + files: + - inventory/ + - playbooks/service-mirror-update.yaml + - playbooks/roles/kerberos-client/ + - playbooks/roles/openafs-client/ + - playbooks/roles/mirror-update/ + - playbooks/roles/logrotate/ + +- job: + name: infra-prod-service-mirror + parent: infra-prod-service-base + description: Run service-mirror.yaml playbook. + vars: + playbook_name: service-mirror.yaml + files: + - inventory/ + - playbooks/service-mirror.yaml + - playbooks/group_vars/mirror_opendev.yaml + - playbooks/roles/kerberos-client/ + - playbooks/roles/openafs-client/ + - playbooks/roles/mirror/ + - playbooks/roles/afs-release/ + - playbooks/roles/afsmon/ + - playbooks/roles/logrotate/ + +- job: + name: infra-prod-service-static + parent: infra-prod-service-base + description: Run service-static.yaml playbook. + vars: + playbook_name: service-static.yaml + files: + - inventory/ + - playbooks/service-static.yaml + - playbooks/host_vars/static01.opendev.org.yaml + - playbooks/group_vars/static.yaml + - playbooks/roles/kerberos-client/ + - playbooks/roles/openafs-client/ + - playbooks/roles/static/ + - playbooks/roles/zuul-user/ + +- job: + name: infra-prod-service-backup + parent: infra-prod-service-base + description: Run service-backup.yaml playbook. + vars: + playbook_name: service-backup.yaml + files: + - inventory/ + - playbooks/service-backup.yaml + - playbooks/roles/backup/ + - playbooks/roles/backup-server/ + +- job: + name: infra-prod-service-registry + parent: infra-prod-service-base + description: Run service-registry.yaml playbook. + vars: + playbook_name: service-registry.yaml + files: + - inventory/ + - playbooks/service-registry.yaml + - playbooks/group_vars/registry.yaml + - playbooks/roles/pip3/ + - playbooks/roles/install-docker/ + - playbooks/roles/registry/ + +- job: + name: infra-prod-service-zuul-preview + parent: infra-prod-service-base + description: Run service-zuul-preview.yaml playbook. + vars: + playbook_name: service-zuul-preview.yaml + files: + - inventory/ + - playbooks/service-zuul-preview.yaml + - playbooks/group_vars/zuul-preview.yaml + - playbooks/roles/pip3/ + - playbooks/roles/install-docker/ + - playbooks/roles/zuul-preview/ + +- job: + name: infra-prod-service-zookeeper + parent: infra-prod-service-base + description: Run service-zookeeper.yaml playbook. + vars: + playbook_name: service-zookeeper.yaml + files: + - inventory/.* + - playbooks/group_vars/zookeeper.yaml + - ^playbooks/host_vars/zk\d+\..* + - playbooks/roles/pip3/ + - playbooks/roles/install-docker/ + - playbooks/roles/zookeeper/ + +- job: + name: infra-prod-service-zuul + parent: infra-prod-service-base + description: | + Run service-zuul.yaml playbook. + + This configures the main Zuul cluster. It will perform a + smart-reconfigure of the scheduler if the tenant configuration + is changed. + vars: + playbook_name: service-zuul.yaml + dependencies: + - name: infra-prod-install-ansible + soft: true + - name: infra-prod-base + soft: true + - name: infra-prod-service-letsencrypt + soft: true + - name: infra-prod-manage-projects + soft: true + files: + - inventory/.* + - playbooks/install-ansible.yaml + - playbooks/service-zuul.yaml + - playbooks/group_vars/zuul + - playbooks/group_vars/zookeeper.yaml + - playbooks/host_vars/zk\d+ + - playbooks/host_vars/zuul01.openstack.org + - playbooks/roles/install-docker/ + - playbooks/roles/zookeeper/ + - playbooks/roles/zuul + +- job: + name: infra-prod-service-review + parent: infra-prod-service-base + description: Run service-review.yaml playbook. + vars: + playbook_name: service-review.yaml + dependencies: &infra_prod_service_review_deps + - name: infra-prod-install-ansible + soft: true + - name: infra-prod-base + soft: true + - name: infra-prod-service-letsencrypt + soft: true + - name: system-config-promote-image-gerrit-2.13 + soft: true + files: + - inventory/ + - playbooks/service-review.yaml + - playbooks/group_vars/gerrit.yaml + - playbooks/host_vars/review01.openstack.org.yaml + - playbooks/roles/pip3/ + - playbooks/roles/install-docker/ + - playbooks/roles/gerrit/ + +- job: + name: infra-prod-service-review-dev + parent: infra-prod-service-base + description: Run service-review-dev.yaml playbook. + vars: + playbook_name: service-review-dev.yaml + dependencies: *infra_prod_service_review_deps + files: + - inventory/ + - playbooks/service-review-dev.yaml + - playbooks/group_vars/gerrit.yaml + - playbooks/host_vars/review-dev01.opendev.org.yaml + - playbooks/roles/pip3/ + - playbooks/roles/install-docker/ + - playbooks/roles/gerrit/ + +- job: + name: infra-prod-service-gitea + parent: infra-prod-service-base + description: Run service-gitea.yaml playbook. + vars: + playbook_name: service-gitea.yaml + dependencies: + - name: infra-prod-install-ansible + soft: true + - name: infra-prod-base + soft: true + - name: infra-prod-service-letsencrypt + soft: true + - name: system-config-promote-image-gitea-init + soft: true + - name: system-config-promote-image-gitea + soft: true + files: + - inventory/ + - playbooks/service-gitea.yaml + - playbooks/group_vars/gitea.yaml + - playbooks/host_vars/gitea[0-9][0-9] + - playbooks/roles/install-docker/ + - playbooks/roles/pip3/ + - playbooks/roles/gitea/ + - playbooks/roles/logrotate/ + - docker/gitea/ + - docker/gitea-init/ + - docker/jinja-init/ + - docker/python-base/ + +- job: + name: infra-prod-service-codesearch + parent: infra-prod-service-base + description: Run service-codesearch.yaml playbook. + required-projects: + - opendev/ansible-role-puppet + - opendev/system-config + - openstack/project-config + vars: + playbook_name: service-codesearch.yaml + files: + - inventory/ + - playbooks/install-ansible.yaml + - playbooks/service-codesearch.yaml + - playbooks/group_vars/puppet.yaml + - playbooks/roles/run-puppet/ + - playbooks/roles/install-ansible-roles/ + - playbooks/roles/sync-project-config + - playbooks/roles/puppet-install/ + - playbooks/roles/disable-puppet-agent/ + - modules/openstack_project/manifests/codesearch.pp + - modules/openstack_project/files/resync-hound-config.sh + - manifests/codesearch.pp + +- job: + name: infra-prod-service-eavesdrop + parent: infra-prod-service-base + description: Run service-eavesdrop.yaml playbook. + required-projects: + - opendev/ansible-role-puppet + - opendev/system-config + - openstack/project-config + dependencies: + - name: infra-prod-install-ansible + soft: true + - name: infra-prod-base + soft: true + - name: infra-prod-service-letsencrypt + soft: true + - name: system-config-promote-image-accessbot + soft: true + vars: + playbook_name: service-eavesdrop.yaml + files: &infra_prod_eavesdrop_files + - inventory/ + - playbooks/service-eavesdrop.yaml + - playbooks/run-accessbot.yaml + - playbooks/group_vars/eavesdrop.yaml + - playbooks/group_vars/puppet.yaml + - playbooks/roles/run-puppet/ + - playbooks/roles/install-ansible-roles/ + - playbooks/roles/zuul-user + - playbooks/roles/install-docker + - playbooks/roles/puppet-install/ + - playbooks/roles/disable-puppet-agent/ + - playbooks/roles/accessbot + - playbooks/roles/logrotate + - modules/openstack_project/manifests/eavesdrop.pp + - manifests/eavesdrop.pp + - docker/accessbot/ + +- job: + name: infra-prod-run-accessbot + parent: infra-prod-service-base + description: Run run-accessbot.yaml playbook. + required-projects: + - opendev/system-config + - openstack/project-config + dependencies: + - infra-prod-service-eavesdrop + vars: + playbook_name: run-accessbot.yaml + files: *infra_prod_eavesdrop_files + +# Run AFS changes separately so we can make sure to only do one at a time +# (turns out quorum is nice to have) +- job: + name: infra-prod-remote-puppet-afs + parent: infra-prod-service-base + description: Run remote-puppet-afs.yaml playbook. + vars: + playbook_name: remote_puppet_afs.yaml + infra_prod_ansible_forks: 1 + required-projects: + - opendev/ansible-role-puppet + - opendev/system-config + files: + - inventory/ + - playbooks/remote_puppet_afs.yaml + - playbooks/group_vars/afs + - playbooks/group_vars/mirror-update + - playbooks/group_vars/puppet + - playbooks/roles/run-puppet/ + - playbooks/roles/install-ansible-roles/ + - playbooks/roles/puppet-install/ + - playbooks/roles/disable-puppet-agent/ + - playbooks/roles/vos-release/ + - modules/ + - manifests/ + +- job: + name: infra-prod-remote-puppet-else + parent: infra-prod-service-base + description: Run remote-puppet-else.yaml playbook. + vars: + playbook_name: remote_puppet_else.yaml + infra_prod_ansible_forks: 50 + required-projects: + - opendev/ansible-role-puppet + - opendev/system-config + files: + - hiera/ + - inventory/ + - playbooks/remote_puppet_else.yaml + - playbooks/group_vars/ + - playbooks/host_vars/ + - playbooks/group_vars/puppet + - playbooks/roles/run-puppet/ + - playbooks/roles/install-ansible-roles/ + - playbooks/roles/puppet-install/ + - playbooks/roles/disable-puppet-agent/ + - modules/ + - manifests/ + +- job: + name: infra-prod-run-cloud-launcher + parent: infra-prod-service-base + description: Run cloud launcher playbook + vars: + playbook_name: run_cloud_launcher.yaml + infra_prod_ansible_forks: 1 + required-projects: + - opendev/ansible-role-cloud-launcher + - opendev/system-config + dependencies: + - name: infra-prod-service-bridge + soft: true + files: + - playbooks/run_cloud_launcher.yaml + - playbooks/host_vars/bridge.openstack.org.yaml diff --git a/zuul.d/project.yaml b/zuul.d/project.yaml new file mode 100644 index 0000000000..295b5d2e32 --- /dev/null +++ b/zuul.d/project.yaml @@ -0,0 +1,294 @@ +- project: + templates: + - system-config-zuul-role-integration + - system-config-gerrit-images + - system-config-puppet-apply-jobs + - system-config-logstash-filter-jobs + check: + jobs: + - opendev-tox-docs + - opendev-buildset-registry + - tox-linters + - system-config-run-base + - system-config-run-base-ansible-devel: + voting: false + - system-config-run-backup + - system-config-run-dns + - system-config-run-eavesdrop: + dependencies: + - name: opendev-buildset-registry + - name: system-config-build-image-accessbot + soft: true + - system-config-run-codesearch + - system-config-run-lists + - system-config-run-nodepool + - system-config-run-meetpad: + dependencies: + - name: opendev-buildset-registry + - name: system-config-build-image-jitsi-meet + soft: true + - system-config-run-mirror-x86 + - system-config-run-mirror-update + - system-config-run-static + - system-config-run-docker-registry + - system-config-run-etherpad: + dependencies: + - name: opendev-buildset-registry + - name: system-config-build-image-etherpad + soft: true + - system-config-run-gitea: + dependencies: + - name: opendev-buildset-registry + - name: system-config-build-image-gitea + soft: true + - name: system-config-build-image-haproxy-statsd + soft: true + - system-config-run-review: + dependencies: + - name: opendev-buildset-registry + - name: system-config-build-image-gerrit-2.13 + soft: true + - system-config-run-zookeeper + - system-config-run-zuul + - system-config-run-zuul-preview + - system-config-run-letsencrypt + - system-config-build-image-jinja-init: + dependencies: + - name: opendev-buildset-registry + - name: system-config-build-image-python-base-3.7 + soft: true + - system-config-build-image-gitea-init: + dependencies: + - name: opendev-buildset-registry + - name: system-config-build-image-jinja-init + soft: true + - system-config-build-image-etherpad + - system-config-build-image-gitea + - system-config-build-image-jitsi-meet + - system-config-build-image-haproxy-statsd: + dependencies: + - name: opendev-buildset-registry + - name: system-config-build-image-python-base-3.7 + soft: true + - system-config-build-image-accessbot: + dependencies: + - name: opendev-buildset-registry + - name: system-config-build-image-python-base-3.7 + soft: true + - system-config-build-image-python-base-3.7 + - system-config-build-image-python-base-3.8 + - system-config-build-image-python-builder-3.7 + - system-config-build-image-python-builder-3.8 + - system-config-build-image-uwsgi-base-3.7 + - system-config-build-image-uwsgi-base-3.8 + check-arm64: + jobs: + - system-config-run-base-arm64 + - system-config-run-mirror-arm64 + gate: + jobs: + - opendev-tox-docs + - opendev-buildset-registry + - tox-linters + - system-config-run-base + - system-config-run-dns + - system-config-run-eavesdrop: + dependencies: + - name: opendev-buildset-registry + - name: system-config-upload-image-accessbot + soft: true + - system-config-run-codesearch + - system-config-run-lists + - system-config-run-nodepool + - system-config-run-meetpad: + dependencies: + - name: opendev-buildset-registry + - name: system-config-upload-image-jitsi-meet + soft: true + - system-config-run-mirror-x86 + - system-config-run-mirror-update + - system-config-run-static + - system-config-run-docker-registry + - system-config-run-etherpad: + dependencies: + - name: opendev-buildset-registry + - name: system-config-upload-image-etherpad + soft: true + - system-config-run-gitea: + dependencies: + - name: opendev-buildset-registry + - name: system-config-upload-image-gitea + soft: true + - name: system-config-upload-image-haproxy-statsd + soft: true + - system-config-run-review: + dependencies: + - name: opendev-buildset-registry + - name: system-config-upload-image-gerrit-2.13 + soft: true + - system-config-run-zookeeper + - system-config-run-zuul + - system-config-run-zuul-preview + - system-config-run-letsencrypt + - system-config-upload-image-jinja-init: + dependencies: + - name: opendev-buildset-registry + - name: system-config-upload-image-python-base-3.7 + soft: true + - system-config-upload-image-gitea-init: + dependencies: + - name: opendev-buildset-registry + - name: system-config-upload-image-jinja-init + soft: true + - system-config-upload-image-etherpad + - system-config-upload-image-gitea + - system-config-upload-image-jitsi-meet + - system-config-upload-image-haproxy-statsd: + dependencies: + - name: opendev-buildset-registry + - name: system-config-upload-image-python-base-3.7 + soft: true + - system-config-upload-image-accessbot: + dependencies: + - name: opendev-buildset-registry + - name: system-config-build-image-python-base-3.7 + soft: true + - system-config-upload-image-python-base-3.7 + - system-config-upload-image-python-base-3.8 + - system-config-upload-image-python-builder-3.7 + - system-config-upload-image-python-builder-3.8 + - system-config-upload-image-uwsgi-base-3.7 + - system-config-upload-image-uwsgi-base-3.8 + promote: + jobs: + - opendev-promote-docs + deploy: + jobs: + - system-config-promote-image-jinja-init + - system-config-promote-image-gitea-init + - system-config-promote-image-gitea + - system-config-promote-image-etherpad + - system-config-promote-image-jitsi-meet + - system-config-promote-image-haproxy-statsd + - system-config-promote-image-accessbot + - system-config-promote-image-python-base-3.7 + - system-config-promote-image-python-base-3.8 + - system-config-promote-image-python-builder-3.7 + - system-config-promote-image-python-builder-3.8 + - system-config-promote-image-uwsgi-base-3.7 + - system-config-promote-image-uwsgi-base-3.8 + - infra-prod-install-ansible + - infra-prod-base + - infra-prod-service-letsencrypt + - infra-prod-manage-projects: + files: + - inventory/.* + - playbooks/manage-projects.yaml + - playbooks/group_vars/gerrit.yaml + - playbooks/group_vars/gitea.yaml + - playbooks/host_vars/gitea + - playbooks/host_vars/review + - playbooks/roles/gitea-git-repos/ + - playbooks/roles/gerrit/defaults/main.yaml + - playbooks/roles/gerrit/tasks/manage-projects.yaml + dependencies: + - name: system-config-promote-image-gerrit-2.13 + soft: true + - name: infra-prod-install-ansible + soft: true + - infra-prod-service-bridge + - infra-prod-service-gitea-lb + - infra-prod-service-nameserver + - infra-prod-service-nodepool + - infra-prod-service-etherpad: + dependencies: + - name: infra-prod-install-ansible + soft: true + - name: infra-prod-base + soft: true + - name: infra-prod-service-letsencrypt + soft: true + - name: system-config-promote-image-etherpad + soft: true + - infra-prod-service-meetpad + - infra-prod-service-mirror-update + - infra-prod-service-mirror + - infra-prod-service-static + - infra-prod-service-backup + - infra-prod-service-registry + - infra-prod-service-zookeeper + - infra-prod-service-zuul + - infra-prod-service-zuul-preview + - infra-prod-service-review + - infra-prod-service-review-dev + - infra-prod-service-gitea + - infra-prod-service-codesearch + - infra-prod-service-eavesdrop + - infra-prod-remote-puppet-afs + - infra-prod-remote-puppet-else + - infra-prod-run-cloud-launcher + periodic: + jobs: + - developer-openstack-goaccess-report + - docs-opendev-goaccess-report + - docs-openstack-goaccess-report + - docs-starlingx-goaccess-report + - governance-openstack-goaccess-report + - releases-openstack-goaccess-report + - security-openstack-goaccess-report + - specs-openstack-goaccess-report + - tarballs-opendev-goaccess-report + - zuul-ci-goaccess-report + # Nightly runs of ansible things for catchup + - infra-prod-install-ansible + - infra-prod-base + - infra-prod-service-letsencrypt + - infra-prod-service-bridge + - infra-prod-service-gitea-lb + - infra-prod-service-nameserver + - infra-prod-service-etherpad + - infra-prod-service-meetpad + - infra-prod-service-mirror-update + - infra-prod-service-mirror + - infra-prod-service-static + - infra-prod-service-backup + - infra-prod-service-zookeeper + - infra-prod-service-review + - infra-prod-service-review-dev + - infra-prod-service-gitea + - infra-prod-service-codesearch + - infra-prod-service-eavesdrop + - infra-prod-run-accessbot + - infra-prod-remote-puppet-afs + opendev-prod-hourly: + jobs: + - infra-prod-install-ansible + - infra-prod-service-bridge: + dependencies: + - name: infra-prod-install-ansible + soft: true + - infra-prod-run-cloud-launcher + - infra-prod-service-nodepool: + dependencies: + - name: infra-prod-install-ansible + soft: true + - infra-prod-service-registry: + dependencies: + - name: infra-prod-install-ansible + soft: true + - infra-prod-service-zuul: + dependencies: + - name: infra-prod-install-ansible + soft: true + - infra-prod-service-zuul-preview: + dependencies: + - name: infra-prod-install-ansible + soft: true + - infra-prod-remote-puppet-else: + dependencies: + - name: infra-prod-install-ansible + soft: true + - infra-prod-run-accessbot: + dependencies: + - name: infra-prod-install-ansible + soft: true diff --git a/zuul.d/puppet.yaml b/zuul.d/puppet.yaml new file mode 100644 index 0000000000..62429fc1f6 --- /dev/null +++ b/zuul.d/puppet.yaml @@ -0,0 +1,328 @@ +- job: + name: system-config-puppet-apply-4-ubuntu-xenial + # Required to install z-c for puppet module installs. + parent: legacy-base + timeout: 1800 + nodeset: ubuntu-xenial + vars: + puppet_version: 4 + required-projects: + - opendev/system-config + - opendev/ansible-role-puppet + - opendev/puppet-ansible + - opendev/puppet-apparmor + - opendev/puppet-askbot + - opendev/puppet-asterisk + - opendev/puppet-bandersnatch + - opendev/puppet-bugdaystats + - opendev/puppet-bup + - opendev/puppet-cgit + - opendev/puppet-ciwatch + - opendev/puppet-diskimage_builder + - opendev/puppet-drupal + - opendev/puppet-elastic_recheck + - opendev/puppet-elasticsearch + - opendev/puppet-ethercalc + - opendev/puppet-etherpad_lite + - opendev/puppet-exim + - opendev/puppet-germqtt + - opendev/puppet-gerrit + - opendev/puppet-gerritbot + - opendev/puppet-github + - opendev/puppet-grafyaml + - opendev/puppet-graphite + - opendev/puppet-haveged + - opendev/puppet-hound + - opendev/puppet-httpd + - opendev/puppet-infracloud + - opendev/puppet-infra-cookiecutter + - opendev/puppet-ipsilon + - opendev/puppet-iptables + - opendev/puppet-jeepyb + - opendev/puppet-jenkins + - opendev/puppet-kerberos + - opendev/puppet-kibana + - opendev/puppet-lodgeit + - opendev/puppet-log_processor + - opendev/puppet-logrotate + - opendev/puppet-logstash + - opendev/puppet-lpmqtt + - opendev/puppet-mailman + - opendev/puppet-mediawiki + - opendev/puppet-meetbot + - opendev/puppet-mosquitto + - opendev/puppet-mqtt_statsd + - opendev/puppet-mysql_backup + - opendev/puppet-nodepool + - opendev/puppet-openafs + - opendev/puppet-openstackci + - opendev/puppet-openstack_health + - opendev/puppet-openstackid + - opendev/puppet-openstack_infra_spec_helper + - opendev/puppet-os_client_config + - opendev/puppet-packagekit + - opendev/puppet-pgsql_backup + - opendev/puppet-phabricator + - opendev/puppet-pip + - opendev/puppet-planet + - opendev/puppet-project_config + - opendev/puppet-ptgbot + - opendev/puppet-puppet + - opendev/puppet-redis + - opendev/puppet-refstack + - opendev/puppet-reviewday + - opendev/puppet-simpleproxy + - opendev/puppet-snmpd + - opendev/puppet-ssh + - opendev/puppet-ssl_cert_check + - opendev/puppet-statusbot + - opendev/puppet-storyboard + - opendev/puppet-subunit2sql + - opendev/puppet-sudoers + - opendev/puppet-tmpreaper + - opendev/puppet-translation_checksite + - opendev/puppet-ulimit + - opendev/puppet-unattended_upgrades + - opendev/puppet-unbound + - opendev/puppet-user + - opendev/puppet-vcsrepo + - opendev/puppet-zanata + - opendev/puppet-zuul + pre-run: playbooks/zuul/infra-puppet-apply/pre.yaml + run: playbooks/zuul/infra-puppet-apply/run.yaml + post-run: playbooks/zuul/infra-puppet-apply/post.yaml + irrelevant-files: + - docker/.* + - playbooks/.* + +- job: + name: system-config-puppet-beaker-rspec-infra + parent: legacy-base + description: | + Base job for beaker-rspec tests for Infra's puppet modules. + nodeset: ubuntu-xenial + run: playbooks/zuul/infra-puppet-beaker-rspec/run.yaml + vars: + nodeset: nodepool-xenial + project_src_dir: "{{ zuul.project.src_dir }}" + timeout: 3600 + irrelevant-files: + - ^.*\.md$ + - ^.*\.rst$ + - ^doc/.*$ + - ^etc/.*$ + - ^metadata.json$ + - ^releasenotes/.*$ + - ^test-requirements.txt$ + required-projects: + - openstack/project-config + - opendev/system-config + - opendev/puppet-openstack_infra_spec_helper + - opendev/puppet-bugdaystats + - opendev/puppet-mysql_backup + - opendev/puppet-openstackci + - opendev/puppet-zuul + - opendev/puppet-mqtt_statsd + - opendev/puppet-meetbot + - opendev/puppet-hound + - opendev/puppet-pip + - opendev/puppet-os_client_config + - opendev/puppet-openstackid + - opendev/puppet-bandersnatch + - opendev/puppet-project_config + - opendev/puppet-grafyaml + - opendev/puppet-refstack + - opendev/puppet-github + - opendev/puppet-ethercalc + - opendev/puppet-unattended_upgrades + - opendev/puppet-openafs + - opendev/puppet-httpd + - opendev/puppet-drupal + - opendev/puppet-subunit2sql + - opendev/puppet-reviewday + - opendev/puppet-kibana + - opendev/puppet-redis + - opendev/puppet-phabricator + - opendev/puppet-ssl_cert_check + - opendev/puppet-lpmqtt + - opendev/puppet-germqtt + - opendev/puppet-cgit + - opendev/puppet-packagekit + - opendev/puppet-haveged + - opendev/puppet-graphite + - opendev/puppet-diskimage_builder + - opendev/puppet-sudoers + - opendev/puppet-zanata + - opendev/puppet-logstash + - opendev/puppet-gerritbot + - opendev/puppet-asterisk + - opendev/puppet-statusbot + - opendev/puppet-gerrit + - opendev/puppet-mediawiki + - opendev/puppet-mailman + - opendev/puppet-exim + - opendev/puppet-tmpreaper + - opendev/puppet-elastic_recheck + - opendev/puppet-ulimit + - opendev/puppet-planet + - opendev/puppet-nodepool + - opendev/puppet-logrotate + - opendev/puppet-infracloud + - opendev/puppet-elasticsearch + - opendev/puppet-unbound + - opendev/puppet-storyboard + - opendev/puppet-openstack_health + - opendev/puppet-kerberos + - opendev/puppet-askbot + - opendev/puppet-log_processor + - opendev/puppet-simpleproxy + - opendev/puppet-iptables + - opendev/puppet-lodgeit + - opendev/puppet-etherpad_lite + - opendev/puppet-mosquitto + - opendev/puppet-bup + - opendev/puppet-pgsql_backup + - opendev/puppet-ansible + - opendev/puppet-ssh + - opendev/puppet-snmpd + - opendev/puppet-user + - opendev/puppet-jeepyb + - opendev/puppet-ptgbot + - opendev/puppet-jenkins + - opendev/puppet-vcsrepo + +- job: + name: system-config-puppet-beaker-rspec-puppet-4-infra + parent: system-config-puppet-beaker-rspec-infra + description: | + Run beaker-rspec functional tests with puppet 4 on Ubuntu Xenial. + vars: + puppet_version: 4 + +- job: + name: system-config-openstackci-beaker-puppet-4 + parent: system-config-puppet-beaker-rspec-infra + description: | + Run beaker-rspec functional tests with puppet 4 on Ubuntu Xenial for the + puppet-openstackci module. + vars: + project_src_dir: "{{ zuul.projects['opendev.org/opendev/puppet-openstackci'].src_dir }}" + puppet_version: 4 + +- project-template: + name: system-config-puppet-apply-jobs + description: | + Runs puppet apply tests for OpenStack Infrastructure. + check: + jobs: + - system-config-puppet-apply-4-ubuntu-xenial + - system-config-openstackci-beaker-puppet-4 + gate: + jobs: + - system-config-puppet-apply-4-ubuntu-xenial + - system-config-openstackci-beaker-puppet-4 + +- project-template: + name: system-config-puppet-beaker-jobs + description: | + Runs puppet beaker tests for OpenStack Infrastructure. + The jobs are run on Ubuntu Xenial. + check: + jobs: + - system-config-puppet-beaker-rspec-puppet-4-infra + gate: + jobs: + - system-config-puppet-beaker-rspec-puppet-4-infra + +- job: + name: system-config-legacy-logstash-filters + parent: legacy-base + required-projects: + - opendev/ansible-role-puppet + - openstack/logstash-filters + - opendev/puppet-ansible + - opendev/puppet-askbot + - opendev/puppet-asterisk + - opendev/puppet-bandersnatch + - opendev/puppet-bugdaystats + - opendev/puppet-bup + - opendev/puppet-cgit + - opendev/puppet-diskimage_builder + - opendev/puppet-drupal + - opendev/puppet-elastic_recheck + - opendev/puppet-elasticsearch + - opendev/puppet-ethercalc + - opendev/puppet-etherpad_lite + - opendev/puppet-exim + - opendev/puppet-germqtt + - opendev/puppet-gerrit + - opendev/puppet-gerritbot + - opendev/puppet-github + - opendev/puppet-grafyaml + - opendev/puppet-graphite + - opendev/puppet-haveged + - opendev/puppet-hound + - opendev/puppet-httpd + - opendev/puppet-infracloud + - opendev/puppet-iptables + - opendev/puppet-jeepyb + - opendev/puppet-jenkins + - opendev/puppet-kerberos + - opendev/puppet-kibana + - opendev/puppet-lodgeit + - opendev/puppet-log_processor + - opendev/puppet-logrotate + - opendev/puppet-logstash + - opendev/puppet-lpmqtt + - opendev/puppet-mailman + - opendev/puppet-mediawiki + - opendev/puppet-meetbot + - opendev/puppet-mosquitto + - opendev/puppet-mqtt_statsd + - opendev/puppet-mysql_backup + - opendev/puppet-nodepool + - opendev/puppet-openafs + - opendev/puppet-openstackci + - opendev/puppet-openstack_health + - opendev/puppet-openstackid + - opendev/puppet-os_client_config + - opendev/puppet-packagekit + - opendev/puppet-pgsql_backup + - opendev/puppet-phabricator + - opendev/puppet-pip + - opendev/puppet-planet + - opendev/puppet-project_config + - opendev/puppet-ptgbot + - opendev/puppet-redis + - opendev/puppet-refstack + - opendev/puppet-reviewday + - opendev/puppet-simpleproxy + - opendev/puppet-snmpd + - opendev/puppet-ssh + - opendev/puppet-ssl_cert_check + - opendev/puppet-statusbot + - opendev/puppet-storyboard + - opendev/puppet-subunit2sql + - opendev/puppet-sudoers + - opendev/puppet-tmpreaper + - opendev/puppet-ulimit + - opendev/puppet-unattended_upgrades + - opendev/puppet-unbound + - opendev/puppet-user + - opendev/puppet-vcsrepo + - opendev/puppet-zanata + - opendev/puppet-zuul + - opendev/system-config + run: playbooks/zuul/logstash-filters/run.yaml + post-run: playbooks/zuul/logstash-filters/post.yaml + timeout: 1800 + nodeset: ubuntu-xenial + +- project-template: + name: system-config-logstash-filter-jobs + check: + jobs: + - system-config-legacy-logstash-filters + gate: + jobs: + - system-config-legacy-logstash-filters diff --git a/zuul.d/system-config-roles.yaml b/zuul.d/system-config-roles.yaml new file mode 100644 index 0000000000..2d1124861f --- /dev/null +++ b/zuul.d/system-config-roles.yaml @@ -0,0 +1,99 @@ +# 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-xenial + parent: system-config-zuul-role-integration + nodeset: + nodes: + - name: base + label: ubuntu-xenial + - name: puppet4 + label: ubuntu-xenial + groups: + - name: puppet3 + nodes: + - base + - name: openafs + 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 + - name: openafs + nodes: + - base + +- job: + name: system-config-zuul-role-integration-focal + parent: system-config-zuul-role-integration + nodeset: + nodes: + - name: base + label: ubuntu-focal + groups: + - name: openafs + nodes: + - base + +- job: + name: system-config-zuul-role-integration-debian-stable + parent: system-config-zuul-role-integration + nodeset: + nodes: + - name: base + label: debian-stretch + groups: + - name: openafs + nodes: + - base + +- job: + name: system-config-zuul-role-integration-centos-8 + parent: system-config-zuul-role-integration + nodeset: + nodes: + - name: base + label: centos-8 + groups: + - name: openafs + nodes: + - base + +- project-template: + name: system-config-zuul-role-integration + check: + jobs: + - system-config-zuul-role-integration-xenial + - system-config-zuul-role-integration-bionic + - system-config-zuul-role-integration-focal + - system-config-zuul-role-integration-debian-stable + - system-config-zuul-role-integration-centos-8 + gate: + jobs: + - system-config-zuul-role-integration-xenial + - system-config-zuul-role-integration-bionic + - system-config-zuul-role-integration-focal + - system-config-zuul-role-integration-debian-stable + - system-config-zuul-role-integration-centos-8 diff --git a/zuul.d/system-config-run.yaml b/zuul.d/system-config-run.yaml new file mode 100644 index 0000000000..5bdd78bd31 --- /dev/null +++ b/zuul.d/system-config-run.yaml @@ -0,0 +1,726 @@ +- 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 + zuul_copy_output: "{{ copy_output | combine(host_copy_output | default({})) }}" + stage_dir: "{{ ansible_user_dir }}/zuul-output" + copy_output: + '/var/log/syslog': logs_txt + '/var/log/messages': logs_txt + '/var/log/docker': logs + host-vars: + bridge.openstack.org: + host_copy_output: + '{{ zuul.project.src_dir }}/junit.xml': logs + +# Note: the following two jobs implement the variant-based multiple +# inheritance trick. Both of these variants will always apply, +# therefore both parents will appear in the inheritance hierarchy). +- job: + name: system-config-run-containers + parent: system-config-run + +# Note: see above re multiple-inheritance. +- job: + name: system-config-run-containers + parent: opendev-buildset-registry-consumer + description: | + Run the "base" playbook for system-config hosts which use + containers. + + This is a parent job designed to be inherited. Use this job if + the service in question is container-based. It expects a + buildset registry and pulls images from the intermediate + registry. + +- 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: xenial + label: ubuntu-xenial + - name: bionic + label: ubuntu-bionic + files: + - 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: github.com/philpep/testinfra + - name: openstack/openstacksdk + - name: recordsansible/ara + # NOTE(ianw): 2019-06-11 pinned to stable branch until we handle 1.0 + # http://lists.openstack.org/pipermail/openstack-infra/2019-June/006400.html + override-checkout: stable/0.x + vars: + bridge_ansible_name: '{{ ansible_user_dir}}/src/github.com/ansible/ansible' + bridge_ansible_version: null + bridge_openstacksdk_name: '{{ ansible_user_dir }}/src/opendev.org/openstack/openstacksdk' + bridge_openstacksdk_version: null + bridge_ara_name: '{{ ansible_user_dir}}/src/opendev.org/recordsansible/ara' + bridge_ara_version: null + +# Although we don't have an arm64 based bridge; Zuul can't currently +# allocate a mixed x86/arm64 situation across clouds. Thus it helps +# to keep this clean so we can run the other tests. +- job: + name: system-config-run-base-arm64 + parent: system-config-run + description: | + Run the "base" playbook on ARM64. + nodeset: + nodes: + - name: bridge.openstack.org + label: ubuntu-bionic-arm64 + - name: bionic + label: ubuntu-bionic-arm64 + files: + - playbooks/ + - roles/ + - testinfra/ + +- job: + name: system-config-run-eavesdrop + parent: system-config-run-containers + description: | + Run the playbook for an eavesdrop server. + required-projects: + - opendev/ansible-role-puppet + - opendev/system-config + - openstack/project-config + requires: accessbot-container-image + nodeset: + nodes: + - name: bridge.openstack.org + label: ubuntu-bionic + - name: eavesdrop01.openstack.org + label: ubuntu-xenial + vars: + run_playbooks: + - playbooks/service-eavesdrop.yaml + files: + - playbooks/service-eavesdrop.yaml + - playbooks/run-accessbot.yaml + - playbooks/group_vars/eavesdrop.yaml + - playbooks/group_vars/puppet.yaml + - playbooks/roles/zuul-user + - playbooks/roles/install-docker + - playbooks/roles/puppet-install/ + - playbooks/roles/disable-puppet-agent/ + - playbooks/roles/accessbot + - playbooks/roles/logrotate + - modules/openstack_project/manifests/eavesdrop.pp + - manifests/eavesdrop.pp + - docker/accessbot/ + - testinfra/test_eavesdrop.py + +- job: + name: system-config-run-codesearch + parent: system-config-run + description: | + Run the playbook for an codesearch server. + nodeset: + nodes: + - name: bridge.openstack.org + label: ubuntu-bionic + - name: codesearch01.openstack.org + label: ubuntu-xenial + required-projects: + - opendev/ansible-role-puppet + - opendev/system-config + - openstack/project-config + files: + - playbooks/install-ansible.yaml + - playbooks/service-codesearch.yaml + - playbooks/group_vars/puppet.yaml + - playbooks/roles/run-puppet/ + - playbooks/roles/install-ansible-roles/ + - playbooks/roles/sync-project-config + - playbooks/roles/puppet-install/ + - playbooks/roles/disable-puppet-agent/ + - modules/openstack_project/manifests/codesearch.pp + - modules/openstack_project/files/resync-hound-config.sh + - manifests/codesearch.pp + vars: + run_playbooks: + - playbooks/service-codesearch.yaml + +- job: + name: system-config-run-letsencrypt + parent: system-config-run + description: | + Run the playbook for letsencrypt key acquisition + nodeset: + nodes: + - name: bridge.openstack.org + label: ubuntu-bionic + - name: adns-letsencrypt.opendev.org + label: ubuntu-bionic + - name: letsencrypt01.opendev.org + label: ubuntu-bionic + - name: letsencrypt02.opendev.org + label: ubuntu-bionic + vars: + run_playbooks: + - playbooks/service-nameserver.yaml + - playbooks/service-letsencrypt.yaml + host-vars: + letsencrypt01.opendev.org: + host_copy_output: + '/var/log/acme.sh': logs + letsencrypt02.opendev.org: + host_copy_output: + '/var/log/acme.sh': logs + files: + - playbooks/install-ansible.yaml + - playbooks/group_vars/letsencrypt.yaml + - playbooks/roles/letsencrypt + +- job: + name: system-config-run-lists + parent: system-config-run + description: | + Run the playbook for a list server. + nodeset: + nodes: + - name: bridge.openstack.org + label: ubuntu-bionic + - name: lists.openstack.org + label: ubuntu-xenial + required-projects: + - opendev/ansible-role-puppet + - opendev/system-config + files: + - playbooks/install-ansible.yaml + - modules/openstack_project/manifests/lists.pp + - playbooks/host_vars/lists.openstack.org.yaml + - playbooks/group_vars/puppet + - playbooks/roles/run-puppet/ + - playbooks/roles/install-ansible-roles/ + - roles/exim + vars: + run_playbooks: + - playbooks/remote_puppet_else.yaml + +- job: + name: system-config-run-nodepool + parent: system-config-run + description: | + Run the playbook for nodepool. + timeout: 3600 + nodeset: + nodes: + - name: bridge.openstack.org + label: ubuntu-bionic + - name: zk01.opendev.org + label: ubuntu-bionic + - name: nl01.openstack.org + label: ubuntu-xenial + - name: nb04.opendev.org + label: ubuntu-bionic + required-projects: + - opendev/ansible-role-puppet + - opendev/system-config + - openstack/project-config + host-vars: + nl01.openstack.org: + host_copy_output: + '/etc/nodepool/nodepool.yaml': logs + nb04.opendev.org: + host_copy_output: + '/etc/nodepool/nodepool.yaml': logs + vars: + run_playbooks: + - playbooks/service-letsencrypt.yaml + - playbooks/service-zookeeper.yaml + - playbooks/service-nodepool.yaml + - playbooks/remote_puppet_else.yaml + files: + - playbooks/install-ansible.yaml + - playbooks/group_vars/nodepool.yaml + - playbooks/group_vars/nodepool-builder.yaml + - playbooks/group_vars/nodepool-launcher.yaml + - playbooks/group_vars/puppet + - playbooks/roles/run-puppet/ + - playbooks/roles/install-ansible-roles/ + - playbooks/roles/configure-openstacksdk/ + - playbooks/roles/nodepool + - playbooks/templates/clouds/ + - testinfra/test_nodepool.py + +- job: + name: system-config-run-dns + parent: system-config-run + description: | + Run the playbook for dns. + required-projects: + - opendev/zone-opendev.org + - opendev/zone-zuul-ci.org + nodeset: + nodes: + - name: bridge.openstack.org + label: ubuntu-bionic + - name: adns1.opendev.org + label: ubuntu-bionic + - name: ns1.opendev.org + label: ubuntu-bionic + vars: + run_playbooks: + - playbooks/service-nameserver.yaml + host-vars: + adns1.opendev.org: + host_copy_output: + '/etc/bind/named.conf': logs + '/var/lib/bind/zones': logs + files: + - playbooks/install-ansible.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: system-config-run-backup + parent: system-config-run + description: | + Run the playbook for backup configuration + nodeset: + nodes: + - name: bridge.openstack.org + label: ubuntu-bionic + - name: backup01.region.provider.opendev.org + label: ubuntu-bionic + - name: backup-test01.opendev.org + label: ubuntu-bionic + - name: backup-test02.opendev.org + label: ubuntu-xenial + vars: + run_playbooks: + - playbooks/service-backup.yaml + files: + - playbooks/install-ansible.yaml + - playbooks/roles/backup + - playbooks/zuul/templates/host_vars/backup + - testinfra/test_backups.py + +- job: + name: system-config-run-mirror-base + parent: system-config-run + abstract: true + description: | + Run the playbook for a mirror node + vars: + run_playbooks: + - playbooks/service-letsencrypt.yaml + - playbooks/service-mirror.yaml + host-vars: + mirror01.openafs.provider.opendev.org: + host_copy_output: + '/var/log/apache2/': logs + '/var/log/acme.sh': logs + files: + - playbooks/install-ansible.yaml + - roles/ + - playbooks/group_vars/mirror_opendev.yaml + - playbooks/roles/mirror/ + - playbooks/roles/letsencrypt + - playbooks/service-letsencrypt.yaml + - playbooks/service-mirror.yaml + - playbooks/zuul/templates/group_vars/mirror_opendev.yaml.j2 + - testinfra/test_mirror.py + +- job: + name: system-config-run-mirror-x86 + parent: system-config-run-mirror-base + nodeset: + nodes: + - name: bridge.openstack.org + label: ubuntu-bionic + - name: mirror01.openafs.provider.opendev.org + label: ubuntu-bionic + +- job: + name: system-config-run-mirror-arm64 + parent: system-config-run-mirror-base + timeout: 3600 + nodeset: + nodes: + - name: bridge.openstack.org + label: ubuntu-bionic-arm64 + - name: mirror01.openafs.provider.opendev.org + label: ubuntu-bionic-arm64 + +- job: + name: system-config-run-mirror-update + parent: system-config-run + description: | + Run the playbook for a mirror update node + nodeset: + nodes: + - name: bridge.openstack.org + label: ubuntu-bionic + - name: mirror-update01.opendev.org + label: ubuntu-bionic + vars: + run_playbooks: + - playbooks/service-mirror-update.yaml + files: + - playbooks/install-ansible.yaml + - roles/ + - playbooks/roles/mirror-update/ + - playbooks/service-mirror-update.yaml + - testinfra/test_mirror-update.py + +- job: + name: system-config-run-docker-registry + parent: system-config-run + description: | + Run the playbook for the docker registry. + nodeset: + nodes: + - name: bridge.openstack.org + label: ubuntu-bionic + - name: insecure-ci-registry01.opendev.org + label: ubuntu-bionic + vars: + run_playbooks: + - playbooks/service-letsencrypt.yaml + - playbooks/service-registry.yaml + host-vars: + insecure-ci-registry01.opendev.org: + host_copy_output: + '/var/registry/auth': logs + '/var/registry/certs': logs + files: + - playbooks/install-ansible.yaml + - playbooks/group_vars/registry.yaml + - playbooks/host_vars/insecure-ci-registry\d+.opendev.org.yaml + - playbooks/zuul/templates/group_vars/registry.yaml.j2 + - playbooks/roles/letsencrypt-create-certs/handlers/restart_zuul_registry.yaml + - playbooks/roles/registry/ + - playbooks/roles/pip3/ + - playbooks/roles/install-docker/ + - testinfra/test_registry.py + +- job: + name: system-config-run-etherpad + parent: system-config-run-containers + description: | + Run the playbook for the etherpad servers. + timeout: 3600 + requires: etherpad-container-image + nodeset: + nodes: + - name: bridge.openstack.org + label: ubuntu-bionic + - name: etherpad01.opendev.org + label: ubuntu-bionic + vars: + run_playbooks: + - playbooks/service-letsencrypt.yaml + - playbooks/service-etherpad.yaml + files: + - playbooks/bridge.yaml + - playbooks/service-letsencrypt.yaml + - playbooks/service-etherpad.yaml + - playbooks/roles/etherpad/ + - playbooks/roles/install-docker/ + - playbooks/roles/pip3/ + - docker/etherpad/ + +- job: + name: system-config-run-gitea + parent: system-config-run-containers + description: | + Run the playbook for the gitea servers. + timeout: 3600 + nodeset: + nodes: + - name: bridge.openstack.org + label: ubuntu-bionic + - name: gitea-lb01.opendev.org + label: ubuntu-bionic + - name: gitea99.opendev.org + label: ubuntu-bionic + required-projects: + - openstack/project-config + - opendev/system-config + vars: + run_playbooks: + - playbooks/service-letsencrypt.yaml + - playbooks/service-gitea-lb.yaml + - playbooks/service-gitea.yaml + - playbooks/manage-projects.yaml + run_test_playbook: playbooks/test-gitea.yaml + host-vars: + gitea99.opendev.org: + host_copy_output: + '/var/gitea/conf': logs + '/var/gitea/certs': logs + '/var/gitea/logs': logs + gitea-lb01.opendev.org: + host_copy_output: + '/var/haproxy/etc': logs + files: + - playbooks/install-ansible.yaml + - playbooks/service-letsencrypt.yaml + - playbooks/service-gitea-lb.yaml + - playbooks/service-gitea.yaml + - playbooks/manage-projects.yaml + - playbooks/test-gitea.yaml + - playbooks/group_vars/gitea.yaml + - playbooks/group_vars/gitea-lb.yaml + - playbooks/host_vars/gitea + - playbooks/zuul/templates/group_vars/gitea.yaml.j2 + - playbooks/zuul/templates/group_vars/gitea-lb.yaml.j2 + - playbooks/roles/pip3/ + - playbooks/roles/install-docker/ + - playbooks/roles/letsencrypt + - playbooks/roles/gerrit/ + - playbooks/roles/gitea/ + - playbooks/roles/gitea-git-repos/ + - playbooks/roles/haproxy/ + - playbooks/roles/letsencrypt-create-certs/handlers/restart_gitea.yaml + - testinfra/test_gitea.py + - testinfra/test_gitea_lb.py + # From gitea_files -- If we rebuild the image, we want to run + # this job as well. + - docker/gitea/ + # From haproxy-statsd_files -- If we rebuild the image, we want + # to run this job as well. + - docker/haproxy-statsd/ + +- job: + name: system-config-run-meetpad + parent: system-config-run-containers + requires: jitsi-meet-container-image + description: | + Run the playbook for jitsi-meet. + nodeset: + nodes: + - name: bridge.openstack.org + label: ubuntu-bionic + - name: meetpad01.opendev.org + label: ubuntu-bionic + vars: + run_playbooks: + - playbooks/service-letsencrypt.yaml + - playbooks/service-meetpad.yaml + host-vars: + meetpad01.opendev.org: + host_copy_output: + '/var/jitsi-meet': logs + files: + - playbooks/install-ansible.yaml + - playbooks/group_vars/meetpad.yaml + - playbooks/host_vars/meetpad\d+.opendev.org.yaml + - playbooks/roles/letsencrypt-create-certs/handlers/restart_jitsi_meet.yaml + - playbooks/roles/jitsi-meet/ + - playbooks/roles/pip3/ + - playbooks/roles/install-docker/ + - playbooks/zuul/templates/group_vars/meetpad.yaml.j2 + - testinfra/test_meetpad.py + +- job: + name: system-config-run-zookeeper + parent: system-config-run + description: | + Run the playbook for the zookeeper cluster. + nodeset: + nodes: + - name: bridge.openstack.org + label: ubuntu-bionic + - name: zk01.opendev.org + label: ubuntu-bionic + vars: + run_playbooks: + - playbooks/service-zookeeper.yaml + files: + - playbooks/install-ansible.yaml + - playbooks/group_vars/zookeeper.yaml + - ^playbooks/host_vars/zk\d+\..* + - playbooks/roles/zookeeper/ + - playbooks/roles/pip3/ + - playbooks/roles/install-docker/ + - testinfra/test_zookeeper.py + +- job: + name: system-config-run-zuul-preview + parent: system-config-run + description: | + Run the playbook for the zuul-preview service. + nodeset: + nodes: + - name: bridge.openstack.org + label: ubuntu-bionic + - name: zp01.opendev.org + label: ubuntu-bionic + vars: + run_playbooks: + - playbooks/service-zuul-preview.yaml + files: + - playbooks/install-ansible.yaml + - playbooks/roles/zuul-preview/ + - playbooks/roles/pip3/ + - playbooks/roles/install-docker/ + - testinfra/test_zuul_preview.py + +- job: + name: system-config-run-zuul + parent: system-config-run + description: | + Run the playbook for the main Zuul cluster. + timeout: 3600 + nodeset: + nodes: + - name: bridge.openstack.org + label: ubuntu-bionic + - name: zk01.opendev.org + label: ubuntu-bionic + - name: zm01.openstack.org + label: ubuntu-xenial + - name: ze01.opendev.org + label: ubuntu-focal + - name: ze01.openstack.org + label: ubuntu-xenial + - name: zuul01.openstack.org + label: ubuntu-xenial + required-projects: + - openstack/project-config + - opendev/system-config + vars: + run_playbooks: + - playbooks/service-letsencrypt.yaml + - playbooks/service-zookeeper.yaml + - playbooks/service-zuul.yaml + host-vars: + zm01.openstack.org: + host_copy_output: + '/etc/zuul/zuul.conf': logs + ze01.opendev.org: + host_copy_output: + '/etc/zuul/zuul.conf': logs + ze01.openstack.org: + host_copy_output: + '/etc/zuul/zuul.conf': logs + zuul01.openstack.org: + host_copy_output: + '/etc/zuul/zuul.conf': logs + files: + - playbooks/install-ansible.yaml + - playbooks/service-zookeeper.yaml + - playbooks/service-zuul.yaml + - playbooks/group_vars/zuul + - playbooks/group_vars/zookeeper.yaml + - playbooks/host_vars/zk\d+ + - playbooks/host_vars/zuul01.openstack.org + - playbooks/roles/zookeeper/ + - playbooks/roles/zuul + +- job: + name: system-config-run-review + parent: system-config-run-containers + description: | + Run the playbook for gerrit (in a container). + requires: gerrit-2.13-container-image + nodeset: + nodes: + - name: bridge.openstack.org + label: ubuntu-bionic + - name: review01.openstack.org + label: ubuntu-xenial + - name: review-dev01.opendev.org + label: ubuntu-xenial + required-projects: + - openstack/project-config + - opendev/system-config + vars: + run_playbooks: + - playbooks/service-letsencrypt.yaml + - playbooks/service-review-dev.yaml + - playbooks/service-review.yaml + host-vars: + review-dev01.opendev.org: + host_copy_output: + '/home/gerrit2/review_site/etc': logs + '/home/gerrit2/review_site/logs': logs + '/var/log/apache2/': logs + '/var/log/acme.sh': logs + review01.openstack.org: + host_copy_output: + '/home/gerrit2/review_site/etc': logs + '/home/gerrit2/review_site/logs': logs + '/var/log/apache2/': logs + '/var/log/acme.sh': logs + files: + - playbooks/install-ansible.yaml + - playbooks/service-letsencrypt.yaml + - playbooks/service-review.*.yaml + - playbooks/group_vars/review.yaml + - playbooks/host_vars/review\d+.openstack.org.yaml + - playbooks/group_vars/review-dev.yaml + - playbooks/host_vars/review-dev\d+.opendev.org.yaml + - playbooks/roles/pip3/ + - playbooks/roles/install-docker/ + - playbooks/roles/letsencrypt + - playbooks/roles/gerrit/ + - playbooks/zuul/templates/group_vars/review-dev.yaml.j2 + - playbooks/zuul/templates/group_vars/review.yaml.j2 + - testinfra/test_gerrit.py + +- job: + name: system-config-run-static + parent: system-config-run + description: | + Run the playbook for a static node. + timeout: 3600 + nodeset: + nodes: + - name: bridge.openstack.org + label: ubuntu-bionic + - name: static01.opendev.org + label: ubuntu-bionic + vars: + run_playbooks: + - playbooks/service-letsencrypt.yaml + - playbooks/service-static.yaml + files: + - playbooks/install-ansible.yaml + - playbooks/roles/static/ + - playbooks/roles/letsencrypt + - playbooks/service-letsencrypt.yaml + - playbooks/service-static.yaml + - testinfra/test_static.py + host-vars: + static01.opendev.org: + host_copy_output: + '/var/log/acme.sh/': logs + '/etc/apache2/': logs + '/var/log/apache2/': logs