When setting up a 3pci zuul, there is an edge case where a downstream
zuul may already have openstack/foo projects, eg:
review.rdoproject.org/openstack/foo. In this case, if openstack
projects are not namespaced to include the connection information zuul
gets confused and complains. We can avoid this by using the fqdn for
git.o.o for devstack jobs and both upstream and downstream zuul will
properly use the correct connection.
Change-Id: I01419ea9f51ce7491aa319b6240aec9c0d4f2356
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
(cherry picked from commit ef3571338a)
296 lines
10 KiB
YAML
296 lines
10 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
|
|
parent: devstack-base
|
|
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/requirements
|
|
- 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'] }}"
|
|
# Multinode specific settings
|
|
SERVICE_HOST: "{{ hostvars['controller']['nodepool']['private_ipv4'] }}"
|
|
HOST_IP: "{{ hostvars['controller']['nodepool']['private_ipv4'] }}"
|
|
PUBLIC_BRIDGE_MTU: "{{ external_bridge_mtu }}"
|
|
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:
|
|
# 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
|
|
GLANCE_HOSTPORT: "{{ hostvars['controller']['nodepool']['private_ipv4'] }}:9292"
|
|
Q_HOST: "{{ hostvars['controller']['nodepool']['private_ipv4'] }}"
|
|
RABBIT_HOST: "{{ hostvars['controller']['nodepool']['private_ipv4'] }}"
|
|
DATABASE_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:
|
|
check:
|
|
jobs:
|
|
- devstack
|
|
- devstack-multinode
|
|
gate:
|
|
jobs:
|
|
- devstack
|