aboutsummaryrefslogtreecommitdiffstats
path: root/old/python_moonclient/python_moonclient/core/slaves.py
diff options
context:
space:
mode:
authorThomas Duval <thomas.duval@orange.com>2020-06-03 10:06:52 +0200
committerThomas Duval <thomas.duval@orange.com>2020-06-03 10:06:52 +0200
commit7bb53c64da2dcf88894bfd31503accdd81498f3d (patch)
tree4310e12366818af27947b5e2c80cb162da93a4b5 /old/python_moonclient/python_moonclient/core/slaves.py
parentcbea4e360e9bfaa9698cf7c61c83c96a1ba89b8c (diff)
Update to new version 5.4HEADstable/jermamaster
Signed-off-by: Thomas Duval <thomas.duval@orange.com> Change-Id: Idcd868133d75928a1ffd74d749ce98503e0555ea
Diffstat (limited to 'old/python_moonclient/python_moonclient/core/slaves.py')
-rw-r--r--old/python_moonclient/python_moonclient/core/slaves.py59
1 files changed, 59 insertions, 0 deletions
diff --git a/old/python_moonclient/python_moonclient/core/slaves.py b/old/python_moonclient/python_moonclient/core/slaves.py
new file mode 100644
index 00000000..77b127c1
--- /dev/null
+++ b/old/python_moonclient/python_moonclient/core/slaves.py
@@ -0,0 +1,59 @@
+import logging
+import requests
+from python_moonclient.core import config
+from python_moonclient.core.check_tools import *
+
+LOGGER = logging.getLogger("moonclient.core.slaves")
+
+URL = None
+HEADERS = None
+
+
+def init(consul_host, consul_port):
+ conf_data = config.get_config_data(consul_host, consul_port)
+ global URL, HEADERS
+ URL = "http://{}:{}".format(
+ conf_data['manager_host'],
+ conf_data['manager_port'])
+ URL = URL + "{}"
+ HEADERS = {"content-type": "application/json"}
+
+
+def get_slaves():
+ req = requests.get(URL.format("/slaves"))
+ req.raise_for_status()
+ result = req.json()
+ check_slaves_in_result(result)
+ return result
+
+
+def set_slave(name):
+ slaves = get_slaves().get("slaves", [])
+ check_name_in_slaves(name, slaves)
+ req = requests.patch(URL.format("/slaves/{}".format(name)),
+ headers=HEADERS,
+ json={
+ "op": "replace",
+ "variable": "configured",
+ "value": True
+ })
+ req.raise_for_status()
+ result = req.json()
+ check_slaves_in_result(result)
+ return get_slaves()
+
+
+def delete_slave(name):
+ slaves = get_slaves().get("slaves", [])
+ check_name_in_slaves(name, slaves)
+ req = requests.patch(URL.format("/slaves/{}".format(name)),
+ headers=HEADERS,
+ json={
+ "op": "replace",
+ "variable": "configured",
+ "value": False
+ })
+ req.raise_for_status()
+ result = req.json()
+ check_slaves_in_result(result)
+ return get_slaves()