[dts] [PATCH] bug fix: fix issue when DTS run on Fedora21 and freebsd

Liu, Yong yong.liu at intel.com
Thu Mar 5 07:59:56 CET 2015


Xiaonan,
Your issue will be fixed by latest patch below. Can you try it in your environment?

[PATCH] framework/ssh: add session buffer flush before every command

> -----Original Message-----
> From: dts [mailto:dts-bounces at dpdk.org] On Behalf Of Liu, Yong
> Sent: Saturday, February 28, 2015 4:37 PM
> To: Zhang, XiaonanX; dts at dpdk.org
> Subject: Re: [dts] [PATCH] bug fix: fix issue when DTS run on Fedora21 and
> freebsd
> 
> Hi Xiaonan,
> 	Function send_expect_base is one of the basic functions in DTS
> framework. So we should not just move back and work around this issue.
> 	This issue should be investigated and fixed. You can look into it
> and help us get to know the root cause of why ret_status is not int.
> 
> Thanks,
> Marvin
> 
> > -----Original Message-----
> > From: Zhang, XiaonanX
> > Sent: Saturday, February 28, 2015 4:27 PM
> > To: Zhang, XiaonanX; Liu, Yong; dts at dpdk.org
> > Subject: RE: [dts] [PATCH] bug fix: fix issue when DTS run on Fedora21
> and
> > freebsd
> >
> > Hi Yong,
> >   When we tested DPDK package, we found a fault,
> >   In this [dts] [PATCH 4/6] framework/ssh: Add verify ability for
> command
> > execution patch, there are one function send_expect,
> >
> > def send_expect(self, command, expected, timeout=15, verify=False):
> > > +        ret = self.send_expect_base(command, expected, timeout)
> > > +        if verify:
> > > +            ret_status = self.send_expect_base("echo $?", expected)
> > > +            if not int(ret_status):
> > > +                return ret
> > > +            else:
> > > +                return -1
> > > +        else:
> > > +            return ret
> > > +
> >
> >    This function have no ret;
> >    BTW, I suggested we still used expect function, firstly, there are
> many
> > fcoe ports on fedora21 platform, we should split it,
> >    But ret_status this position has error when we test dpdk package,
> > ret_status sometimes have return value not int;
> >
> >    out =  self.send_expect(command, '# ', 5)
> >  +  name = out.split('\t')[0]
> >
> > Best Regards
> > Xiaonan
> >
> > -----Original Message-----
> > From: dts [mailto:dts-bounces at dpdk.org] On Behalf Of Zhang, XiaonanX
> > Sent: Saturday, February 28, 2015 11:22 AM
> > To: Liu, Yong; dts at dpdk.org
> > Subject: Re: [dts] [PATCH] bug fix: fix issue when DTS run on Fedora21
> and
> > freebsd
> >
> >
> > Acked-by: Xiaonan Zhang <xiaonanx.zhang at intel.com>
> > - Tested OS: FC21
> > - Kernel: 3.17.1-302.fc21.x86_64
> > - GCC: gcc version 4.9.1 20140930 (Red Hat 4.9.1-11) (GCC)
> > - CPU: Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz
> > - NIC: Intel Corporation Ethernet Controller X710 for 10GbE SFP+
> > - Default x86_64-native-linuxapp-gcc configuration
> >
> > -----Original Message-----
> > From: dts [mailto:dts-bounces at dpdk.org] On Behalf Of Yong Liu
> > Sent: Friday, February 27, 2015 3:09 PM
> > To: dts at dpdk.org
> > Subject: [dts] [PATCH] bug fix: fix issue when DTS run on Fedora21 and
> > freebsd
> >
> > Some nic like FVL have more than only one interface on Fedora21, DTS
> will
> > take
> > the first one as functional one. Not all OS has alias "ll" available,
> use
> > "ls"
> > in replace of it.
> >
> > Signed-off-by: Marvinliu <yong.liu at intel.com>
> >
> > diff --git a/framework/crb.py b/framework/crb.py
> > index 28df2f9..a699bfc 100644
> > --- a/framework/crb.py
> > +++ b/framework/crb.py
> > @@ -191,7 +191,12 @@ class Crb(object):
> >          Get interface name of specified pci device on linux.
> >          """
> >          command = 'ls --color=never
> /sys/bus/pci/devices/0000:%s:%s/net' %
> > (bus_id, devfun_id)
> > -        return self.send_expect(command, '# ')
> > +        out = self.send_expect(command, '# ', verify=True)
> > +        if out == -1:
> > +            name = ""
> > +        else:
> > +            name = out.split()[0]
> > +        return name
> >
> >      def get_interface_name_freebsd(self, bus_id, devfun_id):
> >          """
> > diff --git a/framework/project_dpdk.py b/framework/project_dpdk.py
> > index a6ac218..bc6ccca 100644
> > --- a/framework/project_dpdk.py
> > +++ b/framework/project_dpdk.py
> > @@ -202,7 +202,7 @@ class DPDKdut(Dut):
> >              # ToDo: make this configurable
> >              dst_dir = "/tmp/"
> >
> > -            out = self.send_expect("ll %s && cd %s" % (dst_dir, p_dir),
> > +            out = self.send_expect("ls %s && cd %s" % (dst_dir, p_dir),
> >                                     "#", verify=True)
> >              if out == -1:
> >                  raise ValueError("Directiry %s or %s does not exist,"
> > --
> > 1.9.3



More information about the dts mailing list