Fix broken gate

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

Fix lower-constraints job for focal, bumping requirements
and fixing resultant failuers as necessary.

The devstack module for OVN has now been moved to the
devstack repository, so include it from there so the
functional jobs can run.

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.

Change-Id: I70adcfad3f4d489d94da171670c23dba51d6f2a1
This commit is contained in:
Brian Haley 2020-09-10 14:59:02 -04:00
parent fac554d1e6
commit bfd98048cf
8 changed files with 34 additions and 16 deletions

View File

@ -6,24 +6,24 @@ astroid==2.1.0
bandit==1.1.0
beautifulsoup4==4.6.0
cachetools==2.0.0
cffi==1.7.0
cffi==1.14.0
chardet==3.0.4
cliff==2.8.0
cmd2==0.8.0
coverage==4.0
cryptography==2.1
cryptography==3.0
debtcollector==1.2.0
decorator==3.4.0
decorator==4.0.0
deprecation==1.0
docutils==0.11
dogpile.cache==0.6.2
eventlet==0.18.2
dogpile.cache==0.8.0
eventlet==0.21.0
extras==1.0.0
fasteners==0.7.0
fixtures==3.0.0
future==0.16.0
futurist==1.2.0
greenlet==0.4.10
greenlet==0.4.15
idna==2.6
iso8601==0.1.11
isort==4.3.21
@ -34,11 +34,11 @@ jsonpointer==1.13
jsonschema==2.6.0
keystoneauth1==3.4.0
keystonemiddleware==4.17.0
kombu==4.0.0
kombu==4.6.1
linecache2==1.0.0
logutils==0.3.5
Mako==0.4.0
MarkupSafe==1.0
MarkupSafe==1.1.1
monotonic==0.6
msgpack-python==0.4.0
munch==2.1.0
@ -58,7 +58,7 @@ oslo.config==5.2.0
oslo.context==2.19.2
oslo.i18n==3.15.3
oslo.log==3.36.0
oslo.messaging==5.29.0
oslo.messaging==12.4.0
oslo.middleware==3.31.0
oslo.policy==1.30.0
oslo.privsep==1.23.0
@ -87,7 +87,7 @@ pyinotify==0.9.6
pylint==2.2.0
pyparsing==2.1.0
pyperclip==1.5.27
pyroute2==0.4.21
pyroute2==0.5.13
python-dateutil==2.5.3
python-designateclient==2.7.0
python-editor==1.0.3
@ -97,7 +97,7 @@ python-neutronclient==6.7.0
python-novaclient==9.1.0
python-subunit==1.0.0
pytz==2015.7
PyYAML==3.12
PyYAML==3.13
reno==3.1.0
repoze.lru==0.7
requests==2.14.2
@ -106,7 +106,7 @@ rfc3986==0.3.1
Routes==2.3.1
simplejson==3.5.1
snowballstemmer==1.2.1
SQLAlchemy==1.2.0
SQLAlchemy==1.2.19
sqlalchemy-migrate==0.11.0
sqlparse==0.2.2
statsd==3.2.1

View File

@ -138,6 +138,12 @@ class OvnProviderDriver(driver_base.ProviderDriver):
def listener_create(self, listener):
self._check_for_supported_protocols(listener.protocol)
# TODO(haleyb): add support for this
if not isinstance(listener.allowed_cidrs, o_datamodels.UnsetType):
msg = _('OVN provider does not support allowed_cidrs option')
raise driver_exceptions.UnsupportedOptionError(
user_fault_string=msg,
operator_fault_string=msg)
admin_state_up = listener.admin_state_up
if isinstance(admin_state_up, o_datamodels.UnsetType):
admin_state_up = True
@ -161,6 +167,13 @@ class OvnProviderDriver(driver_base.ProviderDriver):
self._ovn_helper.add_request(request)
def listener_update(self, old_listener, new_listener):
# TODO(haleyb): add support for this
if not isinstance(new_listener.allowed_cidrs, o_datamodels.UnsetType):
msg = _('OVN provider does not support allowed_cidrs option')
raise driver_exceptions.UnsupportedOptionError(
user_fault_string=msg,
operator_fault_string=msg)
request_info = {'id': new_listener.listener_id,
'loadbalancer_id': old_listener.loadbalancer_id,
'protocol': old_listener.protocol,

View File

@ -90,6 +90,7 @@ class OvnProviderHelper(object):
@staticmethod
def _delete_disabled_from_status(status):
# pylint: disable=multiple-statements
d_regex = ':%s$' % ovn_const.DISABLED_RESOURCE_SUFFIX
return {
k: [{c: re.sub(d_regex, '', d) for c, d in i.items()}
@ -747,6 +748,7 @@ class OvnProviderHelper(object):
@staticmethod
def _get_selection_keys(lb_algorithm):
# pylint: disable=multiple-statements
return ovn_const.LB_SELECTION_FIELDS_MAP[lb_algorithm]
def check_lb_protocol(self, lb_id, listener_protocol):

View File

@ -7,11 +7,13 @@ netaddr>=0.7.18 # BSD
neutron-lib>=2.1.0 # Apache-2.0
oslo.config>=5.2.0 # Apache-2.0
oslo.log>=3.36.0 # Apache-2.0
oslo.messaging>=12.4.0 # Apache-2.0
oslo.serialization>=2.28.1 # Apache-2.0
oslo.utils>=3.33.0 # Apache-2.0
ovs>=2.8.0 # Apache-2.0
ovsdbapp>=0.17.0 # Apache-2.0
pbr!=2.1.0,>=2.0.0 # Apache-2.0
SQLAlchemy>=1.2.19 # MIT
tenacity>=5.0.2 # Apache-2.0
octavia-lib>=1.3.1 # Apache-2.0
python-neutronclient>=6.7.0 # Apache-2.0

View File

@ -18,7 +18,7 @@
source $DEVSTACK_PATH/functions
source $NEUTRON_DIR/devstack/lib/ovs
source $NEUTRON_DIR/devstack/lib/ovn_agent
source $DEVSTACK_PATH/lib/neutron_plugins/ovn_agent
source $NEUTRON_DIR/tools/configure_for_func_testing.sh
configure_host_for_func_testing

View File

@ -10,7 +10,6 @@ flake8-import-order==0.12 # LGPLv3
python-subunit>=1.0.0 # Apache-2.0/BSD
oslotest>=3.2.0 # Apache-2.0
stestr>=1.0.0 # Apache-2.0
astroid==2.1.0 # LGPLv2.1
pylint==2.3.0 # GPLv2
isort==4.3.21 # MIT
octavia-lib>=1.3.1 # Apache-2.0

View File

@ -1,5 +1,5 @@
[tox]
minversion = 3.1.0
minversion = 3.8.0
envlist = docs,py38,pep8
skipsdist = True
ignore_basepython_conflict = True

View File

@ -99,6 +99,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
@ -146,7 +147,8 @@
vars:
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