[dpdk-stable] patch 'usertools: fix telemetry client with python 3' has been queued to stable release 19.11.1
luca.boccassi at gmail.com
luca.boccassi at gmail.com
Mon Feb 17 18:45:46 CET 2020
Hi,
FYI, your patch has been queued to stable release 19.11.1
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/19/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.
Thanks.
Luca Boccassi
---
>From af5dd262a7a91819b8c652255d434e93b87896ff 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 | 18 ++++++++++--------
1 file changed, 10 insertions(+), 8 deletions(-)
diff --git a/usertools/dpdk-telemetry-client.py b/usertools/dpdk-telemetry-client.py
index 290345dcc4..35edb7cd26 100755
--- a/usertools/dpdk-telemetry-client.py
+++ b/usertools/dpdk-telemetry-client.py
@@ -3,6 +3,7 @@
# Copyright(c) 2018 Intel Corporation
from __future__ import print_function
+from __future__ import unicode_literals
import socket
import os
@@ -65,18 +66,19 @@ class Client:
self.socket.recv_fd.settimeout(2)
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
print("\nPlease enter the number of times you'd like to continuously request Metrics:")
@@ -88,9 +90,9 @@ class Client:
time.sleep(sleep_time)
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
while self.choice != 4:
--
2.20.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2020-02-17 17:00:16.805849510 +0000
+++ 0054-usertools-fix-telemetry-client-with-python-3.patch 2020-02-17 17:00:15.379951475 +0000
@@ -1,8 +1,10 @@
-From af927da4d7d23f1050f23caf55f4ac2a995ab244 Mon Sep 17 00:00:00 2001
+From af5dd262a7a91819b8c652255d434e93b87896ff 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
@@ -13,7 +15,6 @@
Fixes: fe35622659ed ("usertools: fix telemetry client with python 3")
Fixes: d1b94da4a4e0 ("usertools: add client script for telemetry")
Fixes: 4080e46c8078 ("telemetry: support global metrics")
-Cc: stable at dpdk.org
Signed-off-by: Ciara Power <ciara.power at intel.com>
Reviewed-by: Robin Jarry <robin.jarry at 6wind.com>
More information about the stable
mailing list