diff options
author | OpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com> | 2020-12-02 15:27:14 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-12-02 15:27:14 +0100 |
commit | 7210b86d9ee5aa38a07829e58038049d224cad61 (patch) | |
tree | 3c040ea73c85ff2797c1950d41adec3d37c78c7a /pkg | |
parent | d28874b2f4bc4f522ed2dc63412e9ddfea011fac (diff) | |
parent | c31a5c0d9c9db52f03caa443a3fdfdce194046e8 (diff) | |
download | podman-7210b86d9ee5aa38a07829e58038049d224cad61.tar.gz podman-7210b86d9ee5aa38a07829e58038049d224cad61.tar.bz2 podman-7210b86d9ee5aa38a07829e58038049d224cad61.zip |
Merge pull request #8549 from Luap99/network-id-support
Add support for network ids
Diffstat (limited to 'pkg')
-rw-r--r-- | pkg/api/handlers/compat/networks.go | 14 | ||||
-rw-r--r-- | pkg/api/server/register_networks.go | 2 |
2 files changed, 9 insertions, 7 deletions
diff --git a/pkg/api/handlers/compat/networks.go b/pkg/api/handlers/compat/networks.go index 762f88a68..b4f3aa2f1 100644 --- a/pkg/api/handlers/compat/networks.go +++ b/pkg/api/handlers/compat/networks.go @@ -50,7 +50,7 @@ func InspectNetwork(w http.ResponseWriter, r *http.Request) { utils.NetworkNotFound(w, name, err) return } - report, err := getNetworkResourceByName(name, runtime, nil) + report, err := getNetworkResourceByNameOrID(name, runtime, nil) if err != nil { utils.InternalServerError(w, err) return @@ -58,7 +58,7 @@ func InspectNetwork(w http.ResponseWriter, r *http.Request) { utils.WriteResponse(w, http.StatusOK, report) } -func getNetworkResourceByName(name string, runtime *libpod.Runtime, filters map[string][]string) (*types.NetworkResource, error) { +func getNetworkResourceByNameOrID(nameOrID string, runtime *libpod.Runtime, filters map[string][]string) (*types.NetworkResource, error) { var ( ipamConfigs []dockerNetwork.IPAMConfig ) @@ -68,7 +68,7 @@ func getNetworkResourceByName(name string, runtime *libpod.Runtime, filters map[ } containerEndpoints := map[string]types.EndpointResource{} // Get the network path so we can get created time - networkConfigPath, err := network.GetCNIConfigPathByName(config, name) + networkConfigPath, err := network.GetCNIConfigPathByNameOrID(config, nameOrID) if err != nil { return nil, err } @@ -116,7 +116,7 @@ func getNetworkResourceByName(name string, runtime *libpod.Runtime, filters map[ if err != nil { return nil, err } - if netData, ok := data.NetworkSettings.Networks[name]; ok { + if netData, ok := data.NetworkSettings.Networks[conf.Name]; ok { containerEndpoint := types.EndpointResource{ Name: netData.NetworkID, EndpointID: netData.EndpointID, @@ -128,8 +128,8 @@ func getNetworkResourceByName(name string, runtime *libpod.Runtime, filters map[ } } report := types.NetworkResource{ - Name: name, - ID: name, + Name: conf.Name, + ID: network.GetNetworkID(conf.Name), Created: time.Unix(int64(stat.Ctim.Sec), int64(stat.Ctim.Nsec)), // nolint: unconvert Scope: "", Driver: network.DefaultNetworkDriver, @@ -199,7 +199,7 @@ func ListNetworks(w http.ResponseWriter, r *http.Request) { var reports []*types.NetworkResource logrus.Errorf("netNames: %q", strings.Join(netNames, ", ")) for _, name := range netNames { - report, err := getNetworkResourceByName(name, runtime, query.Filters) + report, err := getNetworkResourceByNameOrID(name, runtime, query.Filters) if err != nil { utils.InternalServerError(w, err) return diff --git a/pkg/api/server/register_networks.go b/pkg/api/server/register_networks.go index 193b05e6d..e6c85d244 100644 --- a/pkg/api/server/register_networks.go +++ b/pkg/api/server/register_networks.go @@ -68,6 +68,7 @@ func (s *APIServer) registerNetworkHandlers(r *mux.Router) error { // description: | // JSON encoded value of the filters (a map[string][]string) to process on the network list. Currently available filters: // - name=[name] Matches network name (accepts regex). + // - id=[id] Matches for full or partial ID. // - driver=[driver] Only bridge is supported. // - label=[key] or label=[key=value] Matches networks based on the presence of a label alone or a label and a value. // produces: @@ -225,6 +226,7 @@ func (s *APIServer) registerNetworkHandlers(r *mux.Router) error { // description: | // JSON encoded value of the filters (a map[string][]string) to process on the network list. Available filters: // - name=[name] Matches network name (accepts regex). + // - id=[id] Matches for full or partial ID. // - driver=[driver] Only bridge is supported. // - label=[key] or label=[key=value] Matches networks based on the presence of a label alone or a label and a value. // - plugin=[plugin] Matches CNI plugins included in a network (e.g `bridge`,`portmap`,`firewall`,`tuning`,`dnsname`,`macvlan`) |