Merge pull request #11649 from Luap99/machine-dns

podman machine: use gvproxy for host.containers.internal
This commit is contained in:
OpenShift Merge Robot
2021-09-20 13:48:42 -04:00
committed by GitHub

View File

@ -2050,35 +2050,39 @@ func (c *Container) getHosts() string {
} }
} }
// Add gateway entry // Add gateway entry if we are not in a machine. If we use podman machine
var depCtr *Container // the gvproxy dns server will take care of host.containers.internal.
netStatus := c.getNetworkStatus() // https://github.com/containers/gvisor-tap-vsock/commit/1108ea45162281046d239047a6db9bc187e64b08
if c.config.NetNsCtr != "" { if !c.runtime.config.Engine.MachineEnabled {
// ignoring the error because there isn't anything to do var depCtr *Container
depCtr, _ = c.getRootNetNsDepCtr() netStatus := c.getNetworkStatus()
} else if len(netStatus) != 0 { if c.config.NetNsCtr != "" {
depCtr = c // ignoring the error because there isn't anything to do
} depCtr, _ = c.getRootNetNsDepCtr()
} else if len(netStatus) != 0 {
depCtr = c
}
if depCtr != nil { if depCtr != nil {
for _, status := range depCtr.getNetworkStatus() { for _, status := range depCtr.getNetworkStatus() {
for _, netInt := range status.Interfaces { for _, netInt := range status.Interfaces {
for _, netAddress := range netInt.Networks { for _, netAddress := range netInt.Networks {
if netAddress.Gateway != nil { if netAddress.Gateway != nil {
hosts += fmt.Sprintf("%s host.containers.internal\n", netAddress.Gateway.String()) hosts += fmt.Sprintf("%s host.containers.internal\n", netAddress.Gateway.String())
}
} }
} }
} }
} } else if c.config.NetMode.IsSlirp4netns() {
} else if c.config.NetMode.IsSlirp4netns() { gatewayIP, err := GetSlirp4netnsGateway(c.slirp4netnsSubnet)
gatewayIP, err := GetSlirp4netnsGateway(c.slirp4netnsSubnet) if err != nil {
if err != nil { logrus.Warn("failed to determine gatewayIP: ", err.Error())
logrus.Warn("failed to determine gatewayIP: ", err.Error()) } else {
hosts += fmt.Sprintf("%s host.containers.internal\n", gatewayIP.String())
}
} else { } else {
hosts += fmt.Sprintf("%s host.containers.internal\n", gatewayIP.String()) logrus.Debug("network configuration does not support host.containers.internal address")
} }
} else {
logrus.Debug("network configuration does not support host.containers.internal address")
} }
return hosts return hosts