MM-16400: Adding more control over bind and advertising address in cluster configuration (#11283)
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
8f0216c57f
Коммит
e53dba3848
@@ -46,10 +46,14 @@ func (o *ClusterDiscovery) AutoFillHostname() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (o *ClusterDiscovery) AutoFillIpAddress(iface string) {
|
func (o *ClusterDiscovery) AutoFillIpAddress(iface string, ipAddress string) {
|
||||||
// attempt to set the hostname to the first non-local IP address
|
// attempt to set the hostname to the first non-local IP address
|
||||||
if len(o.Hostname) == 0 {
|
if len(o.Hostname) == 0 {
|
||||||
o.Hostname = GetServerIpAddress(iface)
|
if len(ipAddress) > 0 {
|
||||||
|
o.Hostname = ipAddress
|
||||||
|
} else {
|
||||||
|
o.Hostname = GetServerIpAddress(iface)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -53,7 +53,7 @@ func TestClusterDiscovery(t *testing.T) {
|
|||||||
o.Hostname = ""
|
o.Hostname = ""
|
||||||
o.AutoFillHostname()
|
o.AutoFillHostname()
|
||||||
|
|
||||||
o.AutoFillIpAddress("")
|
o.AutoFillIpAddress("", "")
|
||||||
o.Hostname = ""
|
o.Hostname = ""
|
||||||
o.AutoFillIpAddress("")
|
o.AutoFillIpAddress("", "")
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -673,6 +673,8 @@ type ClusterSettings struct {
|
|||||||
ClusterName *string `restricted:"true"`
|
ClusterName *string `restricted:"true"`
|
||||||
OverrideHostname *string `restricted:"true"`
|
OverrideHostname *string `restricted:"true"`
|
||||||
NetworkInterface *string `restricted:"true"`
|
NetworkInterface *string `restricted:"true"`
|
||||||
|
BindAddress *string `restricted:"true"`
|
||||||
|
AdvertiseAddress *string `restricted:"true"`
|
||||||
UseIpAddress *bool `restricted:"true"`
|
UseIpAddress *bool `restricted:"true"`
|
||||||
UseExperimentalGossip *bool `restricted:"true"`
|
UseExperimentalGossip *bool `restricted:"true"`
|
||||||
ReadOnlyConfig *bool `restricted:"true"`
|
ReadOnlyConfig *bool `restricted:"true"`
|
||||||
@@ -700,6 +702,14 @@ func (s *ClusterSettings) SetDefaults() {
|
|||||||
s.NetworkInterface = NewString("")
|
s.NetworkInterface = NewString("")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if s.BindAddress == nil {
|
||||||
|
s.BindAddress = NewString("")
|
||||||
|
}
|
||||||
|
|
||||||
|
if s.AdvertiseAddress == nil {
|
||||||
|
s.AdvertiseAddress = NewString("")
|
||||||
|
}
|
||||||
|
|
||||||
if s.UseIpAddress == nil {
|
if s.UseIpAddress == nil {
|
||||||
s.UseIpAddress = NewBool(true)
|
s.UseIpAddress = NewBool(true)
|
||||||
}
|
}
|
||||||
|
|||||||
Ссылка в новой задаче
Block a user