Objective: Determine if NetworkManager, properly manages root namespace when started
Steps:
- Start NetworkManager
Expected state:
- In /var/run/netns there should be "rootns" file
Objective: Determine if NetworkManager, properly manages root namespace when stopped
Steps:
- Stop NetworkManager using Ctrl+C
Expected state:
- In /var/run/netns there shouldn't be "rootns" file anymore
Objective: Determine if NetworkManager properly creates a new network namespace
Steps:
-
Start NetworkManager
-
Invoke method over dbus to create a new network namespace:
dbus-send --system \
--print-reply \
--dest=org.freedesktop.NetworkManager \
/org/freedesktop/NetworkManager/NetworkNamespacesController \
org.freedesktop.NetworkManager.NetworkNamespacesController.AddNetworkNamespace \
string:"testns"
Expected state:
- The expected response from method invocation should be like follows:
method return time=1455099674.081185 sender=:1.1046 -> destination=:1.1050 serial=2763 reply_serial=2
object path "/org/freedesktop/NetworkManager/NetworkNamespace/1"
-
In /var/run/netns there should be "testns" file
-
Enter the network namespace and check that loopback interace is present and active:
ip netns exec testns bash
ip addr sh
Objective: Determine if NetworkManager properly registers that some device is moved to another network namespace
Steps:
- Start NetworkManager
Expected result: NetworkManager running
- Create new test device:
ip tuntap add dev tun0 mode tun
Expected result: new network device with name tun0 visible in root network namespace
- Create new network namespace:
dbus-send --system \
--print-reply \
--dest=org.freedesktop.NetworkManager \
/org/freedesktop/NetworkManager/NetworkNamespacesController \
org.freedesktop.NetworkManager.NetworkNamespacesController.AddNetworkNamespace \
string:"testns"
Expected result: new network namespace visible using ip netns list
- Move device to the new network namespace:
ip link dev tun0 netns testns
Expected result: network manager removes device