metalsmith/.zuul.yaml
Julia Kreger e0ed4d2dee Rework jobs so failed devstack does not retry the job
Per clarkb, should any step in pre.yaml fail, zuul presently retries
the entire job up to the built in retry limit which cannot be changed
or disabled on a job basis. In the terms of setting up devstack, this
is not ideal as devstack is not perfect and can often fail for unrelated
reasons such as package mirrors being updated or even another project
or component failing to setup properly.

As such, in order to be good neighbors and minimize the amount of
time it takes to troubleshoot such issues, we need to move the
devstack setup into the main part of the CI job.

Change-Id: I08d6f3132ebc045ba7e2d1295efe39af7c57187c
2020-09-09 11:32:51 -07:00

193 lines
5.9 KiB
YAML

- job:
name: metalsmith-integration-base
description: |
Base job for devstack-based metalsmith jobs.
parent: devstack-minimal
post-run: playbooks/integration/post.yaml
run: playbooks/integration/run.yaml
irrelevant-files:
- ^.*\.rst$
- ^api-ref/.*$
- ^doc/.*$
- ^lower-constraints.txt$
- ^install-guide/.*$
- ^ironic/tests/.*$
- ^metalsmith/test/.*$
- ^releasenotes/.*$
- ^setup.cfg$
- ^test-requirements.txt$
- ^tools/.*$
- ^tox.ini$
timeout: 5400
required-projects:
- openstack/keystone
- openstack/neutron
- openstack/glance
- openstack/swift
- openstack/ironic
- openstack/ironic-python-agent-builder
- openstack/metalsmith
vars:
ironic_bm_logs: /opt/stack/logs/ironic-bm-logs
devstack_services:
dstat: true
etcd3: true
mysql: true
rabbit: true
tls-proxy: true
# Keystone services
key: true
# Glance services
g-api: true
g-reg: true
# Nova services
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
placement-api: false
# Neutron services
q-agt: true
q-dhcp: true
q-l3: true
q-meta: true
q-metering: true
q-svc: true
# OVN services
ovn-controller: false
ovn-northd: false
ovs-vswitchd: false
ovsdb-server: false
q-ovn-metadata-agent: false
# Swift services
s-account: true
s-container: true
s-object: true
s-proxy: true
# Cinder services
c-api: false
c-bak: false
c-sch: false
c-vol: false
cinder: false
# Ceilometer services
ceilometer-acentral: False
ceilometer-acompute: False
ceilometer-alarm-evaluator: False
ceilometer-alarm-notifier: False
ceilometer-anotification: False
ceilometer-api: False
ceilometer-collector: False
# Services we don't need.
horizon: false
tempest: false
devstack_plugins:
ironic: https://opendev.org/openstack/ironic
devstack_localrc:
Q_AGENT: openvswitch
Q_ML2_TENANT_NETWORK_TYPE: vxlan
Q_ML2_PLUGIN_MECHANISM_DRIVERS: openvswitch
IRONIC_BAREMETAL_BASIC_OPS: true
IRONIC_BUILD_DEPLOY_RAMDISK: false
IRONIC_DEFAULT_DEPLOY_INTERFACE: direct
IRONIC_DEPLOY_DRIVER: ipmi
IRONIC_RAMDISK_TYPE: tinyipa
IRONIC_VM_COUNT: 1
IRONIC_VM_LOG_DIR: /opt/stack/logs/ironic-bm-logs
IRONIC_VM_SPECS_CPU: 2
IRONIC_VM_SPECS_DISK: 10
IRONIC_VM_SPECS_RAM: 1024
LIBVIRT_STORAGE_POOL_PATH: /opt/libvirt/images
SWIFT_ENABLE_TEMPURLS: true
SWIFT_HASH: 54bd5642300c4b45-846f8636a70a07d2
SWIFT_START_ALL_SERVICES: false
SWIFT_TEMPURL_KEY: 54bd5642300c4b45846f8636a70a07d2
centos_glance_initramds_image: test-centos-initramfs
centos_glance_kernel_image: test-centos-kernel
centos_glance_root_image: test-centos-partition
centos_glance_whole_disk_image: test-centos-wholedisk
metalsmith_root_size: 9
metalsmith_python: python3
- job:
name: metalsmith-integration-glance-localboot-centos7
description: |
Integration job using Glance as image source and CentOS7 with local boot.
parent: metalsmith-integration-base
timeout: 7200
vars:
devstack_localrc:
# NOTE(dtantsur): we need to use streaming, otherwise the image won't
# fit in RAM.
IRONIC_AGENT_IMAGE_DOWNLOAD_SOURCE: http
devstack_services:
# Since we're using streaming, try non-swift backends.
s-account: false
s-container: false
s-object: false
s-proxy: false
configure_instance_user: metalsmith
metalsmith_netboot: false
metalsmith_precreate_port: false
metalsmith_partition_image: test-centos-partition
metalsmith_whole_disk_image: test-centos-wholedisk
metalsmith_swap_size: 1024
metalsmith_traits: [CUSTOM_GOLD]
- job:
name: metalsmith-integration-glance-netboot-cirros-iscsi
description: |
Integration job using Glance as image source and CirrOS with netboot.
parent: metalsmith-integration-base
vars:
devstack_localrc:
IRONIC_DEFAULT_DEPLOY_INTERFACE: iscsi
metalsmith_netboot: true
metalsmith_precreate_port: true
- job:
name: metalsmith-integration-glance-netboot-cirros-direct
description: |
Integration job using Glance as image source and direct deploy.
parent: metalsmith-integration-base
run: playbooks/integration/run.yaml
vars:
metalsmith_netboot: true
metalsmith_precreate_port: false
- job:
name: metalsmith-integration-http-netboot-cirros-direct
description: |
Integration job using HTTP as image source and direct deploy.
parent: metalsmith-integration-base
run: playbooks/integration/run.yaml
vars:
metalsmith_netboot: true
metalsmith_precreate_port: true
metalsmith_use_http: true
- project:
templates:
- check-requirements
- openstack-python3-victoria-jobs
- openstack-lower-constraints-jobs
- openstack-cover-jobs
- publish-openstack-docs-pti
- release-notes-jobs-python3
check:
jobs:
- metalsmith-integration-glance-localboot-centos7
- metalsmith-integration-glance-netboot-cirros-iscsi
- metalsmith-integration-glance-netboot-cirros-direct
- metalsmith-integration-http-netboot-cirros-direct
gate:
jobs:
- metalsmith-integration-glance-localboot-centos7
- metalsmith-integration-glance-netboot-cirros-iscsi
- metalsmith-integration-glance-netboot-cirros-direct
- metalsmith-integration-http-netboot-cirros-direct