summaryrefslogtreecommitdiffstats
path: root/node-admin/scripts
diff options
context:
space:
mode:
authorOyvind Bakksjo <bakksjo@yahoo-inc.com>2016-06-23 13:37:48 +0200
committerOyvind Bakksjo <bakksjo@yahoo-inc.com>2016-06-27 12:44:08 +0200
commitd422b397324f3572b1a20f88bc69eadbd23138de (patch)
treed715b57b40ee8fd85b22a234f4262acfbe6b5eba /node-admin/scripts
parent8fb2d7e3e1d28d21b991442e53de8b72d6003b90 (diff)
Factored fetching network namespace for pid into separate function.
Diffstat (limited to 'node-admin/scripts')
-rwxr-xr-xnode-admin/scripts/configure-container-networking.py22
1 files changed, 10 insertions, 12 deletions
diff --git a/node-admin/scripts/configure-container-networking.py b/node-admin/scripts/configure-container-networking.py
index 29ff6aa46ba..1579664cf7c 100755
--- a/node-admin/scripts/configure-container-networking.py
+++ b/node-admin/scripts/configure-container-networking.py
@@ -70,6 +70,14 @@ def generate_mac_address(base_host_name, ip_address):
mac_address = ':'.join('%02x' % n for n in mac_address_bytes)
return mac_address
+def get_net_namespace_for_pid(pid):
+ net_ns_path = net_namespace_path(pid)
+ if not os.path.isfile(net_ns_path):
+ raise RuntimeError("No such net namespace %s" % net_ns_path )
+ create_directory_ignore_exists("/var/run/netns", 0766)
+ create_symlink_ignore_exists(net_ns_path, "/var/run/netns/%d" % pid)
+ return NetNS(str(pid))
+
flag_local_mode = "--local"
local_mode = flag_local_mode in sys.argv
@@ -90,24 +98,14 @@ if len(sys.argv) != 3:
container_pid_arg = sys.argv[1]
container_ip_arg = sys.argv[2]
-host_ns_name = "docker-host"
try:
container_pid = int(container_pid_arg)
except ValueError:
raise RuntimeError("Container pid must be an integer, got %s" % container_pid_arg)
-
-container_net_ns_path = net_namespace_path(container_pid)
-if not os.path.isfile(container_net_ns_path):
- raise RuntimeError("No such net namespace %s" % container_net_ns_path )
-
container_ip = ipaddress.ip_address(unicode(container_ip_arg))
-create_directory_ignore_exists("/var/run/netns", 0766)
-create_symlink_ignore_exists(net_namespace_path(1), "/var/run/netns/%s" % host_ns_name)
-create_symlink_ignore_exists(container_net_ns_path, "/var/run/netns/%d" % container_pid)
-
-host_ns = NetNS(host_ns_name)
-container_ns = NetNS(str(container_pid))
+host_ns = get_net_namespace_for_pid(1)
+container_ns = get_net_namespace_for_pid(container_pid)
# ipv4 address format: {
# 'index': 3,