diff --git a/Dockerfiles/forContainerNet/bootserver/bootstrap_client.py b/Dockerfiles/forContainerNet/bootserver/bootstrap_client.py index 6e34c43..25637b8 100755 --- a/Dockerfiles/forContainerNet/bootserver/bootstrap_client.py +++ b/Dockerfiles/forContainerNet/bootserver/bootstrap_client.py @@ -1,4 +1,5 @@ #!/usr/bin/python +#coding: utf-8 import os import subprocess import requests @@ -7,12 +8,43 @@ import requests BOOTSTRAP_SERVER_ADDRESS = '10.10.10.10:5555' def retrieve_config(): - my_config = "None" - my_ip = subprocess.check_output("sleep 5 && echo $MY_IP", shell=True).rstrip() - resp = requests.get("http://%s/getmyconfig/%s"%(BOOTSTRAP_SERVER_ADDRESS, my_ip)) - my_config = resp.text - if my_config != "None": - subprocess.check_output("node /mydir/*.js %s"%(my_config), shell=True) - #print("my_ip=%s and of type %s"%(my_ip,type(my_ip))) + my_json_config = {"verdict":"oops"} + my_ip = str(subprocess.check_output("echo $MY_IP", shell=True)).rstrip() + print("MY_IP : %s"%(my_ip)) + while my_json_config["verdict"] != "yes": + try: + resp = requests.get("http://%s/getmyconfig/%s"%(BOOTSTRAP_SERVER_ADDRESS, my_ip), timeout=2) + except: + print("Unable to join the bootstrap server") + try: + my_json_config = resp.json() + print("Extracted configs [succ] : %s"%(my_json_config)) + except: + print("Unable to extract configs from bootstrap server's answer") + print("Extracted configs [fail] : %s"%(my_json_config)) + print("request url : ==>%s<=="%("http://%s/getmyconfig/%s"%(BOOTSTRAP_SERVER_ADDRESS, my_ip))) + if "verdict" in my_json_config and my_json_config["verdict"] == "yes": + my_config = config_json_to_string(my_json_config) + subprocess.check_output("node /mydir/*.js %s"%(my_config), shell=True) + else: + my_json_config = {"verdict":"oops"} + +def config_json_to_string(json_config): + config = "" + if "local_ip" in json_config: + config += "--local_ip "+json_config["local_ip"] + if "local_port" in json_config: + config += "--local_port "+str(json_config["local_port"]) + if "local_name" in json_config: + config += "--local_name "+json_config["local_name"] + if "remote_ip" in json_config: + config += "--remote_ip "+json_config["remote_ip"] + if "remote_port" in json_config: + config += "--remote_port "+str(json_config["remote_port"]) + if "remote_name" in json_config: + config += "--remote_name "+json_config["remote_name"] + if "send_period" in json_config: + config += "--send_period "+str(json_config["send_period"]) + return config retrieve_config() diff --git a/Dockerfiles/forContainerNet/device/bootstrap_client.py b/Dockerfiles/forContainerNet/device/bootstrap_client.py index 26e5c42..25637b8 100755 --- a/Dockerfiles/forContainerNet/device/bootstrap_client.py +++ b/Dockerfiles/forContainerNet/device/bootstrap_client.py @@ -1,4 +1,4 @@ -#!/usr/bin/python3 +#!/usr/bin/python #coding: utf-8 import os import subprocess @@ -9,8 +9,7 @@ BOOTSTRAP_SERVER_ADDRESS = '10.10.10.10:5555' def retrieve_config(): my_json_config = {"verdict":"oops"} - my_ip_ = str(subprocess.check_output("echo $MY_IP", shell=True)) #subprocess returning format: b'X.X.X.X\n' - my_ip = my_ip_.replace("b'",'').replace("'",'').replace("\\n",'') + my_ip = str(subprocess.check_output("echo $MY_IP", shell=True)).rstrip() print("MY_IP : %s"%(my_ip)) while my_json_config["verdict"] != "yes": try: @@ -35,17 +34,17 @@ def config_json_to_string(json_config): if "local_ip" in json_config: config += "--local_ip "+json_config["local_ip"] if "local_port" in json_config: - config += "--local_port "+json_config["local_port"] + config += "--local_port "+str(json_config["local_port"]) if "local_name" in json_config: config += "--local_name "+json_config["local_name"] if "remote_ip" in json_config: config += "--remote_ip "+json_config["remote_ip"] if "remote_port" in json_config: - config += "--remote_port "+json_config["remote_port"] + config += "--remote_port "+str(json_config["remote_port"]) if "remote_name" in json_config: config += "--remote_name "+json_config["remote_name"] if "send_period" in json_config: - config += "--send_period "+json_config["send_period"] + config += "--send_period "+str(json_config["send_period"]) return config retrieve_config() diff --git a/Dockerfiles/forContainerNet/gateway/bootstrap_client.py b/Dockerfiles/forContainerNet/gateway/bootstrap_client.py index 26e5c42..25637b8 100755 --- a/Dockerfiles/forContainerNet/gateway/bootstrap_client.py +++ b/Dockerfiles/forContainerNet/gateway/bootstrap_client.py @@ -1,4 +1,4 @@ -#!/usr/bin/python3 +#!/usr/bin/python #coding: utf-8 import os import subprocess @@ -9,8 +9,7 @@ BOOTSTRAP_SERVER_ADDRESS = '10.10.10.10:5555' def retrieve_config(): my_json_config = {"verdict":"oops"} - my_ip_ = str(subprocess.check_output("echo $MY_IP", shell=True)) #subprocess returning format: b'X.X.X.X\n' - my_ip = my_ip_.replace("b'",'').replace("'",'').replace("\\n",'') + my_ip = str(subprocess.check_output("echo $MY_IP", shell=True)).rstrip() print("MY_IP : %s"%(my_ip)) while my_json_config["verdict"] != "yes": try: @@ -35,17 +34,17 @@ def config_json_to_string(json_config): if "local_ip" in json_config: config += "--local_ip "+json_config["local_ip"] if "local_port" in json_config: - config += "--local_port "+json_config["local_port"] + config += "--local_port "+str(json_config["local_port"]) if "local_name" in json_config: config += "--local_name "+json_config["local_name"] if "remote_ip" in json_config: config += "--remote_ip "+json_config["remote_ip"] if "remote_port" in json_config: - config += "--remote_port "+json_config["remote_port"] + config += "--remote_port "+str(json_config["remote_port"]) if "remote_name" in json_config: config += "--remote_name "+json_config["remote_name"] if "send_period" in json_config: - config += "--send_period "+json_config["send_period"] + config += "--send_period "+str(json_config["send_period"]) return config retrieve_config() diff --git a/Dockerfiles/forContainerNet/server/bootstrap_client.py b/Dockerfiles/forContainerNet/server/bootstrap_client.py index 26e5c42..25637b8 100755 --- a/Dockerfiles/forContainerNet/server/bootstrap_client.py +++ b/Dockerfiles/forContainerNet/server/bootstrap_client.py @@ -1,4 +1,4 @@ -#!/usr/bin/python3 +#!/usr/bin/python #coding: utf-8 import os import subprocess @@ -9,8 +9,7 @@ BOOTSTRAP_SERVER_ADDRESS = '10.10.10.10:5555' def retrieve_config(): my_json_config = {"verdict":"oops"} - my_ip_ = str(subprocess.check_output("echo $MY_IP", shell=True)) #subprocess returning format: b'X.X.X.X\n' - my_ip = my_ip_.replace("b'",'').replace("'",'').replace("\\n",'') + my_ip = str(subprocess.check_output("echo $MY_IP", shell=True)).rstrip() print("MY_IP : %s"%(my_ip)) while my_json_config["verdict"] != "yes": try: @@ -35,17 +34,17 @@ def config_json_to_string(json_config): if "local_ip" in json_config: config += "--local_ip "+json_config["local_ip"] if "local_port" in json_config: - config += "--local_port "+json_config["local_port"] + config += "--local_port "+str(json_config["local_port"]) if "local_name" in json_config: config += "--local_name "+json_config["local_name"] if "remote_ip" in json_config: config += "--remote_ip "+json_config["remote_ip"] if "remote_port" in json_config: - config += "--remote_port "+json_config["remote_port"] + config += "--remote_port "+str(json_config["remote_port"]) if "remote_name" in json_config: config += "--remote_name "+json_config["remote_name"] if "send_period" in json_config: - config += "--send_period "+json_config["send_period"] + config += "--send_period "+str(json_config["send_period"]) return config retrieve_config()