Files
zaza-openstack-tests/zaza/openstack/configure/ceph_proxy.py
2019-05-30 14:44:16 +00:00

32 lines
915 B
Python

"""Module to setup ceph-proxy charm."""
import logging
import zaza.model as model
def setup_ceph_proxy():
"""
Configure ceph proxy with ceph metadata.
Fetches admin_keyring and FSID from ceph-mon and
uses those to configure ceph-proxy.
"""
raw_admin_keyring = model.run_on_leader(
"ceph-mon", 'cat /etc/ceph/ceph.client.admin.keyring')["Stdout"]
admin_keyring = [
line for line in raw_admin_keyring.split("\n") if "key" in line
][0].split(' = ')[-1].rstrip()
fsid = model.run_on_leader("ceph-mon", "leader-get fsid")["Stdout"]
cluster_ips = model.get_app_ips("ceph-mon")
proxy_config = {
'auth-supported': 'cephx',
'admin-key': admin_keyring,
'fsid': fsid,
'monitor-hosts': ' '.join(cluster_ips)
}
logging.debug('Config: {}'.format(proxy_config))
model.set_application_config("ceph-proxy", proxy_config)