12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- #!/usr/bin/python
- #coding: utf-8
- import os
- import subprocess
- import requests
- from time import sleep
-
-
- 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)).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"}
- sleep(3)
-
- 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.strip()
-
- retrieve_config()
|