From bfd98048cfabaa66ca8a61047b642e8bf446490c Mon Sep 17 00:00:00 2001 From: Brian Haley Date: Thu, 10 Sep 2020 14:59:02 -0400 Subject: [PATCH] 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 --- lower-constraints.txt | 24 +++++++++---------- ovn_octavia_provider/driver.py | 13 ++++++++++ ovn_octavia_provider/helper.py | 2 ++ requirements.txt | 2 ++ .../tasks/main.yaml | 2 +- test-requirements.txt | 1 - tox.ini | 2 +- zuul.d/base.yaml | 4 +++- 8 files changed, 34 insertions(+), 16 deletions(-) diff --git a/lower-constraints.txt b/lower-constraints.txt index b15e3d95..af11712d 100644 --- a/lower-constraints.txt +++ b/lower-constraints.txt @@ -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 diff --git a/ovn_octavia_provider/driver.py b/ovn_octavia_provider/driver.py index 5b3c0a28..f8c3fc74 100644 --- a/ovn_octavia_provider/driver.py +++ b/ovn_octavia_provider/driver.py @@ -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, diff --git a/ovn_octavia_provider/helper.py b/ovn_octavia_provider/helper.py index 94013be3..82548739 100644 --- a/ovn_octavia_provider/helper.py +++ b/ovn_octavia_provider/helper.py @@ -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): diff --git a/requirements.txt b/requirements.txt index 5835904e..a3114574 100644 --- a/requirements.txt +++ b/requirements.txt @@ -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 diff --git a/roles/configure_functional_tests/tasks/main.yaml b/roles/configure_functional_tests/tasks/main.yaml index 66242845..8b19f9bf 100644 --- a/roles/configure_functional_tests/tasks/main.yaml +++ b/roles/configure_functional_tests/tasks/main.yaml @@ -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 diff --git a/test-requirements.txt b/test-requirements.txt index 60cdb4a2..bbd2336d 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -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 diff --git a/tox.ini b/tox.ini index 4f593e2c..b6a3d611 100644 --- a/tox.ini +++ b/tox.ini @@ -1,5 +1,5 @@ [tox] -minversion = 3.1.0 +minversion = 3.8.0 envlist = docs,py38,pep8 skipsdist = True ignore_basepython_conflict = True diff --git a/zuul.d/base.yaml b/zuul.d/base.yaml index cdff174c..ffa3f877 100644 --- a/zuul.d/base.yaml +++ b/zuul.d/base.yaml @@ -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