Message ID | 1594673180-26396-1-git-send-email-u9012063@gmail.com |
---|---|
State | Accepted |
Commit | c57e02cfd7978368dd90bba52cd20f75934ed8ed |
Headers | show |
Series | [ovs-dev] ovs-bugtool: Fix Python3 bytes str issue. | expand |
On Mon, Jul 13, 2020 at 1:46 PM William Tu <u9012063@gmail.com> wrote: > > The patch fixes two errors due to type mismatched, when converting > between str and bytes: > File "/usr/local/sbin/ovs-bugtool", line 649, in main > cmd_output(CAP_NETWORK_STATUS, [OVS_DPCTL, 'dump-flows', '-m', d]) > File "/usr/local/sbin/ovs-bugtool", line 278, in cmd_output > label = ' '.join(a) > TypeError: sequence item 3: expected str instance, bytes found > > And > File "/usr/sbin/ovs-bugtool", line 721, in main > collect_data() > File "/usr/sbin/ovs-bugtool", line 366, in collect_data > run_procs(process_lists.values()) > File "/usr/sbin/ovs-bugtool", line 1354, in run_procs > p.inst.write("\n** timeout **\n") > File "/usr/sbin/ovs-bugtool", line 1403, in write > BytesIO.write(self, s) > TypeError: a bytes-like object is required, not 'str' > > VMware-BZ: #2602135 > Fixed: 9e6c00bca9af ("bugtool: Fix for Python3.") > Signed-off-by: William Tu <u9012063@gmail.com> > --- > utilities/bugtool/ovs-bugtool.in | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/utilities/bugtool/ovs-bugtool.in b/utilities/bugtool/ovs-bugtool.in > index 1a5170d8c78b..8ca4c922a104 100755 > --- a/utilities/bugtool/ovs-bugtool.in > +++ b/utilities/bugtool/ovs-bugtool.in > @@ -643,7 +643,7 @@ exclude those logs from the archive. > if os.path.exists(OPENVSWITCH_VSWITCHD_PID): > cmd_output(CAP_NETWORK_STATUS, [OVS_DPCTL, 'show', '-s']) > for d in dp_list(): > - cmd_output(CAP_NETWORK_STATUS, [OVS_DPCTL, 'dump-flows', '-m', d]) > + cmd_output(CAP_NETWORK_STATUS, [OVS_DPCTL, 'dump-flows', '-m', d.decode()]) Thanks for the patch. I got the following flake check warning. utilities/bugtool/ovs-bugtool.in:646:80: E501 line too long (87 > 79 characters) Other than that, it looks good to me. Thanks, -Yi-Hung
On Tue, Jul 14, 2020 at 10:14 AM Yi-Hung Wei <yihung.wei@gmail.com> wrote: > > On Mon, Jul 13, 2020 at 1:46 PM William Tu <u9012063@gmail.com> wrote: > > > > The patch fixes two errors due to type mismatched, when converting > > between str and bytes: > > File "/usr/local/sbin/ovs-bugtool", line 649, in main > > cmd_output(CAP_NETWORK_STATUS, [OVS_DPCTL, 'dump-flows', '-m', d]) > > File "/usr/local/sbin/ovs-bugtool", line 278, in cmd_output > > label = ' '.join(a) > > TypeError: sequence item 3: expected str instance, bytes found > > > > And > > File "/usr/sbin/ovs-bugtool", line 721, in main > > collect_data() > > File "/usr/sbin/ovs-bugtool", line 366, in collect_data > > run_procs(process_lists.values()) > > File "/usr/sbin/ovs-bugtool", line 1354, in run_procs > > p.inst.write("\n** timeout **\n") > > File "/usr/sbin/ovs-bugtool", line 1403, in write > > BytesIO.write(self, s) > > TypeError: a bytes-like object is required, not 'str' > > > > VMware-BZ: #2602135 > > Fixed: 9e6c00bca9af ("bugtool: Fix for Python3.") > > Signed-off-by: William Tu <u9012063@gmail.com> > > --- > > utilities/bugtool/ovs-bugtool.in | 4 ++-- > > 1 file changed, 2 insertions(+), 2 deletions(-) > > > > diff --git a/utilities/bugtool/ovs-bugtool.in b/utilities/bugtool/ovs-bugtool.in > > index 1a5170d8c78b..8ca4c922a104 100755 > > --- a/utilities/bugtool/ovs-bugtool.in > > +++ b/utilities/bugtool/ovs-bugtool.in > > @@ -643,7 +643,7 @@ exclude those logs from the archive. > > if os.path.exists(OPENVSWITCH_VSWITCHD_PID): > > cmd_output(CAP_NETWORK_STATUS, [OVS_DPCTL, 'show', '-s']) > > for d in dp_list(): > > - cmd_output(CAP_NETWORK_STATUS, [OVS_DPCTL, 'dump-flows', '-m', d]) > > + cmd_output(CAP_NETWORK_STATUS, [OVS_DPCTL, 'dump-flows', '-m', d.decode()]) > Thanks for the patch. I got the following flake check warning. > > utilities/bugtool/ovs-bugtool.in:646:80: E501 line too long (87 > 79 characters) > > Other than that, it looks good to me. Thanks, I applied to master and 2.13 William
diff --git a/utilities/bugtool/ovs-bugtool.in b/utilities/bugtool/ovs-bugtool.in index 1a5170d8c78b..8ca4c922a104 100755 --- a/utilities/bugtool/ovs-bugtool.in +++ b/utilities/bugtool/ovs-bugtool.in @@ -643,7 +643,7 @@ exclude those logs from the archive. if os.path.exists(OPENVSWITCH_VSWITCHD_PID): cmd_output(CAP_NETWORK_STATUS, [OVS_DPCTL, 'show', '-s']) for d in dp_list(): - cmd_output(CAP_NETWORK_STATUS, [OVS_DPCTL, 'dump-flows', '-m', d]) + cmd_output(CAP_NETWORK_STATUS, [OVS_DPCTL, 'dump-flows', '-m', d.decode()]) cmd_output(CAP_PROCESS_LIST, [PS, 'wwwaxf', '-eo', 'pid,tty,stat,time,nice,psr,pcpu,pmem,nwchan,wchan:25,args'], @@ -1351,7 +1351,7 @@ def run_procs(procs): if p.running and now > p.timeout: output_ts("'%s' timed out" % p.cmdAsStr()) if p.inst: - p.inst.write("\n** timeout **\n") + p.inst.write("\n** timeout **\n".encode()) p.timed_out = True p.terminate()
The patch fixes two errors due to type mismatched, when converting between str and bytes: File "/usr/local/sbin/ovs-bugtool", line 649, in main cmd_output(CAP_NETWORK_STATUS, [OVS_DPCTL, 'dump-flows', '-m', d]) File "/usr/local/sbin/ovs-bugtool", line 278, in cmd_output label = ' '.join(a) TypeError: sequence item 3: expected str instance, bytes found And File "/usr/sbin/ovs-bugtool", line 721, in main collect_data() File "/usr/sbin/ovs-bugtool", line 366, in collect_data run_procs(process_lists.values()) File "/usr/sbin/ovs-bugtool", line 1354, in run_procs p.inst.write("\n** timeout **\n") File "/usr/sbin/ovs-bugtool", line 1403, in write BytesIO.write(self, s) TypeError: a bytes-like object is required, not 'str' VMware-BZ: #2602135 Fixed: 9e6c00bca9af ("bugtool: Fix for Python3.") Signed-off-by: William Tu <u9012063@gmail.com> --- utilities/bugtool/ovs-bugtool.in | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)