diff options
author | Sofia Wallin <sofia.wallin@ericsson.com> | 2017-10-18 12:43:47 +0200 |
---|---|---|
committer | Thomas Duval <thomas.duval@orange.com> | 2017-10-18 21:36:39 +0200 |
commit | e493f6692072574d339972f0db3adb8270bdeccd (patch) | |
tree | 3b9bfa6f0aaf621d6d68fa3113bed21ebd32d3b1 /docs/release/configguide | |
parent | 4c8b7acf75ca422094a40e632be6587bdec73727 (diff) |
Various corrections
Adjusted structure and enabled referencing.
Change-Id: I23a8afd08ebb013d772314b450497c17bfdfc4fc
Signed-off-by: Sofia Wallin <sofia.wallin@ericsson.com>
Diffstat (limited to 'docs/release/configguide')
-rw-r--r-- | docs/release/configguide/index.rst | 22 | ||||
-rw-r--r-- | docs/release/configguide/installation.rst | 156 |
2 files changed, 178 insertions, 0 deletions
diff --git a/docs/release/configguide/index.rst b/docs/release/configguide/index.rst new file mode 100644 index 00000000..329a7231 --- /dev/null +++ b/docs/release/configguide/index.rst @@ -0,0 +1,22 @@ +.. _moon-configguide: + +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 +.. (c) ruan.he@orange.com & thomas.duval@orange.com + + +*********************************************** +Moon installation and configuration instruction +*********************************************** + +.. toctree:: + :numbered: + :maxdepth: 2 + + feature.configuration.rst + + + + + + diff --git a/docs/release/configguide/installation.rst b/docs/release/configguide/installation.rst new file mode 100644 index 00000000..e37193b3 --- /dev/null +++ b/docs/release/configguide/installation.rst @@ -0,0 +1,156 @@ +Build Python Packages and Docker Images +======================================= + +Python Package +-------------- + +pre-requist +~~~~~~~~~~~ + +Get the code + + git clone https://git.opnfv.org/moon + cd moon/moonv4 + export MOON_HOME=$(pwd) + sudo ln -s $(pwd)/conf /etc/moon + + +Install python wheel + + sudo apt install python3-wheel + +Install pip twine + + sudo pip install twine + +Package code, wheel is a new format instead of `tar.gz` + + python setup.py sdist bdist_wheel + +Upload to PyPi + + twine upload dist/moon_xxx-y.y.y.whl + twine upload dist/moon_xxx-y.y.y.tar.gz + +Install a package from PyPi + + sudo pypi install moon_xxx --upgrade + +moon_db +~~~~~~~ + +- change version in `moon_db/__init__.py` +- add `Changelog` + +moon_utilities +~~~~~~~~~~~~~~ + +- change version in `moon_utilities/__init__.py` +- add `Changelog` + +moon_orchestrator +~~~~~~~~~~~~~~~~~ + +- change version in `moon_orchestrator/__init__.py` +- add `Changelog` + + +Build All Pip +~~~~~~~~~~~~~ + + sudo pip3 install pip --upgrade + cd ${MOON_HOME}/bin + source build_all_pip.sh + +Container +--------- + +keystone_mitaka +~~~~~~~~~~~~~~~ + +see `templates/docker/keystone/README.md` to build the `keystone_mitaka` container + + +How to hack the Moon platform +----------------------------- + +Force the build of components +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +If you want to rebuild one or more component, you have to modify the configuration file `moon.conf`. + +For example, if you want to rebuild the moon_interface, got to the `[interface]` section and delete the +value of the container key like this: + + [interface] + host=172.18.0.11 + port=38001 + # Name of the container to download (if empty build from scratch) + # example: container=moon/moon_interface:latest + container= + +You can configure the interface, the router and both the security_function and security_policy. +You can also force the version of the component like this: `container=moon/moon_interface:4.0.0` + +Update the moon_interface +~~~~~~~~~~~~~~~~~~~~~~~~~ + +Go to the directory `${MOON_HOME}/moon_interface` and update the code accordingly to your needs, +then update the python package. + + cd ${MOON_HOME}/moon_interface + python setup.py sdist + cp dist/moon_interface_* ../moon_orchestrator/dist + # kill moon_orchestrator if needed and restart it + +Update the moon_secrouter +~~~~~~~~~~~~~~~~~~~~~~~~~ + +Go to the directory `${MOON_HOME}/moon_secrouter` and update the code accordingly to your needs, +then update the python package. + + cd ${MOON_HOME}/moon_secrouter + python setup.py sdist + cp dist/moon_secrouter* ../moon_orchestrator/dist + # kill moon_orchestrator if needed and restart it + +Problems that may arise +----------------------- + +If the moon_orchestrator doesn't want to start +(with, for example, the following error: `docker.errors.APIError: 409 Client Error: Conflict`), +check if the router and interface containers still exist and kill and delete them: + + docker kill moon_interface + docker kill moon_router + docker rm moon_interface + docker rm moon_router + +If the moon_orchestrator complains that it cannot request the RabbitMQ server, +check if the messenger server is up and running: + + docker ps + # you must see the messenger running here + # if not, restart it + docker run -dti --net=moon --hostname messenger --name messenger --link messenger:messenger \ + -e RABBITMQ_DEFAULT_USER=moon -e RABBITMQ_DEFAULT_PASS=password -e RABBITMQ_NODENAME=rabbit@messenger \ + -e RABBITMQ_DEFAULT_VHOST=moon -p 5671:5671 -p 5672:5672 rabbitmq:3-management + +Configure DB +------------ + +Relaunch Keystone docker +~~~~~~~~~~~~~~~~~~~~~~~~ + +If error of `get_keystone_projects()`, then relaunch the Keystone docker, and wait 40 seconds!!! + + docker rm -f keystone + docker run -dti --net moon --name keystone --hostname=keystone -e DB_HOST=db -e DB_PASSWORD_ROOT=p4sswOrd1 -p 35357:35357 -p 5000:5000 keystone:mitaka + +Add default data in DB +~~~~~~~~~~~~~~~~~~~~~~ + +Pre-fill the DB with a RBAC policy + + cd ${MOON_HOME}/moon_interface/tests/apitests + python3 populate_default_values.py scenario/ rbac.py |