diff options
author | OpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com> | 2020-06-23 12:16:15 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-06-23 12:16:15 +0200 |
commit | 3c51ff92caf9523e567c4bcea48d6a668220f25f (patch) | |
tree | 028381aef1fa23d17cfa606bcb284c0d5ce8fe17 /pkg | |
parent | 9e37fd43e47d32d5bfbc920c6d7aedfad5662ae0 (diff) | |
parent | 2abcd4f1de41a5e977ea7c48d5a9e9a51d410a18 (diff) | |
download | podman-3c51ff92caf9523e567c4bcea48d6a668220f25f.tar.gz podman-3c51ff92caf9523e567c4bcea48d6a668220f25f.tar.bz2 podman-3c51ff92caf9523e567c4bcea48d6a668220f25f.zip |
Merge pull request #6710 from vrothberg/fix-6413
libpod/containers/json: alias last -> limit
Diffstat (limited to 'pkg')
-rw-r--r-- | pkg/api/handlers/libpod/containers.go | 17 | ||||
-rw-r--r-- | pkg/bindings/containers/containers.go | 2 |
2 files changed, 16 insertions, 3 deletions
diff --git a/pkg/api/handlers/libpod/containers.go b/pkg/api/handlers/libpod/containers.go index 2556cdc2a..506286736 100644 --- a/pkg/api/handlers/libpod/containers.go +++ b/pkg/api/handlers/libpod/containers.go @@ -14,6 +14,7 @@ import ( "github.com/containers/libpod/pkg/ps" "github.com/gorilla/schema" "github.com/pkg/errors" + "github.com/sirupsen/logrus" ) func ContainerExists(w http.ResponseWriter, r *http.Request) { @@ -36,7 +37,8 @@ func ListContainers(w http.ResponseWriter, r *http.Request) { query := struct { All bool `schema:"all"` Filters map[string][]string `schema:"filters"` - Last int `schema:"last"` + Last int `schema:"last"` // alias for limit + Limit int `schema:"limit"` Namespace bool `schema:"namespace"` Pod bool `schema:"pod"` Size bool `schema:"size"` @@ -50,11 +52,22 @@ func ListContainers(w http.ResponseWriter, r *http.Request) { errors.Wrapf(err, "Failed to parse parameters for %s", r.URL.String())) return } + + limit := query.Limit + // Support `last` as an alias for `limit`. While Podman uses --last in + // the CLI, the API is using `limit`. As we first used `last` in the + // API as well, we decided to go with aliasing to prevent any + // regression. See github.com/containers/libpod/issues/6413. + if _, found := r.URL.Query()["last"]; found { + logrus.Info("List containers: received `last` parameter - overwriting `limit`") + limit = query.Last + } + runtime := r.Context().Value("runtime").(*libpod.Runtime) opts := entities.ContainerListOptions{ All: query.All, Filters: query.Filters, - Last: query.Last, + Last: limit, Size: query.Size, Sort: "", Namespace: query.Namespace, diff --git a/pkg/bindings/containers/containers.go b/pkg/bindings/containers/containers.go index 929b6bbd5..8c588bb40 100644 --- a/pkg/bindings/containers/containers.go +++ b/pkg/bindings/containers/containers.go @@ -35,7 +35,7 @@ func List(ctx context.Context, filters map[string][]string, all *bool, last *int params.Set("all", strconv.FormatBool(*all)) } if last != nil { - params.Set("last", strconv.Itoa(*last)) + params.Set("limit", strconv.Itoa(*last)) } if pod != nil { params.Set("pod", strconv.FormatBool(*pod)) |