daemon_id,
spec):
# type: (cephadm.CephadmOrchestrator, str, NFSServiceSpec) -> None
+ assert spec.service_id and daemon_id.startswith(spec.service_id)
self.mgr = mgr
self.daemon_id = daemon_id
self.spec = spec
+ def get_daemon_name(self):
+ # type: () -> str
+ return '%s.%s' % (self.spec.service_type, self.daemon_id)
+
def get_rados_user(self):
# type: () -> str
return '%s.%s' % (self.spec.service_type, self.daemon_id)
def get_ganesha_conf(self):
# type: () -> str
return '''# generated by cephadm
+NFS_CORE_PARAM {{
+ Enable_NLM = false;
+ Enable_RQUOTA = false;
+ Protocols = 4;
+}}
+
+NFSv4 {{
+ Delegations = false;
+ RecoveryBackend = 'rados_cluster';
+ Minor_Versions = 1, 2;
+}}
+
+RADOS_KV {{
+ UserId = "{user}";
+ nodeid = "{nodeid}";
+ pool = "{pool}";
+ namespace = "{namespace}";
+}}
+
RADOS_URLS {{
UserId = "{user}";
watch_url = "{url}";
%url {url}
'''.format(user=self.get_rados_user(),
+ nodeid=self.get_daemon_name(),
+ pool=self.spec.pool,
+ namespace=self.spec.namespace if self.spec.namespace else '',
url=self.spec.rados_config_location())
def get_cephadm_config(self):