Rework zuul config
Current zuul.yaml file is simply way to big to be able to navigate in it easily. We are going to add some more acceptance jobs which bring quite big secrets and this will make it even less maintainable. Split .zuul.yaml into few zuul.d/* entries using Zuul capability to have few "project" entries and get them merged. Change-Id: I9c6a85d4d6f1cdfcb5a339bca4293d54d5cf8746
This commit is contained in:
parent
50711b4662
commit
b0d98dbba1
77
zuul.d/acceptance-jobs.yaml
Normal file
77
zuul.d/acceptance-jobs.yaml
Normal file
@ -0,0 +1,77 @@
|
||||
---
|
||||
- job:
|
||||
name: openstacksdk-acceptance-base
|
||||
parent: openstack-tox
|
||||
description: |
|
||||
Acceptance test of the OpenStackSDK on real clouds.
|
||||
|
||||
.. zuul:jobsvar::openstack_credentials
|
||||
:type: dict
|
||||
|
||||
This is expected to be a Zuul Secret with these keys:
|
||||
|
||||
.. zuul:jobvar: auth
|
||||
:type: dict
|
||||
|
||||
Dictionary with authentication information with mandatory auth_url
|
||||
and others. The structure mimics `clouds.yaml` structure.
|
||||
|
||||
By default all jobs that inherit from here are non voting.
|
||||
|
||||
attempts: 1
|
||||
voting: false
|
||||
pre-run:
|
||||
- playbooks/acceptance/pre.yaml
|
||||
post-run:
|
||||
- playbooks/acceptance/post.yaml
|
||||
vars:
|
||||
tox_envlist: acceptance-regular-user
|
||||
tox_environment:
|
||||
OPENSTACKSDK_DEMO_CLOUD: acceptance
|
||||
OS_CLOUD: acceptance
|
||||
OS_TEST_CLOUD: acceptance
|
||||
|
||||
# Acceptance tests for devstack are different from running for real cloud since
|
||||
# we need to actually deploy devstack first and API is available only on the
|
||||
# devstack host.
|
||||
- job:
|
||||
name: openstacksdk-acceptance-devstack
|
||||
parent: openstacksdk-functional-devstack
|
||||
description: Acceptance test of the OpenStackSDK on real clouds.
|
||||
attempts: 1
|
||||
run:
|
||||
- playbooks/acceptance/run-with-devstack.yaml
|
||||
post-run:
|
||||
- playbooks/acceptance/post.yaml
|
||||
vars:
|
||||
tox_envlist: acceptance-regular-user
|
||||
tox_environment:
|
||||
OPENSTACKSDK_DEMO_CLOUD: acceptance
|
||||
OS_CLOUD: acceptance
|
||||
OS_TEST_CLOUD: acceptance
|
||||
auth_url: "https://{{ hostvars['controller']['nodepool']['private_ipv4'] }}/identity"
|
||||
secrets:
|
||||
- secret: credentials-devstack
|
||||
name: openstack_credentials
|
||||
|
||||
# Devstack secret is not specifying auth_url because of how Zuul treats secrets.
|
||||
# Auth_url comes extra in the job vars and is being used if no auth_url in the
|
||||
# secret is present.
|
||||
- secret:
|
||||
name: credentials-devstack
|
||||
data:
|
||||
auth:
|
||||
username: demo
|
||||
password: secretadmin
|
||||
project_domain_id: default
|
||||
project_name: demo
|
||||
user_domain_id: default
|
||||
region_name: RegionOne
|
||||
verify: false
|
||||
|
||||
# We define additional project entity not to handle acceptance jobs in
|
||||
# already complex enough general project entity.
|
||||
- project:
|
||||
post-review:
|
||||
jobs:
|
||||
- openstacksdk-acceptance-devstack
|
@ -1,27 +1,5 @@
|
||||
- job:
|
||||
name: openstacksdk-tox-py38-tips
|
||||
parent: openstack-tox-py38
|
||||
description: |
|
||||
Run tox python 38 unittests against master of important libs
|
||||
vars:
|
||||
tox_install_siblings: true
|
||||
zuul_work_dir: src/opendev.org/openstack/openstacksdk
|
||||
# openstacksdk in required-projects so that osc and keystoneauth
|
||||
# can add the job as well
|
||||
required-projects:
|
||||
- openstack/keystoneauth
|
||||
- openstack/openstacksdk
|
||||
- openstack/os-client-config
|
||||
|
||||
- project-template:
|
||||
name: openstacksdk-tox-tips
|
||||
check:
|
||||
jobs:
|
||||
- openstacksdk-tox-py38-tips
|
||||
gate:
|
||||
jobs:
|
||||
- openstacksdk-tox-py38-tips
|
||||
|
||||
---
|
||||
# Definitions of functional jobs
|
||||
- job:
|
||||
name: openstacksdk-functional-devstack-minimum
|
||||
parent: devstack-tox-functional
|
||||
@ -417,95 +395,6 @@
|
||||
OPENSTACKSDK_HAS_MANILA: 1
|
||||
OPENSTACKSDK_TESTS_SUBDIR: shared_file_system
|
||||
|
||||
- job:
|
||||
name: metalsmith-integration-openstacksdk-src
|
||||
parent: metalsmith-integration-glance-netboot-cirros-direct
|
||||
required-projects:
|
||||
- openstack/openstacksdk
|
||||
|
||||
- job:
|
||||
name: bifrost-integration-openstacksdk-src
|
||||
parent: bifrost-integration-tinyipa-ubuntu-focal
|
||||
required-projects:
|
||||
- openstack/ansible-collections-openstack
|
||||
- openstack/openstacksdk
|
||||
|
||||
- job:
|
||||
name: ironic-inspector-tempest-openstacksdk-src
|
||||
parent: ironic-inspector-tempest
|
||||
required-projects:
|
||||
- openstack/openstacksdk
|
||||
|
||||
- job:
|
||||
name: openstacksdk-acceptance-base
|
||||
parent: openstack-tox
|
||||
description: |
|
||||
Acceptance test of the OpenStackSDK on real clouds.
|
||||
|
||||
.. zuul:jobsvar::openstack_credentials
|
||||
:type: dict
|
||||
|
||||
This is expected to be a Zuul Secret with these keys:
|
||||
|
||||
.. zuul:jobvar: auth
|
||||
:type: dict
|
||||
|
||||
Dictionary with authentication information with mandatory auth_url
|
||||
and others. The structure mimics `clouds.yaml` structure.
|
||||
|
||||
By default all jobs that inherit from here are non voting.
|
||||
|
||||
attempts: 1
|
||||
voting: false
|
||||
pre-run:
|
||||
- playbooks/acceptance/pre.yaml
|
||||
post-run:
|
||||
- playbooks/acceptance/post.yaml
|
||||
vars:
|
||||
tox_envlist: acceptance-regular-user
|
||||
tox_environment:
|
||||
OPENSTACKSDK_DEMO_CLOUD: acceptance
|
||||
OS_CLOUD: acceptance
|
||||
OS_TEST_CLOUD: acceptance
|
||||
|
||||
# Acceptance tests for devstack are different from running for real cloud since
|
||||
# we need to actually deploy devstack first and API is available only on the
|
||||
# devstack host.
|
||||
- job:
|
||||
name: openstacksdk-acceptance-devstack
|
||||
parent: openstacksdk-functional-devstack
|
||||
description: Acceptance test of the OpenStackSDK on real clouds.
|
||||
attempts: 1
|
||||
run:
|
||||
- playbooks/acceptance/run-with-devstack.yaml
|
||||
post-run:
|
||||
- playbooks/acceptance/post.yaml
|
||||
vars:
|
||||
tox_envlist: acceptance-regular-user
|
||||
tox_environment:
|
||||
OPENSTACKSDK_DEMO_CLOUD: acceptance
|
||||
OS_CLOUD: acceptance
|
||||
OS_TEST_CLOUD: acceptance
|
||||
auth_url: "https://{{ hostvars['controller']['nodepool']['private_ipv4'] }}/identity"
|
||||
secrets:
|
||||
- secret: credentials-devstack
|
||||
name: openstack_credentials
|
||||
|
||||
# Devstack secret is not specifying auth_url because of how Zuul treats secrets.
|
||||
# Auth_url comes extra in the job vars and is being used if no auth_url in the
|
||||
# secret is present.
|
||||
- secret:
|
||||
name: credentials-devstack
|
||||
data:
|
||||
auth:
|
||||
username: demo
|
||||
password: secretadmin
|
||||
project_domain_id: default
|
||||
project_name: demo
|
||||
user_domain_id: default
|
||||
region_name: RegionOne
|
||||
verify: false
|
||||
|
||||
- project-template:
|
||||
name: openstacksdk-functional-tips
|
||||
check:
|
||||
@ -514,58 +403,3 @@
|
||||
gate:
|
||||
jobs:
|
||||
- openstacksdk-functional-devstack-tips
|
||||
|
||||
- project:
|
||||
templates:
|
||||
- check-requirements
|
||||
- openstack-python3-antelope-jobs
|
||||
- openstacksdk-functional-tips
|
||||
- openstacksdk-tox-tips
|
||||
- os-client-config-tox-tips
|
||||
- osc-tox-unit-tips
|
||||
- publish-openstack-docs-pti
|
||||
- release-notes-jobs-python3
|
||||
check:
|
||||
jobs:
|
||||
- opendev-buildset-registry
|
||||
- nodepool-build-image-siblings:
|
||||
voting: false
|
||||
- dib-nodepool-functional-openstack-centos-8-stream-src:
|
||||
voting: false
|
||||
- openstacksdk-functional-devstack
|
||||
- openstacksdk-functional-devstack-networking
|
||||
- openstacksdk-functional-devstack-senlin
|
||||
- openstacksdk-functional-devstack-magnum:
|
||||
voting: false
|
||||
- openstacksdk-functional-devstack-manila:
|
||||
voting: false
|
||||
- openstacksdk-functional-devstack-masakari:
|
||||
voting: false
|
||||
- openstacksdk-functional-devstack-ironic:
|
||||
voting: false
|
||||
- openstacksdk-functional-devstack-legacy:
|
||||
voting: false
|
||||
- osc-functional-devstack-tips:
|
||||
voting: false
|
||||
# Ironic jobs, non-voting to avoid tight coupling
|
||||
- ironic-inspector-tempest-openstacksdk-src:
|
||||
voting: false
|
||||
- bifrost-integration-openstacksdk-src:
|
||||
voting: false
|
||||
- metalsmith-integration-openstacksdk-src:
|
||||
voting: false
|
||||
- ansible-collections-openstack-functional-devstack:
|
||||
voting: false
|
||||
post-review:
|
||||
jobs:
|
||||
- openstacksdk-acceptance-devstack
|
||||
gate:
|
||||
jobs:
|
||||
- opendev-buildset-registry
|
||||
- nodepool-build-image-siblings:
|
||||
voting: false
|
||||
- dib-nodepool-functional-openstack-centos-8-stream-src:
|
||||
voting: false
|
||||
- openstacksdk-functional-devstack
|
||||
- openstacksdk-functional-devstack-networking
|
||||
- openstacksdk-functional-devstack-senlin
|
32
zuul.d/metal-jobs.yaml
Normal file
32
zuul.d/metal-jobs.yaml
Normal file
@ -0,0 +1,32 @@
|
||||
---
|
||||
# Definitions of Ironic based jobs with a dedicated project entry to keep them
|
||||
# out of general entry.
|
||||
- job:
|
||||
name: metalsmith-integration-openstacksdk-src
|
||||
parent: metalsmith-integration-glance-netboot-cirros-direct
|
||||
required-projects:
|
||||
- openstack/openstacksdk
|
||||
|
||||
- job:
|
||||
name: bifrost-integration-openstacksdk-src
|
||||
parent: bifrost-integration-tinyipa-ubuntu-focal
|
||||
required-projects:
|
||||
- openstack/ansible-collections-openstack
|
||||
- openstack/openstacksdk
|
||||
|
||||
- job:
|
||||
name: ironic-inspector-tempest-openstacksdk-src
|
||||
parent: ironic-inspector-tempest
|
||||
required-projects:
|
||||
- openstack/openstacksdk
|
||||
|
||||
- project:
|
||||
check:
|
||||
jobs:
|
||||
# Ironic jobs, non-voting to avoid tight coupling
|
||||
- ironic-inspector-tempest-openstacksdk-src:
|
||||
voting: false
|
||||
- bifrost-integration-openstacksdk-src:
|
||||
voting: false
|
||||
- metalsmith-integration-openstacksdk-src:
|
||||
voting: false
|
48
zuul.d/project.yaml
Normal file
48
zuul.d/project.yaml
Normal file
@ -0,0 +1,48 @@
|
||||
---
|
||||
# Central project entity. It pulls general templates and basic jobs.
|
||||
# functional-jobs, metal-jobs and acceptance-jobs are being
|
||||
# merged with this entity into singe one.
|
||||
- project:
|
||||
templates:
|
||||
- check-requirements
|
||||
- openstack-python3-antelope-jobs
|
||||
- openstacksdk-functional-tips
|
||||
- openstacksdk-tox-tips
|
||||
- os-client-config-tox-tips
|
||||
- osc-tox-unit-tips
|
||||
- publish-openstack-docs-pti
|
||||
- release-notes-jobs-python3
|
||||
check:
|
||||
jobs:
|
||||
- opendev-buildset-registry
|
||||
- nodepool-build-image-siblings:
|
||||
voting: false
|
||||
- dib-nodepool-functional-openstack-centos-8-stream-src:
|
||||
voting: false
|
||||
- openstacksdk-functional-devstack
|
||||
- openstacksdk-functional-devstack-networking
|
||||
- openstacksdk-functional-devstack-senlin
|
||||
- openstacksdk-functional-devstack-magnum:
|
||||
voting: false
|
||||
- openstacksdk-functional-devstack-manila:
|
||||
voting: false
|
||||
- openstacksdk-functional-devstack-masakari:
|
||||
voting: false
|
||||
- openstacksdk-functional-devstack-ironic:
|
||||
voting: false
|
||||
- openstacksdk-functional-devstack-legacy:
|
||||
voting: false
|
||||
- osc-functional-devstack-tips:
|
||||
voting: false
|
||||
- ansible-collections-openstack-functional-devstack:
|
||||
voting: false
|
||||
gate:
|
||||
jobs:
|
||||
- opendev-buildset-registry
|
||||
- nodepool-build-image-siblings:
|
||||
voting: false
|
||||
- dib-nodepool-functional-openstack-centos-8-stream-src:
|
||||
voting: false
|
||||
- openstacksdk-functional-devstack
|
||||
- openstacksdk-functional-devstack-networking
|
||||
- openstacksdk-functional-devstack-senlin
|
Loading…
x
Reference in New Issue
Block a user