Fix use of pyroute2 Stats tuple import

In later versions of pyroute2, the definition of Stats
was moved from pyroute2.netlink.nlsocket to
pyroute2.netlink.core. To support jobs running on
multiple versions, import with a try/except. This can be
removed when we are able to require pyroute2 >= 0.9.1.

Closes-bug: #2106605
Change-Id: Ib929df4a143c4b70c3ec5edd0d3037814bab80d4
This commit is contained in:
Brian Haley
2025-04-09 14:41:04 -04:00
parent 763818b1d9
commit 1920c2fdbd

View File

@@ -15,7 +15,11 @@
from unittest import mock
from pyroute2.netlink import nlsocket
# TODO(haleyb) remove when pyroute >=0.9.1 required
try:
from pyroute2.netlink import core as nlcore
except ImportError:
from pyroute2.netlink import nlsocket as nlcore
from neutron.agent.linux import devlink
from neutron.privileged.agent import linux as priv_linux
@@ -46,7 +50,7 @@ GET_PORT_LIST = (
'pid': 448943,
'error': None,
'target': 'localhost',
'stats': nlsocket.Stats(qsize=0, delta=0, delay=0)
'stats': nlcore.Stats(qsize=0, delta=0, delay=0)
},
'event': 'DEVLINK_CMD_NEW'},
{'cmd': 3,
@@ -77,7 +81,7 @@ GET_PORT_LIST = (
'pid': 448943,
'error': None,
'target': 'localhost',
'stats': nlsocket.Stats(qsize=0, delta=0, delay=0)
'stats': nlcore.Stats(qsize=0, delta=0, delay=0)
},
'event': 'DEVLINK_CMD_NEW'},
{'cmd': 3,
@@ -108,7 +112,7 @@ GET_PORT_LIST = (
'pid': 448943,
'error': None,
'target': 'localhost',
'stats': nlsocket.Stats(qsize=0, delta=0, delay=0)
'stats': nlcore.Stats(qsize=0, delta=0, delay=0)
},
'event': 'DEVLINK_CMD_NEW'}
)