diff options
author | Thomas Duval <thomas.duval@orange.com> | 2020-06-03 10:06:52 +0200 |
---|---|---|
committer | Thomas Duval <thomas.duval@orange.com> | 2020-06-03 10:06:52 +0200 |
commit | 7bb53c64da2dcf88894bfd31503accdd81498f3d (patch) | |
tree | 4310e12366818af27947b5e2c80cb162da93a4b5 /moon_forming | |
parent | cbea4e360e9bfaa9698cf7c61c83c96a1ba89b8c (diff) |
Update to new version 5.4HEADstable/jermamaster
Signed-off-by: Thomas Duval <thomas.duval@orange.com>
Change-Id: Idcd868133d75928a1ffd74d749ce98503e0555ea
Diffstat (limited to 'moon_forming')
-rw-r--r-- | moon_forming/.gitignore | 105 | ||||
-rw-r--r-- | moon_forming/Changelog | 11 | ||||
-rw-r--r-- | moon_forming/Dockerfile | 17 | ||||
-rw-r--r-- | moon_forming/README.md | 47 | ||||
-rw-r--r-- | moon_forming/conf2consul.py | 104 | ||||
-rw-r--r-- | moon_forming/config_moon.sh | 39 |
6 files changed, 0 insertions, 323 deletions
diff --git a/moon_forming/.gitignore b/moon_forming/.gitignore deleted file mode 100644 index 7bff7318..00000000 --- a/moon_forming/.gitignore +++ /dev/null @@ -1,105 +0,0 @@ -# Byte-compiled / optimized / DLL files -__pycache__/ -*.py[cod] -*$py.class - -# C extensions -*.so - -# Distribution / packaging -.Python -build/ -develop-eggs/ -dist/ -downloads/ -eggs/ -.eggs/ -lib/ -lib64/ -parts/ -sdist/ -var/ -wheels/ -*.egg-info/ -.installed.cfg -*.egg -MANIFEST - -# PyInstaller -# Usually these files are written by a python script from a template -# before PyInstaller builds the exe, so as to inject date/other infos into it. -*.manifest -*.spec - -# Installer logs -pip-log.txt -pip-delete-this-directory.txt - -# Unit test / coverage reports -htmlcov/ -.tox/ -.coverage -.coverage.* -.cache -nosetests.xml -coverage.xml -*.cover -.hypothesis/ -.pytest_cache/ - -# Translations -*.mo -*.pot - -# Django stuff: -*.log -local_settings.py -db.sqlite3 - -# Flask stuff: -instance/ -.webassets-cache - -# Scrapy stuff: -.scrapy - -# Sphinx documentation -docs/_build/ - -# PyBuilder -target/ - -# Jupyter Notebook -.ipynb_checkpoints - -# pyenv -.python-version - -# celery beat schedule file -celerybeat-schedule - -# SageMath parsed files -*.sage.py - -# Environments -.env -.venv -env/ -venv/ -ENV/ -env.bak/ -venv.bak/ - -# Spyder project settings -.spyderproject -.spyproject - -# Rope project settings -.ropeproject - -# mkdocs documentation -/site - -# mypy -.mypy_cache/ - diff --git a/moon_forming/Changelog b/moon_forming/Changelog deleted file mode 100644 index a107efd9..00000000 --- a/moon_forming/Changelog +++ /dev/null @@ -1,11 +0,0 @@ -CHANGES -======= - -1.4.0 ------ -- Update the python_moondb version to 1.2.10 - -1.4.1 ------ -- Update the python_moondb version to 1.2.16 - diff --git a/moon_forming/Dockerfile b/moon_forming/Dockerfile deleted file mode 100644 index 3a39880b..00000000 --- a/moon_forming/Dockerfile +++ /dev/null @@ -1,17 +0,0 @@ -FROM python:3 - - -LABEL Name=Forming -LABEL Description="Configuration job for the Moon platform" -LABEL Maintainer="Thomas Duval" -LABEL Url="https://wiki.opnfv.org/display/moon/Moon+Project+Proposal" - -USER root - -WORKDIR /usr/src/app -RUN pip install --no-cache-dir --upgrade requests pytest pyyaml python_moonutilities python_moondb python_moonclient - -ADD . /root -WORKDIR /root - -CMD /bin/bash /root/config_moon.sh diff --git a/moon_forming/README.md b/moon_forming/README.md deleted file mode 100644 index 9b755d96..00000000 --- a/moon_forming/README.md +++ /dev/null @@ -1,47 +0,0 @@ -# Moon Forming -moon_forming is a container to automatize the configuration of the Moon platform - -## Run -```bash -docker run wukongsun/moon_forming:latest -``` - -## Consul -The Moon platform is already configured after the installation. -If you want to see or modify the configuration, go with a web browser -to the following page: `http://localhost:30006`. - -With the consul server, you can update the configuration in the `KEY/VALUE` tab. -There are some configuration items, lots of them are only read when a new K8S pod is started -and not during its life cycle. - -**WARNING: some confidential information are put here in clear text. -This is a known security issue.** - -### Keystone -If you have your own Keystone server, you can point Moon to your Keystone in the -`openstack/keystone` element: `http://localhost:30005/ui/#/dc1/kv/openstack/keystone/edit`. -This configuration element is read every time Moon need it, specially when adding users. - -### Database -The database can also be modified through: `http://localhost:30005/ui/#/dc1/kv/database/edit`. - -**WARNING: the password is in clear text, this is a known security issue.** - -If you want to use your own database server, change the configuration: - - {"url": "mysql+pymysql://my_user:my_secret_password@my_server/moon", "driver": "sql"} - -Then you have to rebuild the database before using it. -This can be done with the following commands: -```bash -kubectl delete -f $MOON_HOME/tools/moon_kubernetes/templates/moon_forming.yaml -kubectl create -f $MOON_HOME/tools/moon_kubernetes/templates/moon_forming.yaml -``` - -## Functional tests - -```bash -cd $MOON_HOME/moon_manager -bash ../tests/functional/run_tests_for_component.sh -``` diff --git a/moon_forming/conf2consul.py b/moon_forming/conf2consul.py deleted file mode 100644 index df7a6b18..00000000 --- a/moon_forming/conf2consul.py +++ /dev/null @@ -1,104 +0,0 @@ -import os -import sys -import requests -import yaml -import logging -import json -import base64 - -__version__ = "1.4.1" - -logging.basicConfig(level=logging.INFO) -log = logging.getLogger("moon.conf2consul") -requests_log = logging.getLogger("requests.packages.urllib3") -requests_log.setLevel(logging.WARNING) -requests_log.propagate = True - -if len(sys.argv) == 2: - if os.path.isfile(sys.argv[1]): - CONF_FILENAME = sys.argv[1] - CONSUL_HOST = "consul" - else: - CONF_FILENAME = "moon.conf" - CONSUL_HOST = sys.argv[1] - CONSUL_PORT = 8500 -else: - CONSUL_HOST = sys.argv[1] if len(sys.argv) > 1 else "consul" - CONSUL_PORT = sys.argv[2] if len(sys.argv) > 2 else 8500 - CONF_FILENAME = sys.argv[3] if len(sys.argv) > 3 else "moon.conf" -HEADERS = {"content-type": "application/json"} - - -def search_config_file(): - data_config = None - for _file in ( - CONF_FILENAME, - "conf/moon.conf", - "../moon.conf", - "../conf/moon.conf", - "/etc/moon/moon.conf", - ): - try: - data_config = yaml.safe_load(open(_file)) - except FileNotFoundError: - data_config = None - continue - else: - break - if not data_config: - raise Exception("Configuration file not found...") - return data_config - - -def put(key, value): - url = "http://{host}:{port}/v1/kv/{key}".format(host=CONSUL_HOST, port=CONSUL_PORT, key=key) - log.info(url) - req = requests.put( - url, - headers=HEADERS, - json=value - ) - if req.status_code != 200: - raise Exception("Error connecting to Consul ({}, {})".format(req.status_code, req.text)) - - -def get(key): - url = "http://{host}:{port}/v1/kv/{key}".format(host=CONSUL_HOST, port=CONSUL_PORT, key=key) - req = requests.get(url) - data = req.json() - for item in data: - log.info("{} {} -> {}".format( - req.status_code, - item["Key"], - json.loads(base64.b64decode(item["Value"]).decode("utf-8")) - )) - yield json.loads(base64.b64decode(item["Value"]).decode("utf-8")) - - -def main(): - data_config = search_config_file() - req = requests.head("http://{}:{}/ui/".format(CONSUL_HOST, CONSUL_PORT)) - if req.status_code != 200: - log.critical("Consul is down...") - log.critical("request info: {}/{}".format(req, req.text)) - sys.exit(1) - - put("database", data_config["database"]) - # put("messenger", data_config["messenger"]) - # put("slave", data_config["slave"]) - # put("docker", data_config["docker"]) - put("logging", data_config["logging"]) - # put("components_port_start", data_config["components"]["port_start"]) - - for _key, _value in data_config["components"].items(): - put("components/{}".format(_key), data_config["components"][_key]) - - # for _key, _value in data_config["plugins"].items(): - # put("plugins/{}".format(_key), data_config["plugins"][_key]) - - for _key, _value in data_config["openstack"].items(): - put("openstack/{}".format(_key), data_config["openstack"][_key]) - - -main() - diff --git a/moon_forming/config_moon.sh b/moon_forming/config_moon.sh deleted file mode 100644 index 0a55898f..00000000 --- a/moon_forming/config_moon.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/usr/bin/env bash - -populate_args=$* - -echo "Waiting for Consul (http://consul:8500)" -while ! python -c "import requests; req = requests.get('http://consul:8500')" 2>/dev/null ; do - sleep 5 ; - echo -n "." -done -echo "." -echo "Consul (http://consul:8500) is up." - -python3 /root/conf2consul.py /etc/moon/moon.conf - -echo "Waiting for DB (tcp://db:3306)" -while ! python -c "import socket, sys; s = socket.socket(socket.AF_INET, socket.SOCK_STREAM); s.connect(('db', 3306)); sys.exit(0)" 2>/dev/null ; do - sleep 5 ; - echo -n "." -done -echo "." -echo "Database (http://db:3306) is up." - -moon_db_manager upgrade - -echo "Waiting for Keystone (http://keystone:5000)" -while ! python -c "import requests; req = requests.get('http://keystone:5000')" 2>/dev/null ; do - sleep 5 ; - echo -n "." -done -echo "." -echo "Keystone (http://keystone:5000) is up." - -echo "Waiting for Manager (http://manager:8082)" -while ! python -c "import requests; req = requests.get('http://manager:8082')" 2>/dev/null ; do - sleep 5 ; - echo -n "." -done -echo "." -echo "Manager (http://manager:8082) is up." |