From edf85fb28bfb8ed937ea07afb900d30e580fe465 Mon Sep 17 00:00:00 2001 From: Abdel-Kader Chabi-Sika-Boni Date: Fri, 1 Jan 2021 16:59:42 +0100 Subject: [PATCH] mise a jour --- .../server/bootstrap_client.py | 33 +++++++++++++++---- 1 file changed, 26 insertions(+), 7 deletions(-) diff --git a/Dockerfiles/forContainerNet/server/bootstrap_client.py b/Dockerfiles/forContainerNet/server/bootstrap_client.py index 15b627b..b28292b 100755 --- a/Dockerfiles/forContainerNet/server/bootstrap_client.py +++ b/Dockerfiles/forContainerNet/server/bootstrap_client.py @@ -3,29 +3,48 @@ import os import subprocess import requests -from time import sleep BOOTSTRAP_SERVER_ADDRESS = '10.10.10.10:5555' def retrieve_config(): - my_config = "oops" - resp = None + 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",'') print("MY_IP : %s"%(my_ip)) - while resp is None: + 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_config = resp.text + my_json_config = resp.json() except: print("Unable to extract configs from bootstrap server's answer") - print("request url : %s"%("http://%s/getmyconfig/%s"%(BOOTSTRAP_SERVER_ADDRESS, my_ip))) + print("request url : ==>%s<=="%("http://%s/getmyconfig/%s"%(BOOTSTRAP_SERVER_ADDRESS, my_ip))) print("received configs : %s"%(my_config)) - if my_config != "oops": + 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 "+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"] + 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"] + return config retrieve_config()