094c4b80fa
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>
214 lines
8.6 KiB
Diff
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]
|