meta-starlingx/meta-stx-flock/stx-update/files/0004-Address-python3-pylint-errors-and-warnings.patch
Jackie Huang 094c4b80fa stx-update: migrate patch-agent to use dnf instead of smart
smart is not availble in yocto any more and is replaced by dnf, which is
the same  situation in the later stx release on centos 8, so backport
seceral patches from later stx release to migrate patch-agent to use dnf
instead of smart.

Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
Signed-off-by: Babak Sarashki <Babak.SarAshki@windriver.com>
2020-06-13 16:29:45 -07:00

214 lines
8.6 KiB
Diff

From d6675196199ddcefccba0d5d745ac4e93aaecd0f Mon Sep 17 00:00:00 2001
From: Don Penney <don.penney@windriver.com>
Date: Wed, 4 Dec 2019 22:26:52 -0500
Subject: [PATCH] Address python3 pylint errors and warnings
This commit addresses issues detected by the updated python3 pylint:
- Added a return code to the report_app_dependencies function to
satisfy the E1111 error reported.
- Added line-specific pylint disable for unused-argument for cases
where the inclusion of such arguments in the function signature was
intentional.
- Added line-specific pylint disable for the duplicate-except case
found, as python3 has merged IOError into OSError, while these are
separate exceptions in python2. Once we're running solely on python3,
this duplicate exception handling can be dropped.
Change-Id: I96a521288e71948f06ad0c88a12c8f475ed8bc99
Closes-Bug: 1855180
Signed-off-by: Don Penney <don.penney@windriver.com>
---
cgcs-patch/cgcs-patch/cgcs_patch/api/controllers/root.py | 4 ++--
cgcs-patch/cgcs-patch/cgcs_patch/messages.py | 2 +-
cgcs-patch/cgcs-patch/cgcs_patch/patch_agent.py | 6 +++---
cgcs-patch/cgcs-patch/cgcs_patch/patch_client.py | 6 +++---
cgcs-patch/cgcs-patch/cgcs_patch/patch_controller.py | 8 +++++---
cgcs-patch/cgcs-patch/cgcs_patch/patch_functions.py | 2 +-
cgcs-patch/cgcs-patch/cgcs_patch/tests/test_patch_controller.py | 2 +-
cgcs-patch/cgcs-patch/pylint.rc | 6 +-----
8 files changed, 17 insertions(+), 19 deletions(-)
diff --git a/cgcs-patch/cgcs-patch/cgcs_patch/api/controllers/root.py b/cgcs-patch/cgcs-patch/cgcs_patch/api/controllers/root.py
index f1e0262..4c7bd7f 100644
--- a/cgcs-patch/cgcs-patch/cgcs_patch/api/controllers/root.py
+++ b/cgcs-patch/cgcs-patch/cgcs_patch/api/controllers/root.py
@@ -182,7 +182,7 @@ class PatchAPIController(object):
@expose('json')
@expose('query_hosts.xml', content_type='application/xml')
- def query_hosts(self, *args):
+ def query_hosts(self, *args): # pylint: disable=unused-argument
return dict(data=pc.query_host_cache())
@expose('json')
@@ -197,7 +197,7 @@ class PatchAPIController(object):
@expose('json')
@expose('query.xml', content_type='application/xml')
- def host_install(self, *args):
+ def host_install(self, *args): # pylint: disable=unused-argument
return dict(error="Deprecated: Use host_install_async")
@expose('json')
diff --git a/cgcs-patch/cgcs-patch/cgcs_patch/messages.py b/cgcs-patch/cgcs-patch/cgcs_patch/messages.py
index a57ea28..6abc29d 100644
--- a/cgcs-patch/cgcs-patch/cgcs_patch/messages.py
+++ b/cgcs-patch/cgcs-patch/cgcs_patch/messages.py
@@ -60,5 +60,5 @@ class PatchMessage(object):
return PATCHMSG_STR[self.msgtype]
return "invalid-type"
- def handle(self, sock, addr):
+ def handle(self, sock, addr): # pylint: disable=unused-argument
LOG.info("Unhandled message type: %s" % self.msgtype)
diff --git a/cgcs-patch/cgcs-patch/cgcs_patch/patch_agent.py b/cgcs-patch/cgcs-patch/cgcs_patch/patch_agent.py
index 77930d7..547db52 100644
--- a/cgcs-patch/cgcs-patch/cgcs_patch/patch_agent.py
+++ b/cgcs-patch/cgcs-patch/cgcs_patch/patch_agent.py
@@ -150,7 +150,7 @@ class PatchMessageHelloAgent(messages.PatchMessage):
resp = PatchMessageHelloAgentAck()
resp.send(sock)
- def send(self, sock):
+ def send(self, sock): # pylint: disable=unused-argument
LOG.error("Should not get here")
@@ -196,7 +196,7 @@ class PatchMessageQueryDetailed(messages.PatchMessage):
resp = PatchMessageQueryDetailedResp()
resp.send(sock)
- def send(self, sock):
+ def send(self, sock): # pylint: disable=unused-argument
LOG.error("Should not get here")
@@ -258,7 +258,7 @@ class PatchMessageAgentInstallReq(messages.PatchMessage):
resp.status = pa.handle_install()
resp.send(sock, addr)
- def send(self, sock):
+ def send(self, sock): # pylint: disable=unused-argument
LOG.error("Should not get here")
diff --git a/cgcs-patch/cgcs-patch/cgcs_patch/patch_client.py b/cgcs-patch/cgcs-patch/cgcs_patch/patch_client.py
index 705590c..af189fc 100644
--- a/cgcs-patch/cgcs-patch/cgcs_patch/patch_client.py
+++ b/cgcs-patch/cgcs-patch/cgcs_patch/patch_client.py
@@ -960,7 +960,7 @@ def wait_for_install_complete(agent_ip):
return rc
-def host_install(debug, args):
+def host_install(debug, args): # pylint: disable=unused-argument
force = False
rc = 0
@@ -1072,7 +1072,7 @@ def patch_upload_dir_req(debug, args):
return check_rc(req)
-def patch_install_local(debug, args):
+def patch_install_local(debug, args): # pylint: disable=unused-argument
""" This function is used to trigger patch installation prior to configuration """
# Check to see if initial configuration has completed
if os.path.isfile(INITIAL_CONTROLLER_CONFIG_COMPLETE):
@@ -1214,7 +1214,7 @@ def patch_is_available_req(args):
return rc
-def patch_report_app_dependencies_req(debug, args):
+def patch_report_app_dependencies_req(debug, args): # pylint: disable=unused-argument
if len(args) < 2:
print_help()
diff --git a/cgcs-patch/cgcs-patch/cgcs_patch/patch_controller.py b/cgcs-patch/cgcs-patch/cgcs_patch/patch_controller.py
index 4b94a5f..79a6401 100644
--- a/cgcs-patch/cgcs-patch/cgcs_patch/patch_controller.py
+++ b/cgcs-patch/cgcs-patch/cgcs_patch/patch_controller.py
@@ -392,7 +392,7 @@ class PatchMessageHelloAgentAck(messages.PatchMessage):
self.agent_state)
pc.hosts_lock.release()
- def send(self, sock):
+ def send(self, sock): # pylint: disable=unused-argument
LOG.error("Should not get here")
@@ -469,7 +469,7 @@ class PatchMessageQueryDetailedResp(messages.PatchMessage):
else:
pc.hosts_lock.release()
- def send(self, sock):
+ def send(self, sock): # pylint: disable=unused-argument
LOG.error("Should not get here")
@@ -525,7 +525,7 @@ class PatchMessageAgentInstallResp(messages.PatchMessage):
pc.hosts[addr[0]].install_reject_reason = self.reject_reason
pc.hosts_lock.release()
- def send(self, sock):
+ def send(self, sock): # pylint: disable=unused-argument
LOG.error("Should not get here")
@@ -2298,6 +2298,8 @@ class PatchController(PatchService):
finally:
self.patch_data_lock.release()
+ return True
+
def query_app_dependencies(self):
"""
Query application dependencies
diff --git a/cgcs-patch/cgcs-patch/cgcs_patch/patch_functions.py b/cgcs-patch/cgcs-patch/cgcs_patch/patch_functions.py
index 281a286..e9017f2 100644
--- a/cgcs-patch/cgcs-patch/cgcs_patch/patch_functions.py
+++ b/cgcs-patch/cgcs-patch/cgcs_patch/patch_functions.py
@@ -1253,7 +1253,7 @@ class PatchFile(object):
msg = "Failed during patch extraction"
LOG.exception(msg)
raise PatchFail(msg)
- except IOError:
+ except IOError: # pylint: disable=duplicate-except
msg = "Failed during patch extraction"
LOG.exception(msg)
raise PatchFail(msg)
diff --git a/cgcs-patch/cgcs-patch/cgcs_patch/tests/test_patch_controller.py b/cgcs-patch/cgcs-patch/cgcs_patch/tests/test_patch_controller.py
index e2b02c0..1db4b68 100644
--- a/cgcs-patch/cgcs-patch/cgcs_patch/tests/test_patch_controller.py
+++ b/cgcs-patch/cgcs-patch/cgcs_patch/tests/test_patch_controller.py
@@ -17,6 +17,6 @@ import cgcs_patch.patch_controller # noqa: E402
class CgcsPatchControllerTestCase(testtools.TestCase):
@mock.patch('six.moves.builtins.open')
- def test_cgcs_patch_controller_instantiate(self, mock_open):
+ def test_cgcs_patch_controller_instantiate(self, mock_open): # pylint: disable=unused-argument
# pylint: disable=unused-variable
pc = cgcs_patch.patch_controller.PatchController() # noqa: F841
diff --git a/cgcs-patch/cgcs-patch/pylint.rc b/cgcs-patch/cgcs-patch/pylint.rc
index 812b6b5..a2d888b 100644
--- a/cgcs-patch/cgcs-patch/pylint.rc
+++ b/cgcs-patch/cgcs-patch/pylint.rc
@@ -44,16 +44,12 @@ symbols=no
# --enable=similarities". If you want to run only the classes checker, but have
# no Warning level messages displayed, use"--disable=all --enable=classes
# --disable=W"
-# E1111 assignment-from-no-return
# W0107 unnecessary-pass
# W0603 global-statement
-# W0612 unused-variable
-# W0613 unused-argument
# W0703 broad-except
-# W0705 duplicate-except
# W1201 logging-not-lazy
# W1505, deprecated-method
-disable=C, R, E1111, W0107, W0603, W0612, W0613, W0703, W0705, W1201, W1505
+disable=C, R, W0107, W0603, W0703, W1201, W1505
[REPORTS]