mirror of https://github.com/containers/podman.git
Merge pull request #9004 from baude/existsoptions
Add binding options for container|pod exists
This commit is contained in:
commit
8c6df5e93e
|
@ -341,13 +341,15 @@ func Wait(ctx context.Context, nameOrID string, options *WaitOptions) (int32, er
|
||||||
// Exists is a quick, light-weight way to determine if a given container
|
// Exists is a quick, light-weight way to determine if a given container
|
||||||
// exists in local storage. The nameOrID can be a container name
|
// exists in local storage. The nameOrID can be a container name
|
||||||
// or a partial/full ID.
|
// or a partial/full ID.
|
||||||
func Exists(ctx context.Context, nameOrID string, external bool) (bool, error) {
|
func Exists(ctx context.Context, nameOrID string, options *ExistsOptions) (bool, error) {
|
||||||
conn, err := bindings.GetClient(ctx)
|
conn, err := bindings.GetClient(ctx)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return false, err
|
return false, err
|
||||||
}
|
}
|
||||||
params := url.Values{}
|
params, err := options.ToParams()
|
||||||
params.Set("external", strconv.FormatBool(external))
|
if err != nil {
|
||||||
|
return false, err
|
||||||
|
}
|
||||||
response, err := conn.DoRequest(nil, http.MethodGet, "/containers/%s/exists", params, nil, nameOrID)
|
response, err := conn.DoRequest(nil, http.MethodGet, "/containers/%s/exists", params, nil, nameOrID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return false, err
|
return false, err
|
||||||
|
|
|
@ -237,3 +237,10 @@ type ExecStartAndAttachOptions struct {
|
||||||
// If false, stdout will not be attached
|
// If false, stdout will not be attached
|
||||||
AttachInput *bool
|
AttachInput *bool
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//go:generate go run ../generator/generator.go ExistsOptions
|
||||||
|
// ExistsOptions are optional options for checking if a container exists
|
||||||
|
type ExistsOptions struct {
|
||||||
|
// External checks for containers created outside of Podman
|
||||||
|
External *bool
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,104 @@
|
||||||
|
package containers
|
||||||
|
|
||||||
|
import (
|
||||||
|
"net/url"
|
||||||
|
"reflect"
|
||||||
|
"strconv"
|
||||||
|
"strings"
|
||||||
|
|
||||||
|
jsoniter "github.com/json-iterator/go"
|
||||||
|
"github.com/pkg/errors"
|
||||||
|
)
|
||||||
|
|
||||||
|
/*
|
||||||
|
This file is generated automatically by go generate. Do not edit.
|
||||||
|
*/
|
||||||
|
|
||||||
|
// Changed
|
||||||
|
func (o *ExistsOptions) Changed(fieldName string) bool {
|
||||||
|
r := reflect.ValueOf(o)
|
||||||
|
value := reflect.Indirect(r).FieldByName(fieldName)
|
||||||
|
return !value.IsNil()
|
||||||
|
}
|
||||||
|
|
||||||
|
// ToParams
|
||||||
|
func (o *ExistsOptions) ToParams() (url.Values, error) {
|
||||||
|
params := url.Values{}
|
||||||
|
if o == nil {
|
||||||
|
return params, nil
|
||||||
|
}
|
||||||
|
json := jsoniter.ConfigCompatibleWithStandardLibrary
|
||||||
|
s := reflect.ValueOf(o)
|
||||||
|
if reflect.Ptr == s.Kind() {
|
||||||
|
s = s.Elem()
|
||||||
|
}
|
||||||
|
sType := s.Type()
|
||||||
|
for i := 0; i < s.NumField(); i++ {
|
||||||
|
fieldName := sType.Field(i).Name
|
||||||
|
if !o.Changed(fieldName) {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
fieldName = strings.ToLower(fieldName)
|
||||||
|
f := s.Field(i)
|
||||||
|
if reflect.Ptr == f.Kind() {
|
||||||
|
f = f.Elem()
|
||||||
|
}
|
||||||
|
switch f.Kind() {
|
||||||
|
case reflect.Bool:
|
||||||
|
params.Set(fieldName, strconv.FormatBool(f.Bool()))
|
||||||
|
case reflect.String:
|
||||||
|
params.Set(fieldName, f.String())
|
||||||
|
case reflect.Int, reflect.Int64:
|
||||||
|
// f.Int() is always an int64
|
||||||
|
params.Set(fieldName, strconv.FormatInt(f.Int(), 10))
|
||||||
|
case reflect.Uint, reflect.Uint64:
|
||||||
|
// f.Uint() is always an uint64
|
||||||
|
params.Set(fieldName, strconv.FormatUint(f.Uint(), 10))
|
||||||
|
case reflect.Slice:
|
||||||
|
typ := reflect.TypeOf(f.Interface()).Elem()
|
||||||
|
switch typ.Kind() {
|
||||||
|
case reflect.String:
|
||||||
|
sl := f.Slice(0, f.Len())
|
||||||
|
s, ok := sl.Interface().([]string)
|
||||||
|
if !ok {
|
||||||
|
return nil, errors.New("failed to convert to string slice")
|
||||||
|
}
|
||||||
|
for _, val := range s {
|
||||||
|
params.Add(fieldName, val)
|
||||||
|
}
|
||||||
|
default:
|
||||||
|
return nil, errors.Errorf("unknown slice type %s", f.Kind().String())
|
||||||
|
}
|
||||||
|
case reflect.Map:
|
||||||
|
lowerCaseKeys := make(map[string][]string)
|
||||||
|
iter := f.MapRange()
|
||||||
|
for iter.Next() {
|
||||||
|
lowerCaseKeys[iter.Key().Interface().(string)] = iter.Value().Interface().([]string)
|
||||||
|
|
||||||
|
}
|
||||||
|
s, err := json.MarshalToString(lowerCaseKeys)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
params.Set(fieldName, s)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return params, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// WithExternal
|
||||||
|
func (o *ExistsOptions) WithExternal(value bool) *ExistsOptions {
|
||||||
|
v := &value
|
||||||
|
o.External = v
|
||||||
|
return o
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetExternal
|
||||||
|
func (o *ExistsOptions) GetExternal() bool {
|
||||||
|
var external bool
|
||||||
|
if o.External == nil {
|
||||||
|
return external
|
||||||
|
}
|
||||||
|
return *o.External
|
||||||
|
}
|
|
@ -18,7 +18,7 @@ import (
|
||||||
|
|
||||||
// Exists a lightweight way to determine if an image exists in local storage. It returns a
|
// Exists a lightweight way to determine if an image exists in local storage. It returns a
|
||||||
// boolean response.
|
// boolean response.
|
||||||
func Exists(ctx context.Context, nameOrID string) (bool, error) {
|
func Exists(ctx context.Context, nameOrID string, options *ExistsOptions) (bool, error) {
|
||||||
conn, err := bindings.GetClient(ctx)
|
conn, err := bindings.GetClient(ctx)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return false, err
|
return false, err
|
||||||
|
|
|
@ -193,3 +193,8 @@ type PullOptions struct {
|
||||||
type BuildOptions struct {
|
type BuildOptions struct {
|
||||||
imagebuildah.BuildOptions
|
imagebuildah.BuildOptions
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//go:generate go run ../generator/generator.go ExistsOptions
|
||||||
|
// ExistsOptions are optional options for checking if an image exists
|
||||||
|
type ExistsOptions struct {
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,88 @@
|
||||||
|
package images
|
||||||
|
|
||||||
|
import (
|
||||||
|
"net/url"
|
||||||
|
"reflect"
|
||||||
|
"strconv"
|
||||||
|
"strings"
|
||||||
|
|
||||||
|
jsoniter "github.com/json-iterator/go"
|
||||||
|
"github.com/pkg/errors"
|
||||||
|
)
|
||||||
|
|
||||||
|
/*
|
||||||
|
This file is generated automatically by go generate. Do not edit.
|
||||||
|
*/
|
||||||
|
|
||||||
|
// Changed
|
||||||
|
func (o *ExistsOptions) Changed(fieldName string) bool {
|
||||||
|
r := reflect.ValueOf(o)
|
||||||
|
value := reflect.Indirect(r).FieldByName(fieldName)
|
||||||
|
return !value.IsNil()
|
||||||
|
}
|
||||||
|
|
||||||
|
// ToParams
|
||||||
|
func (o *ExistsOptions) ToParams() (url.Values, error) {
|
||||||
|
params := url.Values{}
|
||||||
|
if o == nil {
|
||||||
|
return params, nil
|
||||||
|
}
|
||||||
|
json := jsoniter.ConfigCompatibleWithStandardLibrary
|
||||||
|
s := reflect.ValueOf(o)
|
||||||
|
if reflect.Ptr == s.Kind() {
|
||||||
|
s = s.Elem()
|
||||||
|
}
|
||||||
|
sType := s.Type()
|
||||||
|
for i := 0; i < s.NumField(); i++ {
|
||||||
|
fieldName := sType.Field(i).Name
|
||||||
|
if !o.Changed(fieldName) {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
fieldName = strings.ToLower(fieldName)
|
||||||
|
f := s.Field(i)
|
||||||
|
if reflect.Ptr == f.Kind() {
|
||||||
|
f = f.Elem()
|
||||||
|
}
|
||||||
|
switch f.Kind() {
|
||||||
|
case reflect.Bool:
|
||||||
|
params.Set(fieldName, strconv.FormatBool(f.Bool()))
|
||||||
|
case reflect.String:
|
||||||
|
params.Set(fieldName, f.String())
|
||||||
|
case reflect.Int, reflect.Int64:
|
||||||
|
// f.Int() is always an int64
|
||||||
|
params.Set(fieldName, strconv.FormatInt(f.Int(), 10))
|
||||||
|
case reflect.Uint, reflect.Uint64:
|
||||||
|
// f.Uint() is always an uint64
|
||||||
|
params.Set(fieldName, strconv.FormatUint(f.Uint(), 10))
|
||||||
|
case reflect.Slice:
|
||||||
|
typ := reflect.TypeOf(f.Interface()).Elem()
|
||||||
|
switch typ.Kind() {
|
||||||
|
case reflect.String:
|
||||||
|
sl := f.Slice(0, f.Len())
|
||||||
|
s, ok := sl.Interface().([]string)
|
||||||
|
if !ok {
|
||||||
|
return nil, errors.New("failed to convert to string slice")
|
||||||
|
}
|
||||||
|
for _, val := range s {
|
||||||
|
params.Add(fieldName, val)
|
||||||
|
}
|
||||||
|
default:
|
||||||
|
return nil, errors.Errorf("unknown slice type %s", f.Kind().String())
|
||||||
|
}
|
||||||
|
case reflect.Map:
|
||||||
|
lowerCaseKeys := make(map[string][]string)
|
||||||
|
iter := f.MapRange()
|
||||||
|
for iter.Next() {
|
||||||
|
lowerCaseKeys[iter.Key().Interface().(string)] = iter.Value().Interface().([]string)
|
||||||
|
|
||||||
|
}
|
||||||
|
s, err := json.MarshalToString(lowerCaseKeys)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
params.Set(fieldName, s)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return params, nil
|
||||||
|
}
|
|
@ -38,7 +38,7 @@ func CreatePodFromSpec(ctx context.Context, s *specgen.PodSpecGenerator, options
|
||||||
}
|
}
|
||||||
|
|
||||||
// Exists is a lightweight method to determine if a pod exists in local storage
|
// Exists is a lightweight method to determine if a pod exists in local storage
|
||||||
func Exists(ctx context.Context, nameOrID string) (bool, error) {
|
func Exists(ctx context.Context, nameOrID string, options *ExistsOptions) (bool, error) {
|
||||||
conn, err := bindings.GetClient(ctx)
|
conn, err := bindings.GetClient(ctx)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return false, err
|
return false, err
|
||||||
|
|
|
@ -70,3 +70,8 @@ type StatsOptions struct {
|
||||||
type RemoveOptions struct {
|
type RemoveOptions struct {
|
||||||
Force *bool
|
Force *bool
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//go:generate go run ../generator/generator.go ExistsOptions
|
||||||
|
// ExistsOptions are optional options for checking if a pod exists
|
||||||
|
type ExistsOptions struct {
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,88 @@
|
||||||
|
package pods
|
||||||
|
|
||||||
|
import (
|
||||||
|
"net/url"
|
||||||
|
"reflect"
|
||||||
|
"strconv"
|
||||||
|
"strings"
|
||||||
|
|
||||||
|
jsoniter "github.com/json-iterator/go"
|
||||||
|
"github.com/pkg/errors"
|
||||||
|
)
|
||||||
|
|
||||||
|
/*
|
||||||
|
This file is generated automatically by go generate. Do not edit.
|
||||||
|
*/
|
||||||
|
|
||||||
|
// Changed
|
||||||
|
func (o *ExistsOptions) Changed(fieldName string) bool {
|
||||||
|
r := reflect.ValueOf(o)
|
||||||
|
value := reflect.Indirect(r).FieldByName(fieldName)
|
||||||
|
return !value.IsNil()
|
||||||
|
}
|
||||||
|
|
||||||
|
// ToParams
|
||||||
|
func (o *ExistsOptions) ToParams() (url.Values, error) {
|
||||||
|
params := url.Values{}
|
||||||
|
if o == nil {
|
||||||
|
return params, nil
|
||||||
|
}
|
||||||
|
json := jsoniter.ConfigCompatibleWithStandardLibrary
|
||||||
|
s := reflect.ValueOf(o)
|
||||||
|
if reflect.Ptr == s.Kind() {
|
||||||
|
s = s.Elem()
|
||||||
|
}
|
||||||
|
sType := s.Type()
|
||||||
|
for i := 0; i < s.NumField(); i++ {
|
||||||
|
fieldName := sType.Field(i).Name
|
||||||
|
if !o.Changed(fieldName) {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
fieldName = strings.ToLower(fieldName)
|
||||||
|
f := s.Field(i)
|
||||||
|
if reflect.Ptr == f.Kind() {
|
||||||
|
f = f.Elem()
|
||||||
|
}
|
||||||
|
switch f.Kind() {
|
||||||
|
case reflect.Bool:
|
||||||
|
params.Set(fieldName, strconv.FormatBool(f.Bool()))
|
||||||
|
case reflect.String:
|
||||||
|
params.Set(fieldName, f.String())
|
||||||
|
case reflect.Int, reflect.Int64:
|
||||||
|
// f.Int() is always an int64
|
||||||
|
params.Set(fieldName, strconv.FormatInt(f.Int(), 10))
|
||||||
|
case reflect.Uint, reflect.Uint64:
|
||||||
|
// f.Uint() is always an uint64
|
||||||
|
params.Set(fieldName, strconv.FormatUint(f.Uint(), 10))
|
||||||
|
case reflect.Slice:
|
||||||
|
typ := reflect.TypeOf(f.Interface()).Elem()
|
||||||
|
switch typ.Kind() {
|
||||||
|
case reflect.String:
|
||||||
|
sl := f.Slice(0, f.Len())
|
||||||
|
s, ok := sl.Interface().([]string)
|
||||||
|
if !ok {
|
||||||
|
return nil, errors.New("failed to convert to string slice")
|
||||||
|
}
|
||||||
|
for _, val := range s {
|
||||||
|
params.Add(fieldName, val)
|
||||||
|
}
|
||||||
|
default:
|
||||||
|
return nil, errors.Errorf("unknown slice type %s", f.Kind().String())
|
||||||
|
}
|
||||||
|
case reflect.Map:
|
||||||
|
lowerCaseKeys := make(map[string][]string)
|
||||||
|
iter := f.MapRange()
|
||||||
|
for iter.Next() {
|
||||||
|
lowerCaseKeys[iter.Key().Interface().(string)] = iter.Value().Interface().([]string)
|
||||||
|
|
||||||
|
}
|
||||||
|
s, err := json.MarshalToString(lowerCaseKeys)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
params.Set(fieldName, s)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return params, nil
|
||||||
|
}
|
|
@ -406,7 +406,7 @@ var _ = Describe("Podman containers ", func() {
|
||||||
|
|
||||||
It("podman bogus container does not exist in local storage", func() {
|
It("podman bogus container does not exist in local storage", func() {
|
||||||
// Bogus container existence check should fail
|
// Bogus container existence check should fail
|
||||||
containerExists, err := containers.Exists(bt.conn, "foobar", false)
|
containerExists, err := containers.Exists(bt.conn, "foobar", nil)
|
||||||
Expect(err).To(BeNil())
|
Expect(err).To(BeNil())
|
||||||
Expect(containerExists).To(BeFalse())
|
Expect(containerExists).To(BeFalse())
|
||||||
})
|
})
|
||||||
|
@ -416,7 +416,7 @@ var _ = Describe("Podman containers ", func() {
|
||||||
var name = "top"
|
var name = "top"
|
||||||
_, err := bt.RunTopContainer(&name, bindings.PFalse, nil)
|
_, err := bt.RunTopContainer(&name, bindings.PFalse, nil)
|
||||||
Expect(err).To(BeNil())
|
Expect(err).To(BeNil())
|
||||||
containerExists, err := containers.Exists(bt.conn, name, false)
|
containerExists, err := containers.Exists(bt.conn, name, nil)
|
||||||
Expect(err).To(BeNil())
|
Expect(err).To(BeNil())
|
||||||
Expect(containerExists).To(BeTrue())
|
Expect(containerExists).To(BeTrue())
|
||||||
})
|
})
|
||||||
|
@ -426,7 +426,7 @@ var _ = Describe("Podman containers ", func() {
|
||||||
var name = "top"
|
var name = "top"
|
||||||
cid, err := bt.RunTopContainer(&name, bindings.PFalse, nil)
|
cid, err := bt.RunTopContainer(&name, bindings.PFalse, nil)
|
||||||
Expect(err).To(BeNil())
|
Expect(err).To(BeNil())
|
||||||
containerExists, err := containers.Exists(bt.conn, cid, false)
|
containerExists, err := containers.Exists(bt.conn, cid, nil)
|
||||||
Expect(err).To(BeNil())
|
Expect(err).To(BeNil())
|
||||||
Expect(containerExists).To(BeTrue())
|
Expect(containerExists).To(BeTrue())
|
||||||
})
|
})
|
||||||
|
@ -436,7 +436,7 @@ var _ = Describe("Podman containers ", func() {
|
||||||
var name = "top"
|
var name = "top"
|
||||||
cid, err := bt.RunTopContainer(&name, bindings.PFalse, nil)
|
cid, err := bt.RunTopContainer(&name, bindings.PFalse, nil)
|
||||||
Expect(err).To(BeNil())
|
Expect(err).To(BeNil())
|
||||||
containerExists, err := containers.Exists(bt.conn, cid[0:12], false)
|
containerExists, err := containers.Exists(bt.conn, cid[0:12], nil)
|
||||||
Expect(err).To(BeNil())
|
Expect(err).To(BeNil())
|
||||||
Expect(containerExists).To(BeTrue())
|
Expect(containerExists).To(BeTrue())
|
||||||
})
|
})
|
||||||
|
@ -456,7 +456,7 @@ var _ = Describe("Podman containers ", func() {
|
||||||
Expect(err).To(BeNil())
|
Expect(err).To(BeNil())
|
||||||
err = containers.Kill(bt.conn, name, "SIGINT", nil)
|
err = containers.Kill(bt.conn, name, "SIGINT", nil)
|
||||||
Expect(err).To(BeNil())
|
Expect(err).To(BeNil())
|
||||||
_, err = containers.Exists(bt.conn, name, false)
|
_, err = containers.Exists(bt.conn, name, nil)
|
||||||
Expect(err).To(BeNil())
|
Expect(err).To(BeNil())
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@ -467,7 +467,7 @@ var _ = Describe("Podman containers ", func() {
|
||||||
Expect(err).To(BeNil())
|
Expect(err).To(BeNil())
|
||||||
err = containers.Kill(bt.conn, cid, "SIGTERM", nil)
|
err = containers.Kill(bt.conn, cid, "SIGTERM", nil)
|
||||||
Expect(err).To(BeNil())
|
Expect(err).To(BeNil())
|
||||||
_, err = containers.Exists(bt.conn, cid, false)
|
_, err = containers.Exists(bt.conn, cid, nil)
|
||||||
Expect(err).To(BeNil())
|
Expect(err).To(BeNil())
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
|
@ -194,17 +194,17 @@ var _ = Describe("Podman images", func() {
|
||||||
|
|
||||||
It("Image Exists", func() {
|
It("Image Exists", func() {
|
||||||
// exists on bogus image should be false, with no error
|
// exists on bogus image should be false, with no error
|
||||||
exists, err := images.Exists(bt.conn, "foobar")
|
exists, err := images.Exists(bt.conn, "foobar", nil)
|
||||||
Expect(err).To(BeNil())
|
Expect(err).To(BeNil())
|
||||||
Expect(exists).To(BeFalse())
|
Expect(exists).To(BeFalse())
|
||||||
|
|
||||||
// exists with shortname should be true
|
// exists with shortname should be true
|
||||||
exists, err = images.Exists(bt.conn, alpine.shortName)
|
exists, err = images.Exists(bt.conn, alpine.shortName, nil)
|
||||||
Expect(err).To(BeNil())
|
Expect(err).To(BeNil())
|
||||||
Expect(exists).To(BeTrue())
|
Expect(exists).To(BeTrue())
|
||||||
|
|
||||||
// exists with fqname should be true
|
// exists with fqname should be true
|
||||||
exists, err = images.Exists(bt.conn, alpine.name)
|
exists, err = images.Exists(bt.conn, alpine.name, nil)
|
||||||
Expect(err).To(BeNil())
|
Expect(err).To(BeNil())
|
||||||
Expect(exists).To(BeTrue())
|
Expect(exists).To(BeTrue())
|
||||||
})
|
})
|
||||||
|
@ -213,7 +213,7 @@ var _ = Describe("Podman images", func() {
|
||||||
// load an image
|
// load an image
|
||||||
_, errs := images.Remove(bt.conn, []string{alpine.name}, nil)
|
_, errs := images.Remove(bt.conn, []string{alpine.name}, nil)
|
||||||
Expect(len(errs)).To(BeZero())
|
Expect(len(errs)).To(BeZero())
|
||||||
exists, err := images.Exists(bt.conn, alpine.name)
|
exists, err := images.Exists(bt.conn, alpine.name, nil)
|
||||||
Expect(err).To(BeNil())
|
Expect(err).To(BeNil())
|
||||||
Expect(exists).To(BeFalse())
|
Expect(exists).To(BeFalse())
|
||||||
f, err := os.Open(filepath.Join(ImageCacheDir, alpine.tarballName))
|
f, err := os.Open(filepath.Join(ImageCacheDir, alpine.tarballName))
|
||||||
|
@ -222,7 +222,7 @@ var _ = Describe("Podman images", func() {
|
||||||
names, err := images.Load(bt.conn, f)
|
names, err := images.Load(bt.conn, f)
|
||||||
Expect(err).To(BeNil())
|
Expect(err).To(BeNil())
|
||||||
Expect(names.Names[0]).To(Equal(alpine.name))
|
Expect(names.Names[0]).To(Equal(alpine.name))
|
||||||
exists, err = images.Exists(bt.conn, alpine.name)
|
exists, err = images.Exists(bt.conn, alpine.name, nil)
|
||||||
Expect(err).To(BeNil())
|
Expect(err).To(BeNil())
|
||||||
Expect(exists).To(BeTrue())
|
Expect(exists).To(BeTrue())
|
||||||
|
|
||||||
|
@ -231,7 +231,7 @@ var _ = Describe("Podman images", func() {
|
||||||
Expect(err).To(BeNil())
|
Expect(err).To(BeNil())
|
||||||
_, errs = images.Remove(bt.conn, []string{alpine.name}, nil)
|
_, errs = images.Remove(bt.conn, []string{alpine.name}, nil)
|
||||||
Expect(len(errs)).To(BeZero())
|
Expect(len(errs)).To(BeZero())
|
||||||
exists, err = images.Exists(bt.conn, alpine.name)
|
exists, err = images.Exists(bt.conn, alpine.name, nil)
|
||||||
Expect(err).To(BeNil())
|
Expect(err).To(BeNil())
|
||||||
Expect(exists).To(BeFalse())
|
Expect(exists).To(BeFalse())
|
||||||
names, err = images.Load(bt.conn, f)
|
names, err = images.Load(bt.conn, f)
|
||||||
|
@ -243,7 +243,7 @@ var _ = Describe("Podman images", func() {
|
||||||
Expect(err).To(BeNil())
|
Expect(err).To(BeNil())
|
||||||
_, errs = images.Remove(bt.conn, []string{alpine.name}, nil)
|
_, errs = images.Remove(bt.conn, []string{alpine.name}, nil)
|
||||||
Expect(len(errs)).To(BeZero())
|
Expect(len(errs)).To(BeZero())
|
||||||
exists, err = images.Exists(bt.conn, alpine.name)
|
exists, err = images.Exists(bt.conn, alpine.name, nil)
|
||||||
Expect(err).To(BeNil())
|
Expect(err).To(BeNil())
|
||||||
Expect(exists).To(BeFalse())
|
Expect(exists).To(BeFalse())
|
||||||
})
|
})
|
||||||
|
@ -266,7 +266,7 @@ var _ = Describe("Podman images", func() {
|
||||||
// load an image
|
// load an image
|
||||||
_, errs := images.Remove(bt.conn, []string{alpine.name}, nil)
|
_, errs := images.Remove(bt.conn, []string{alpine.name}, nil)
|
||||||
Expect(len(errs)).To(BeZero())
|
Expect(len(errs)).To(BeZero())
|
||||||
exists, err := images.Exists(bt.conn, alpine.name)
|
exists, err := images.Exists(bt.conn, alpine.name, nil)
|
||||||
Expect(err).To(BeNil())
|
Expect(err).To(BeNil())
|
||||||
Expect(exists).To(BeFalse())
|
Expect(exists).To(BeFalse())
|
||||||
f, err := os.Open(filepath.Join(ImageCacheDir, alpine.tarballName))
|
f, err := os.Open(filepath.Join(ImageCacheDir, alpine.tarballName))
|
||||||
|
@ -277,7 +277,7 @@ var _ = Describe("Podman images", func() {
|
||||||
options := new(images.ImportOptions).WithMessage(testMessage).WithChanges(changes).WithReference(alpine.name)
|
options := new(images.ImportOptions).WithMessage(testMessage).WithChanges(changes).WithReference(alpine.name)
|
||||||
_, err = images.Import(bt.conn, f, options)
|
_, err = images.Import(bt.conn, f, options)
|
||||||
Expect(err).To(BeNil())
|
Expect(err).To(BeNil())
|
||||||
exists, err = images.Exists(bt.conn, alpine.name)
|
exists, err = images.Exists(bt.conn, alpine.name, nil)
|
||||||
Expect(err).To(BeNil())
|
Expect(err).To(BeNil())
|
||||||
Expect(exists).To(BeTrue())
|
Expect(exists).To(BeTrue())
|
||||||
data, err := images.GetImage(bt.conn, alpine.name, nil)
|
data, err := images.GetImage(bt.conn, alpine.name, nil)
|
||||||
|
@ -357,7 +357,7 @@ var _ = Describe("Podman images", func() {
|
||||||
Expect(err).NotTo(HaveOccurred())
|
Expect(err).NotTo(HaveOccurred())
|
||||||
Expect(len(pulledImages)).To(Equal(1))
|
Expect(len(pulledImages)).To(Equal(1))
|
||||||
|
|
||||||
exists, err := images.Exists(bt.conn, rawImage)
|
exists, err := images.Exists(bt.conn, rawImage, nil)
|
||||||
Expect(err).NotTo(HaveOccurred())
|
Expect(err).NotTo(HaveOccurred())
|
||||||
Expect(exists).To(BeTrue())
|
Expect(exists).To(BeTrue())
|
||||||
|
|
||||||
|
|
|
@ -157,12 +157,12 @@ var _ = Describe("Podman pods", func() {
|
||||||
|
|
||||||
// The test validates if the exists responds
|
// The test validates if the exists responds
|
||||||
It("exists pod", func() {
|
It("exists pod", func() {
|
||||||
response, err := pods.Exists(bt.conn, "dummyName")
|
response, err := pods.Exists(bt.conn, "dummyName", nil)
|
||||||
Expect(err).To(BeNil())
|
Expect(err).To(BeNil())
|
||||||
Expect(response).To(BeFalse())
|
Expect(response).To(BeFalse())
|
||||||
|
|
||||||
// Should exit with no error and response should be true
|
// Should exit with no error and response should be true
|
||||||
response, err = pods.Exists(bt.conn, "newpod")
|
response, err = pods.Exists(bt.conn, "newpod", nil)
|
||||||
Expect(err).To(BeNil())
|
Expect(err).To(BeNil())
|
||||||
Expect(response).To(BeTrue())
|
Expect(response).To(BeTrue())
|
||||||
})
|
})
|
||||||
|
@ -338,7 +338,7 @@ var _ = Describe("Podman pods", func() {
|
||||||
_, err := pods.CreatePodFromSpec(bt.conn, &ps, nil)
|
_, err := pods.CreatePodFromSpec(bt.conn, &ps, nil)
|
||||||
Expect(err).To(BeNil())
|
Expect(err).To(BeNil())
|
||||||
|
|
||||||
exists, err := pods.Exists(bt.conn, "foobar")
|
exists, err := pods.Exists(bt.conn, "foobar", nil)
|
||||||
Expect(err).To(BeNil())
|
Expect(err).To(BeNil())
|
||||||
Expect(exists).To(BeTrue())
|
Expect(exists).To(BeTrue())
|
||||||
})
|
})
|
||||||
|
|
|
@ -31,7 +31,7 @@ func (ic *ContainerEngine) ContainerRunlabel(ctx context.Context, label string,
|
||||||
}
|
}
|
||||||
|
|
||||||
func (ic *ContainerEngine) ContainerExists(ctx context.Context, nameOrID string, options entities.ContainerExistsOptions) (*entities.BoolReport, error) {
|
func (ic *ContainerEngine) ContainerExists(ctx context.Context, nameOrID string, options entities.ContainerExistsOptions) (*entities.BoolReport, error) {
|
||||||
exists, err := containers.Exists(ic.ClientCtx, nameOrID, options.External)
|
exists, err := containers.Exists(ic.ClientCtx, nameOrID, new(containers.ExistsOptions).WithExternal(options.External))
|
||||||
return &entities.BoolReport{Value: exists}, err
|
return &entities.BoolReport{Value: exists}, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -22,7 +22,7 @@ import (
|
||||||
)
|
)
|
||||||
|
|
||||||
func (ir *ImageEngine) Exists(_ context.Context, nameOrID string) (*entities.BoolReport, error) {
|
func (ir *ImageEngine) Exists(_ context.Context, nameOrID string) (*entities.BoolReport, error) {
|
||||||
found, err := images.Exists(ir.ClientCtx, nameOrID)
|
found, err := images.Exists(ir.ClientCtx, nameOrID, nil)
|
||||||
return &entities.BoolReport{Value: found}, err
|
return &entities.BoolReport{Value: found}, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -12,7 +12,7 @@ import (
|
||||||
)
|
)
|
||||||
|
|
||||||
func (ic *ContainerEngine) PodExists(ctx context.Context, nameOrID string) (*entities.BoolReport, error) {
|
func (ic *ContainerEngine) PodExists(ctx context.Context, nameOrID string) (*entities.BoolReport, error) {
|
||||||
exists, err := pods.Exists(ic.ClientCtx, nameOrID)
|
exists, err := pods.Exists(ic.ClientCtx, nameOrID, nil)
|
||||||
return &entities.BoolReport{Value: exists}, err
|
return &entities.BoolReport{Value: exists}, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue