ceae5c1030
Bifrost downgrades openstacksdk to a release <0.99.0 [1], which is
incompatible to our master branch of the Ansible OpenStack
collection. By adding openstacksdk to Zuul variable job.required-\
projects [2], Bifrost will install openstacksdk from its master
branch, overwriting any existing (older) openstacksdk releases.
[1] 03ddd02656
[2] https://review.opendev.org/c/openstack/bifrost/+/849563/5/playbooks/test-bifrost.yaml
Change-Id: I46dadc70338bb45d459e8176cc26e67c20c1d4ae
450 lines
17 KiB
YAML
450 lines
17 KiB
YAML
# yamllint disable
|
|
---
|
|
# Keep parent jobs in sync between branches to avoid issues e.g. with job scheduling. Zuul CI will search in master
|
|
# branch first when collecting job variants during job freeze which can have unwanted side effects. For example, when
|
|
# parent job *-base has been changed in stable/1.0.0 branch, Zuul could still use *-base variants from master branch
|
|
# during job freeze on child jobs such as *-ussuri-ansible-2.11 etc.
|
|
#
|
|
# Do not share job definitions with the job.branches attribute across multiple branches. Do not define jobs which are
|
|
# specific to other branches, except for parent jobs which are shared across branches. For example, to not add a job
|
|
# which is specific for the stable/1.0.0 branch to the .zuul.yaml in master branch. In particular do not use the
|
|
# job.branches directive on a job which will be copied to multiple branches. When you have multiple copies of a job with
|
|
# the job.branches attribute, Zuul CI could pick any of the job definitions which might not be the one you expected.
|
|
|
|
- job:
|
|
name: ansible-collections-openstack-functional-devstack-base
|
|
parent: openstacksdk-functional-devstack
|
|
# Do not restrict branches in base jobs because else Zuul would not find a matching
|
|
# parent job variant during job freeze when child jobs are on other branches.
|
|
post-run: ci/playbooks/postlog.yaml
|
|
description: |
|
|
Run openstack collections functional tests against a devstack
|
|
# Do not set job.override-checkout or job.required-projects.override-checkout in base job because
|
|
# else Zuul will use this branch when matching variants for parent jobs during job freeze
|
|
required-projects:
|
|
- openstack/ansible-collections-openstack
|
|
- openstack/designate
|
|
# openstack/devstack is required through parent job openstacksdk-functional-devstack
|
|
# openstack/os-client-config is required through parent job openstacksdk-functional-devstack
|
|
# openstack/openstacksdk is required through parent job openstacksdk-functional-devstack
|
|
irrelevant-files: &ignore_files
|
|
- changelogs/.*
|
|
- galaxy.*
|
|
- COPYING
|
|
- docs/.*
|
|
- .*\.md
|
|
- .*\.rst
|
|
- tools/run-ansible-sanity.sh
|
|
- tests/sanity/.*
|
|
- contrib/.*
|
|
- .zuul.yaml
|
|
vars:
|
|
zuul_work_dir: src/opendev.org/openstack/ansible-collections-openstack
|
|
tox_envlist: ansible
|
|
tox_install_siblings: true
|
|
fetch_subunit: false
|
|
devstack_plugins:
|
|
designate: https://opendev.org/openstack/designate
|
|
devstack_services:
|
|
designate: true
|
|
neutron-dns: true
|
|
zuul_copy_output:
|
|
'{{ devstack_log_dir }}/test_output.log': 'logs'
|
|
extensions_to_txt:
|
|
log: true
|
|
|
|
- job:
|
|
name: ansible-collections-openstack-functional-devstack
|
|
parent: ansible-collections-openstack-functional-devstack-base
|
|
branches: master
|
|
description: |
|
|
Run openstack collections functional tests against a master devstack
|
|
using master of openstacksdk with latest ansible release
|
|
vars:
|
|
# TODO: Remove tox_extra_args once all ci roles pass
|
|
tox_extra_args: &skip_broken_ci_roles >-
|
|
address_scope
|
|
auth
|
|
catalog_service
|
|
client_config
|
|
dns
|
|
dns_zone_info
|
|
endpoint
|
|
floating_ip_info
|
|
group
|
|
host_aggregate
|
|
identity_domain_info
|
|
identity_group_info
|
|
identity_role
|
|
identity_user
|
|
identity_user_info
|
|
identity_role
|
|
identity_role_info
|
|
image
|
|
image_info
|
|
keypair
|
|
keystone_domain
|
|
keystone_federation_protocol
|
|
keystone_idp
|
|
keystone_mapping
|
|
logging
|
|
loadbalancer
|
|
network
|
|
nova_flavor
|
|
nova_services
|
|
object
|
|
object_container
|
|
port
|
|
port_info
|
|
project
|
|
project_info
|
|
recordset
|
|
role_assignment
|
|
router
|
|
security_group
|
|
security_group_rule
|
|
subnet
|
|
subnet_pool
|
|
user
|
|
user_group
|
|
user_role
|
|
volume
|
|
# failing tags
|
|
# floating_ip
|
|
# orchestrate
|
|
# neutron_rbac
|
|
# server
|
|
|
|
- job:
|
|
name: ansible-collections-openstack-functional-devstack-octavia-base
|
|
parent: ansible-collections-openstack-functional-devstack-base
|
|
# Do not restrict branches in base jobs because else Zuul would not find a matching
|
|
# parent job variant during job freeze when child jobs are on other branches.
|
|
description: |
|
|
Run openstack collections functional tests against a devstack with Octavia plugin enabled
|
|
pre-run: ci/playbooks/get_amphora_tarball.yaml
|
|
# Do not set job.override-checkout or job.required-projects.override-checkout in base job because
|
|
# else Zuul will use this branch when matching variants for parent jobs during job freeze
|
|
required-projects:
|
|
- openstack/octavia
|
|
files:
|
|
- ^ci/roles/loadbalancer/.*$
|
|
- ^plugins/modules/lb_health_monitor.py
|
|
- ^plugins/modules/lb_listener.py
|
|
- ^plugins/modules/lb_member.py
|
|
- ^plugins/modules/lb_pool.py
|
|
- ^plugins/modules/loadbalancer.py
|
|
vars:
|
|
configure_swap_size: 8192
|
|
tox_install_siblings: false
|
|
devstack_plugins:
|
|
designate: https://opendev.org/openstack/designate
|
|
octavia: https://opendev.org/openstack/octavia
|
|
devstack_services:
|
|
designate: true
|
|
neutron-dns: true
|
|
octavia: true
|
|
o-api: true
|
|
o-cw: true
|
|
o-hk: true
|
|
o-hm: true
|
|
devstack_localrc:
|
|
OCTAVIA_AMP_IMAGE_FILE: "/tmp/test-only-amphora-x64-haproxy-ubuntu-bionic.qcow2"
|
|
OCTAVIA_AMP_IMAGE_SIZE: 3
|
|
OCTAVIA_AMP_IMAGE_NAME: "test-only-amphora-x64-haproxy-ubuntu-bionic"
|
|
|
|
- job:
|
|
name: ansible-collections-openstack-functional-devstack-octavia
|
|
parent: ansible-collections-openstack-functional-devstack-octavia-base
|
|
branches: master
|
|
description: |
|
|
Run openstack collections functional tests against a master devstack
|
|
with Octavia plugin enabled, using latest releases of openstacksdk
|
|
and latest ansible release. Run it only on Load Balancer changes.
|
|
vars:
|
|
# TODO: Remove tox_extra_args once all ci roles pass
|
|
tox_extra_args: *skip_broken_ci_roles
|
|
|
|
- job:
|
|
name: ansible-collections-openstack-functional-devstack-releases
|
|
parent: ansible-collections-openstack-functional-devstack-base
|
|
branches: master
|
|
description: |
|
|
Run openstack collections functional tests against a master devstack
|
|
using latest releases of openstacksdk and latest ansible release
|
|
vars:
|
|
tox_constraints_file: '{{ ansible_user_dir }}/{{ zuul.project.src_dir }}/tests/constraints-openstacksdk-1.x.x.txt'
|
|
# TODO: Remove tox_extra_args once all ci roles pass
|
|
tox_extra_args: *skip_broken_ci_roles
|
|
tox_install_siblings: false
|
|
|
|
# Job with Ansible 2.9 for checking backward compatibility
|
|
- job:
|
|
name: ansible-collections-openstack-functional-devstack-ansible-2.9
|
|
parent: ansible-collections-openstack-functional-devstack-base
|
|
branches: master
|
|
description: |
|
|
Run openstack collections functional tests against a master devstack
|
|
using master of openstacksdk and stable 2.9 branch of ansible
|
|
required-projects:
|
|
- name: github.com/ansible/ansible
|
|
override-checkout: stable-2.9
|
|
vars:
|
|
tox_envlist: ansible-2.9
|
|
# TODO: Remove tox_extra_args once all ci roles pass
|
|
tox_extra_args: *skip_broken_ci_roles
|
|
|
|
- job:
|
|
name: ansible-collections-openstack-functional-devstack-ansible-2.11
|
|
parent: ansible-collections-openstack-functional-devstack-base
|
|
branches: master
|
|
description: |
|
|
Run openstack collections functional tests against a master devstack
|
|
using master of openstacksdk and stable 2.12 branch of ansible
|
|
required-projects:
|
|
- name: github.com/ansible/ansible
|
|
override-checkout: stable-2.11
|
|
vars:
|
|
tox_envlist: ansible-2.11
|
|
# TODO: Remove tox_extra_args once all ci roles pass
|
|
tox_extra_args: *skip_broken_ci_roles
|
|
|
|
- job:
|
|
name: ansible-collections-openstack-functional-devstack-ansible-2.12
|
|
parent: ansible-collections-openstack-functional-devstack-base
|
|
branches: master
|
|
description: |
|
|
Run openstack collections functional tests against a master devstack
|
|
using master of openstacksdk and stable 2.12 branch of ansible
|
|
required-projects:
|
|
- name: github.com/ansible/ansible
|
|
override-checkout: stable-2.12
|
|
vars:
|
|
tox_envlist: ansible-2.12
|
|
# TODO: Remove tox_extra_args once all ci roles pass
|
|
tox_extra_args: *skip_broken_ci_roles
|
|
|
|
- job:
|
|
name: ansible-collections-openstack-functional-devstack-ansible-devel
|
|
parent: ansible-collections-openstack-functional-devstack-base
|
|
branches: master
|
|
description: |
|
|
Run openstack collections functional tests against a master devstack
|
|
using master of openstacksdk and devel branch of ansible
|
|
# non-voting because we can't prevent ansible devel from breaking us
|
|
voting: false
|
|
required-projects:
|
|
- name: github.com/ansible/ansible
|
|
override-checkout: devel
|
|
vars:
|
|
# TODO: Remove tox_extra_args once all ci roles pass
|
|
tox_extra_args: *skip_broken_ci_roles
|
|
|
|
# Linters
|
|
- job:
|
|
name: openstack-tox-linters-ansible
|
|
parent: openstack-tox-linters
|
|
nodeset: ubuntu-focal
|
|
description: |
|
|
Run openstack collections linter tests using the devel branch of ansible
|
|
required-projects:
|
|
- name: github.com/ansible/ansible
|
|
override-checkout: devel
|
|
vars:
|
|
# override tox_constraints_file from parent job
|
|
tox_constraints_file: '{{ ansible_user_dir }}/{{ zuul.project.src_dir }}/tests/constraints-none.txt'
|
|
tox_envlist: linters
|
|
tox_install_siblings: true
|
|
|
|
- job:
|
|
name: openstack-tox-linters-ansible-devel
|
|
parent: openstack-tox-linters-ansible
|
|
description: |
|
|
Run openstack collections linter tests using the devel branch of ansible
|
|
# non-voting because we can't prevent ansible devel from breaking us
|
|
voting: false
|
|
vars:
|
|
python_version: 3.8
|
|
bindep_profile: test py38
|
|
|
|
- job:
|
|
name: openstack-tox-linters-ansible-2.12
|
|
parent: openstack-tox-linters-ansible
|
|
description: |
|
|
Run openstack collections linter tests using the 2.12 branch of ansible
|
|
required-projects:
|
|
- name: github.com/ansible/ansible
|
|
override-checkout: stable-2.12
|
|
vars:
|
|
tox_envlist: linters-2.12
|
|
python_version: 3.8
|
|
bindep_profile: test py38
|
|
|
|
# Cross-checks with other projects
|
|
- job:
|
|
name: bifrost-collections-src
|
|
parent: bifrost-integration-tinyipa-ubuntu-focal
|
|
required-projects:
|
|
- openstack/ansible-collections-openstack
|
|
- # always use master branch when collecting parent job variants, refer to git blame for rationale.
|
|
name: openstack/bifrost
|
|
override-checkout: master
|
|
- # always use master branch when collecting parent job variants
|
|
name: openstack/openstacksdk
|
|
override-checkout: master
|
|
- job:
|
|
name: bifrost-keystone-collections-src
|
|
parent: bifrost-integration-tinyipa-keystone-ubuntu-focal
|
|
required-projects:
|
|
- openstack/ansible-collections-openstack
|
|
- # always use master branch when collecting parent job variants, refer to git blame for rationale.
|
|
name: openstack/bifrost
|
|
override-checkout: master
|
|
- # always use master branch when collecting parent job variants
|
|
name: openstack/openstacksdk
|
|
override-checkout: master
|
|
|
|
# TripleO jobs
|
|
- job:
|
|
name: tripleo-ci-centos-9-standalone-osa
|
|
parent: tripleo-ci-centos-9-standalone-build
|
|
branches: master
|
|
vars: &tripleo_vars
|
|
consumer_job: false
|
|
branch_override: master
|
|
force_non_periodic: true
|
|
artg_change_list:
|
|
- host: "https://opendev.org"
|
|
project: "openstack/openstacksdk"
|
|
branch: "master"
|
|
refspec: "+refs/heads/*:refs/remotes/origin/*"
|
|
required-projects: &tripleo_required_projects
|
|
- # Required for TripleO Quickstart to install current patchset of the collection
|
|
# Ref.: https://opendev.org/openstack/tripleo-quickstart/src/commit/b48d869e14de40444d69a107a0b718b5f721e912/quickstart.sh#L123
|
|
openstack/ansible-collections-openstack
|
|
- # always use master branch when collecting parent job variants, refer to git blame for rationale.
|
|
name: openstack/tripleo-ci
|
|
override-checkout: master
|
|
irrelevant-files: &tripleo_irrelevant_files
|
|
- .*molecule.*
|
|
- ^.*\.md$
|
|
- ^.*\.rst$
|
|
- ^changelogs/.*$
|
|
- ^contrib/.*$
|
|
- ^docs/.*$
|
|
- ^meta/.*$
|
|
- ^requirements.*$
|
|
- ^setup.*$
|
|
- ^tests/.*$
|
|
- ^tools/.*$
|
|
- tox.ini
|
|
# Run only on files used in TripleO
|
|
files: &tripleo_files
|
|
- ^.zuul.yaml$
|
|
- ^plugins/module_utils/openstack.*$
|
|
- ^plugins/modules/catalog_service.*$
|
|
- ^plugins/modules/compute_flavor.*$
|
|
- ^plugins/modules/endpoint.*$
|
|
- ^plugins/modules/identity_domain.*$
|
|
- ^plugins/modules/identity_domain_info.*$
|
|
- ^plugins/modules/identity_role.*$
|
|
- ^plugins/modules/identity_user.*$
|
|
- ^plugins/modules/image.*$
|
|
- ^plugins/modules/keypair.*$
|
|
- ^plugins/modules/network.*$
|
|
- ^plugins/modules/project.*$
|
|
- ^plugins/modules/role_assignment.*$
|
|
- ^plugins/modules/router.*$
|
|
- ^plugins/modules/stack.*$
|
|
- ^plugins/modules/subnet.*$
|
|
|
|
- job:
|
|
name: ansible-collections-openstack-release
|
|
parent: base
|
|
run: ci/publish/publish_collection.yml
|
|
secrets:
|
|
- ansible_galaxy_info
|
|
|
|
- secret:
|
|
name: ansible_galaxy_info
|
|
data:
|
|
url: https://galaxy.ansible.com
|
|
token: !encrypted/pkcs1-oaep
|
|
- lZFzfoCbuwqV1k6qRfl/VS7E+knUW7+zpg7BptrenK4n0g7UY0HtdVkYq0pV0Tj/LbhzG
|
|
jHD0mehcV1iS6B7ORKg4criJkdDfEx09BD8z8yv0EleiIMmhlrCoMcY593OZMBtVbGi0D
|
|
CwQtNO98QIsfZogChfLfvRNiBmUV98mEb/p6p3EtGx8J7qcAsqfWxc/CzB8GCleLAHHHT
|
|
FuikMM03ZnV0ew7E+TPkHbzzPhBZOqS5HYF0HtgttHwIXdfIWp/XdTuEEk7uRRgYZ2Iao
|
|
ifWRzoKaOQmhM++e1ydCqw9D4y9dZEFNMQLwSqcrvtb8cNwT1kl7SCFqYNE2lbutj4ne6
|
|
PTBQRsKegMB4Y3ena14fNF6tCynvJLPhF/cjPH2Jhs+B19XQhWkL3TgiOY02W24YHwRcP
|
|
+LdkM8inAvyVi3DEbEqdjBPO9OFJcBOKPlCdkGvuwdNCuEpEwctWs0gV3voflG2CDKzmJ
|
|
wu9JJOAWnq/0l1WpuDqWreKeQ/BUGZC2Gb4xRAqofulgvhs4WuYoEccjH4EJFIZ90S1EP
|
|
R/ZLadqZaEhmjwGM5sMWbBbjT23XsRgg0Tzt9m8DENYMuYDqkMdRbt2jYZa+32p4hyxVe
|
|
Y6H/pqYq5b9uOzumnShaK4WlmkQyXcNPkoSlMC1h4OGvqX/WUixpI38jyMA5Tc=
|
|
|
|
- project:
|
|
check:
|
|
jobs:
|
|
- tox-pep8
|
|
- openstack-tox-linters-ansible-devel
|
|
- openstack-tox-linters-ansible-2.12
|
|
- ansible-collections-openstack-functional-devstack:
|
|
dependencies: &deps_unit_lint
|
|
- tox-pep8
|
|
- openstack-tox-linters-ansible-2.12
|
|
|
|
- ansible-collections-openstack-functional-devstack-releases:
|
|
dependencies: *deps_unit_lint
|
|
- ansible-collections-openstack-functional-devstack-ansible-2.9:
|
|
dependencies: *deps_unit_lint
|
|
- ansible-collections-openstack-functional-devstack-ansible-2.12:
|
|
dependencies: *deps_unit_lint
|
|
- ansible-collections-openstack-functional-devstack-ansible-devel:
|
|
dependencies: *deps_unit_lint
|
|
- ansible-collections-openstack-functional-devstack-octavia:
|
|
dependencies: *deps_unit_lint
|
|
|
|
- bifrost-collections-src:
|
|
voting: false
|
|
dependencies: *deps_unit_lint
|
|
irrelevant-files: *ignore_files
|
|
- bifrost-keystone-collections-src:
|
|
voting: false
|
|
dependencies: *deps_unit_lint
|
|
irrelevant-files: *ignore_files
|
|
|
|
- tripleo-ci-centos-9-standalone-osa:
|
|
voting: false
|
|
dependencies: *deps_unit_lint
|
|
|
|
gate:
|
|
jobs:
|
|
- tox-pep8
|
|
- openstack-tox-linters-ansible-2.12
|
|
# - ansible-collections-openstack-functional-devstack
|
|
- ansible-collections-openstack-functional-devstack-releases
|
|
# - ansible-collections-openstack-functional-devstack-ansible-2.9
|
|
# - ansible-collections-openstack-functional-devstack-ansible-2.12
|
|
- ansible-collections-openstack-functional-devstack-octavia
|
|
|
|
periodic:
|
|
jobs:
|
|
- openstack-tox-linters-ansible-devel
|
|
- openstack-tox-linters-ansible-2.12
|
|
- ansible-collections-openstack-functional-devstack
|
|
- ansible-collections-openstack-functional-devstack-releases
|
|
- ansible-collections-openstack-functional-devstack-ansible-2.9
|
|
- ansible-collections-openstack-functional-devstack-ansible-2.12
|
|
- ansible-collections-openstack-functional-devstack-ansible-devel
|
|
- bifrost-collections-src
|
|
- bifrost-keystone-collections-src
|
|
- ansible-collections-openstack-functional-devstack-octavia
|
|
- tripleo-ci-centos-9-standalone-osa
|
|
|
|
experimental:
|
|
jobs:
|
|
- ansible-collections-openstack-functional-devstack-ansible-2.11
|
|
|
|
tag:
|
|
jobs:
|
|
- ansible-collections-openstack-release
|