From afb4d151f73043b592243359a393fe6c4cf8f410 Mon Sep 17 00:00:00 2001 From: Gregory Thiemonge Date: Sat, 25 Mar 2023 12:07:44 +0100 Subject: [PATCH] Fixing octavia-grenade job and disabling pylint warnings grenade now updates from an ML2/OVN deployment. Octavia needs to source the devstack/lib/octavia file from neutron, which provides the functions that manage the octavia management interfaces. The commit also removes false-positive pylint warnings, an issue was reported to the pylint project: https://github.com/PyCQA/pylint/issues/8497 Change-Id: Ie26a154c320d8527e54b871a3b99bbbc3c2ee811 --- devstack/upgrade/shutdown.sh | 2 ++ octavia/amphorae/backends/agent/api_server/plug.py | 2 ++ octavia/amphorae/backends/utils/interface.py | 4 ++++ 3 files changed, 8 insertions(+) diff --git a/devstack/upgrade/shutdown.sh b/devstack/upgrade/shutdown.sh index fa6a434387..8fe8c10728 100755 --- a/devstack/upgrade/shutdown.sh +++ b/devstack/upgrade/shutdown.sh @@ -16,6 +16,8 @@ OCTAVIA_DEVSTACK_DIR=$(dirname $(dirname $0)) source $OCTAVIA_DEVSTACK_DIR/settings source $OCTAVIA_DEVSTACK_DIR/plugin.sh +source ${GITDIR[neutron]}/devstack/lib/octavia + set -o xtrace octavia_stop diff --git a/octavia/amphorae/backends/agent/api_server/plug.py b/octavia/amphorae/backends/agent/api_server/plug.py index 45a7c073f8..f526bfa819 100644 --- a/octavia/amphorae/backends/agent/api_server/plug.py +++ b/octavia/amphorae/backends/agent/api_server/plug.py @@ -246,6 +246,8 @@ class Plug(object): try: with pyroute2.IPRoute() as ipr: idx = ipr.link_lookup(address=mac)[0] + # Workaround for https://github.com/PyCQA/pylint/issues/8497 + # pylint: disable=E1136, E1121 addr = ipr.get_links(idx)[0] for attr in addr['attrs']: if attr[0] == consts.IFLA_IFNAME: diff --git a/octavia/amphorae/backends/utils/interface.py b/octavia/amphorae/backends/utils/interface.py index 87828f1bad..bd1c31679e 100644 --- a/octavia/amphorae/backends/utils/interface.py +++ b/octavia/amphorae/backends/utils/interface.py @@ -181,6 +181,8 @@ class InterfaceController(object): with pyroute2.IPRoute() as ipr: idx = ipr.link_lookup(ifname=interface.name)[0] + # Workaround for https://github.com/PyCQA/pylint/issues/8497 + # pylint: disable=E1136, E1121 link = ipr.get_links(idx)[0] current_state = link.get(consts.STATE) @@ -370,6 +372,8 @@ class InterfaceController(object): with pyroute2.IPRoute() as ipr: idx = ipr.link_lookup(ifname=interface.name)[0] + # Workaround for https://github.com/PyCQA/pylint/issues/8497 + # pylint: disable=E1136, E1121 link = ipr.get_links(idx)[0] current_state = link.get(consts.STATE)