395 lines
13 KiB
YAML
395 lines
13 KiB
YAML
- nodeset:
|
|
name: openstack-single-node
|
|
nodes:
|
|
- name: controller
|
|
label: ubuntu-xenial
|
|
groups:
|
|
- name: tempest
|
|
nodes:
|
|
- controller
|
|
|
|
- nodeset:
|
|
name: openstack-two-node
|
|
nodes:
|
|
- name: controller
|
|
label: ubuntu-xenial
|
|
- name: compute1
|
|
label: ubuntu-xenial
|
|
groups:
|
|
# Node where tests are executed and test results collected
|
|
- name: tempest
|
|
nodes:
|
|
- controller
|
|
# Nodes running the compute service
|
|
- name: compute
|
|
nodes:
|
|
- controller
|
|
- compute1
|
|
# Nodes that are not the controller
|
|
- name: subnode
|
|
nodes:
|
|
- compute1
|
|
# Switch node for multinode networking setup
|
|
- name: switch
|
|
nodes:
|
|
- controller
|
|
# Peer nodes for multinode networking setup
|
|
- name: peers
|
|
nodes:
|
|
- compute1
|
|
|
|
- job:
|
|
name: devstack-base
|
|
parent: multinode
|
|
abstract: true
|
|
description: |
|
|
Base abstract Devstack job.
|
|
|
|
Defines plays and base variables, but it does not include any project
|
|
and it does not run any service by default. This is a common base for
|
|
all single Devstack jobs, single or multinode.
|
|
Variables are defined in job.vars, which is what is then used by single
|
|
node jobs and by multi node jobs for the controller, as well as in
|
|
job.group-vars.peers, which is what is used by multi node jobs for subnode
|
|
nodes (everything but the controller).
|
|
required-projects:
|
|
- git.openstack.org/openstack-dev/devstack
|
|
roles:
|
|
- zuul: git.openstack.org/openstack-infra/devstack-gate
|
|
- zuul: git.openstack.org/openstack-infra/openstack-zuul-jobs
|
|
vars:
|
|
devstack_localrc:
|
|
DATABASE_PASSWORD: secretdatabase
|
|
RABBIT_PASSWORD: secretrabbit
|
|
ADMIN_PASSWORD: secretadmin
|
|
SERVICE_PASSWORD: secretservice
|
|
NETWORK_GATEWAY: 10.1.0.1
|
|
FIXED_RANGE: 10.1.0.0/20
|
|
IPV4_ADDRS_SAFE_TO_USE: 10.1.0.0/20
|
|
FLOATING_RANGE: 172.24.5.0/24
|
|
PUBLIC_NETWORK_GATEWAY: 172.24.5.1
|
|
LOGFILE: /opt/stack/logs/devstacklog.txt
|
|
LOG_COLOR: false
|
|
VERBOSE: true
|
|
NOVNC_FROM_PACKAGE: true
|
|
ERROR_ON_CLONE: true
|
|
# Gate jobs can't deal with nested virt. Disable it.
|
|
LIBVIRT_TYPE: qemu
|
|
# NOTE(dims): etcd 3.x is not available in debian/ubuntu
|
|
# etc. As a stop gap measure, devstack uses wget to download
|
|
# from the location below for all the CI jobs.
|
|
ETCD_DOWNLOAD_URL: http://tarballs.openstack.org/etcd/
|
|
devstack_services:
|
|
# Ignore any default set by devstack. Emit a "disable_all_services".
|
|
base: false
|
|
zuul_copy_output:
|
|
'{{ devstack_conf_dir }}/local.conf': logs
|
|
'{{ devstack_conf_dir }}/localrc': logs
|
|
'{{ devstack_conf_dir }}/.localrc.auto': logs
|
|
'{{ devstack_conf_dir }}/.stackenv': logs
|
|
'{{ devstack_log_dir }}/dstat-csv.log': logs
|
|
'{{ devstack_log_dir }}/devstacklog.txt': logs
|
|
'{{ devstack_log_dir }}/devstacklog.txt.summary': logs
|
|
'{{ devstack_full_log}}': logs
|
|
'{{ stage_dir }}/verify_tempest_conf.log': logs
|
|
'{{ stage_dir }}/apache': logs
|
|
'{{ stage_dir }}/apache_config': logs
|
|
'{{ stage_dir }}/etc': logs
|
|
/var/log/rabbitmq: logs
|
|
/var/log/postgresql: logs
|
|
/var/log/mysql.err: logs
|
|
/var/log/mysql.log: logs
|
|
/var/log/libvirt: logs
|
|
/etc/sudoers: logs
|
|
/etc/sudoers.d: logs
|
|
'{{ stage_dir }}/iptables.txt': logs
|
|
'{{ stage_dir }}/df.txt': logs
|
|
'{{ stage_dir }}/pip2-freeze.txt': logs
|
|
'{{ stage_dir }}/pip3-freeze.txt': logs
|
|
'{{ stage_dir }}/dpkg-l.txt': logs
|
|
'{{ stage_dir }}/rpm-qa.txt': logs
|
|
'{{ stage_dir }}/core': logs
|
|
'{{ stage_dir }}/listen53.txt': logs
|
|
'{{ stage_dir }}/deprecations.log': logs
|
|
/var/log/ceph: logs
|
|
/var/log/openvswitch: logs
|
|
/var/log/glusterfs: logs
|
|
/etc/glusterfs/glusterd.vol: logs
|
|
/etc/resolv.conf: logs
|
|
/var/log/unbound.log: logs
|
|
extensions_to_txt:
|
|
conf: true
|
|
log: true
|
|
localrc: true
|
|
stackenv: true
|
|
auto: true
|
|
group-vars:
|
|
subnode:
|
|
test_matrix_role: subnode
|
|
devstack_localrc:
|
|
DATABASE_PASSWORD: secretdatabase
|
|
RABBIT_PASSWORD: secretrabbit
|
|
ADMIN_PASSWORD: secretadmin
|
|
SERVICE_PASSWORD: secretservice
|
|
NETWORK_GATEWAY: 10.1.0.1
|
|
FIXED_RANGE: 10.1.0.0/20
|
|
IPV4_ADDRS_SAFE_TO_USE: 10.1.0.0/20
|
|
FLOATING_RANGE: 172.24.5.0/24
|
|
PUBLIC_NETWORK_GATEWAY: 172.24.5.1
|
|
LOGFILE: /opt/stack/logs/devstacklog.txt
|
|
LOG_COLOR: false
|
|
VERBOSE: true
|
|
VERBOSE_NO_TIMESTAMP: true
|
|
NOVNC_FROM_PACKAGE: true
|
|
ERROR_ON_CLONE: true
|
|
LIBVIRT_TYPE: qemu
|
|
ETCD_DOWNLOAD_URL: http://tarballs.openstack.org/etcd/
|
|
devstack_services:
|
|
base: false
|
|
pre-run: playbooks/pre.yaml
|
|
run: playbooks/devstack.yaml
|
|
post-run: playbooks/post.yaml
|
|
irrelevant-files:
|
|
# Documentation related
|
|
- ^.*\.rst$
|
|
- ^api-ref/.*$
|
|
- ^doc/.*$
|
|
- ^releasenotes/.*$
|
|
# Translations
|
|
- ^.*/locale/.*po$
|
|
|
|
- job:
|
|
name: devstack-minimal
|
|
parent: devstack-base
|
|
description: |
|
|
Minimal devstack base job, intended for use by jobs that need
|
|
less than the normal minimum set of required-projects.
|
|
nodeset: openstack-single-node
|
|
required-projects:
|
|
- git.openstack.org/openstack/requirements
|
|
vars:
|
|
devstack_localrc:
|
|
# Multinode specific settings
|
|
SERVICE_HOST: "{{ hostvars['controller']['nodepool']['private_ipv4'] }}"
|
|
HOST_IP: "{{ hostvars['controller']['nodepool']['private_ipv4'] }}"
|
|
PUBLIC_BRIDGE_MTU: "{{ external_bridge_mtu }}"
|
|
devstack_services:
|
|
# Shared services
|
|
dstat: true
|
|
etcd3: false
|
|
mysql: true
|
|
peakmem_tracker: true
|
|
rabbit: true
|
|
group-vars:
|
|
subnode:
|
|
devstack_services:
|
|
# Shared services
|
|
dstat: true
|
|
peakmem_tracker: true
|
|
devstack_localrc:
|
|
# Multinode specific settings
|
|
HOST_IP: "{{ hostvars[inventory_hostname]['nodepool']['private_ipv4'] }}"
|
|
SERVICE_HOST: "{{ hostvars['controller']['nodepool']['private_ipv4'] }}"
|
|
PUBLIC_BRIDGE_MTU: "{{ external_bridge_mtu }}"
|
|
# Subnode specific settings
|
|
DATABASE_TYPE: mysql
|
|
RABBIT_HOST: "{{ hostvars['controller']['nodepool']['private_ipv4'] }}"
|
|
DATABASE_HOST: "{{ hostvars['controller']['nodepool']['private_ipv4'] }}"
|
|
|
|
|
|
- job:
|
|
name: devstack
|
|
parent: devstack-minimal
|
|
description: |
|
|
Base devstack job for integration gate.
|
|
|
|
This base job can be used for single node and multinode devstack jobs.
|
|
nodeset: openstack-single-node
|
|
required-projects:
|
|
- git.openstack.org/openstack/cinder
|
|
- git.openstack.org/openstack/glance
|
|
- git.openstack.org/openstack/keystone
|
|
- git.openstack.org/openstack/neutron
|
|
- git.openstack.org/openstack/nova
|
|
- git.openstack.org/openstack/swift
|
|
timeout: 7200
|
|
vars:
|
|
test_matrix_configs: [neutron, tlsproxy]
|
|
devstack_localrc:
|
|
# Common OpenStack services settings
|
|
SWIFT_REPLICAS: 1
|
|
SWIFT_START_ALL_SERVICES: false
|
|
SWIFT_HASH: 1234123412341234
|
|
CINDER_PERIODIC_INTERVAL: 10
|
|
DEBUG_LIBVIRT_COREDUMPS: true
|
|
NOVA_VNC_ENABLED: true
|
|
VNCSERVER_LISTEN: 0.0.0.0
|
|
VNCSERVER_PROXYCLIENT_ADDRESS: "{{ hostvars[inventory_hostname]['nodepool']['private_ipv4'] }}"
|
|
devstack_local_conf:
|
|
post-config:
|
|
$NEUTRON_CONF:
|
|
DEFAULT:
|
|
global_physnet_mtu: '{{ external_bridge_mtu }}'
|
|
devstack_services:
|
|
base: true
|
|
# We need this explicitly here to trigger the sync of the CA data
|
|
tls-proxy: true
|
|
horizon: false
|
|
tempest: false
|
|
# Test matrix emits ceilometer but ceilomenter is not installed in the
|
|
# integrated gate, so specifying the services has not effect.
|
|
# ceilometer-*: false
|
|
group-vars:
|
|
subnode:
|
|
devstack_services:
|
|
base: true
|
|
# We need this explicitly here to trigger the sync of the CA data
|
|
tls-proxy: true
|
|
devstack_localrc:
|
|
# Subnode specific settings
|
|
GLANCE_HOSTPORT: "{{ hostvars['controller']['nodepool']['private_ipv4'] }}:9292"
|
|
Q_HOST: "{{ hostvars['controller']['nodepool']['private_ipv4'] }}"
|
|
|
|
- job:
|
|
name: devstack-multinode
|
|
parent: devstack
|
|
nodeset: openstack-two-node
|
|
description: |
|
|
Simple multinode test to verify multinode functionality on devstack side.
|
|
This is not meant to be used as a parent job.
|
|
|
|
- job:
|
|
name: devstack-tox-base
|
|
parent: devstack
|
|
description: |
|
|
Base job for devstack-based functional tests that use tox.
|
|
|
|
This job is not intended to be run directly. It's just here
|
|
for organizational purposes for devstack-tox-functional and
|
|
devstack-tox-functional-consumer.
|
|
post-run: playbooks/tox/post.yaml
|
|
vars:
|
|
tox_envlist: functional
|
|
tox_install_siblings: false
|
|
|
|
- job:
|
|
name: devstack-tox-functional
|
|
parent: devstack-tox-base
|
|
description: |
|
|
Base job for devstack-based functional tests that use tox.
|
|
|
|
Runs devstack, then runs the tox ``functional`` environment,
|
|
then collects tox/testr build output like normal tox jobs.
|
|
|
|
Turns off tox sibling installation. Projects may be involved
|
|
in the devstack deployment and so may be in the required-projects
|
|
list, but may not want to test against master of the other
|
|
projects in their tox env. Child jobs can set tox_install_siblings
|
|
to True to re-enable sibling processing.
|
|
run: playbooks/tox/run-both.yaml
|
|
|
|
- job:
|
|
name: devstack-tox-functional-consumer
|
|
parent: devstack
|
|
description: |
|
|
Base job for devstack-based functional tests for projects that
|
|
consume the devstack cloud.
|
|
|
|
This base job should only be used by projects that are not involved
|
|
in the devstack deployment step, but are instead projects that are using
|
|
devstack to get a cloud against which they can test things.
|
|
|
|
Runs devstack in pre-run, then runs the tox ``functional`` environment,
|
|
then collects tox/testr build output like normal tox jobs.
|
|
|
|
Turns off tox sibling installation. Projects may be involved
|
|
in the devstack deployment and so may be in the required-projects
|
|
list, but may not want to test against master of the other
|
|
projects in their tox env. Child jobs can set tox_install_siblings
|
|
to True to re-enable sibling processing.
|
|
pre-run:
|
|
- playbooks/devstack.yaml
|
|
- playbooks/tox/pre.yaml
|
|
run: playbooks/tox/run.yaml
|
|
|
|
- project:
|
|
templates:
|
|
- integrated-gate
|
|
- integrated-gate-py35
|
|
- publish-openstack-sphinx-docs
|
|
check:
|
|
jobs:
|
|
- devstack
|
|
- devstack-multinode
|
|
- openstack-tox-bashate
|
|
- ironic-tempest-dsvm-ipa-wholedisk-bios-agent_ipmitool-tinyipa:
|
|
voting: false
|
|
- swift-dsvm-functional:
|
|
voting: false
|
|
irrelevant-files:
|
|
- ^.*\.rst$
|
|
- ^doc/.*$
|
|
- neutron-grenade:
|
|
irrelevant-files:
|
|
- ^.*\.rst$
|
|
- ^doc/.*$
|
|
- neutron-grenade-multinode:
|
|
irrelevant-files:
|
|
- ^.*\.rst$
|
|
- ^doc/.*$
|
|
- neutron-tempest-linuxbridge:
|
|
irrelevant-files:
|
|
- ^.*\.rst$
|
|
- ^doc/.*$
|
|
- tempest-multinode-full:
|
|
voting: false
|
|
irrelevant-files:
|
|
- ^.*\.rst$
|
|
- ^doc/.*$
|
|
gate:
|
|
jobs:
|
|
- devstack
|
|
- openstack-tox-bashate
|
|
- neutron-grenade-multinode:
|
|
irrelevant-files:
|
|
- ^.*\.rst$
|
|
- ^doc/.*$
|
|
- neutron-tempest-linuxbridge:
|
|
irrelevant-files:
|
|
- ^.*\.rst$
|
|
- ^doc/.*$
|
|
- neutron-grenade:
|
|
irrelevant-files:
|
|
- ^.*\.rst$
|
|
- ^doc/.*$
|
|
experimental:
|
|
jobs:
|
|
- devstack-plugin-ceph-tempest:
|
|
irrelevant-files:
|
|
- ^.*\.rst$
|
|
- ^doc/.*$
|
|
- devstack-plugin-ceph-tempest-py3:
|
|
irrelevant-files:
|
|
- ^.*\.rst$
|
|
- ^doc/.*$
|
|
- neutron-tempest-dvr:
|
|
irrelevant-files:
|
|
- ^.*\.rst$
|
|
- ^doc/.*$
|
|
- legacy-tempest-dsvm-neutron-dvr-multinode-full:
|
|
irrelevant-files:
|
|
- ^.*\.rst$
|
|
- ^doc/.*$
|
|
- neutron-tempest-dvr-ha-multinode-full:
|
|
irrelevant-files:
|
|
- ^.*\.rst$
|
|
- ^doc/.*$
|
|
- legacy-tempest-dsvm-lvm-multibackend:
|
|
irrelevant-files:
|
|
- ^.*\.rst$
|
|
- ^doc/.*$
|
|
- legacy-tempest-dsvm-neutron-pg-full:
|
|
irrelevant-files:
|
|
- ^.*\.rst$
|
|
- ^doc/.*$
|