Browse Source

Fix master of networking-odl

Due to recent pip resolver changes the dependencies have to align, and
as lower-constraints job is still failing make it non-voting.
The question of dropping lower-constraints testing was discussed in [1]
and [2].

[1]http://lists.openstack.org/pipermail/openstack-discuss/2020-December/019390.html
[2]http://eavesdrop.openstack.org/meetings/networking/2021/networking.2021-01-12-14.00.log.html

Change-Id: Idb6791066c61d7de8790450cd969c048598ae952
changes/77/769877/13 18.0.0
elajkat 4 months ago
committed by Lajos Katona
parent
commit
b8a140df8c
11 changed files with 48 additions and 53 deletions
  1. +1
    -7
      .zuul.d/project.yaml
  2. +5
    -6
      lower-constraints.txt
  3. +1
    -1
      networking_odl/cmd/analyze_journal.py
  4. +2
    -1
      networking_odl/cmd/set_ovs_hostconfigs.py
  5. +1
    -0
      networking_odl/common/client.py
  6. +4
    -4
      networking_odl/common/lightweight_testing.py
  7. +15
    -15
      networking_odl/common/websocket_client.py
  8. +1
    -1
      networking_odl/ml2/legacy_port_binding.py
  9. +10
    -10
      networking_odl/ml2/pseudo_agentdb_binding.py
  10. +1
    -1
      networking_odl/tests/functional/requirements.txt
  11. +7
    -7
      test-requirements.txt

+ 1
- 7
.zuul.d/project.yaml View File

@ -27,6 +27,7 @@
- openstack/networking-sfc
- openstack/networking-bgpvpn
- openstack-tox-lower-constraints:
voting: false
required-projects:
- openstack/ceilometer
- openstack/neutron
@ -81,13 +82,6 @@
- x/networking-l2gw
- openstack/networking-sfc
- openstack/networking-bgpvpn
- openstack-tox-lower-constraints:
required-projects:
- openstack/ceilometer
- openstack/neutron
- x/networking-l2gw
- openstack/networking-sfc
- openstack/networking-bgpvpn
- openstack-tox-py36:
required-projects:
- openstack/ceilometer


+ 5
- 6
lower-constraints.txt View File

@ -103,7 +103,7 @@ oslo.serialization==2.25.0
oslo.service==1.30.0
oslo.utils==3.36.0
oslo.versionedobjects==1.35.1
oslotest==3.3.0
oslotest==4.4.1
osprofiler==2.3.0
ovs==2.8.1
ovsdbapp==1.0.0
@ -111,7 +111,7 @@ packaging==17.1
Paste==2.0.3
PasteDeploy==1.5.2
pbr==4.0.0
pecan==1.3.2
pecan==1.3.3
pika==0.10.0
pika-pool==0.1.3
Pillow==5.0.0
@ -126,7 +126,6 @@ pycparser==2.18
pycryptodomex==3.5.1
Pygments==2.2.0
pyinotify==0.9.6
pylint==1.8.3
pymongo==3.6.1
pyOpenSSL==17.5.0
pyparsing==2.2.0
@ -145,7 +144,7 @@ python-keystoneclient==3.22.0
python-mimeparse==1.6.0
python-neutronclient==6.7.0
python-novaclient==10.1.0
python-subunit==1.2.0
python-subunit==1.4.0
python-swiftclient==3.5.0
pytz==2018.3
PyYAML==3.12
@ -168,14 +167,14 @@ SQLAlchemy==1.2.5
sqlalchemy-migrate==0.11.0
sqlparse==0.2.4
statsd==3.2.2
stestr==2.0.0
stestr==3.1.0
stevedore==1.28.0
Tempita==0.5.2
tenacity==4.9.0
testrepository==0.0.20
testresources==2.0.1
testscenarios==0.5.0
testtools==2.3.0
testtools==2.4.0
tinyrpc==0.8
tooz==1.61.0
traceback2==1.4.0


+ 1
- 1
networking_odl/cmd/analyze_journal.py View File

@ -149,4 +149,4 @@ def main(output=sys.stdout):
if __name__ == '__main__':
exit(main())
sys.exit(main())

+ 2
- 1
networking_odl/cmd/set_ovs_hostconfigs.py View File

@ -320,6 +320,7 @@ def _vif_type_from_conf(conf, userspace_datapath_types):
return 'ovs'
# take vif_type from ovs_dpdk -----------------------------------------
# pylint: disable=no-else-raise
if conf.ovs_dpdk is True:
if userspace_datapath_types:
return 'vhostuser'
@ -502,4 +503,4 @@ def main(args=None):
if __name__ == '__main__':
exit(main())
sys.exit(main())

+ 1
- 0
networking_odl/common/client.py View File

@ -45,6 +45,7 @@ class OpenDaylightRestClient(object):
"returning a OpenDaylightLwtClient instance")
# Have to import at here, otherwise we create a dependency loop
# pylint: disable=import-outside-toplevel
from networking_odl.common import lightweight_testing as lwt
cls = lwt.OpenDaylightLwtClient


+ 4
- 4
networking_odl/common/lightweight_testing.py View File

@ -131,10 +131,10 @@ class OpenDaylightLwtClient(client.OpenDaylightRestClient):
LOG.debug("%s %s does not exist", resource_type, resource_id)
response = cls._make_response(NOT_FOUND)
raise requests.exceptions.HTTPError(response=response)
else:
# When getting single resource, return value is a dict
r_list = {resource_type[:-1]: deepcopy(resource)}
return cls._make_response(OK, r_list)
# When getting single resource, return value is a dict
r_list = {resource_type[:-1]: deepcopy(resource)}
return cls._make_response(OK, r_list)
r_list = [{resource_type[:-1]: deepcopy(res)}
for res in resource_dict.values()]


