Add tempest gate, devstack plugin and sample devstack config

This patch adds:
 * ovn-octavia-provider-driver tempest job
 * devstack plugin


Change-Id: I42878326c3654db7a1be83f5889457c8c85117b6
This commit is contained in:
Maciej Józefczyk 2020-02-20 13:20:40 +00:00
parent 5b8d86ab37
commit 654cf42e8f
4 changed files with 143 additions and 0 deletions

35
devstack/plugin.sh Executable file
View File

@ -0,0 +1,35 @@
#!/usr/bin/env bash
# devstack plugin for octavia
GET_PIP_CACHE_LOCATION=/opt/stack/cache/files/get-pip.py
# [api_settings]
#enabled_provider_drivers = amphora:'The Octavia Amphora driver.',ovn:'Octavia OVN driver.'
function _configure_provider_driver {
iniset ${OCTAVIA_CONF} api_settings enabled_provider_drivers ${OCTAVIA_PROVIDER_DRIVERS}
}
function is_ovn_enabled {
[[ $NEUTRON_AGENT == "ovn" ]] && return 0
return 1
}
function _install_provider_driver {
setup_develop $OVN_OCTAVIA_PROVIDER_DIR
}
if [[ "$1" == "stack" ]]; then
case "$2" in
post-config)
if is_ovn_enabled; then
_configure_provider_driver
fi
;;
install)
if is_ovn_enabled; then
_install_provider_driver
fi
;;
esac
fi

5
devstack/settings Normal file
View File

@ -0,0 +1,5 @@
OCTAVIA_DIR=${OCTAVIA_DIR:-"${DEST}/octavia"}
OCTAVIA_CONF_DIR=${OCTAVIA_CONF_DIR:-"/etc/octavia"}
OCTAVIA_PROVIDER_DRIVERS=${OCTAVIA_PROVIDER_DRIVERS:-"amphora:'The Octavia Amphora driver.',ovn:'Octavia OVN driver.'"}
OVN_OCTAVIA_PROVIDER_DIR=$DEST/ovn-octavia-provider

View File

@ -30,3 +30,103 @@
# /opt/stack/logs is default logs directory defined in neutron's
# tox.ini file
'{{ devstack_base_dir }}/logs/dsvm-functional-logs': logs
- job:
name: ovn-octavia-provider-dsvm-base
parent: devstack-tempest
timeout: 7800
required-projects:
- openstack/devstack-gate
- openstack/neutron
- openstack/octavia
- openstack/octavia-lib
- openstack/octavia-tempest-plugin
- openstack/python-octaviaclient
- openstack/ovn-octavia-provider
irrelevant-files:
- ^.*\.rst$
- ^api-ref/.*$
- ^doc/.*$
- ^etc/.*$
- ^releasenotes/.*$
vars:
devstack_localrc:
Q_AGENT: ovn
Q_ML2_PLUGIN_MECHANISM_DRIVERS: ovn,logger
Q_ML2_PLUGIN_TYPE_DRIVERS: local,flat,vlan,geneve
Q_ML2_TENANT_NETWORK_TYPE: geneve
USE_PYTHON3: True
TEMPEST_PLUGINS: '/opt/stack/octavia-tempest-plugin'
OCTAVIA_NODE: api
DISABLE_AMP_IMAGE_BUILD: true
OVN_L3_CREATE_PUBLIC_NETWORK: true
Q_USE_PROVIDERNET_FOR_PUBLIC: true
PHYSICAL_NETWORK: public
ENABLE_CHASSIS_AS_GW: true
OVN_DBS_LOG_LEVEL: dbg
devstack_local_conf:
post-config:
$OCTAVIA_CONF:
api_settings:
enabled_provider_drivers: 'ovn:OVN provider driver'
default_provider_driver: 'ovn'
test-config:
"$TEMPEST_CONFIG":
load_balancer:
provider: 'ovn'
test_with_ipv6: False
enable_security_groups: True
loadbalancer-feature-enabled:
health_monitor_enabled: False
pool_algorithms_enabled: False
l7_protocol_enabled: False
l4_protocol: "TCP"
session_persistence_enabled: False
devstack_services:
c-bak: false
ceilometer-acentral: false
ceilometer-acompute: false
ceilometer-alarm-evaluator: false
ceilometer-alarm-notifier: false
ceilometer-anotification: false
ceilometer-api: false
ceilometer-collector: false
c-sch: false
c-api: false
c-vol: false
cinder: false
q-svc: true
q-dns: true
q-dhcp: false
q-agt: false
q-meta: false
q-l3: false
ovn-northd: true
ovn-controller: true
q-ovn-metadata-agent: true
octavia: true
o-api: true
o-da: true
o-hk: true
o-cw: false
o-hm: false
swift: false
s-account: false
s-container: false
s-object: false
s-proxy: false
tempest: true
etcd: false
devstack_plugins:
neutron: https://opendev.org/openstack/neutron.git
octavia: https://opendev.org/openstack/octavia.git
octavia-tempest-plugin: https://opendev.org/openstack/octavia-tempest-plugin.git
ovn-octavia-provider: https://opendev.org/openstack/ovn-octavia-provider
- job:
name: ovn-octavia-provider-v2-dsvm-scenario
parent: ovn-octavia-provider-dsvm-base
vars:
tempest_test_regex: ^octavia_tempest_plugin.tests.scenario.v2
tempest_concurrency: 2
tox_envlist: all

View File

@ -11,6 +11,9 @@
required-projects:
- openstack/neutron
- ovn-octavia-provider-functional
- ovn-octavia-provider-v2-dsvm-scenario:
voting: false
gate:
fail-fast: true
jobs:
- ovn-octavia-provider-functional