mirror of
https://github.com/containers/podman.git
synced 2025-08-06 19:44:14 +08:00

With the advent of Podman 2.0.0 we crossed the magical barrier of go modules. While we were able to continue importing all packages inside of the project, the project could not be vendored anymore from the outside. Move the go module to new major version and change all imports to `github.com/containers/libpod/v2`. The renaming of the imports was done via `gomove` [1]. [1] https://github.com/KSubedi/gomove Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
67 lines
1.5 KiB
Go
67 lines
1.5 KiB
Go
package varlinkapi
|
|
|
|
import (
|
|
"github.com/containers/libpod/v2/libpod"
|
|
"github.com/sirupsen/logrus"
|
|
)
|
|
|
|
// getPodsByContext returns a slice of pods. Note that all, latest and pods are
|
|
// mutually exclusive arguments.
|
|
func getPodsByContext(all, latest bool, pods []string, runtime *libpod.Runtime) ([]*libpod.Pod, error) {
|
|
var outpods []*libpod.Pod
|
|
if all {
|
|
return runtime.GetAllPods()
|
|
}
|
|
if latest {
|
|
p, err := runtime.GetLatestPod()
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
outpods = append(outpods, p)
|
|
return outpods, nil
|
|
}
|
|
var err error
|
|
for _, p := range pods {
|
|
pod, e := runtime.LookupPod(p)
|
|
if e != nil {
|
|
// Log all errors here, so callers don't need to.
|
|
logrus.Debugf("Error looking up pod %q: %v", p, e)
|
|
if err == nil {
|
|
err = e
|
|
}
|
|
} else {
|
|
outpods = append(outpods, pod)
|
|
}
|
|
}
|
|
return outpods, err
|
|
}
|
|
|
|
// getContainersByContext gets pods whether all, latest, or a slice of names/ids
|
|
// is specified.
|
|
func getContainersByContext(all, latest bool, names []string, runtime *libpod.Runtime) (ctrs []*libpod.Container, err error) {
|
|
var ctr *libpod.Container
|
|
ctrs = []*libpod.Container{}
|
|
|
|
switch {
|
|
case all:
|
|
ctrs, err = runtime.GetAllContainers()
|
|
case latest:
|
|
ctr, err = runtime.GetLatestContainer()
|
|
ctrs = append(ctrs, ctr)
|
|
default:
|
|
for _, n := range names {
|
|
ctr, e := runtime.LookupContainer(n)
|
|
if e != nil {
|
|
// Log all errors here, so callers don't need to.
|
|
logrus.Debugf("Error looking up container %q: %v", n, e)
|
|
if err == nil {
|
|
err = e
|
|
}
|
|
} else {
|
|
ctrs = append(ctrs, ctr)
|
|
}
|
|
}
|
|
}
|
|
return
|
|
}
|