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: - job:
name: tacker-functional-devstack name: tacker-functional-devstack-multinode
parent: devstack parent: devstack
description: | 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 pre-run: playbooks/devstack/pre.yaml
run: playbooks/devstack/run.yaml run: playbooks/devstack/run.yaml
post-run: playbooks/devstack/post.yaml post-run: playbooks/devstack/post.yaml
@ -24,12 +52,21 @@
- openstack/tacker - openstack/tacker
- openstack/tacker-horizon - openstack/tacker-horizon
vars: vars:
devstack_localrc:
CELLSV2_SETUP: singleconductor
Q_DVR_MODE: dvr
test_matrix_configs: [neutron] test_matrix_configs: [neutron]
devstack_services: devstack_services:
horizon: true horizon: false
tacker: true
tacker-conductor: true
swift: false swift: false
s-account: false
s-container: false
s-object: false
s-proxy: false
c-bak: false
zuul_work_dir: src/git.openstack.org/openstack/tacker
host-vars:
controller:
devstack_plugins: devstack_plugins:
heat: https://git.openstack.org/openstack/heat heat: https://git.openstack.org/openstack/heat
networking-sfc: https://git.openstack.org/openstack/networking-sfc networking-sfc: https://git.openstack.org/openstack/networking-sfc
@ -38,25 +75,41 @@
barbican: https://git.openstack.org/openstack/barbican barbican: https://git.openstack.org/openstack/barbican
mistral: https://git.openstack.org/openstack/mistral mistral: https://git.openstack.org/openstack/mistral
tacker: https://git.openstack.org/openstack/tacker 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_install_siblings: false
tox_envlist: dsvm-functional tox_envlist: dsvm-functional
zuul_work_dir: src/git.openstack.org/openstack/tacker group-vars:
subnode:
- job: devstack_localrc:
name: tacker-functional-devstack-python3 CELLSV2_SETUP: singleconductor
parent: tacker-functional-devstack PHYSICAL_NETWORK: mgmtphysnet0
description: | devstack_services:
Run tacker functional tests using python3 against a master devstack q-agt: true
vars: n-api: false
tacker_environment: n-api-meta: false
TACKER_TOX_PYTHON: python3 n-cauth: false
n-cond: false
n-cpu: true
n-novnc: false
n-obj: false
n-sch: false
horizon: false
tls-proxy: false
- project: - project:
check: check:
jobs: jobs:
- tacker-functional-devstack: - tacker-functional-devstack-multinode:
voting: false
- tacker-functional-devstack-python3:
voting: false voting: false
- openstack-tox-lower-constraints - openstack-tox-lower-constraints
gate: gate:

View File

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

View File

@ -22,7 +22,9 @@ if [ "${TACKER_MODE}" == "all" ]; then
# enable tacker-conductor will make systemctl enable conductor service # enable tacker-conductor will make systemctl enable conductor service
enable_service tacker-conductor enable_service tacker-conductor
MGMT_PHYS_NET=${MGMT_PHYS_NET:-mgmtphysnet0} 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} NET_MGMT=${NET_MGMT:-net_mgmt}
SUBNET_MGMT=${SUBNET_MGMT:-subnet_mgmt} SUBNET_MGMT=${SUBNET_MGMT:-subnet_mgmt}
FIXED_RANGE_MGMT=${FIXED_RANGE_MGMT:-192.168.120.0/24} FIXED_RANGE_MGMT=${FIXED_RANGE_MGMT:-192.168.120.0/24}

View File

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

View File

@ -1,3 +1,3 @@
- hosts: all - hosts: controller
roles: roles:
- tox - 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"