kayobe/zuul.d/jobs.yaml

357 lines
9.8 KiB
YAML

---
- job:
name: kayobe-tox-ansible-syntax
description: |
Tox job that checks Ansible playbook syntax.
parent: openstack-tox
pre-run: playbooks/kayobe-tox-ansible-syntax/pre.yml
required-projects:
- name: openstack/ansible-collection-kolla
vars:
tox_envlist: ansible-syntax
ansible_collection_kolla_src_dir: "{{ ansible_env.PWD ~ '/' ~ zuul.projects['opendev.org/openstack/ansible-collection-kolla'].src_dir }}"
kayobe_src_dir: "{{ ansible_env.PWD ~ '/' ~ zuul.projects['opendev.org/openstack/kayobe'].src_dir }}"
irrelevant-files:
- ^.*\.rst$
- ^doc/.*
- ^kayobe/tests/
- ^LICENSE$
- ^molecule-requirements.txt
- ^releasenotes/.*
- ^setup.cfg$
- ^zuul.d/.*
- job:
name: kayobe-tox-ansible
description: |
Tox job that runs native Ansible role tests.
parent: openstack-tox-with-sudo
vars:
tox_envlist: ansible
required-projects:
- name: openstack/requirements
irrelevant-files:
- ^.*\.rst$
- ^doc/.*
- ^kayobe/tests/
- ^LICENSE$
- ^molecule-requirements.txt
- ^releasenotes/.*
- ^setup.cfg$
- ^zuul.d/.*
- job:
name: kayobe-tox-molecule
description: |
Tox job that runs molecule-based Ansible role tests.
parent: openstack-tox-with-sudo
pre-run: playbooks/kayobe-tox-molecule/pre.yml
timeout: 3600
required-projects:
- openstack/requirements
vars:
tox_envlist: molecule
irrelevant-files:
- ^.*\.rst$
- ^doc/.*
- ^kayobe/tests/
- ^LICENSE$
- ^releasenotes/.*
- ^setup.cfg$
- ^test-requirements.txt
- ^zuul.d/.*
- job:
name: kayobe-base
description: |
Base job for all deployment jobs.
pre-run: playbooks/kayobe-base/pre.yml
post-run: playbooks/kayobe-base/post.yml
attempts: 5
required-projects:
# Include kayobe to ensure other projects can use this job.
- name: openstack/ansible-collection-kolla
- name: openstack/kayobe
- name: openstack/kayobe-config-dev
- name: openstack/kolla
- name: openstack/kolla-ansible
- name: openstack/requirements
- name: openstack/tenks
irrelevant-files:
- ^\..+
- ^.*\.rst$
- ^doc/.*
- ^kayobe/tests/
- ^LICENSE$
- ^molecule-requirements.txt
- ^releasenotes/.*
- ^setup.cfg$
- ^test-requirements.txt
- ^tools/.*$
- ^tox.ini$
- ^zuul.d/.*
vars:
# Name of the release to upgrade from for upgrade jobs.
logs_dir: "/tmp/logs"
ansible_collection_kolla_src_dir: "{{ ansible_env.PWD ~ '/' ~ zuul.projects['opendev.org/openstack/ansible-collection-kolla'].src_dir }}"
kayobe_src_dir: "{{ ansible_env.PWD ~ '/' ~ zuul.projects['opendev.org/openstack/kayobe'].src_dir }}"
kayobe_config_src_dir: "{{ ansible_env.PWD ~ '/' ~ zuul.projects['opendev.org/openstack/kayobe-config-dev'].src_dir }}"
kolla_ansible_src_dir: "{{ ansible_env.PWD ~ '/' ~ zuul.projects['opendev.org/openstack/kolla-ansible'].src_dir }}"
previous_kayobe_src_dir: "{{ ansible_env.PWD ~ '/previous/kayobe' }}"
previous_kayobe_config_src_dir: "{{ ansible_env.PWD ~ '/previous/kayobe-config' }}"
previous_kolla_ansible_src_dir: "{{ ansible_env.PWD ~ '/previous/kolla-ansible' }}"
requirements_src_dir: "{{ ansible_env.PWD ~ '/' ~ zuul.projects['opendev.org/openstack/requirements'].src_dir }}"
tenks_src_dir: "{{ ansible_env.PWD ~ '/' ~ zuul.projects['opendev.org/openstack/tenks'].src_dir }}"
is_upgrade: "{{ 'upgrade' in zuul.job }}"
is_slurp: "{{ 'slurp' in zuul.job }}"
previous_release: "{{ '2023.1' if is_slurp else '2023.2' }}"
tls_enabled: false
ironic_boot_mode: "bios"
- job:
name: kayobe-overcloud-base
parent: kayobe-base
description: |
Base job for testing overcloud deployment.
Configures the primary VM as an overcloud controller.
pre-run: playbooks/kayobe-overcloud-base/pre.yml
run: playbooks/kayobe-overcloud-base/run.yml
timeout: 7200
- job:
name: kayobe-overcloud-centos9s
parent: kayobe-overcloud-base
nodeset: kayobe-centos9s
voting: false
- job:
name: kayobe-overcloud-rocky9
parent: kayobe-overcloud-base
nodeset: kayobe-rocky9
- job:
name: kayobe-overcloud-ubuntu-jammy
parent: kayobe-overcloud-base
nodeset: kayobe-ubuntu-jammy
- job:
name: kayobe-overcloud-tls-base
parent: kayobe-overcloud-base
vars:
tls_enabled: true
ironic_boot_mode: "uefi"
- job:
name: kayobe-overcloud-tls-centos9s
parent: kayobe-overcloud-tls-base
nodeset: kayobe-centos9s
voting: false
- job:
name: kayobe-overcloud-tls-rocky9
parent: kayobe-overcloud-tls-base
nodeset: kayobe-rocky9
- job:
name: kayobe-overcloud-upgrade-base
parent: kayobe-base
description: |
Base job for testing overcloud upgrades.
Configures the primary VM as an overcloud controller using the previous
OpenStack release, and upgrades it to the current release.
pre-run: playbooks/kayobe-overcloud-upgrade-base/pre.yml
run: playbooks/kayobe-overcloud-upgrade-base/run.yml
timeout: 10800
- job:
name: kayobe-overcloud-upgrade-rocky9
parent: kayobe-overcloud-upgrade-base
nodeset: kayobe-rocky9
- job:
name: kayobe-overcloud-upgrade-ubuntu-jammy
parent: kayobe-overcloud-upgrade-base
nodeset: kayobe-ubuntu-jammy
- job:
name: kayobe-overcloud-upgrade-slurp-rocky9
parent: kayobe-overcloud-upgrade-base
nodeset: kayobe-rocky9
- job:
name: kayobe-overcloud-upgrade-slurp-ubuntu-jammy
parent: kayobe-overcloud-upgrade-base
nodeset: kayobe-ubuntu-jammy
- job:
name: kayobe-seed-base
parent: kayobe-base
description: |
Base job for testing seed deployment.
Configures the primary VM as a seed.
pre-run: playbooks/kayobe-seed-base/pre.yml
run: playbooks/kayobe-seed-base/run.yml
timeout: 5400
vars:
build_images: false
- job:
name: kayobe-seed-centos9s
parent: kayobe-seed-base
nodeset: kayobe-centos9s
voting: false
- job:
name: kayobe-seed-rocky9
parent: kayobe-seed-base
nodeset: kayobe-rocky9
- job:
name: kayobe-seed-ubuntu-jammy
parent: kayobe-seed-base
nodeset: kayobe-ubuntu-jammy
- job:
name: kayobe-seed-images-base
parent: kayobe-seed-base
description: |
Base job for testing seed image builds.
Configures the primary VM as a seed.
vars:
build_images: true
- job:
name: kayobe-seed-images-centos9s
parent: kayobe-seed-images-base
nodeset: kayobe-centos9s
voting: false
- job:
name: kayobe-seed-images-rocky9
parent: kayobe-seed-images-base
nodeset: kayobe-rocky9
- job:
name: kayobe-seed-images-ubuntu-jammy
parent: kayobe-seed-images-base
nodeset: kayobe-ubuntu-jammy
- job:
name: kayobe-overcloud-host-configure-base
parent: kayobe-overcloud-base
description: |
Base job for testing overcloud host configure.
Configures the primary VM as an overcloud controller.
pre-run: playbooks/kayobe-overcloud-host-configure-base/pre.yml
run: playbooks/kayobe-overcloud-host-configure-base/run.yml
timeout: 7200
- job:
name: kayobe-overcloud-host-configure-centos9s
parent: kayobe-overcloud-host-configure-base
nodeset: kayobe-centos9s
voting: false
- job:
name: kayobe-overcloud-host-configure-rocky9
parent: kayobe-overcloud-host-configure-base
nodeset: kayobe-rocky9
- job:
name: kayobe-overcloud-host-configure-ubuntu-jammy
parent: kayobe-overcloud-host-configure-base
nodeset: kayobe-ubuntu-jammy
- job:
name: kayobe-seed-upgrade-base
parent: kayobe-base
description: |
Base job for testing seed upgrades.
Configures the primary VM as a seed using the previous OpenStack release,
and upgrades it to the current release.
pre-run: playbooks/kayobe-seed-upgrade-base/pre.yml
run: playbooks/kayobe-seed-upgrade-base/run.yml
timeout: 5400
- job:
name: kayobe-seed-upgrade-rocky9
parent: kayobe-seed-upgrade-base
nodeset: kayobe-rocky9
- job:
name: kayobe-seed-upgrade-ubuntu-jammy
parent: kayobe-seed-upgrade-base
nodeset: kayobe-ubuntu-jammy
- job:
name: kayobe-seed-upgrade-slurp-rocky9
parent: kayobe-seed-upgrade-base
nodeset: kayobe-rocky9
- job:
name: kayobe-seed-upgrade-slurp-ubuntu-jammy
parent: kayobe-seed-upgrade-base
nodeset: kayobe-ubuntu-jammy
- job:
name: kayobe-seed-vm-base
parent: kayobe-base
description: |
Base job for testing seed VM provisioning.
Configures the primary VM as a libvirt hypervisor, and provisions a seed
as a VM.
pre-run: playbooks/kayobe-seed-vm-base/pre.yml
run: playbooks/kayobe-seed-vm-base/run.yml
timeout: 5400
- job:
name: kayobe-seed-vm-centos9s
parent: kayobe-seed-vm-base
nodeset: kayobe-centos9s
voting: false
- job:
name: kayobe-seed-vm-rocky9
parent: kayobe-seed-vm-base
nodeset: kayobe-rocky9
- job:
name: kayobe-seed-vm-ubuntu-jammy
parent: kayobe-seed-vm-base
nodeset: kayobe-ubuntu-jammy
- job:
name: kayobe-infra-vm-base
parent: kayobe-base
description: |
Base job for testing infra VM provisioning.
Configures the primary VM as a libvirt hypervisor, and provisions an
infra VM.
pre-run: playbooks/kayobe-infra-vm-base/pre.yml
run: playbooks/kayobe-infra-vm-base/run.yml
timeout: 5400
- job:
name: kayobe-infra-vm-centos9s
parent: kayobe-infra-vm-base
nodeset: kayobe-centos9s
voting: false
- job:
name: kayobe-infra-vm-rocky9
parent: kayobe-infra-vm-base
nodeset: kayobe-rocky9
- job:
name: kayobe-infra-vm-ubuntu-jammy
parent: kayobe-infra-vm-base
nodeset: kayobe-ubuntu-jammy