5
from charmhelpers.core.hookenv import (
12
from charmhelpers.core.templating import render
15
ctxs = [ { "rabbit_server": relation_get("hostname", unit, rid),
16
"rabbit_user": "contrail",
17
"rabbit_password": relation_get("password", unit, rid),
18
"rabbit_vhost": "contrail" }
19
for rid in relation_ids("amqp")
20
for unit in related_units(rid) ]
21
return ctxs[0] if ctxs else {}
24
return { "cassandra_servers": [ relation_get("private-address", unit, rid)
26
for rid in relation_ids("cassandra")
28
((unit, relation_get("port", unit, rid)) for unit in related_units(rid))
31
def contrail_ifmap_ctx():
34
for rid in relation_ids("contrail-ifmap"):
35
cs = relation_get("creds", unit, rid)
38
for c in cs.itervalues():
40
return { "ifmap_creds": creds }
42
def fix_permissions():
43
os.chmod("/etc/contrail", 0755)
44
os.chown("/etc/contrail", 0, 0)
46
def identity_admin_ctx():
47
ctxs = [ { "auth_host": relation_get("service_hostname", unit, rid),
48
"auth_port": relation_get("service_port", unit, rid),
49
"admin_user": relation_get("service_username", unit, rid),
50
"admin_password": relation_get("service_password", unit, rid),
51
"admin_tenant_name": relation_get("service_tenant_name", unit, rid) }
52
for rid in relation_ids("identity-admin")
53
for unit in related_units(rid) ]
54
return ctxs[0] if ctxs else {}
56
def write_contrail_api_config():
58
ctx.update(cassandra_ctx())
59
ctx.update(zookeeper_ctx())
60
ctx.update(amqp_ctx())
61
ctx.update(identity_admin_ctx())
62
render("contrail-api.conf", "/etc/contrail/contrail-api.conf", ctx, "root",
65
def write_contrail_schema_config():
67
ctx.update(cassandra_ctx())
68
ctx.update(zookeeper_ctx())
69
ctx.update(identity_admin_ctx())
70
render("contrail-schema.conf", "/etc/contrail/contrail-schema.conf", ctx,
71
"root", "contrail", 0440)
73
def write_discovery_config():
75
ctx.update(zookeeper_ctx())
76
ctx.update(cassandra_ctx())
77
render("discovery.conf", "/etc/contrail/discovery.conf", ctx)
79
def write_ifmap_config():
80
ctx = contrail_ifmap_ctx()
81
render("basicauthusers.properties",
82
"/etc/ifmap-server/basicauthusers.properties", ctx, "root",
85
def write_vnc_api_config():
86
ctx = identity_admin_ctx()
87
render("vnc_api_lib.ini", "/etc/contrail/vnc_api_lib.ini", ctx)
90
return { "zk_servers": [ relation_get("private-address", unit, rid)
92
for rid in relation_ids("zookeeper")
94
((unit, relation_get("port", unit, rid)) for unit in related_units(rid))