[dpdk-stable] patch 'usertools: fix telemetry client with python 3' has been queued to LTS release 18.11.7

Kevin Traynor ktraynor at redhat.com
Wed Feb 19 16:56:07 CET 2020


Hi,

FYI, your patch has been queued to LTS release 18.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/25/20. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Queued patches are on a temporary branch at:
https://github.com/kevintraynor/dpdk-stable-queue

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/412970816782faf3eedcf407482225dd70b7b856

Thanks.

Kevin.

---
>From 412970816782faf3eedcf407482225dd70b7b856 Mon Sep 17 00:00:00 2001
From: Ciara Power <ciara.power at intel.com>
Date: Tue, 21 Jan 2020 17:03:10 +0000
Subject: [PATCH] usertools: fix telemetry client with python 3

[ upstream commit af927da4d7d23f1050f23caf55f4ac2a995ab244 ]

The client script for use with the telemetry library did not support
Python3, as the data being sent over the socket was in string format.
Python3 requires the data be explicitly converted to bytes before being
sent. Similarly, the received bytes need to be decoded into string
format.

Fixes: 53f293c9a783 ("usertools: replace unsafe input function")
Fixes: fe35622659ed ("usertools: fix telemetry client with python 3")
Fixes: d1b94da4a4e0 ("usertools: add client script for telemetry")
Fixes: 4080e46c8078 ("telemetry: support global metrics")

Signed-off-by: Ciara Power <ciara.power at intel.com>
Reviewed-by: Robin Jarry <robin.jarry at 6wind.com>
Acked-by: Kevin Laatz <kevin.laatz at intel.com>
---
 usertools/dpdk-telemetry-client.py | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/usertools/dpdk-telemetry-client.py b/usertools/dpdk-telemetry-client.py
index 58174c0558..2f471d8411 100644
--- a/usertools/dpdk-telemetry-client.py
+++ b/usertools/dpdk-telemetry-client.py
@@ -3,4 +3,5 @@
 
 from __future__ import print_function
+from __future__ import unicode_literals
 
 import socket
@@ -64,16 +65,17 @@ class Client:
         self.socket.send_fd.connect("/var/run/dpdk/rte/telemetry")
         JSON = (API_REG + self.file_path + "\"}}")
-        self.socket.send_fd.sendall(JSON)
+        self.socket.send_fd.sendall(JSON.encode())
+
         self.socket.recv_fd.listen(1)
         self.socket.client_fd = self.socket.recv_fd.accept()[0]
 
     def unregister(self): # Unregister a given client
-        self.socket.client_fd.send(API_UNREG + self.file_path + "\"}}")
+        self.socket.client_fd.send((API_UNREG + self.file_path + "\"}}").encode())
         self.socket.client_fd.close()
 
     def requestMetrics(self): # Requests metrics for given client
-        self.socket.client_fd.send(METRICS_REQ)
-        data = self.socket.client_fd.recv(BUFFER_SIZE)
-        print("\nResponse: \n", str(data))
+        self.socket.client_fd.send(METRICS_REQ.encode())
+        data = self.socket.client_fd.recv(BUFFER_SIZE).decode()
+        print("\nResponse: \n", data)
 
     def repeatedlyRequestMetrics(self, sleep_time): # Recursively requests metrics for given client
-- 
2.21.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-02-19 15:43:50.867865687 +0000
+++ 0022-usertools-fix-telemetry-client-with-python-3.patch	2020-02-19 15:43:49.766141283 +0000
@@ -1 +1 @@
-From af927da4d7d23f1050f23caf55f4ac2a995ab244 Mon Sep 17 00:00:00 2001
+From 412970816782faf3eedcf407482225dd70b7b856 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit af927da4d7d23f1050f23caf55f4ac2a995ab244 ]
+
@@ -16 +17,0 @@
-Cc: stable at dpdk.org
@@ -22,2 +23,2 @@
- usertools/dpdk-telemetry-client.py | 18 ++++++++++--------
- 1 file changed, 10 insertions(+), 8 deletions(-)
+ usertools/dpdk-telemetry-client.py | 12 +++++++-----
+ 1 file changed, 7 insertions(+), 5 deletions(-)
@@ -26 +27 @@
-index 290345dcc4..35edb7cd26 100755
+index 58174c0558..2f471d8411 100644
@@ -29 +30 @@
-@@ -4,4 +4,5 @@
+@@ -3,4 +3,5 @@
@@ -35 +36 @@
-@@ -66,16 +67,17 @@ class Client:
+@@ -64,16 +65,17 @@ class Client:
@@ -58,11 +58,0 @@
-@@ -89,7 +91,7 @@ class Client:
- 
-     def requestGlobalMetrics(self): #Requests global metrics for given client
--        self.socket.client_fd.send(GLOBAL_METRICS_REQ)
--        data = self.socket.client_fd.recv(BUFFER_SIZE)
--        print("\nResponse: \n", str(data))
-+        self.socket.client_fd.send(GLOBAL_METRICS_REQ.encode())
-+        data = self.socket.client_fd.recv(BUFFER_SIZE).decode()
-+        print("\nResponse: \n", data)
- 
-     def interactiveMenu(self, sleep_time): # Creates Interactive menu within the script



More information about the stable mailing list