Fix broken gate

This is a combination of a number of fixes required to
fix the broken gate.

Set not_implemented_is_error to False.
The Octavia tempest plugin tests are being changed to
better skip tests for not implemented features. Setting
this to False will treat NotImplemented failures as
skips and not errors.

Fix tempest blacklist regex.

Raise error on listener create with 'allowed_cidrs' present.
The allowed_cidrs value could be an empty list if the
request involves the sdk, so make the check account for that.

OVN Octavia provider driver relies now on new features
comming from OVN master. That means that would be great
to use master, at least in the check queue.

Change-Id: I70adcfad3f4d489d94da171670c23dba51d6f2a1
(cherry picked from commit bfd98048cf
(cherry picked from commit 76b20882aa)
(cherry picked from commit bd32eaa069)
This commit is contained in:
Brian Haley 2020-09-10 14:59:02 -04:00
parent 73030c5c7b
commit f98aaef1bf
3 changed files with 40 additions and 10 deletions

View File

@ -1953,6 +1953,16 @@ class OvnProviderDriver(driver_base.ProviderDriver):
user_fault_string=msg,
operator_fault_string=msg)
def _check_for_allowed_cidrs(self, allowed_cidrs):
# TODO(haleyb): add support for this
if isinstance(allowed_cidrs, o_datamodels.UnsetType):
allowed_cidrs = []
if allowed_cidrs:
msg = _('OVN provider does not support allowed_cidrs option')
raise driver_exceptions.UnsupportedOptionError(
user_fault_string=msg,
operator_fault_string=msg)
def loadbalancer_create(self, loadbalancer):
admin_state_up = loadbalancer.admin_state_up
if isinstance(admin_state_up, o_datamodels.UnsetType):
@ -2033,6 +2043,8 @@ class OvnProviderDriver(driver_base.ProviderDriver):
def listener_create(self, listener):
self._check_for_supported_protocols(listener.protocol)
self._check_for_allowed_cidrs(listener.allowed_cidrs)
admin_state_up = listener.admin_state_up
if isinstance(admin_state_up, o_datamodels.UnsetType):
admin_state_up = True
@ -2056,6 +2068,8 @@ class OvnProviderDriver(driver_base.ProviderDriver):
self._ovn_helper.add_request(request)
def listener_update(self, old_listener, new_listener):
self._check_for_allowed_cidrs(new_listener.allowed_cidrs)
request_info = {'id': new_listener.listener_id,
'loadbalancer_id': old_listener.loadbalancer_id,
'protocol': old_listener.protocol,

View File

@ -48,8 +48,9 @@
OVS_BRANCH: master
- job:
name: ovn-octavia-provider-dsvm-base
name: ovn-octavia-provider-tempest-base
parent: devstack-tempest
abstract: true
timeout: 7800
required-projects:
- openstack/devstack-gate
@ -99,6 +100,7 @@
l7_protocol_enabled: False
l4_protocol: "TCP"
session_persistence_enabled: False
not_implemented_is_error: False
devstack_services:
c-bak: false
ceilometer-acentral: false
@ -139,14 +141,26 @@
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_test_regex: "^octavia_tempest_plugin.tests.scenario.v2"
tempest_black_regex: "\
(^octavia_tempest_plugin.tests.scenario.v2.test_traffic_ops.TrafficOperationsScenarioTest.test_basic_traffic)|\
(^octavia_tempest_plugin.tests.scenario.v2.test_traffic_ops.TrafficOperationsScenarioTest.test_basic_http_traffic)|\
(^octavia_tempest_plugin.tests.scenario.v2.test_traffic_ops.TrafficOperationsScenarioTest.test_basic_tcp_traffic)|\
(^octavia_tempest_plugin.tests.scenario.v2.test_traffic_ops.TrafficOperationsScenarioTest.test_basic_udp_traffic)"
tempest_concurrency: 2
tox_envlist: all
- job:
name: ovn-octavia-provider-tempest-release
parent: ovn-octavia-provider-tempest-base
vars:
devstack_localrc:
OVN_BRANCH: v20.06.0
OVS_BRANCH: v2.13.0
- job:
name: ovn-octavia-provider-tempest-master
parent: ovn-octavia-provider-tempest-base
vars:
devstack_localrc:
OVN_BRANCH: master
OVS_BRANCH: master

View File

@ -12,10 +12,12 @@
- openstack/neutron
- ovn-octavia-provider-functional-release
- ovn-octavia-provider-functional-master
- ovn-octavia-provider-v2-dsvm-scenario
- ovn-octavia-provider-tempest-release
- ovn-octavia-provider-tempest-master:
voting: false
gate:
fail-fast: true
jobs:
- ovn-octavia-provider-functional-release
- ovn-octavia-provider-functional-master
- ovn-octavia-provider-v2-dsvm-scenario
- ovn-octavia-provider-tempest-release