Use socket.gethostname instead of letters for mds names

This commit is contained in:
Chris Holcombe 2016-09-20 09:41:01 -07:00
parent e2d4555e49
commit 8dd4240847
3 changed files with 25 additions and 26 deletions

View File

@ -1,2 +1,2 @@
includes: ['layer:ceph-base', 'interface:/home/chris/repos/juju-interface-ceph-mds', 'interface:/home/chris/repos/juju-interface-ceph-admin'] # if you use any interfaces, add them here
includes: ['layer:ceph-base', 'interface:/home/chris/repos/juju-interface-ceph-mds'] # if you use any interfaces, add them here
repo: git@github.com:cholcombe973/charm-ceph-fs.git

View File

@ -15,5 +15,3 @@ subordinate: false
requires:
ceph-mds:
interface: ceph-mds
ceph-admin:
interface: ceph-admin

View File

@ -4,8 +4,7 @@ import subprocess
from charms.reactive import when, when_not, set_state
from charmhelpers.core.hookenv import (
config, charm_name,
log, INFO, ERROR)
config, log, INFO, ERROR)
from charmhelpers.core.host import service_restart
from charmhelpers.contrib.storage.linux import ceph
from charmhelpers.contrib.network.ip import (
@ -31,11 +30,10 @@ def install_cephfs():
@when('cephfs.configured')
@when('admin_key.saved')
@when_not('cephfs.started')
def setup_mds():
try:
name = charm_name()
name = socket.gethostname()
log("Creating cephfs_data pool", level=INFO)
data_pool = "{}_data".format(name)
try:
@ -64,33 +62,27 @@ def setup_mds():
log(message='Error: {}'.format(err), level=ERROR)
@when('ceph-admin.available')
def handle_admin_key(ceph_client):
cephx_key = os.path.join(os.sep,
'etc',
'ceph',
'ceph.client.admin.keyring')
try:
with open(cephx_key, 'w') as key_file:
key_file.write("[client.admin]\n\tkey = {}\n".format(
ceph_client.key()
))
except IOError as err:
log("IOError writing mds-a.keyring: {}".format(err))
set_state('admin_key.saved')
@when('ceph-mds.available')
def config_changed(ceph_client):
charm_ceph_conf = os.path.join(os.sep,
'etc',
'ceph',
'ceph.conf')
key_path = os.path.join(os.sep, 'var', 'lib', 'ceph', 'mds', 'ceph-a')
key_path = os.path.join(os.sep,
'var',
'lib',
'ceph',
'mds',
'ceph-{}'.format(socket.gethostname())
)
if not os.path.exists(key_path):
os.makedirs(key_path)
cephx_key = os.path.join(key_path,
'keyring')
admin_key = os.path.join(os.sep,
'etc',
'ceph',
'ceph.client.admin.keyring')
networks = get_networks('ceph-public-network')
public_network = ', '.join(networks)
@ -107,7 +99,7 @@ def config_changed(ceph_client):
'ceph_cluster_network': cluster_network,
'loglevel': config('loglevel'),
'hostname': socket.gethostname(),
'mds_name': 'a',
'mds_name': socket.gethostname(),
}
try:
@ -116,9 +108,18 @@ def config_changed(ceph_client):
except IOError as err:
log("IOError writing ceph.conf: {}".format(err))
try:
with open(admin_key, 'w') as key_file:
key_file.write("[client.admin]\n\tkey = {}\n".format(
ceph_client.admin_key()
))
except IOError as err:
log("IOError writing admin.keyring: {}".format(err))
try:
with open(cephx_key, 'w') as key_file:
key_file.write("[mds.a]\n\tkey = {}\n".format(
key_file.write("[mds.{}]\n\tkey = {}\n".format(
socket.gethostname(),
ceph_client.key()
))
except IOError as err: