kayobe/zuul.d/jobs.yaml
Mark Goddard 9f41cefc15 CI: add Ubuntu overcloud deploy job
* Use source images
* Need to specify bash for &> syntax

Issues worked around:

* Manually configuring bridge via ip commands makes ifup fail to bring
  up the link. Adds a kayobe-network-bootstrap Zuul CI role that adds
  persistent configuration for the all-in-one network.

* bridge not active after interfaces role bounce. Added a pause, similar
  to https://github.com/michaelrigart/ansible-role-interfaces/pull/31

* fails installing docker python module for kolla user. WARNING: The
  repository located at mirror-int.ord.rax.opendev.org is not a trusted
  or secure host and is being ignored ERROR: No matching distribution
  found for docker===4.4.0 Adding trusted host for PyPI mirror.

* Tenks fails to create block devices - missing qemu-img (in qemu-utils)

* Tenks qemu emulator is different on Ubuntu

Remaining issues:

* Bare metal testing is unreliable on Ubuntu - some jobs see IPMI
  failures such as the following:

    ipmitool chassis bootdev pxe

    Error setting Chassis Boot Parameter 5\nError setting Chassis Boot
    Parameter 0\n

  Bare metal testing is disabled on Ubuntu for now.

Depends-On: https://review.opendev.org/766984
Depends-On: https://review.opendev.org/766958

Story: 2004960
Task: 29393

Change-Id: I1985efae7c18f55c3ff7c27c17d6242523904f3e
2021-03-01 17:57:51 +00:00

196 lines
5.5 KiB
YAML

---
- job:
name: kayobe-tox-ansible-syntax
description: |
Tox job that checks Ansible playbook syntax.
parent: openstack-tox
vars:
tox_envlist: ansible-syntax
irrelevant-files:
- ^.*\.rst$
- ^doc/.*
- ^releasenotes/.*
- ^setup.cfg$
- 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/.*
- ^releasenotes/.*
- ^setup.cfg$
- 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/.*
- ^releasenotes/.*
- ^setup.cfg$
- 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/kayobe
- name: openstack/kayobe-config-dev
- name: openstack/kolla
- name: openstack/kolla-ansible
- name: openstack/requirements
- name: openstack/tenks
irrelevant-files:
- ^.*\.rst$
- ^doc/.*
- ^releasenotes/.*
- ^setup.cfg$
- ^tools/.*$
- ^tox.ini$
vars:
# Name of the release to upgrade from for upgrade jobs.
previous_release: victoria
logs_dir: "/tmp/logs"
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 }}"
previous_kayobe_src_dir: "{{ ansible_env.PWD ~ '/previous/kayobe' }}"
previous_kayobe_config_src_dir: "{{ ansible_env.PWD ~ '/previous/kayobe-config' }}"
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 }}"
tls_enabled: false
- 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-centos8
parent: kayobe-overcloud-base
nodeset: kayobe-centos8
- job:
name: kayobe-overcloud-ubuntu-focal
parent: kayobe-overcloud-base
nodeset: kayobe-ubuntu-focal
- job:
name: kayobe-overcloud-tls-base
parent: kayobe-overcloud-base
vars:
tls_enabled: true
- job:
name: kayobe-overcloud-tls-centos8
parent: kayobe-overcloud-tls-base
nodeset: kayobe-centos8
- 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: 9000
- job:
name: kayobe-overcloud-upgrade-centos8
parent: kayobe-overcloud-upgrade-base
nodeset: kayobe-centos8
- 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
- job:
name: kayobe-seed-centos8
parent: kayobe-seed-base
nodeset: kayobe-centos8
- 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-centos8
parent: kayobe-overcloud-host-configure-base
nodeset: kayobe-centos8
- 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-centos8
parent: kayobe-seed-upgrade-base
nodeset: kayobe-centos8
- 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-centos8
parent: kayobe-seed-vm-base
nodeset: kayobe-centos8