summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSage Weil <sage@inktank.com>2013-10-03 14:50:25 -0700
committerSage Weil <sage@inktank.com>2013-10-03 14:50:25 -0700
commit86e96578be669578fdf8213512506e60dc09856d (patch)
tree24fbef805f52a9ca4aad8c389f88bf9dbc1ef1f7
parentc19935cd09ad1f821c7648d2e08eb7dcce0b7f38 (diff)
parent22f8325dbfce7ef2e97bf015c0f8bba53e75dfe9 (diff)
downloadceph-86e96578be669578fdf8213512506e60dc09856d.tar.gz
Merge pull request #684 from git-harry/ceph_disk_lowercase_fsid
Make fsid comparison case-insensitive Reviewed-by: Sage Weil <sage@inktank.com>
-rwxr-xr-xsrc/ceph-disk15
1 files changed, 10 insertions, 5 deletions
diff --git a/src/ceph-disk b/src/ceph-disk
index 939f65b85dd..64d944d9db0 100755
--- a/src/ceph-disk
+++ b/src/ceph-disk
@@ -570,7 +570,7 @@ def get_fsid(cluster):
fsid = get_conf(cluster=cluster, variable='fsid')
if fsid is None:
raise Error('getting cluster uuid from configuration failed')
- return fsid
+ return fsid.lower()
def get_or_create_dmcrypt_key(
@@ -1601,6 +1601,7 @@ def find_cluster_by_uuid(_uuid):
Find a cluster name by searching /etc/ceph/*.conf for a conf file
with the right uuid.
"""
+ _uuid = _uuid.lower()
no_fsid = []
if not os.path.exists('/etc/ceph'):
return None
@@ -1608,11 +1609,15 @@ def find_cluster_by_uuid(_uuid):
if not conf_file.endswith('.conf'):
continue
cluster = conf_file[:-5]
- fsid = get_conf(cluster, 'fsid')
- if fsid is None:
+ try:
+ fsid = get_fsid(cluster)
+ except Error as e:
+ if e.message != 'getting cluster uuid from configuration failed':
+ raise e
no_fsid.append(cluster)
- elif fsid == _uuid:
- return cluster
+ else:
+ if fsid == _uuid:
+ return cluster
# be tolerant of /etc/ceph/ceph.conf without an fsid defined.
if len(no_fsid) == 1 and no_fsid[0] == 'ceph':
LOG.warning('No fsid defined in /etc/ceph/ceph.conf; using anyway')