summaryrefslogtreecommitdiffstats
path: root/node-admin/scripts
diff options
context:
space:
mode:
authorOyvind Bakksjo <bakksjo@yahoo-inc.com>2016-06-24 11:29:31 +0200
committerOyvind Bakksjo <bakksjo@yahoo-inc.com>2016-06-27 12:44:09 +0200
commit8fca98c2564ad843035e4b3c4ff7f6541f1431b9 (patch)
tree6e635317680cc35aa1e130f375560473b9bff99e /node-admin/scripts
parent51b1b190f780641f966a7f1f6b72b7a91ff72296 (diff)
Factor out function to move network interface (name/namespace).
Diffstat (limited to 'node-admin/scripts')
-rwxr-xr-xnode-admin/scripts/configure-container-networking.py12
1 files changed, 10 insertions, 2 deletions
diff --git a/node-admin/scripts/configure-container-networking.py b/node-admin/scripts/configure-container-networking.py
index b53e8065ebf..19ec99ee3c5 100755
--- a/node-admin/scripts/configure-container-networking.py
+++ b/node-admin/scripts/configure-container-networking.py
@@ -162,6 +162,13 @@ def create_interface_in_namespace(network_namespace, ip_address_textual, interfa
index_of_created_interface = network_namespace.link_lookup(ifname=interface_name)[0]
return index_of_created_interface
+def move_interface(src_interface_index, dest_namespace_pid, dest_interface_name):
+ ipr.link('set',
+ index=src_interface_index,
+ net_ns_fd=str(dest_namespace_pid),
+ ifname=dest_interface_name)
+
+
flag_local_mode = "--local"
local_mode = flag_local_mode in sys.argv
if local_mode:
@@ -227,8 +234,9 @@ if not container_ns.link_lookup(ifname=container_interface_name):
# Move interface from host namespace to container namespace, and change name from temporary name.
# exploit that node_admin docker container shares net namespace with host:
- ipr.link('set', index=interface_index, net_ns_fd=str(container_pid),
- ifname=container_interface_name)
+ move_interface(src_interface_index=interface_index,
+ dest_namespace_pid=container_pid,
+ dest_interface_name=container_interface_name)
# Find index of interface now in container namespace.