]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mgr/nfs: use host.addr for backend IP where possible
authorSage Weil <sage@newdream.net>
Wed, 26 May 2021 22:38:05 +0000 (18:38 -0400)
committerSage Weil <sage@newdream.net>
Thu, 3 Jun 2021 12:43:06 +0000 (07:43 -0500)
Signed-off-by: Sage Weil <sage@newdream.net>
(cherry picked from commit 7e9f4ac7a11805b721d3857197b6d04c4cdae45e)

src/pybind/mgr/nfs/cluster.py

index aac469412b2f55adc1f93754fc65e40dd0900b9c..bdba9ce8da038f2d6ed633ed700441c1b46d252b 100644 (file)
@@ -146,9 +146,21 @@ class NFSCluster:
         for cluster in completion.result:
             if self.cluster_id == cluster.service_id():
                 try:
+                    if cluster.ip:
+                        ip = cluster.ip
+                    else:
+                        c = self.mgr.get_hosts()
+                        orchestrator.raise_if_exception(c)
+                        hosts = [h for h in c.result
+                                 if h.hostname == cluster.hostname]
+                        if hosts:
+                            ip = resolve_ip(hosts[0].addr)
+                        else:
+                            # sigh
+                            ip = resolve_ip(cluster.hostname)
                     backends.append({
                             "hostname": cluster.hostname,
-                            "ip": cluster.ip or resolve_ip(cluster.hostname),
+                            "ip": ip,
                             "port": cluster.ports[0]
                             })
                 except orchestrator.OrchestratorError: