Add multinode jobs

Add devstack multinode job.

This job installs nova in a single cell as "late anti-affinity
[1] doesn't work in multi-cells environment.

[1] : https://docs.openstack.org/nova/latest/user/cellsv2-layout.html#operations-requiring-upcalls

Co-Author: tpatil <tushar.vitthal.patil@gmail.com>
Co-Author: yong sheng gong <gong.yongsheng@99cloud.net>

Change-Id: I56a9cf4bb553c8026eec73212a3742d5eab17420
This commit is contained in:
Eduardo Gonzalez 2018-06-26 20:38:07 +02:00 committed by gongysh
parent 0e8fc96570
commit b20812678b
6 changed files with 115 additions and 37 deletions

View File

@ -1,8 +1,36 @@
- nodeset:
name: openstack-multi-nodes
nodes:
- name: controller
label: ubuntu-xenial
- name: compute1
label: ubuntu-xenial
groups:
# 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: tacker-functional-devstack
name: tacker-functional-devstack-multinode
parent: devstack
description: |
Base job for devstack-based functional tests
Base multinodes job for devstack-based functional tests
nodeset: openstack-multi-nodes
pre-run: playbooks/devstack/pre.yaml
run: playbooks/devstack/run.yaml
post-run: playbooks/devstack/post.yaml
@ -24,41 +52,66 @@
- openstack/tacker
- openstack/tacker-horizon
vars:
devstack_localrc:
CELLSV2_SETUP: singleconductor
Q_DVR_MODE: dvr
test_matrix_configs: [neutron]
devstack_services:
horizon: true
tacker: true
tacker-conductor: true
horizon: false
swift: false
devstack_plugins:
heat: https://git.openstack.org/openstack/heat
networking-sfc: https://git.openstack.org/openstack/networking-sfc
aodh: https://git.openstack.org/openstack/aodh
ceilometer: https://git.openstack.org/openstack/ceilometer
barbican: https://git.openstack.org/openstack/barbican
mistral: https://git.openstack.org/openstack/mistral
tacker: https://git.openstack.org/openstack/tacker
tox_install_siblings: false
tox_envlist: dsvm-functional
s-account: false
s-container: false
s-object: false
s-proxy: false
c-bak: false
zuul_work_dir: src/git.openstack.org/openstack/tacker
- job:
name: tacker-functional-devstack-python3
parent: tacker-functional-devstack
description: |
Run tacker functional tests using python3 against a master devstack
vars:
tacker_environment:
TACKER_TOX_PYTHON: python3
host-vars:
controller:
devstack_plugins:
heat: https://git.openstack.org/openstack/heat
networking-sfc: https://git.openstack.org/openstack/networking-sfc
aodh: https://git.openstack.org/openstack/aodh
ceilometer: https://git.openstack.org/openstack/ceilometer
barbican: https://git.openstack.org/openstack/barbican
mistral: https://git.openstack.org/openstack/mistral
tacker: https://git.openstack.org/openstack/tacker
devstack_services:
horizon: false
swift: false
s-account: false
s-container: false
s-object: false
s-proxy: false
c-bak: false
tacker: true
tacker-conductor: true
q-svc: true
tox_install_siblings: false
tox_envlist: dsvm-functional
group-vars:
subnode:
devstack_localrc:
CELLSV2_SETUP: singleconductor
PHYSICAL_NETWORK: mgmtphysnet0
devstack_services:
q-agt: true
n-api: false
n-api-meta: false
n-cauth: false
n-cond: false
n-cpu: true
n-novnc: false
n-obj: false
n-sch: false
horizon: false
tls-proxy: false
- project:
check:
jobs:
- tacker-functional-devstack:
voting: false
- tacker-functional-devstack-python3:
- tacker-functional-devstack-multinode:
voting: false
- openstack-tox-lower-constraints
gate:
jobs:
- openstack-tox-lower-constraints
jobs:
- openstack-tox-lower-constraints

View File

@ -31,8 +31,11 @@ if is_service_enabled tacker; then
init_tacker
echo_summary "Starting Tacker API and conductor"
start_tacker
echo_summary "Installing tacker horizon"
tacker_horizon_install
if is_service_enabled horizon; then
echo_summary "Installing tacker horizon"
tacker_horizon_install
fi
if [[ "${TACKER_MODE}" == "all" ]]; then
echo_summary "Modifying Heat policy.json file"
modify_heat_flavor_policy_rule
@ -50,9 +53,11 @@ if is_service_enabled tacker; then
if [[ "$1" == "unstack" ]]; then
# Shut down tacker services
echo_summary "Uninstall tacker horizon"
tacker_horizon_uninstall
stop_tacker
if is_service_enabled horizon; then
echo_summary "Uninstall tacker horizon"
tacker_horizon_uninstall
fi
stop_tacker
fi
if [[ "$1" == "clean" ]]; then

View File

@ -22,7 +22,9 @@ if [ "${TACKER_MODE}" == "all" ]; then
# enable tacker-conductor will make systemctl enable conductor service
enable_service tacker-conductor
MGMT_PHYS_NET=${MGMT_PHYS_NET:-mgmtphysnet0}
BR_MGMT=${BR_MGMT:-br-mgmt0}
# br-infra is created by devstack multi node job
# http://git.openstack.org/cgit/openstack-infra/zuul-jobs/tree/roles/multi-node-bridge
BR_MGMT=${BR_MGMT:-br-infra}
NET_MGMT=${NET_MGMT:-net_mgmt}
SUBNET_MGMT=${SUBNET_MGMT:-subnet_mgmt}
FIXED_RANGE_MGMT=${FIXED_RANGE_MGMT:-192.168.120.0/24}

View File

@ -1,8 +1,9 @@
- hosts: all
roles:
- run-devstack
- orchestrate-devstack
- setup-default-vim
- role: bindep
bindep_profile: test
bindep_dir: "{{ zuul_work_dir }}"
- ensure-tox
- show-net-setup

View File

@ -1,3 +1,3 @@
- hosts: all
- hosts: controller
roles:
- tox

View File

@ -0,0 +1,17 @@
- name: Print net information
shell: sudo bash -c "ip address > /opt/stack/ipaddress.txt"
- name: Collect net information
fetch:
flat: yes
dest: "{{ zuul.executor.log_root }}/{{ inventory_hostname }}/confs/devstack/ipaddress.txt"
src: "/opt/stack/ipaddress.txt"
- name: print ovs information
shell: sudo bash -c "ovs-vsctl show > /opt/stack/ovsvsctl.txt"
- name: Collect ovs information
fetch:
flat: yes
dest: "{{ zuul.executor.log_root }}/{{ inventory_hostname }}/confs/devstack/ovsvsctl.txt"
src: "/opt/stack/ovsvsctl.txt"