1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
|
# 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 os
# from oslo_config import cfg
from oslo_log import log as logging
# from moon_utilities import options # noqa
from moon_consul.http_server import HTTPServer
LOG = logging.getLogger(__name__)
# CONF = cfg.CONF
# DOMAIN = "moon_consul"
# __CWD__ = os.path.dirname(os.path.abspath(__file__))
class Configuration:
DB_URL = None
DB_DRIVER = None
TRANSPORT_URL = None
DOCKER_URL = None
SLAVE_NAME = None
MASTER_URL = None
MASTER_LOGIN = None
MASTER_PASSWORD = None
INTERFACE_PORT = None
CONSUL_HOST = None
CONSUL_PORT = None
KEYSTONE_URL = None
KEYSTONE_USER = None
KEYSTONE_PASSWORD = None
KEYSTONE_DOMAIN = None
KEYSTONE_PROJECT = None
KEYSTONE_CHECK_TOKEN = None
KEYSTONE_SERVER_CRT = None
PLUGIN_CONTAINERS = None
def get_configuration():
conf = Configuration()
conf.DB_URL = os.getenv("DB_URL", "mysql+pymysql://moon:p4sswOrd1@db/moon")
conf.DB_DRIVER = os.getenv("DB_DRIVER", "sql")
conf.TRANSPORT_URL = os.getenv("TRANSPORT_URL", "rabbit://moon:p4sswOrd1@messenger:5672/moon")
conf.DOCKER_URL = os.getenv("DOCKER_URL", "unix://var/run/docker.sock")
conf.SLAVE_NAME = os.getenv("SLAVE_NAME", "")
conf.MASTER_URL = os.getenv("MASTER_URL", "")
conf.MASTER_LOGIN = os.getenv("MASTER_LOGIN", "")
conf.MASTER_PASSWORD = os.getenv("MASTER_PASSWORD", "")
conf.INTERFACE_PORT = os.getenv("INTERFACE_PORT", "8080")
conf.CONSUL_HOST = os.getenv("CONSUL_HOST", "172.88.88.88")
conf.CONSUL_PORT = os.getenv("CONSUL_PORT", "88")
conf.KEYSTONE_URL = os.getenv("KEYSTONE_URL", "http://keystone:5000/v3")
conf.KEYSTONE_USER = os.getenv("KEYSTONE_USER", "admin")
conf.KEYSTONE_PASSWORD = os.getenv("KEYSTONE_PASSWORD", "p4ssw0rd")
conf.KEYSTONE_DOMAIN = os.getenv("KEYSTONE_DOMAIN", "default")
conf.KEYSTONE_PROJECT = os.getenv("KEYSTONE_PROJECT", "admin")
conf.KEYSTONE_CHECK_TOKEN = os.getenv("KEYSTONE_CHECK_TOKEN", False)
conf.KEYSTONE_SERVER_CRT = os.getenv("KEYSTONE_SERVER_CRT", False)
conf.PLUGIN_CONTAINERS = os.getenv("PLUGIN_CONTAINERS", "asteroide/authz:latest,asteroide/session:latest")
conf.COMPONENTS_PORT_START = int(os.getenv("COMPONENTS_PORT_START", "38001"))
conf.COMPONENTS = [
{
"hostname": conf.CONSUL_HOST,
"port": conf.CONSUL_PORT,
"id": "consul",
"keystone_id": None
},
]
return conf
def main():
conf = get_configuration()
LOG.info("Starting server with IP {} on port {}".format(conf.CONSUL_HOST, conf.CONSUL_PORT))
server = HTTPServer(host=conf.CONSUL_HOST, port=int(conf.CONSUL_PORT), conf=conf)
server.run()
if __name__ == '__main__':
main()
|