diff --git a/puppet-manifests/src/modules/platform/manifests/ceph.pp b/puppet-manifests/src/modules/platform/manifests/ceph.pp index 943ae5881..2b1706b61 100644 --- a/puppet-manifests/src/modules/platform/manifests/ceph.pp +++ b/puppet-manifests/src/modules/platform/manifests/ceph.pp @@ -304,6 +304,19 @@ class platform::ceph::monitor } } } + + # explicitly bind ceph-mgr to host-specific address + # to avoid automatic binding of floating address + if $::hostname == $mon_0_host { + ceph_config{ + "mgr.${$::hostname}/public_addr": value => $mon_0_ip; + } + } + elsif $::hostname == $mon_1_host { + ceph_config{ + "mgr.${$::hostname}/public_addr": value => $mon_1_ip; + } + } } define osd_crush_location(