diff options
author | OpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com> | 2022-05-06 16:08:47 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-05-06 16:08:47 -0400 |
commit | a0ecb8675d1c45f083a70a6b3faaebd22abe5417 (patch) | |
tree | 54774fbdff2fe6f5e0fd39a3b4f1d7c5963ef23b /libpod | |
parent | a64dd312a293eb782072ffff976a1de644a00d04 (diff) | |
parent | ed8c1dfb4c62b05a944c811d49cd56d21c1c1ede (diff) | |
download | podman-a0ecb8675d1c45f083a70a6b3faaebd22abe5417.tar.gz podman-a0ecb8675d1c45f083a70a6b3faaebd22abe5417.tar.bz2 podman-a0ecb8675d1c45f083a70a6b3faaebd22abe5417.zip |
Merge pull request #14136 from Luap99/config-networks
libpod: add c.ConfigWithNetworks()
Diffstat (limited to 'libpod')
-rw-r--r-- | libpod/container.go | 27 |
1 files changed, 16 insertions, 11 deletions
diff --git a/libpod/container.go b/libpod/container.go index 457b290b7..4b2af02ab 100644 --- a/libpod/container.go +++ b/libpod/container.go @@ -281,21 +281,29 @@ type ContainerNetworkDescriptions map[string]int // Config accessors // Unlocked -// Config returns the configuration used to create the container +// Config returns the configuration used to create the container. +// Note that the returned config does not include the actual networks. +// Use ConfigWithNetworks() if you need them. func (c *Container) Config() *ContainerConfig { returnConfig := new(ContainerConfig) if err := JSONDeepCopy(c.config, returnConfig); err != nil { return nil } + return returnConfig +} - if c != nil { - networks, err := c.networks() - if err != nil { - return nil - } +// Config returns the configuration used to create the container. +func (c *Container) ConfigWithNetworks() *ContainerConfig { + returnConfig := c.Config() + if returnConfig == nil { + return nil + } - returnConfig.Networks = networks + networks, err := c.networks() + if err != nil { + return nil } + returnConfig.Networks = networks return returnConfig } @@ -1269,10 +1277,7 @@ func (c *Container) NetworkMode() string { // Unlocked accessor for networks func (c *Container) networks() (map[string]types.PerNetworkOptions, error) { - if c != nil && c.runtime != nil && c.runtime.state != nil { // can fail if c.networks is called from the tests - return c.runtime.state.GetNetworks(c) - } - return nil, nil + return c.runtime.state.GetNetworks(c) } // getInterfaceByName returns a formatted interface name for a given |