On Wed, 2019-06-05 at 17:08 -0400, Lucas Bates wrote: > Apologies for the delay in getting this out. I've been busy > with other things and this change was a little trickier than > I expected. > > This patch restores the original behaviour for tdc prior to the > introduction of the plugin system, where the network namespace > functionality was split from the main script. > > It introduces the concept of required plugins for testcases, > and will automatically load any plugin that isn't already > enabled when said plugin is required by even one testcase. > > Additionally, the -n option for the nsPlugin is deprecated > so the default action is to make use of the namespaces. > Instead, we introduce -N to not use them, but still create > the veth pair. > > Comments welcome! > ---
hello Lucas, thanks for the patch, I tested it and verified it successfully on some items belonging to the 'filter' category. >From what I see, it is a fix for the reported problem (e.g. tests failing because of 'nsPlugin' uninstalled). And, I want to followup fixing the bpf.json in tc-actions, so that # ./tdc.py -l -c bpf | grep eBPF e939: (actions, bpf) Add eBPF action with valid object-file 282d: (actions, bpf) Add eBPF action with invalid object-file require the buildebpfPlugin (unless anybody disagrees, I will also revert the meaning of '-B' also, like you did for '-n') few comments after a preliminary test: 1) the patch still does not cover the two categories that use $DEV2 (i.e. flower and concurrency still fail in my environment) 2) I've been reported, and reproduced with latest fedora, a problem in nsPlugin.py. All tests in the 'filter' category still fail, unless I do # sed -i "s#ip#/sbin/ip#g" nsPlugin.py otherwise, the 'prepare' stage fails: # ./tdc.py -e 5339 -- ns/SubPlugin.__init__ Test 5339: Del entire fw filter -----> prepare stage *** Could not execute: "$TC qdisc add dev $DEV1 ingress" -----> prepare stage *** Error message: "/bin/sh: ip: command not found " returncode 127; expected [0] -----> prepare stage *** Aborting test run. (maybe we should use a variable for that, instead of hardcoded command name, like we do for $TC ?) -- davide