4df7a12ebf
Switch sdk calls to use the proxy layer where sensible. Ensure that returned resource objects are converted to dicts. Removes undocumented id return value. Rename flavorid to id. Keep flavorid as an alias for backward compatibility. Rename the test role from nova_flavor to compute_flavor to keep naming consistent. Fold tests from compute_flavor_info into the compute_flavor role. Add additional tests to improve coverage. Update return docs Change-Id: I5419d1c02b9b50625beb3bff88c8e4a4f1c14667
448 lines
17 KiB
YAML
448 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
|
|
compute_flavor
|
|
dns
|
|
dns_zone_info
|
|
endpoint
|
|
floating_ip_info
|
|
host_aggregate
|
|
identity_domain_info
|
|
identity_group
|
|
identity_group_info
|
|
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_services
|
|
object
|
|
object_container
|
|
port
|
|
project
|
|
project_info
|
|
recordset
|
|
role_assignment
|
|
router
|
|
security_group
|
|
security_group_rule
|
|
server
|
|
subnet
|
|
subnet_pool
|
|
user
|
|
user_group
|
|
user_role
|
|
volume
|
|
# failing tags
|
|
# floating_ip
|
|
# orchestrate
|
|
# neutron_rbac
|
|
|
|
- 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
|