diff options
author | Oyvind Bakksjo <bakksjo@yahoo-inc.com> | 2016-06-23 13:37:48 +0200 |
---|---|---|
committer | Oyvind Bakksjo <bakksjo@yahoo-inc.com> | 2016-06-27 12:44:08 +0200 |
commit | d422b397324f3572b1a20f88bc69eadbd23138de (patch) | |
tree | d715b57b40ee8fd85b22a234f4262acfbe6b5eba /node-admin/scripts | |
parent | 8fb2d7e3e1d28d21b991442e53de8b72d6003b90 (diff) |
Factored fetching network namespace for pid into separate function.
Diffstat (limited to 'node-admin/scripts')
-rwxr-xr-x | node-admin/scripts/configure-container-networking.py | 22 |
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, |