+ 15
- 15
networking_odl/common/websocket_client.py View File

@ -134,14 +134,14 @@ class OpenDaylightWebsocketClient(object):
# websocket-client lib.
if message and 'timed out' in message:
continue
else:
LOG.error("SSL websocket unexpected exception, "
"closing and restarting...", exc_info=True)
# TODO(rsood): Websocket reconnect can cause race
# conditions
self._close_ws(ws)
ws = None
continue
LOG.error("SSL websocket unexpected exception, "
"closing and restarting...", exc_info=True)
# TODO(rsood): Websocket reconnect can cause race
# conditions
self._close_ws(ws)
ws = None
continue
except websocket.WebSocketConnectionClosedException:
# per websocket-client, "If remote host closed the connection
# or some network error happened"
@ -205,10 +205,10 @@ class OpenDaylightWebsocketClient(object):
LOG.debug("response code bad_request (400)"
"check path for websocket connection")
raise ValueError(_("bad_request (http400),check path."))
else:
LOG.warning("websocket connection failed",
exc_info=True)
return None
LOG.warning("websocket connection failed",
exc_info=True)
return None
except Exception:
LOG.error("websocket subscription failed", exc_info=True)
return None
@ -235,9 +235,9 @@ class OpenDaylightWebsocketClient(object):
LOG.debug("response code not_found (404)"
"unable to websocket connection url")
raise ValueError(_("bad_request (http400),check path"))
else:
LOG.warning("websocket connection failed")
return None
LOG.warning("websocket connection failed")
return None
except ValueError:
with excutils.save_and_reraise_exception():
LOG.error("websocket subscribe got invalid stream name")


+ 1
- 1
networking_odl/ml2/legacy_port_binding.py View File

@ -27,8 +27,8 @@ LOG = log.getLogger(__name__)
class LegacyPortBindingManager(port_binding.PortBindingController):
def __init__(self):
self.vif_details = {portbindings.CAP_PORT_FILTER: True}
self.supported_vnic_types = [portbindings.VNIC_NORMAL]
self.vif_details = {portbindings.CAP_PORT_FILTER: True}
def bind_port(self, port_context):
"""Set binding for all valid segments


+ 10
- 10
networking_odl/ml2/pseudo_agentdb_binding.py View File

@ -384,16 +384,16 @@ class PseudoAgentDBBindingController(port_binding.PortBindingController):
if self._hconfig_bind_port(port_context, hconfig):
break # Port binding suceeded!
else: # Port binding failed!
LOG.warning(
"Failed to bind Port %(pid)s devid %(device_id)s "
"owner %(owner)s for host %(host)s "
"on network %(network)s.", {
'pid': port_context.current['id'],
'device_id': port_context.current['device_id'],
'owner': port_context.current['device_owner'],
'host': port_context.host,
'network': port_context.network.current['id']})
# Port binding failed!
LOG.warning(
"Failed to bind Port %(pid)s devid %(device_id)s "
"owner %(owner)s for host %(host)s "
"on network %(network)s.", {
'pid': port_context.current['id'],
'device_id': port_context.current['device_id'],
'owner': port_context.current['device_owner'],
'host': port_context.host,
'network': port_context.network.current['id']})
else: # No hostconfig found for host in agentdb.
LOG.warning("No ODL hostconfigs for host %s found in agentdb",
port_context.host)


+ 1
- 1
networking_odl/tests/functional/requirements.txt View File

@ -5,7 +5,7 @@
# process, which may cause wedges in the gate later.
oslotest>=3.3.0 # Apache-2.0
psutil>=1.1.1,<2.0.0
psutil>5.4.3
psycopg2
python-subunit>=1.2.0 # Apache-2.0/BSD
PyMySQL>=0.6.2 # MIT License


+ 7
- 7
test-requirements.txt View File

@ -7,17 +7,17 @@ hacking>=3.0.1,<3.1.0 # Apache-2.0
coverage>=4.5.1 # Apache-2.0
doc8>=0.8.0 # Apache-2.0
flake8-import-order>=0.17.1 # LGPLv3
python-subunit>=1.2.0 # Apache-2.0/BSD
oslotest>=3.3.0 # Apache-2.0
stestr>=2.0.0 # Apache-2.0
pecan>=1.3.2 # BSD
pylint==2.2.0;python_version>="3.0" # GPLv2
python-subunit>=1.4.0 # Apache-2.0/BSD
oslotest>=4.4.1 # Apache-2.0
stestr>=3.1.0 # Apache-2.0
pecan>=1.3.3 # BSD
pylint==2.5.3;python_version>="3.0" # GPLv2
testresources>=2.0.1 # Apache-2.0/BSD
testscenarios>=0.5.0 # Apache-2.0/BSD
testtools>=2.3.0 # MIT
testtools>=2.4.0 # MIT
bandit!=1.6.0,>=1.4.0 # Apache-2.0
bashate>=0.5.1 # Apache-2.0
astroid==2.1.0;python_version>="3.0" # LGPLv2.1
astroid==2.4.0;python_version>="3.0" # LGPLv2.1
isort==4.3.21 # MIT
# To test ceilometer client


Loading…
Cancel
Save