]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mgr/cephadm/services: allow beast/civetweb to bind to a particular IP
authorSage Weil <sage@newdream.net>
Thu, 11 Mar 2021 23:42:33 +0000 (18:42 -0500)
committerSage Weil <sage@newdream.net>
Fri, 19 Mar 2021 13:59:52 +0000 (08:59 -0500)
Signed-off-by: Sage Weil <sage@newdream.net>
(cherry picked from commit db5439250726b62b1b5eaad1f0277de302fa73aa)

src/pybind/mgr/cephadm/services/cephadmservice.py

index 006bcfe1555f11616a602dfec859a82282eb6c69..40e83c2dc3525fe1e79b9d4fd8638d3b2d0e6d91 100644 (file)
@@ -757,16 +757,28 @@ class RgwService(CephService):
         ftype = spec.rgw_frontend_type or "beast"
         if ftype == 'beast':
             if spec.ssl:
-                args.append(f"ssl_port={port}")
+                if daemon_spec.ip:
+                    args.append(f"ssl_endpoint={daemon_spec.ip}:{port}")
+                else:
+                    args.append(f"ssl_port={port}")
                 args.append(f"ssl_certificate=config://rgw/cert/{spec.service_name()}.crt")
             else:
-                args.append(f"port={port}")
+                if daemon_spec.ip:
+                    args.append(f"endpoint={daemon_spec.ip}:{port}")
+                else:
+                    args.append(f"port={port}")
         elif ftype == 'civetweb':
             if spec.ssl:
-                args.append(f"port={port}s")  # note the 's' suffix on port
+                if daemon_spec.ip:
+                    args.append(f"port={daemon_spec.ip}:{port}s")  # note the 's' suffix on port
+                else:
+                    args.append(f"port={port}s")  # note the 's' suffix on port
                 args.append(f"ssl_certificate=config://rgw/cert/{spec.service_name()}.crt")
             else:
-                args.append(f"port={port}")
+                if daemon_spec.ip:
+                    args.append(f"port={daemon_spec.ip}:{port}")
+                else:
+                    args.append(f"port={port}")
         frontend = f'{ftype} {" ".join(args)}'
 
         ret, out, err = self.mgr.check_mon_command({