summaryrefslogtreecommitdiff
path: root/pkg/specgen
diff options
context:
space:
mode:
authorDaniel J Walsh <dwalsh@redhat.com>2021-09-22 17:08:21 -0400
committerDaniel J Walsh <dwalsh@redhat.com>2021-10-01 10:53:50 -0400
commit641f0ccc4eb999af3c2a01d709769287ba45451c (patch)
tree9802bd834c1a587fc776a8569db48c0405cc676f /pkg/specgen
parent285c9ec69b7c48467d183d2507cbd4163b9c21c9 (diff)
downloadpodman-641f0ccc4eb999af3c2a01d709769287ba45451c.tar.gz
podman-641f0ccc4eb999af3c2a01d709769287ba45451c.tar.bz2
podman-641f0ccc4eb999af3c2a01d709769287ba45451c.zip
Add podman play kube --no-hosts options
This option will setup the containers to not modify their /etc/hosts file and just use the one from the image. Fixes: https://github.com/containers/podman/issues/9500 Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
Diffstat (limited to 'pkg/specgen')
-rw-r--r--pkg/specgen/generate/kube/kube.go7
1 files changed, 5 insertions, 2 deletions
diff --git a/pkg/specgen/generate/kube/kube.go b/pkg/specgen/generate/kube/kube.go
index 9389b1a20..194c8dce5 100644
--- a/pkg/specgen/generate/kube/kube.go
+++ b/pkg/specgen/generate/kube/kube.go
@@ -26,8 +26,8 @@ import (
)
func ToPodOpt(ctx context.Context, podName string, p entities.PodCreateOptions, podYAML *v1.PodTemplateSpec) (entities.PodCreateOptions, error) {
- // p := specgen.NewPodSpecGenerator()
- p.Net = &entities.NetOptions{}
+ p.Net = &entities.NetOptions{NoHosts: p.Net.NoHosts}
+
p.Name = podName
p.Labels = podYAML.ObjectMeta.Labels
// Kube pods must share {ipc, net, uts} by default
@@ -47,6 +47,9 @@ func ToPodOpt(ctx context.Context, podName string, p entities.PodCreateOptions,
p.Net.Network = specgen.Namespace{NSMode: "host"}
}
if podYAML.Spec.HostAliases != nil {
+ if p.Net.NoHosts {
+ return p, errors.New("HostAliases in yaml file will not work with --no-hosts")
+ }
hosts := make([]string, 0, len(podYAML.Spec.HostAliases))
for _, hostAlias := range podYAML.Spec.HostAliases {
for _, host := range hostAlias.Hostnames {