mirror of
https://github.com/podman-container-tools/podman.git
synced 2026-11-06 07:57:31 +00:00
Add default net info in container inspect
when inspecting a container that is only connected to the default network, we should populate the default network in the container inspect information. Fixes: #6618 Signed-off-by: baude <bbaude@redhat.com> MH: Small fixes, added another test Signed-off-by: Matthew Heon <matthew.heon@pm.me>
This commit is contained in:
parent
b4aa54c756
commit
2393dd304d
2 changed files with 28 additions and 3 deletions
|
|
@ -955,7 +955,7 @@ func (c *Container) getContainerNetworkInfo() (*define.InspectNetworkSettings, e
|
|||
if c.state.NetNS == nil {
|
||||
// We still want to make dummy configurations for each CNI net
|
||||
// the container joined.
|
||||
if len(networks) > 0 && !isDefault {
|
||||
if len(networks) > 0 {
|
||||
settings.Networks = make(map[string]*define.InspectAdditionalNetwork, len(networks))
|
||||
for _, net := range networks {
|
||||
cniNet := new(define.InspectAdditionalNetwork)
|
||||
|
|
@ -976,7 +976,7 @@ func (c *Container) getContainerNetworkInfo() (*define.InspectNetworkSettings, e
|
|||
}
|
||||
|
||||
// If we have CNI networks - handle that here
|
||||
if len(networks) > 0 && !isDefault {
|
||||
if len(networks) > 0 {
|
||||
if len(networks) != len(c.state.NetworkStatus) {
|
||||
return nil, errors.Wrapf(define.ErrInternal, "network inspection mismatch: asked to join %d CNI network(s) %v, but have information on %d network(s)", len(networks), networks, len(c.state.NetworkStatus))
|
||||
}
|
||||
|
|
@ -1006,7 +1006,9 @@ func (c *Container) getContainerNetworkInfo() (*define.InspectNetworkSettings, e
|
|||
settings.Networks[name] = addedNet
|
||||
}
|
||||
|
||||
return settings, nil
|
||||
if !isDefault {
|
||||
return settings, nil
|
||||
}
|
||||
}
|
||||
|
||||
// If not joining networks, we should have at most 1 result
|
||||
|
|
|
|||
|
|
@ -443,4 +443,27 @@ var _ = Describe("Podman inspect", func() {
|
|||
Expect(inspect.OutputToString()).To(Equal(`"{"80/tcp":[{"HostIp":"","HostPort":"8080"}]}"`))
|
||||
})
|
||||
|
||||
It("Verify container inspect has default network", func() {
|
||||
SkipIfRootless("Requires root CNI networking")
|
||||
ctrName := "testctr"
|
||||
session := podmanTest.Podman([]string{"run", "-d", "--name", ctrName, ALPINE, "top"})
|
||||
session.WaitWithDefaultTimeout()
|
||||
Expect(session.ExitCode()).To(BeZero())
|
||||
|
||||
inspect := podmanTest.InspectContainer(ctrName)
|
||||
Expect(len(inspect)).To(Equal(1))
|
||||
Expect(len(inspect[0].NetworkSettings.Networks)).To(Equal(1))
|
||||
})
|
||||
|
||||
It("Verify stopped container still has default network in inspect", func() {
|
||||
SkipIfRootless("Requires root CNI networking")
|
||||
ctrName := "testctr"
|
||||
session := podmanTest.Podman([]string{"create", "--name", ctrName, ALPINE, "top"})
|
||||
session.WaitWithDefaultTimeout()
|
||||
Expect(session.ExitCode()).To(BeZero())
|
||||
|
||||
inspect := podmanTest.InspectContainer(ctrName)
|
||||
Expect(len(inspect)).To(Equal(1))
|
||||
Expect(len(inspect[0].NetworkSettings.Networks)).To(Equal(1))
|
||||
})
|
||||
})
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue