mirror of
https://opendev.org/openstack/ansible-collections-openstack.git
synced 2026-03-26 21:43:02 +00:00
370 lines
15 KiB
YAML
370 lines
15 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/.*
|
|
- .zuul.yaml
|
|
vars:
|
|
zuul_work_dir: src/opendev.org/openstack/ansible-collections-openstack
|
|
tox_envlist: ansible_latest
|
|
tox_install_siblings: true
|
|
fetch_subunit: false
|
|
devstack_plugins:
|
|
designate: https://opendev.org/openstack/designate
|
|
devstack_services:
|
|
designate: true
|
|
neutron-dns: true
|
|
neutron-trunk: true
|
|
neutron-segments: 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
|
|
|
|
- job:
|
|
name: ansible-collections-openstack-functional-devstack-magnum-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 Magnum plugin enabled
|
|
# 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/magnum
|
|
- openstack/python-magnumclient
|
|
files:
|
|
- ^ci/roles/coe_cluster/.*$
|
|
- ^plugins/modules/coe_cluster.py
|
|
- ^plugins/modules/coe_cluster_template.py
|
|
timeout: 10800
|
|
vars:
|
|
devstack_localrc:
|
|
# NOTE: extend default glance limit from 1GB
|
|
GLANCE_LIMIT_IMAGE_SIZE_TOTAL: 5000
|
|
devstack_plugins:
|
|
magnum: https://opendev.org/openstack/magnum
|
|
devstack_services:
|
|
magnum-api: true
|
|
magnum-cond: true
|
|
# Disable swift and dependent c-bak service to support upload of .qcow2.xz image in the gate
|
|
s-account: false
|
|
s-container: false
|
|
s-object: false
|
|
s-proxy: false
|
|
c-bak: false
|
|
tox_extra_args: -vv --skip-missing-interpreters=false -- coe_cluster coe_cluster_template
|
|
|
|
- job:
|
|
name: ansible-collections-openstack-functional-devstack-manila-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 Manila plugin enabled
|
|
# 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/manila
|
|
- openstack/python-manilaclient
|
|
files:
|
|
- ^ci/roles/share_type/.*$
|
|
- ^plugins/modules/share_type.py
|
|
- ^plugins/modules/share_type_info.py
|
|
timeout: 10800
|
|
vars:
|
|
devstack_localrc:
|
|
MANILA_ENABLED_BACKENDS: generic
|
|
MANILA_OPTGROUP_generic_driver_handles_share_servers: true
|
|
MANILA_OPTGROUP_generic_connect_share_server_to_tenant_network: true
|
|
MANILA_USE_SERVICE_INSTANCE_PASSWORD: true
|
|
devstack_plugins:
|
|
manila: https://opendev.org/openstack/manila
|
|
devstack_services:
|
|
manila: true
|
|
m-api: true
|
|
m-sch: true
|
|
m-shr: true
|
|
m-dat: true
|
|
tox_extra_args: -vv --skip-missing-interpreters=false -- share_type share_type_info
|
|
|
|
- job:
|
|
name: ansible-collections-openstack-functional-devstack-magnum
|
|
parent: ansible-collections-openstack-functional-devstack-magnum-base
|
|
branches: master
|
|
description: |
|
|
Run openstack collections functional tests against a master devstack
|
|
with Magnum plugin enabled, using master of openstacksdk and latest
|
|
ansible release. Run it only on coe_cluster{,_template} changes.
|
|
|
|
- job:
|
|
name: ansible-collections-openstack-functional-devstack-manila
|
|
parent: ansible-collections-openstack-functional-devstack-manila-base
|
|
branches: master
|
|
description: |
|
|
Run openstack collections functional tests against a master devstack
|
|
with Manila plugin enabled, using master of openstacksdk and latest
|
|
ansible release. Run it only on share_type{,_info} changes.
|
|
|
|
- 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
|
|
# 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: 4096
|
|
devstack_local_conf:
|
|
post-config:
|
|
$OCTAVIA_CONF:
|
|
controller_worker:
|
|
amphora_driver: amphora_noop_driver
|
|
devstack_plugins:
|
|
designate: https://opendev.org/openstack/designate
|
|
octavia: https://opendev.org/openstack/octavia
|
|
devstack_services:
|
|
designate: true
|
|
octavia: true
|
|
o-api: true
|
|
o-cw: true
|
|
o-hm: true
|
|
o-hk: true
|
|
neutron-dns: true
|
|
tox_extra_args: -vv --skip-missing-interpreters=false -- loadbalancer
|
|
tox_install_siblings: false
|
|
|
|
- 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.
|
|
|
|
- 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'
|
|
tox_install_siblings: false
|
|
|
|
- job:
|
|
name: ansible-collections-openstack-functional-devstack-ansible-2.18
|
|
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.16 branch of ansible
|
|
required-projects:
|
|
- name: github.com/ansible/ansible
|
|
override-checkout: stable-2.18
|
|
vars:
|
|
tox_envlist: ansible_2_18
|
|
|
|
- job:
|
|
name: ansible-collections-openstack-functional-devstack-ansible-devel
|
|
parent: ansible-collections-openstack-functional-devstack-base
|
|
nodeset: openstack-single-node-jammy
|
|
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
|
|
|
|
# Linters
|
|
- job:
|
|
name: openstack-tox-linters-ansible
|
|
parent: openstack-tox-linters
|
|
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_latest
|
|
tox_install_siblings: true
|
|
|
|
- job:
|
|
name: openstack-tox-linters-ansible-devel
|
|
parent: openstack-tox-linters-ansible
|
|
nodeset: ubuntu-jammy
|
|
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.10'
|
|
bindep_profile: test py310
|
|
|
|
- job:
|
|
name: openstack-tox-linters-ansible-2.18
|
|
parent: openstack-tox-linters-ansible
|
|
description: |
|
|
Run openstack collections linter tests using the 2.18 branch of ansible
|
|
required-projects:
|
|
- name: github.com/ansible/ansible
|
|
override-checkout: stable-2.18
|
|
vars:
|
|
tox_envlist: linters_2_18
|
|
python_version: "3.12"
|
|
bindep_profile: test py312
|
|
|
|
# Cross-checks with other projects
|
|
- job:
|
|
name: bifrost-collections-src
|
|
parent: bifrost-integration-on-ubuntu-jammy
|
|
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-keystone-on-ubuntu-jammy
|
|
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: ansible-collections-openstack-release
|
|
parent: openstack-tox-linters-ansible
|
|
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
|
|
- K93hOZo1B5z248H04COB1N2HCkGbFPo2EUr+0W7qFzsrdvmbsAI86Hl9bUCfEENGrwvfV
|
|
0j9CE5iO0tyqal3r6ucMhGT44MgQWL3MBeRvK89yAJpSNMU7R7rEY/zbjZMoC9YElcHEv
|
|
GEDZSA/0gQHCHpZVDlx4JMGwrnd+Nz9ha3c12BYeZS8rS/dQl7EmZ867OsozmNdG9UkkC
|
|
0vP/dkenUQNvoZOSWgZztRBlbAyI1nc5iEEw9vvpLh19HcY9+S2iAZkgSq4jOOO4wn7gE
|
|
XAZPr0HRdwS2m4Hw0Pusrg7SdC3+2O0N/fvFGnvvKXHcSgQk3rPLn6HfKzOJoPWc4WlDX
|
|
MA79jYloNBXjOaeXOoiwYzzshWK53F6Ci+3leq1cYuFyHSi2ds2mYXat7YndZSsmsk5um
|
|
hj0+Ddy9Om1uYy3nhHyZLULE7UDUmduA9EPkvdyWlcW0yZL2kXcrDTHlSp4PaJg9iKVys
|
|
0aOOo9CNMwhyXAOGiFCYF/m7Efbnp50zUQhHN9+7LeVzXZuiH98C8kNvWfE0qrkrrgQ1n
|
|
78UMqGcGpdw4ZSlWrDTbrbd4v0bRnsJ+IAWISnT5OXaeJgGZwXRuBHtTXqbjoosBeX/8w
|
|
YKb0lx7E5ZtSw7+Y6LNDGihGTmVg1nkZUWo85CxyF/RiWHuNvpkzzqXmdGS1bg=
|
|
|
|
- project:
|
|
check:
|
|
jobs:
|
|
- tox-pep8
|
|
- openstack-tox-linters-ansible-devel
|
|
- openstack-tox-linters-ansible-2.18
|
|
- ansible-collections-openstack-functional-devstack
|
|
- ansible-collections-openstack-functional-devstack-releases
|
|
- ansible-collections-openstack-functional-devstack-ansible-2.18
|
|
- ansible-collections-openstack-functional-devstack-ansible-devel
|
|
- ansible-collections-openstack-functional-devstack-magnum
|
|
- ansible-collections-openstack-functional-devstack-manila
|
|
- ansible-collections-openstack-functional-devstack-octavia
|
|
|
|
- bifrost-collections-src:
|
|
voting: false
|
|
irrelevant-files: *ignore_files
|
|
- bifrost-keystone-collections-src:
|
|
voting: false
|
|
irrelevant-files: *ignore_files
|
|
|
|
gate:
|
|
jobs:
|
|
- tox-pep8
|
|
- openstack-tox-linters-ansible-2.18
|
|
- ansible-collections-openstack-functional-devstack-releases
|
|
- ansible-collections-openstack-functional-devstack-magnum
|
|
- ansible-collections-openstack-functional-devstack-manila
|
|
- ansible-collections-openstack-functional-devstack-octavia
|
|
|
|
periodic:
|
|
jobs:
|
|
- openstack-tox-linters-ansible-devel
|
|
- openstack-tox-linters-ansible-2.18
|
|
- ansible-collections-openstack-functional-devstack
|
|
- ansible-collections-openstack-functional-devstack-releases
|
|
- ansible-collections-openstack-functional-devstack-ansible-2.18
|
|
- ansible-collections-openstack-functional-devstack-ansible-devel
|
|
- bifrost-collections-src
|
|
- bifrost-keystone-collections-src
|
|
- ansible-collections-openstack-functional-devstack-magnum
|
|
- ansible-collections-openstack-functional-devstack-manila
|
|
- ansible-collections-openstack-functional-devstack-octavia
|
|
|
|
tag:
|
|
jobs:
|
|
- ansible-collections-openstack-release
|