diff options
author | Jan Gelety <jgelety@cisco.com> | 2019-11-12 05:27:43 +0100 |
---|---|---|
committer | Jan Gelety <jgelety@cisco.com> | 2019-11-28 18:26:21 +0100 |
commit | d68951ac245150eeefa6e0f4156e4c1b5c9e9325 (patch) | |
tree | 487554a7547218d27f0a61ec02b70502c32cdcb4 /resources/libraries/python/SchedUtils.py | |
parent | ed0258a440cfad7023d643f717ab78ac568dc59b (diff) |
Python3: resources and libraries
Change-Id: I1392c06b1d64f62b141d24c0d42a8e36913b15e2
Signed-off-by: Jan Gelety <jgelety@cisco.com>
Diffstat (limited to 'resources/libraries/python/SchedUtils.py')
-rw-r--r-- | resources/libraries/python/SchedUtils.py | 47 |
1 files changed, 26 insertions, 21 deletions
diff --git a/resources/libraries/python/SchedUtils.py b/resources/libraries/python/SchedUtils.py index b4c57217bd..bb14c29de8 100644 --- a/resources/libraries/python/SchedUtils.py +++ b/resources/libraries/python/SchedUtils.py @@ -1,4 +1,4 @@ -# Copyright (c) 2016 Cisco and/or its affiliates. +# Copyright (c) 2019 Cisco and/or its affiliates. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at: @@ -12,12 +12,13 @@ # limitations under the License. """Linux scheduler util library""" + from resources.libraries.python.ssh import SSH +__all__ = [u"SchedUtils"] -__all__ = ["SchedUtils"] -class SchedUtils(object): +class SchedUtils: """General class for any linux scheduler related methods/functions.""" @staticmethod @@ -32,24 +33,26 @@ class SchedUtils(object): ssh = SSH() ssh.connect(node) - cmd = "cat /proc/`pidof vpp`/task/*/stat | grep -i vpp_wk"\ - " | awk '{print $1}'" + cmd = u"cat /proc/`pidof vpp`/task/*/stat | grep -i vpp_wk" \ + u" | awk '{print $1}'" for _ in range(3): - (ret, out, _) = ssh.exec_command_sudo(cmd) + ret, out, _ = ssh.exec_command_sudo(cmd) if ret == 0: try: if not out: raise ValueError except ValueError: - print 'Reading VPP worker thread PID failed.' + print(u"Reading VPP worker thread PID failed.") else: - for pid in out.split("\n"): - if pid and pid[0] != '#': + for pid in out.split(u"\n"): + if pid and pid[0] != u"#": SchedUtils.set_proc_scheduling_rr(node, int(pid)) break else: - raise RuntimeError('Failed to retrieve PID for VPP worker threads.') + raise RuntimeError( + u"Failed to retrieve PID for VPP worker threads." + ) @staticmethod def set_proc_scheduling_rr(node, pid, priority=1): @@ -69,16 +72,17 @@ class SchedUtils(object): ssh.connect(node) if pid < 1: - raise ValueError("SCHED_RR: PID must be higher then 1.") + raise ValueError(u"SCHED_RR: PID must be higher then 1.") if 1 <= priority <= 99: - cmd = "chrt -r -p {0} {1}".format(priority, pid) - (ret, _, _) = ssh.exec_command_sudo(cmd) + cmd = f"chrt -r -p {priority} {pid}" + ret, _, _ = ssh.exec_command_sudo(cmd) if ret != 0: - raise RuntimeError("SCHED_RR: Failed to set policy "\ - "for PID {0}.".format(pid)) + raise RuntimeError( + f"SCHED_RR: Failed to set policy for PID {pid}." + ) else: - raise ValueError("SCHED_RR: Priority must be in range 1-99.") + raise ValueError(u"SCHED_RR: Priority must be in range 1-99.") @staticmethod def set_proc_scheduling_other(node, pid): @@ -95,10 +99,11 @@ class SchedUtils(object): ssh.connect(node) if pid < 1: - raise ValueError("SCHED_OTHER: PID must be higher then 1.") + raise ValueError(u"SCHED_OTHER: PID must be higher then 1.") - cmd = "chrt -o -p 0 {1}".format(pid) - (ret, _, _) = ssh.exec_command_sudo(cmd) + cmd = f"chrt -o -p 0 {pid}" + ret, _, _ = ssh.exec_command_sudo(cmd) if ret != 0: - raise RuntimeError("SCHED_OTHER: Failed to set policy "\ - "for PID {0}.".format(pid)) + raise RuntimeError( + f"SCHED_OTHER: Failed to set policy for PID {pid}." + ) |