mirror of https://github.com/containers/podman.git
Enable no_hosts from containers.conf
Since we have no good way to enable this on the server side, we will just allow it to be set on the client side. This should solve almost all cases. Partially fixes: https://github.com/containers/podman/issues/9500 Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
This commit is contained in:
parent
05410e81ef
commit
680dacaea2
|
@ -80,7 +80,7 @@ func DefineNetFlags(cmd *cobra.Command) {
|
||||||
_ = cmd.RegisterFlagCompletionFunc(publishFlagName, completion.AutocompleteNone)
|
_ = cmd.RegisterFlagCompletionFunc(publishFlagName, completion.AutocompleteNone)
|
||||||
|
|
||||||
netFlags.Bool(
|
netFlags.Bool(
|
||||||
"no-hosts", false,
|
"no-hosts", containerConfig.Containers.NoHosts,
|
||||||
"Do not create /etc/hosts within the container, instead use the version from the image",
|
"Do not create /etc/hosts within the container, instead use the version from the image",
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
@ -166,7 +166,11 @@ func createInit(c *cobra.Command) error {
|
||||||
return errors.Errorf("--cpu-quota and --cpus cannot be set together")
|
return errors.Errorf("--cpu-quota and --cpus cannot be set together")
|
||||||
}
|
}
|
||||||
|
|
||||||
if c.Flag("no-hosts").Changed && c.Flag("add-host").Changed {
|
noHosts, err := c.Flags().GetBool("no-hosts")
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
if noHosts && c.Flag("add-host").Changed {
|
||||||
return errors.Errorf("--no-hosts and --add-host cannot be set together")
|
return errors.Errorf("--no-hosts and --add-host cannot be set together")
|
||||||
}
|
}
|
||||||
cliVals.UserNS = c.Flag("userns").Value.String()
|
cliVals.UserNS = c.Flag("userns").Value.String()
|
||||||
|
|
|
@ -55,6 +55,7 @@ umask = "0002"
|
||||||
|
|
||||||
annotations=["run.oci.keep_original_groups=1",]
|
annotations=["run.oci.keep_original_groups=1",]
|
||||||
|
|
||||||
|
no_hosts=true
|
||||||
[engine]
|
[engine]
|
||||||
|
|
||||||
network_cmd_options=["allow_host_loopback=true"]
|
network_cmd_options=["allow_host_loopback=true"]
|
||||||
|
|
|
@ -331,4 +331,26 @@ var _ = Describe("Podman run", func() {
|
||||||
Expect(inspect.OutputToString()).To(ContainSubstring("run.oci.keep_original_groups:1"))
|
Expect(inspect.OutputToString()).To(ContainSubstring("run.oci.keep_original_groups:1"))
|
||||||
})
|
})
|
||||||
|
|
||||||
|
It("podman run with --add-host and no-hosts=true fails", func() {
|
||||||
|
session := podmanTest.Podman([]string{"run", "-dt", "--add-host", "test1:127.0.0.1", ALPINE, "top"})
|
||||||
|
session.WaitWithDefaultTimeout()
|
||||||
|
Expect(session).To(ExitWithError())
|
||||||
|
Expect(session.ErrorToString()).To(ContainSubstring("--no-hosts and --add-host cannot be set together"))
|
||||||
|
|
||||||
|
session = podmanTest.Podman([]string{"run", "-dt", "--add-host", "test1:127.0.0.1", "--no-hosts=false", ALPINE, "top"})
|
||||||
|
session.WaitWithDefaultTimeout()
|
||||||
|
Expect(session.ExitCode()).To(Equal(0))
|
||||||
|
})
|
||||||
|
|
||||||
|
It("podman run with no-hosts=true /etc/hosts does not include hostname", func() {
|
||||||
|
session := podmanTest.Podman([]string{"run", "--rm", "--name", "test", ALPINE, "cat", "/etc/hosts"})
|
||||||
|
session.WaitWithDefaultTimeout()
|
||||||
|
Expect(session.ExitCode()).To(Equal(0))
|
||||||
|
Expect(session.OutputToString()).To(Not(ContainSubstring("test")))
|
||||||
|
|
||||||
|
session = podmanTest.Podman([]string{"run", "--rm", "--name", "test", "--no-hosts=false", ALPINE, "cat", "/etc/hosts"})
|
||||||
|
session.WaitWithDefaultTimeout()
|
||||||
|
Expect(session.ExitCode()).To(Equal(0))
|
||||||
|
Expect(session.OutputToString()).To(ContainSubstring("test"))
|
||||||
|
})
|
||||||
})
|
})
|
||||||
|
|
Loading…
Reference in New Issue