[v3] usertools: fix input handling in telemetry script

Message ID 20190808143753.16788-1-andrius.sirvys@intel.com (mailing list archive)
State Accepted, archived
Headers
Series [v3] usertools: fix input handling in telemetry script |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK
ci/iol-Compile-Testing success Compile Testing PASS
ci/intel-Performance-Testing success Performance Testing PASS
ci/mellanox-Performance-Testing success Performance Testing PASS

Commit Message

Andrius Sirvys Aug. 8, 2019, 2:37 p.m. UTC
  This commit removes the unnecesarry ast.literal_eval() function call
from the input handling, which now relies just on raw_input() to get
its input.

Fixes: 53f293c9a783 ("usertools: replace unsafe input function")
Cc: andrius.sirvys@intel.com

Signed-off-by: Andrius Sirvys <andrius.sirvys@intel.com>
---
v2: Removed unnecessary comments
v3: Reduced scope of changes only to required Python 2 fix

Please note that the dpdk-telemetry-client.py script has a number of
issues with Python3 support. Fixing Python3 support is being deferred
to DPDK 19.11 release.
---
 usertools/dpdk-telemetry-client.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
  

Comments

Van Haaren, Harry Aug. 8, 2019, 3:32 p.m. UTC | #1
> -----Original Message-----
> From: Sirvys, Andrius
> Sent: Thursday, August 8, 2019 3:38 PM
> To: Laatz, Kevin <kevin.laatz@intel.com>
> Cc: dev@dpdk.org; stable@dpdk.org; Van Haaren, Harry
> <harry.van.haaren@intel.com>; Ferriter, Cian <cian.ferriter@intel.com>;
> Lipiec, Herakliusz <herakliusz.lipiec@intel.com>; Sirvys, Andrius
> <andrius.sirvys@intel.com>
> Subject: [PATCH v3] usertools: fix input handling in telemetry script
> 
> This commit removes the unnecesarry ast.literal_eval() function call
> from the input handling, which now relies just on raw_input() to get
> its input.
> 
> Fixes: 53f293c9a783 ("usertools: replace unsafe input function")
> Cc: andrius.sirvys@intel.com
> 
> Signed-off-by: Andrius Sirvys <andrius.sirvys@intel.com>
> ---
> v2: Removed unnecessary comments
> v3: Reduced scope of changes only to required Python 2 fix
> 
> Please note that the dpdk-telemetry-client.py script has a number of
> issues with Python3 support. Fixing Python3 support is being deferred
> to DPDK 19.11 release.

Thanks for the patch re-spin Andrius. This is the smallest change possible
to fix the current issue, and I recommend including in 19.08 release.

Agree the Python3 support requires larger refactoring, which should be
undertaken for 19.11.

Acked-by: Harry van Haaren <harry.van.haaren@intel.com>
  
Thomas Monjalon Aug. 8, 2019, 3:32 p.m. UTC | #2
08/08/2019 16:37, Andrius Sirvys:
> This commit removes the unnecesarry ast.literal_eval() function call
> from the input handling, which now relies just on raw_input() to get
> its input.
> 
> Fixes: 53f293c9a783 ("usertools: replace unsafe input function")
> Cc: andrius.sirvys@intel.com
> 
> Signed-off-by: Andrius Sirvys <andrius.sirvys@intel.com>
> ---
> v2: Removed unnecessary comments
> v3: Reduced scope of changes only to required Python 2 fix
> 
> Please note that the dpdk-telemetry-client.py script has a number of
> issues with Python3 support. Fixing Python3 support is being deferred
> to DPDK 19.11 release.

OK, hope it will be good enough for 19.08.
Applied, thanks
  

Patch

diff --git a/usertools/dpdk-telemetry-client.py b/usertools/dpdk-telemetry-client.py
index 4b0502ff9..60fe97af7 100755
--- a/usertools/dpdk-telemetry-client.py
+++ b/usertools/dpdk-telemetry-client.py
@@ -78,7 +78,7 @@  def requestMetrics(self): # Requests metrics for given client
 
     def repeatedlyRequestMetrics(self, sleep_time): # Recursively requests metrics for given client
         print("\nPlease enter the number of times you'd like to continuously request Metrics:")
-        n_requests = int(ast.literal_eval(raw_input("\n:")))
+        n_requests = int(raw_input("\n:"))
         print("\033[F") #Removes the user input from screen, cleans it up
         print("\033[K")
         for i in range(n_requests):
@@ -99,7 +99,7 @@  def interactiveMenu(self, sleep_time): # Creates Interactive menu within the scr
             print("[4] Unregister client")
 
             try:
-                self.choice = int(ast.literal_eval(raw_input("\n:")))
+                self.choice = int(raw_input("\n:"))
                 print("\033[F") #Removes the user input for screen, cleans it up
                 print("\033[K")
                 if self.choice == 1: