[LTP] [RFC PATCH v6 0/2] *** Rmmod causes failures of netns based tests ***

Alexey Kodanev alexey.kodanev@oracle.com
Fri Jun 16 10:25:41 CEST 2017


On 06/16/2017 04:56 AM, Petr Vorel wrote:
> Hi Alexey,
>
> this patch tries to fix problems with dhcp based tests when they call TCONF:
> /opt/ltp/testscripts/network.sh -6
> dhcpd 1 TCONF: 'dhcpd' not found
> ...
> cat: /sys/class/net/ltp_ns_veth2/address: No such file or directory
>
> With this patchset:
> /opt/ltp/testscripts/network.sh -6
> dhcpd 1 TCONF: 'dhcpd' not found
> ...
> ns_exec     0  TINFO  :  no namespace entries in /proc/2699/ns/
>
> It doesn't help to kill also ns_exec. reset_ltp_netspace() is obviously wrong.
> IMHO without trying to manually call reset_ltp_netspace() we should have better
> detection of netns problems in init_ltp_netspace().
Hi Petr,

This can be fixed by moving the check before possible exit with TCONF:

diff --git a/testcases/network/dhcp/dhcp_lib.sh
b/testcases/network/dhcp/dhcp_lib.sh
index 85f9b88..1641368 100755
--- a/testcases/network/dhcp/dhcp_lib.sh
+++ b/testcases/network/dhcp/dhcp_lib.sh
@@ -37,11 +37,10 @@ stop_dhcp()
 
 init()
 {
-       tst_require_root
-       tst_check_cmds cat $dhcp_name awk ip pgrep pkill dhclient
+       lsmod | grep -q '^veth ' && veth_loaded=1 || veth_loaded=
 
-       veth_loaded=
-       lsmod | grep -q '^veth ' && veth_loaded=1
+       tst_require_root
+       tst_check_cmds cat $dhcp_name awk ip pgrep pkill dhclient
 
        tst_resm TINFO "create veth interfaces"
        ip li add $iface0 type veth peer name $iface1 || \


Also we could add a flag that cleanup might be needed after tst_check_cmds()

Thanks,
Alexey


>
> Kind regards,
> Petr
>
>
> Petr Vorel (2):
>   lib/test_net.sh: reset_ltp_netspace()
>   network/dhcp: Fix netns after removing kernel module
>
>  testcases/lib/test_net.sh          | 10 +++++++++-
>  testcases/network/dhcp/dhcp_lib.sh |  2 +-
>  2 files changed, 10 insertions(+), 2 deletions(-)
>



More information about the ltp mailing list