diff options
author | Matthew Heon <matthew.heon@pm.me> | 2020-08-04 15:51:13 -0400 |
---|---|---|
committer | Matthew Heon <matthew.heon@pm.me> | 2020-08-10 10:15:51 -0400 |
commit | 569854d6348e1cd74e8d654c88720e5517898f1a (patch) | |
tree | 8eaf3233da1ce1a4d1c3d39dc502a08e60307e2d /libpod/state.go | |
parent | da00482ef29e0a04a690f1538391e38b0b951dd0 (diff) | |
download | podman-569854d6348e1cd74e8d654c88720e5517898f1a.tar.gz podman-569854d6348e1cd74e8d654c88720e5517898f1a.tar.bz2 podman-569854d6348e1cd74e8d654c88720e5517898f1a.zip |
Unconditionally retrieve pod names via API
The ListContainers API previously had a Pod parameter, which
determined if pod name was returned (but, notably, not Pod ID,
which was returned unconditionally). This was fairly confusing,
so we decided to deprecate/remove the parameter and return it
unconditionally.
To do this without serious performance implications, we need to
avoid expensive JSON decodes of pod configuration in the DB. The
way our Bolt tables are structured, retrieving name given ID is
actually quite cheap, but we did not expose this via the Libpod
API. Add a new GetName API to do this.
Fixes #7214
Signed-off-by: Matthew Heon <matthew.heon@pm.me>
Diffstat (limited to 'libpod/state.go')
-rw-r--r-- | libpod/state.go | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/libpod/state.go b/libpod/state.go index 6206a2994..44632b02f 100644 --- a/libpod/state.go +++ b/libpod/state.go @@ -43,6 +43,12 @@ type State interface { // containers and pods in all namespaces will be returned. SetNamespace(ns string) error + // Resolve an ID into a Name. Since Podman names and IDs are globally + // unique between Pods and Containers, the ID may belong to either a pod + // or container. Despite this, we will always return ErrNoSuchCtr if the + // ID does not exist. + GetName(id string) (string, error) + // Return a container from the database from its full ID. // If the container is not in the set namespace, an error will be // returned. |