sudo service docker restart
```
-## Launch MySql, RabbitMQ, Keystone containers
-TODO: put all the containers to `dockerhub`
-### moon_mysql:v4.1
+## Launch MySql, RabbitMQ, Keystone
-### moon_rabbitmq:v4.1
+### Cleanup
+```bash
+docker container rm -f $(docker ps -a | grep moon | cut -d " " -f 1) 2>/dev/null
+docker container rm -f messenger db keystone 2>/dev/null
+```
-### moon_keystone:v4.1
+
+### Internal Network Creation
```bash
-docker container run -dti --net moon --hostname keystone --name keystone -e DB_HOST=db -e DB_PASSWORD_ROOT=p4sswOrd1 -p 35357:35357 -p 5000:5000 asteroide/keystone_mitaka:latest
+docker network create -d bridge --subnet=172.88.88.0/16 --gateway=172.88.88.1 moon
```
-## Install Orchestrator
-### Get the code
+### MySql
```bash
-git clone https://git.opnfv.org/moon
-cd moon/moonv4
-export MOON_HOME=$(pwd)
-sudo ln -s $(pwd)/conf /etc/moon
+docker container run -dti --net=moon --hostname db --name db -e MYSQL_ROOT_PASSWORD=p4sswOrd1 -e MYSQL_DATABASE=moon -e MYSQL_USER=moon -e MYSQL_PASSWORD=p4sswOrd1 -p 3306:3306 mysql:latest
```
-### Start Orchestrator
-To start the Moon platform, you have to run the Orchestrator.
+### Rabbitmq
+```bash
+docker container run -dti --net=moon --hostname messenger --name messenger -e RABBITMQ_DEFAULT_USER=moon -e RABBITMQ_DEFAULT_PASS=p4sswOrd1 -e RABBITMQ_NODENAME=rabbit@messenger -e RABBITMQ_DEFAULT_VHOST=moon -e RABBITMQ_HIPE_COMPILE=1 -p 5671:5671 -p 5672:5672 -p 8080:15672 rabbitmq:3-management
+```
-TODO: put all Python packages to PIP
+### moon_keystone
```bash
-cd ${MOON_HOME}/moon_orchestrator
-sudo apt install python3-venv
-pyvenv tests/venv
-. tests/venv/bin/activate
-pip3 install -r requirements.txt --upgrade
-pip3 install dist/moon_db-0.1.0.tar.gz --upgrade
-pip3 install dist/moon_utilities-0.1.0.tar.gz --upgrade
-pip3 install . --upgrade
-moon_db_manager upgrade
+docker container run -dti --net moon --hostname keystone --name keystone -e DB_HOST=db -e DB_PASSWORD_ROOT=p4sswOrd1 -p 35357:35357 -p 5000:5000 wukongsun/moon_keystone:mitaka
```
-### `/etc/moon/moon.conf`
-- edit `dist_dir` variable
-- check each `container` variable
-Launch `Moon Orchestrator`
+## Orchestrator
+To start the Moon platform, you have to run the Orchestrator.
+
+### Installation
+```bash
+sudo pip3 install moon_db --upgrade
+sudo pip3 install moon_utilities --upgrade
+sudo pip3 install moon_orchestrator --upgrade
+moon_db_manager upgrade
+```
+
+### Launch
```bash
moon_orchestrator
```
### Tests
-In the Python venv
```bash
-pip3 install pytest
-cd ${MOON_HOME}/moon_interface/tests/apitests
+sudo pip3 install pytest
+cd /usr/lib/moon_orchestratr/moon_interface/tests/apitests
pytest
```
+
+## Launch consul, router, manager, interface
+
+### moon_consul
+```bash
+docker container run -dti --net moon --hostname consul --name consul wukongsun/moon_consul:v4.1
+```
+
+### moon_router
+```bash
+docker container run -dti --net moon --hostname router --name router wukongsun/moon_router:v4.1
+```
+
+### moon_manager
+```bash
+docker container run -dti --net moon --hostname manager --name manager wukongsun/moon_manager:v4.1
+```
+
+
+### moon_interface
+```bash
+docker container run -dti --net moon --hostname interface --name interface wukongsun/moon_interface:v4.1
+```
+
+
## Log
### Get some logs
```bash
docker ps
+docker logs db
docker logs messenger
docker logs keystone
-docker logs moon_router
-docker logs moon_interface
+docker logs router
+docker logs manager
+docker logs interface
```
--- /dev/null
+FROM ubuntu:latest
+
+RUN apt update && apt install python3.5 python3-pip -y
+RUN pip3 install moon_utilities moon_db
+
+ADD . /root
+WORKDIR /root/
+RUN pip3 install -r requirements.txt
+RUN pip3 install .
+
+CMD ["python3", "-m", "moon_router"]
\ No newline at end of file
-Core module for the Moon project
-================================
+# Router: Core module for the Moon project
This package contains the core module for the Moon project
It is designed to provide authorization features to all OpenStack components.
For any other information, refer to the parent project:
https://git.opnfv.org/moon
+
+## Build Image
+```bash
+docker image build -t wukongsun/moon_router:v4.1 .
+```
+
+## Push Image
+```bash
+docker push wukongsun/moon_router:v4.1
+```
\ No newline at end of file
--- /dev/null
+from moon_router.server import main
+
+main()
from oslo_log import log as logging
from moon_utilities.security_functions import call, notify
from oslo_config import cfg
-from moon_secrouter.api.generic import Status, Logs
+from moon_router.api.generic import Status, Logs
LOG = logging.getLogger(__name__)
CONF = cfg.CONF
import oslo_messaging
import time
from oslo_log import log as logging
-from moon_secrouter.api.generic import Status, Logs
-from moon_secrouter.api.route import Router
+from moon_router.api.generic import Status, Logs
+from moon_router.api.route import Router
from moon_utilities.api import APIList
LOG = logging.getLogger(__name__)
from oslo_config import cfg
from oslo_log import log as logging
from moon_utilities import options # noqa
-from moon_secrouter.messenger import Server
+from moon_router.messenger import Server
class AsyncServer(threading.Thread):
LOG = logging.getLogger(__name__)
CONF = cfg.CONF
-DOMAIN = "moon_secrouter"
+DOMAIN = "moon_router"
__CWD__ = os.path.dirname(os.path.abspath(__file__))
+++ /dev/null
-from moon_secrouter.server import main
-
-main()
# or at 'http://www.apache.org/licenses/LICENSE-2.0'.
from setuptools import setup, find_packages
-import moon_secrouter
+import moon_router
setup(
- name='moon_secrouter',
+ name='moon_router',
- version=moon_secrouter.__version__,
+ version=moon_router.__version__,
packages=find_packages(),
description="",
- long_description=open('README.rst').read(),
+ long_description=open('README.md').read(),
# install_requires= ,
entry_points={
'console_scripts': [
- 'moon_secrouter = moon_secrouter.server:main',
+ 'moon_router = moon_router.server:main',
],
}
-
)
```
-## Setup an execution environment
-
-### clean up if necessary
-```bash
-docker container rm -f $(docker ps -a | grep moon | cut -d " " -f 1) 2>/dev/null
-docker container rm -f messenger db keystone 2>/dev/null
-```
-
-### create a network
-```bash
-docker network create -d bridge --subnet=172.18.0.0/16 --gateway=172.18.0.1 moon
-```
-
-### Start RabbitMQ
-TODO: use our own container
-```bash
-docker container run -dti --net=moon --hostname messenger --name messenger -e RABBITMQ_DEFAULT_USER=moon -e RABBITMQ_DEFAULT_PASS=p4sswOrd1 -e RABBITMQ_NODENAME=rabbit@messenger -e RABBITMQ_DEFAULT_VHOST=moon -e RABBITMQ_HIPE_COMPILE=1 -p 5671:5671 -p 5672:5672 -p 8080:15672 rabbitmq:3-management
-```
-
-
-### Start MySQL server
-TODO: user our own containter
-```bash
-docker container run -dti --net=moon --hostname db --name db -e MYSQL_ROOT_PASSWORD=p4sswOrd1 -e MYSQL_DATABASE=moon -e MYSQL_USER=moon -e MYSQL_PASSWORD=p4sswOrd1 -p 3306:3306 mysql:latest
-```
-
-## launch a Keystone container
-TODO: user our own containter
-```bash
-docker container run -dti --net moon --hostname keystone --name keystone -e DB_HOST=db -e DB_PASSWORD_ROOT=p4sswOrd1 -p 35357:35357 -p 5000:5000 keystone:mitaka
-```
-
-## check
-### log
-```bash
-docker logs keystone -f
-```
-
-
### access to the container
```bash
docker container exec -ti keystone /bin/bash