The cinder glance and nova-compute charms all use:
class CephContext(OSContextGenerator): """Generates context for /etc/ceph/ceph.conf templates.""" interfaces = ['ceph']
def __call__(self): if not relation_ids('ceph'): return {}
log('Generating template context for ceph', level=DEBUG) mon_hosts = [] auth = None key = None use_syslog = str(config('use-syslog')).lower() for rid in relation_ids('ceph'): for unit in related_units(rid): auth = relation_get('auth', rid=rid, unit=unit) key = relation_get('key', rid=rid, unit=unit) ceph_pub_addr = relation_get('ceph-public-address', rid=rid, unit=unit) unit_priv_addr = relation_get('private-address', rid=rid, unit=unit) ceph_addr = ceph_pub_addr or unit_priv_addr ceph_addr = format_ipv6_addr(ceph_addr) or ceph_addr mon_hosts.append(ceph_addr)
The cinder glance and nova-compute charms all use:
class CephContext( OSContextGenera tor):
"""Generates context for /etc/ceph/ceph.conf templates."""
interfaces = ['ceph']
def __call__(self): ids('ceph' ):
if not relation_
return {}
mon_hosts = []
auth = None
key = None
use_syslog = str(config(
for rid in relation_
for unit in related_units(rid):
key = relation_get('key', rid=rid, unit=unit)