mirror of
https://github.com/containers/podman.git
synced 2025-05-20 08:36:23 +08:00
Report properly whether pod shares host network
Fixes: https://github.com/containers/podman/issues/14028 Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
This commit is contained in:
@ -159,6 +159,15 @@ func (p *Pod) CPUQuota() int64 {
|
||||
return 0
|
||||
}
|
||||
|
||||
// NetworkMode returns the Network mode given by the user ex: pod, private...
|
||||
func (p *Pod) NetworkMode() string {
|
||||
infra, err := p.runtime.GetContainer(p.state.InfraContainerID)
|
||||
if err != nil {
|
||||
return ""
|
||||
}
|
||||
return infra.NetworkMode()
|
||||
}
|
||||
|
||||
// PidMode returns the PID mode given by the user ex: pod, private...
|
||||
func (p *Pod) PidMode() string {
|
||||
infra, err := p.runtime.GetContainer(p.state.InfraContainerID)
|
||||
|
@ -593,7 +593,7 @@ func (p *Pod) Inspect() (*define.InspectPodData, error) {
|
||||
return nil, err
|
||||
}
|
||||
infraConfig = new(define.InspectPodInfraConfig)
|
||||
infraConfig.HostNetwork = !infra.config.ContainerNetworkConfig.UseImageHosts
|
||||
infraConfig.HostNetwork = p.NetworkMode() == "host"
|
||||
infraConfig.StaticIP = infra.config.ContainerNetworkConfig.StaticIP
|
||||
infraConfig.NoManageResolvConf = infra.config.UseImageResolvConf
|
||||
infraConfig.NoManageHosts = infra.config.UseImageHosts
|
||||
|
@ -381,4 +381,32 @@ EOF
|
||||
is "$output" ".*$container_3_ID.*"
|
||||
}
|
||||
|
||||
@test "podman pod create share net" {
|
||||
run_podman pod create --name test
|
||||
run_podman pod inspect test --format {{.InfraConfig.HostNetwork}}
|
||||
is "$output" "false" "Default network sharing should be false"
|
||||
run_podman pod rm test
|
||||
|
||||
run_podman pod create --name test --share ipc --network private
|
||||
run_podman pod inspect test --format {{.InfraConfig.HostNetwork}}
|
||||
is "$output" "false" "Private network sharing with only ipc should be false"
|
||||
run_podman pod rm test
|
||||
|
||||
run_podman pod create --name test --share net --network private
|
||||
run_podman pod inspect test --format {{.InfraConfig.HostNetwork}}
|
||||
is "$output" "false" "Private network sharing with only net should be false"
|
||||
run_podman pod rm test
|
||||
|
||||
run_podman pod create --name test --share net --network host
|
||||
run_podman pod inspect test --format {{.InfraConfig.HostNetwork}}
|
||||
is "$output" "true" "Host network sharing with only net should be true"
|
||||
run_podman pod rm test
|
||||
|
||||
run_podman pod create --name test --share ipc --network host
|
||||
run_podman pod inspect test --format {{.InfraConfig.HostNetwork}}
|
||||
is "$output" "true" "Host network sharing with only ipc should be true"
|
||||
run_podman pod rm test
|
||||
|
||||
}
|
||||
|
||||
# vim: filetype=sh
|
||||
|
Reference in New Issue
Block a user