aboutsummaryrefslogtreecommitdiffstats
path: root/python_moonutilities/python_moonutilities/configuration.py
diff options
context:
space:
mode:
Diffstat (limited to 'python_moonutilities/python_moonutilities/configuration.py')
-rw-r--r--python_moonutilities/python_moonutilities/configuration.py124
1 files changed, 0 insertions, 124 deletions
diff --git a/python_moonutilities/python_moonutilities/configuration.py b/python_moonutilities/python_moonutilities/configuration.py
deleted file mode 100644
index 0516274c..00000000
--- a/python_moonutilities/python_moonutilities/configuration.py
+++ /dev/null
@@ -1,124 +0,0 @@
-# Copyright 2015 Open Platform for NFV Project, Inc. and its contributors
-# This software is distributed under the terms and conditions of the 'Apache-2.0'
-# license which can be found in the file 'LICENSE' in this package distribution
-# or at 'http://www.apache.org/licenses/LICENSE-2.0'.
-
-
-import base64
-import json
-import python_moonutilities.request_wrapper as requests
-import logging.config
-from python_moonutilities import exceptions
-
-logger = logging.getLogger("moon.utilities.configuration")
-
-CONSUL_HOST = "consul"
-CONSUL_PORT = "8500"
-
-DATABASE = "database"
-KEYSTONE = "keystone"
-DOCKER = "docker"
-COMPONENTS = "components"
-
-
-def init_logging():
- config = get_configuration("logging")
- logging.config.dictConfig(config['logging'])
-
-
-def increment_port():
- components_object = get_configuration("components/port_start")
- if 'components/port_start' in components_object:
- components_port_start = int(components_object['components/port_start'])
- components_port_start += 1
- else:
- raise exceptions.ConsulComponentContentError("error={}".format(components_object))
- url = "http://{}:{}/v1/kv/components/port_start".format(CONSUL_HOST, CONSUL_PORT)
- req = requests.put(url, json=str(components_port_start))
- if req.status_code != 200:
- logger.info("url={}".format(url))
- raise exceptions.ConsulError
- return components_port_start
-
-
-def get_configuration(key):
- url = "http://{}:{}/v1/kv/{}".format(CONSUL_HOST, CONSUL_PORT, key)
- req = requests.get(url)
- if req.status_code != 200:
- logger.error("url={}".format(url))
- raise exceptions.ConsulComponentNotFound("error={}: {}".format(req.status_code, req.text))
- data = req.json()
- if len(data) == 1:
- data = data[0]
- if all( k in data for k in ("Key", "Value")) :
- return {data["Key"]: json.loads(base64.b64decode(data["Value"]).decode("utf-8"))}
- raise exceptions.ConsulComponentContentError("error={}".format(data))
- else:
- for item in data:
- if not all(k in item for k in ("Key", "Value")):
- logger.warning("invalidate content {}".format(item))
- raise exceptions.ConsulComponentContentError("error={}".format(data))
- return [
- {
- item["Key"]: json.loads(base64.b64decode(item["Value"]).decode("utf-8"))
- } for item in data
- ]
-
-
-def add_component(name, uuid, port=None, bind="127.0.0.1", keystone_id="", extra=None, container=None):
- data = {
- "hostname": name,
- "keystone_id": keystone_id,
- "bind": bind,
- "port": port,
- "extra": extra,
- "container": container
- }
- req = requests.put(
- "http://{}:{}/v1/kv/components/{}".format(CONSUL_HOST, CONSUL_PORT, uuid),
- headers={"content-type": "application/json"},
- json=data
- )
- if req.status_code != 200:
- logger.debug("url={}".format("http://{}:{}/v1/kv/components/{}".format(CONSUL_HOST, CONSUL_PORT, uuid)))
- logger.debug("data={}".format(data))
- raise exceptions.ConsulError
- logger.info("Add component {}".format(req.text))
- return get_configuration("components/"+uuid)
-
-
-def get_plugins():
- pipeline = get_configuration("components/pipeline")
- logger.debug("pipeline={}".format(pipeline))
- components = pipeline.get("components/pipeline")
- if 'interface' in components:
- components.pop('interface')
- else:
- raise exceptions.ConsulComponentContentError("error= Components pipeline has no interface")
- return components
-
-
-def get_components():
- url = "http://{}:{}/v1/kv/components?recurse=true".format(CONSUL_HOST, CONSUL_PORT)
- req = requests.get(url)
- if req.status_code != 200:
- logger.info("url={}".format(url))
- raise exceptions.ConsulError
- data = req.json()
- if len(data) == 1:
- data = data[0]
- if all(k in data for k in ("Key", "Value")):
- return {data["Key"].replace("components/", ""): json.loads(base64.b64decode(data["Value"]).decode("utf-8"))}
- raise exceptions.ConsulComponentContentError("error={}".format(data))
- else:
- for item in data:
- if not all(k in item for k in ("Key", "Value")):
- logger.warning("invalidate content {}".format(item))
- raise exceptions.ConsulComponentContentError("error={}".format(data))
- return {
- item["Key"].replace("components/", ""): json.loads(base64.b64decode(item["Value"]).decode("utf-8"))
- for item in data
- }
-
-
-init_logging()