@@ -13,31 +13,36 @@ func getIpv4Address() (string, error) {
13
13
return ExecCmd ("hostname" , "-i" )
14
14
}
15
15
16
- func getHostName () (string , error ) {
16
+ func getFQDN () (string , error ) {
17
17
return ExecCmd ("hostname" , "-f" )
18
18
}
19
19
20
+ func getHostName () (string , error ) {
21
+ return ExecCmd ("hostname" , "-s" )
22
+ }
23
+
24
+ func getDomain () (string , error ) {
25
+ return ExecCmd ("hostname" , "-d" )
26
+ }
27
+
20
28
// This is required due to: https://github.com/saltstack/salt/issues/32719
21
- func ensureIpv6Resolvable (domain string ) error {
22
- fqdn , err := getHostName ()
23
- log .Printf ("[ensureIpv6Resolvable] fqdn : %s" , fqdn )
24
- if err != nil {
25
- return err
29
+ func ensureIpv6Resolvable (customDomain string ) error {
30
+ hostname , hostNameErr := getHostName ()
31
+ log .Printf ("[ensureIpv6Resolvable] hostName : %s" , hostname )
32
+ if hostNameErr != nil {
33
+ return hostNameErr
26
34
}
27
- if ! strings .Contains (fqdn , "." ) {
28
- // only fqdn does not contain domain
29
- if domain != "" {
30
- updateIpv6HostName (fqdn , domain )
31
- } else {
32
- //if there is no domain, we need to add one since ambari fails without domain, actually it does nothing just hangs..
33
- updateIpv6HostName (fqdn , DEFAULT_DOMAIN )
35
+
36
+ domain , domainError := getDomain ()
37
+ log .Printf ("[ensureIpv6Resolvable] origin domain: %s" , domain )
38
+ if customDomain == "" {
39
+ if domainError != nil || domain == "" {
40
+ domain = DEFAULT_DOMAIN
34
41
}
35
42
} else {
36
- if domain != "" {
37
- hostName := strings .Split (fqdn , "." )[0 ]
38
- updateIpv6HostName (hostName , domain )
39
- }
43
+ domain = customDomain
40
44
}
45
+ updateIpv6HostName (hostname , domain )
41
46
42
47
return nil
43
48
}
0 commit comments