),
False
),
+ (
+ # zone contains hostname
+ # https://tracker.ceph.com/issues/45294
+ RGWSpec(
+ rgw_realm="default.rgw.realm",
+ rgw_zone="ceph.001",
+ subcluster='1',
+ ),
+ DaemonDescription(
+ daemon_type='rgw',
+ daemon_id="default.rgw.realm.ceph.001.1.ceph.001.ytywjo",
+ hostname="ceph.001",
+ ),
+ True
+ ),
# https://tracker.ceph.com/issues/45293
(
if m:
return m.group(1)
- if self.daemon_type == 'rgw':
- if self.hostname and self.hostname in self.daemon_id:
- pre, post_ = self.daemon_id.split(self.hostname)
- return pre[:-1]
- else:
- # daemon_id == "realm.zone.host.random"
- v = self.daemon_id.split('.')
- if len(v) == 4:
- return '.'.join(v[0:2])
- # subcluster or fqdn? undecidable.
- raise OrchestratorError(f"DaemonDescription: Cannot calculate service_id: {v}")
-
- if self.daemon_type in ['mds', 'nfs', 'iscsi']:
- service_id = _match()
- if service_id:
- return service_id
raise OrchestratorError("DaemonDescription: Cannot calculate service_id: " \
f"daemon_id='{self.daemon_id}' hostname='{self.hostname}'")
+ if self.daemon_type in ['mds', 'nfs', 'iscsi', 'rgw']:
+ return _match()
+
return self.daemon_id
def service_name(self):