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 commitbfd98048cf
(cherry picked from commit76b20882aa
) (cherry picked from commitbd32eaa069
)
This commit is contained in:
parent
73030c5c7b
commit
f98aaef1bf
|
@ -1953,6 +1953,16 @@ class OvnProviderDriver(driver_base.ProviderDriver):
|
||||||
user_fault_string=msg,
|
user_fault_string=msg,
|
||||||
operator_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):
|
def loadbalancer_create(self, loadbalancer):
|
||||||
admin_state_up = loadbalancer.admin_state_up
|
admin_state_up = loadbalancer.admin_state_up
|
||||||
if isinstance(admin_state_up, o_datamodels.UnsetType):
|
if isinstance(admin_state_up, o_datamodels.UnsetType):
|
||||||
|
@ -2033,6 +2043,8 @@ class OvnProviderDriver(driver_base.ProviderDriver):
|
||||||
|
|
||||||
def listener_create(self, listener):
|
def listener_create(self, listener):
|
||||||
self._check_for_supported_protocols(listener.protocol)
|
self._check_for_supported_protocols(listener.protocol)
|
||||||
|
self._check_for_allowed_cidrs(listener.allowed_cidrs)
|
||||||
|
|
||||||
admin_state_up = listener.admin_state_up
|
admin_state_up = listener.admin_state_up
|
||||||
if isinstance(admin_state_up, o_datamodels.UnsetType):
|
if isinstance(admin_state_up, o_datamodels.UnsetType):
|
||||||
admin_state_up = True
|
admin_state_up = True
|
||||||
|
@ -2056,6 +2068,8 @@ class OvnProviderDriver(driver_base.ProviderDriver):
|
||||||
self._ovn_helper.add_request(request)
|
self._ovn_helper.add_request(request)
|
||||||
|
|
||||||
def listener_update(self, old_listener, new_listener):
|
def listener_update(self, old_listener, new_listener):
|
||||||
|
self._check_for_allowed_cidrs(new_listener.allowed_cidrs)
|
||||||
|
|
||||||
request_info = {'id': new_listener.listener_id,
|
request_info = {'id': new_listener.listener_id,
|
||||||
'loadbalancer_id': old_listener.loadbalancer_id,
|
'loadbalancer_id': old_listener.loadbalancer_id,
|
||||||
'protocol': old_listener.protocol,
|
'protocol': old_listener.protocol,
|
||||||
|
|
|
@ -48,8 +48,9 @@
|
||||||
OVS_BRANCH: master
|
OVS_BRANCH: master
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: ovn-octavia-provider-dsvm-base
|
name: ovn-octavia-provider-tempest-base
|
||||||
parent: devstack-tempest
|
parent: devstack-tempest
|
||||||
|
abstract: true
|
||||||
timeout: 7800
|
timeout: 7800
|
||||||
required-projects:
|
required-projects:
|
||||||
- openstack/devstack-gate
|
- openstack/devstack-gate
|
||||||
|
@ -99,6 +100,7 @@
|
||||||
l7_protocol_enabled: False
|
l7_protocol_enabled: False
|
||||||
l4_protocol: "TCP"
|
l4_protocol: "TCP"
|
||||||
session_persistence_enabled: False
|
session_persistence_enabled: False
|
||||||
|
not_implemented_is_error: False
|
||||||
devstack_services:
|
devstack_services:
|
||||||
c-bak: false
|
c-bak: false
|
||||||
ceilometer-acentral: false
|
ceilometer-acentral: false
|
||||||
|
@ -139,14 +141,26 @@
|
||||||
octavia: https://opendev.org/openstack/octavia.git
|
octavia: https://opendev.org/openstack/octavia.git
|
||||||
octavia-tempest-plugin: https://opendev.org/openstack/octavia-tempest-plugin.git
|
octavia-tempest-plugin: https://opendev.org/openstack/octavia-tempest-plugin.git
|
||||||
ovn-octavia-provider: https://opendev.org/openstack/ovn-octavia-provider
|
ovn-octavia-provider: https://opendev.org/openstack/ovn-octavia-provider
|
||||||
|
tempest_test_regex: "^octavia_tempest_plugin.tests.scenario.v2"
|
||||||
- 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_black_regex: "\
|
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)"
|
(^octavia_tempest_plugin.tests.scenario.v2.test_traffic_ops.TrafficOperationsScenarioTest.test_basic_udp_traffic)"
|
||||||
tempest_concurrency: 2
|
tempest_concurrency: 2
|
||||||
tox_envlist: all
|
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
|
||||||
|
|
|
@ -12,10 +12,12 @@
|
||||||
- openstack/neutron
|
- openstack/neutron
|
||||||
- ovn-octavia-provider-functional-release
|
- ovn-octavia-provider-functional-release
|
||||||
- ovn-octavia-provider-functional-master
|
- ovn-octavia-provider-functional-master
|
||||||
- ovn-octavia-provider-v2-dsvm-scenario
|
- ovn-octavia-provider-tempest-release
|
||||||
|
- ovn-octavia-provider-tempest-master:
|
||||||
|
voting: false
|
||||||
gate:
|
gate:
|
||||||
fail-fast: true
|
fail-fast: true
|
||||||
jobs:
|
jobs:
|
||||||
- ovn-octavia-provider-functional-release
|
- ovn-octavia-provider-functional-release
|
||||||
- ovn-octavia-provider-functional-master
|
- ovn-octavia-provider-functional-master
|
||||||
- ovn-octavia-provider-v2-dsvm-scenario
|
- ovn-octavia-provider-tempest-release
|
||||||
|
|
Loading…
Reference in New Issue