3
from charmhelpers.core.hookenv import (
10
from charmhelpers.contrib.openstack.context import (
15
CEILOMETER_DB = 'ceilometer'
18
class LoggingConfigContext(OSContextGenerator):
20
return {'debug': config('debug'), 'verbose': config('verbose')}
23
class MongoDBContext(OSContextGenerator):
24
interfaces = ['mongodb']
27
for relid in relation_ids('shared-db'):
28
for unit in related_units(relid):
30
"db_host": relation_get('hostname', unit, relid),
31
"db_port": relation_get('port', unit, relid),
32
"db_name": CEILOMETER_DB
34
if context_complete(conf):
39
SHARED_SECRET = "/etc/ceilometer/secret.txt"
42
def get_shared_secret():
44
if not os.path.exists(SHARED_SECRET):
45
secret = str(uuid.uuid4())
46
with open(SHARED_SECRET, 'w') as secret_file:
47
secret_file.write(secret)
49
with open(SHARED_SECRET, 'r') as secret_file:
50
secret = secret_file.read().strip()
53
CEILOMETER_PORT = 8777
56
class CeilometerContext(OSContextGenerator):
59
'port': CEILOMETER_PORT,
60
'metering_secret': get_shared_secret()