openstacksdk/.zuul.yaml
Goutham Pacha Ravi 21795acff6 Add a manila functional check job
This job can be non-voting. Also fix up the functional
tests to use a configurable cloud profile, so we can
set the desired api microversion to be tested.

Change-Id: I952b0590ac571aff220b2285d3dc0b5c5bc99816
Signed-off-by: Goutham Pacha Ravi <gouthampravi@gmail.com>
2021-08-26 07:14:47 +00:00

491 lines
16 KiB
YAML

- 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
- job:
name: openstacksdk-functional-devstack-minimum
parent: devstack-tox-functional
description: |
Minimum job for devstack-based functional tests
post-run: playbooks/devstack/post.yaml
roles:
# NOTE: We pull in roles from the tempest repo for stackviz processing.
- zuul: opendev.org/openstack/tempest
required-projects:
# These jobs will DTRT when openstacksdk triggers them, but we want to
# make sure stable branches of openstacksdk never get cloned by other
# people, since stable branches of openstacksdk are, well, not actually
# things.
- name: openstack/openstacksdk
override-branch: master
- name: openstack/os-client-config
override-branch: master
timeout: 9000
vars:
devstack_localrc:
Q_ML2_PLUGIN_EXT_DRIVERS: qos,port_security
Q_AGENT: openvswitch
Q_ML2_TENANT_NETWORK_TYPE: vxlan
Q_ML2_PLUGIN_MECHANISM_DRIVERS: openvswitch
devstack_services:
# OVN services
ovn-controller: false
ovn-northd: false
ovs-vswitchd: false
ovsdb-server: false
q-ovn-metadata-agent: false
# Neutron services
q-agt: true
q-dhcp: true
q-l3: true
q-metering: true
q-svc: true
# sdk doesn't need vnc access
n-cauth: false
n-novnc: false
# sdk testing uses config drive only
n-api-meta: false
q-meta: false
tox_environment:
# Do we really need to set this? It's cargo culted
PYTHONUNBUFFERED: 'true'
# Is there a way we can query the localconf variable to get these
# rather than setting them explicitly?
OPENSTACKSDK_HAS_DESIGNATE: 0
OPENSTACKSDK_HAS_HEAT: 0
OPENSTACKSDK_HAS_MAGNUM: 0
OPENSTACKSDK_HAS_NEUTRON: 1
OPENSTACKSDK_HAS_SWIFT: 1
tox_install_siblings: false
tox_envlist: functional
zuul_copy_output:
'{{ ansible_user_dir }}/stackviz': logs
zuul_work_dir: src/opendev.org/openstack/openstacksdk
- job:
name: openstacksdk-functional-devstack-base
parent: openstacksdk-functional-devstack-minimum
description: |
Base job for devstack-based functional tests
vars:
devstack_plugins:
neutron: https://opendev.org/openstack/neutron
devstack_local_conf:
post-config:
$CINDER_CONF:
DEFAULT:
osapi_max_limit: 6
- job:
name: openstacksdk-functional-devstack-legacy
parent: openstacksdk-functional-devstack-base
description: |
Run openstacksdk functional tests against a legacy devstack
voting: false
vars:
devstack_localrc:
ENABLE_IDENTITY_V2: true
FLAT_INTERFACE: br_flat
PUBLIC_INTERFACE: br_pub
tox_environment:
OPENSTACKSDK_USE_KEYSTONE_V2: 1
OPENSTACKSDK_HAS_NEUTRON: 0
override-branch: stable/newton
- job:
name: openstacksdk-functional-devstack
parent: openstacksdk-functional-devstack-base
description: |
Run openstacksdk functional tests against a master devstack
required-projects:
- openstack/heat
vars:
devstack_localrc:
DISABLE_AMP_IMAGE_BUILD: true
Q_SERVICE_PLUGIN_CLASSES: qos,trunk
devstack_plugins:
heat: https://opendev.org/openstack/heat
tox_environment:
OPENSTACKSDK_HAS_HEAT: 1
devstack_services:
neutron-qos: true
neutron-trunk: true
neutron-port-forwarding: true
- job:
name: openstacksdk-functional-devstack-networking
parent: openstacksdk-functional-devstack
description: |
Run openstacksdk functional tests against a devstack with advanced
networking services enabled.
required-projects:
- openstack/designate
- openstack/octavia
vars:
devstack_local_conf:
post-config:
$OCTAVIA_CONF:
DEFAULT:
debug: true
controller_worker:
amphora_driver: amphora_noop_driver
compute_driver: compute_noop_driver
network_driver: network_noop_driver
certificates:
cert_manager: local_cert_manager
devstack_localrc:
Q_SERVICE_PLUGIN_CLASSES: qos,trunk
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
s-account: false
s-container: false
s-object: false
s-proxy: false
h-eng: false
h-api: false
h-api-cfn: false
tox_environment:
OPENSTACKSDK_HAS_DESIGNATE: 1
OPENSTACKSDK_HAS_SWIFT: 0
OPENSTACKSDK_HAS_HEAT: 0
- job:
name: openstacksdk-functional-devstack-tips
parent: openstacksdk-functional-devstack
description: |
Run openstacksdk functional tests with tips of library dependencies
against a master devstack.
required-projects:
- openstack/keystoneauth
- openstack/openstacksdk
- openstack/os-client-config
vars:
tox_install_siblings: true
- job:
name: openstacksdk-functional-devstack-magnum
parent: openstacksdk-functional-devstack
description: |
Run openstacksdk functional tests against a master devstack with magnum
required-projects:
- openstack/magnum
- openstack/python-magnumclient
vars:
devstack_plugins:
magnum: https://opendev.org/openstack/magnum
devstack_localrc:
MAGNUM_GUEST_IMAGE_URL: https://tarballs.openstack.org/magnum/images/fedora-atomic-f23-dib.qcow2
MAGNUM_IMAGE_NAME: fedora-atomic-f23-dib
devstack_services:
s-account: false
s-container: false
s-object: false
s-proxy: false
tox_environment:
OPENSTACKSDK_HAS_SWIFT: 0
OPENSTACKSDK_HAS_MAGNUM: 1
- job:
name: openstacksdk-functional-devstack-senlin
parent: openstacksdk-functional-devstack
description: |
Run openstacksdk functional tests against a master devstack with senlin
required-projects:
- openstack/senlin
vars:
devstack_plugins:
senlin: https://opendev.org/openstack/senlin
devstack_services:
s-account: false
s-container: false
s-object: false
s-proxy: false
tox_environment:
OPENSTACKSDK_HAS_SWIFT: 0
OPENSTACKSDK_HAS_SENLIN: 1
- job:
name: openstacksdk-functional-devstack-ironic
parent: openstacksdk-functional-devstack-minimum
description: |
Run openstacksdk functional tests against a master devstack with ironic
required-projects:
- openstack/ironic
- openstack/ironic-python-agent-builder
vars:
devstack_localrc:
OVERRIDE_PUBLIC_BRIDGE_MTU: 1400
IRONIC_BAREMETAL_BASIC_OPS: true
IRONIC_BUILD_DEPLOY_RAMDISK: false
IRONIC_CALLBACK_TIMEOUT: 600
IRONIC_DEPLOY_DRIVER: ipmi
IRONIC_RAMDISK_TYPE: tinyipa
IRONIC_VM_COUNT: 2
IRONIC_VM_LOG_DIR: '{{ devstack_base_dir }}/ironic-bm-logs'
IRONIC_VM_SPECS_RAM: 1024
devstack_plugins:
ironic: https://opendev.org/openstack/ironic
devstack_services:
c-api: false
c-bak: false
c-sch: false
c-vol: false
cinder: false
s-account: false
s-container: false
s-object: false
s-proxy: false
n-api: false
n-api-meta: false
n-cauth: false
n-cond: false
n-cpu: false
n-novnc: false
n-obj: false
n-sch: false
nova: false
placement-api: false
dstat: false
tox_environment:
OPENSTACKSDK_HAS_IRONIC: 1
# NOTE(dtantsur): this job cannot run many regular tests (e.g. compute
# tests will take too long), so limiting it to baremetal tests only.
OPENSTACKSDK_TESTS_SUBDIR: baremetal
zuul_copy_output:
'{{ devstack_base_dir }}/ironic-bm-logs': logs
- job:
name: openstacksdk-ansible-functional-devstack
parent: openstacksdk-functional-devstack
description: |
Run openstacksdk ansible functional tests against a master devstack
using released version of ansible.
vars:
tox_envlist: ansible
- job:
name: openstacksdk-ansible-stable-2.8-functional-devstack
parent: openstacksdk-ansible-functional-devstack
description: |
Run openstacksdk ansible functional tests against a master devstack
using git stable-2.8 branch version of ansible.
required-projects:
- name: github.com/ansible/ansible
override-checkout: stable-2.8
- name: openstack/openstacksdk
override-checkout: master
- name: openstack/devstack
override-checkout: master
vars:
# test-matrix grabs branch from the zuul branch setting. If the job
# is triggered by ansible, that branch will be devel which doesn't
# make sense to devstack. Override so that we run the right thing.
test_matrix_branch: master
tox_install_siblings: true
- job:
name: openstacksdk-ansible-stable-2.9-functional-devstack
parent: openstacksdk-ansible-functional-devstack
description: |
Run openstacksdk ansible functional tests against a master devstack
using git stable-2.9 branch version of ansible.
required-projects:
- name: github.com/ansible/ansible
override-checkout: stable-2.9
- name: openstack/openstacksdk
override-checkout: master
- name: openstack/devstack
override-checkout: master
vars:
# test-matrix grabs branch from the zuul branch setting. If the job
# is triggered by ansible, that branch will be devel which doesn't
# make sense to devstack. Override so that we run the right thing.
test_matrix_branch: master
tox_install_siblings: true
- job:
name: openstacksdk-functional-devstack-masakari
parent: openstacksdk-functional-devstack-minimum
description: |
Run openstacksdk functional tests against a master devstack with masakari
required-projects:
- openstack/masakari
- openstack/masakari-monitors
vars:
devstack_plugins:
masakari: https://opendev.org/openstack/masakari
devstack_services:
masakari-api: true
masakari-engine: true
tox_environment:
OPENSTACKSDK_HAS_MASAKARI: 1
OPENSTACKSDK_TESTS_SUBDIR: instance_ha
zuul_copy_output:
'{{ devstack_base_dir }}/masakari-logs': logs
- job:
name: openstacksdk-functional-devstack-manila
parent: openstacksdk-functional-devstack-minimum
description: |
Run openstacksdk functional tests against a master devstack with manila
required-projects:
- openstack/manila
- name: openstack/openstacksdk
override-branch: feature/r1
vars:
devstack_localrc:
# Set up manila with a fake driver - makes things super fast and should
# have no impact on the API
MANILA_INSTALL_TEMPEST_PLUGIN_SYSTEMWIDE: false
SHARE_DRIVER: manila.tests.share.drivers.dummy.DummyDriver
MANILA_CONFIGURE_GROUPS: alpha,beta,gamma,membernet
MANILA_CONFIGURE_DEFAULT_TYPES: true
MANILA_SERVICE_IMAGE_ENABLED: false
MANILA_SHARE_MIGRATION_PERIOD_TASK_INTERVAL: 1
MANILA_SERVER_MIGRATION_PERIOD_TASK_INTERVAL: 10
MANILA_REPLICA_STATE_UPDATE_INTERVAL: 10
MANILA_DEFAULT_SHARE_TYPE_EXTRA_SPECS: 'snapshot_support=True create_share_from_snapshot_support=True revert_to_snapshot_support=True mount_snapshot_support=True'
MANILA_ENABLED_BACKENDS: alpha,beta,gamma
MANILA_OPTGROUP_alpha_driver_handles_share_servers: false
MANILA_OPTGROUP_alpha_replication_domain: DUMMY_DOMAIN
MANILA_OPTGROUP_alpha_share_backend_name: ALPHA
MANILA_OPTGROUP_alpha_share_driver: manila.tests.share.drivers.dummy.DummyDriver
MANILA_OPTGROUP_beta_driver_handles_share_servers: false
MANILA_OPTGROUP_beta_replication_domain: DUMMY_DOMAIN
MANILA_OPTGROUP_beta_share_backend_name: BETA
MANILA_OPTGROUP_beta_share_driver: manila.tests.share.drivers.dummy.DummyDriver
MANILA_OPTGROUP_gamma_driver_handles_share_servers: true
MANILA_OPTGROUP_gamma_network_config_group: membernet
MANILA_OPTGROUP_gamma_share_backend_name: GAMMA
MANILA_OPTGROUP_gamma_share_driver: manila.tests.share.drivers.dummy.DummyDriver
MANILA_OPTGROUP_gamma_admin_network_config_group: membernet
MANILA_OPTGROUP_membernet_network_api_class: manila.network.standalone_network_plugin.StandaloneNetworkPlugin
MANILA_OPTGROUP_membernet_network_plugin_ipv4_enabled: true
MANILA_OPTGROUP_membernet_standalone_network_plugin_allowed_ip_ranges: 10.0.0.10-10.0.0.209
MANILA_OPTGROUP_membernet_standalone_network_plugin_gateway: 10.0.0.1
MANILA_OPTGROUP_membernet_standalone_network_plugin_mask: 24
MANILA_OPTGROUP_membernet_standalone_network_plugin_network_type: vlan
MANILA_OPTGROUP_membernet_standalone_network_plugin_segmentation_id: 1010
devstack_plugins:
manila: https://opendev.org/openstack/manila
devstack_services:
c-api: false
c-bak: false
c-sch: false
c-vol: false
cinder: false
s-account: false
s-container: false
s-object: false
s-proxy: false
n-api: false
n-api-meta: false
n-cauth: false
n-cond: false
n-cpu: false
n-novnc: false
n-obj: false
n-sch: false
nova: false
placement-api: false
dstat: false
tox_environment:
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: ironic-inspector-tempest-openstacksdk-src
parent: ironic-inspector-tempest
required-projects:
- openstack/openstacksdk
- project-template:
name: openstacksdk-functional-tips
check:
jobs:
- openstacksdk-functional-devstack-tips
gate:
jobs:
- openstacksdk-functional-devstack-tips
- project:
templates:
- check-requirements
- openstack-python3-xena-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
# - dib-nodepool-functional-openstack-centos-8-stream-src
- 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
- osc-functional-devstack-tips:
voting: false
# Ironic jobs, non-voting to avoid tight coupling
- ironic-inspector-tempest-openstacksdk-src:
voting: false
- bifrost-integration-tinyipa-ubuntu-focal:
voting: false
- metalsmith-integration-openstacksdk-src:
voting: false
- ansible-collections-openstack-functional-devstack:
voting: false
gate:
jobs:
- opendev-buildset-registry
- nodepool-build-image-siblings
# - dib-nodepool-functional-openstack-centos-8-stream-src
- openstacksdk-functional-devstack
- openstacksdk-functional-devstack-networking
- openstacksdk-functional-devstack-senlin