Fix fqdn hostnames not added to /etc/hosts
This fixes an issue where using a fqdn as hostname not being added to /etc/hosts. The etchosts.Build() function was never called with an IP-address, therefore the fqdn was not added. The subsequent updateHostsFile() was not updated to support fqdn's as hostname, and not adding the record correctly to /etc/hosts. This patch implements the functionality in updateHostsFile() Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
This commit is contained in:
parent
16b9fc994e
commit
6c3fc691e7
|
@ -100,8 +100,6 @@ func (sb *sandbox) buildHostsFile() error {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (sb *sandbox) updateHostsFile(ifaceIP string) error {
|
func (sb *sandbox) updateHostsFile(ifaceIP string) error {
|
||||||
var mhost string
|
|
||||||
|
|
||||||
if ifaceIP == "" {
|
if ifaceIP == "" {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
@ -110,11 +108,17 @@ func (sb *sandbox) updateHostsFile(ifaceIP string) error {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// User might have provided a FQDN in hostname or split it across hostname
|
||||||
|
// and domainname. We want the FQDN and the bare hostname.
|
||||||
|
fqdn := sb.config.hostName
|
||||||
|
mhost := sb.config.hostName
|
||||||
if sb.config.domainName != "" {
|
if sb.config.domainName != "" {
|
||||||
mhost = fmt.Sprintf("%s.%s %s", sb.config.hostName, sb.config.domainName,
|
fqdn = fmt.Sprintf("%s.%s", fqdn, sb.config.domainName)
|
||||||
sb.config.hostName)
|
}
|
||||||
} else {
|
|
||||||
mhost = sb.config.hostName
|
parts := strings.SplitN(fqdn, ".", 2)
|
||||||
|
if len(parts) == 2 {
|
||||||
|
mhost = fmt.Sprintf("%s %s", fqdn, parts[0])
|
||||||
}
|
}
|
||||||
|
|
||||||
extraContent := []etchosts.Record{{Hosts: mhost, IP: ifaceIP}}
|
extraContent := []etchosts.Record{{Hosts: mhost, IP: ifaceIP}}
|
||||||
|
|
Loading…
Reference in New Issue