summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrent Baude <bbaude@redhat.com>2020-03-20 13:00:37 -0500
committerBrent Baude <bbaude@redhat.com>2020-03-20 13:01:24 -0500
commitbaf3a9b3a72e4d98ad30ee56a7dd81812fb1fd21 (patch)
tree45e486ec8c793fda0f05d39bfaf9ce1d9016b02e
parent87293028e61d0c88c258ed9f4a82c4be7f0bc896 (diff)
downloadpodman-baf3a9b3a72e4d98ad30ee56a7dd81812fb1fd21.tar.gz
podman-baf3a9b3a72e4d98ad30ee56a7dd81812fb1fd21.tar.bz2
podman-baf3a9b3a72e4d98ad30ee56a7dd81812fb1fd21.zip
use boolreport for containerexists response
in the case of exists, use a boolreport structure so that responses can be consistent pointer and error Signed-off-by: Brent Baude <bbaude@redhat.com>
-rw-r--r--cmd/podmanV2/containers/exists.go4
-rw-r--r--pkg/domain/entities/containers.go4
-rw-r--r--pkg/domain/entities/engine_container.go2
-rw-r--r--pkg/domain/infra/abi/containers.go6
-rw-r--r--pkg/domain/infra/tunnel/containers.go5
5 files changed, 13 insertions, 8 deletions
diff --git a/cmd/podmanV2/containers/exists.go b/cmd/podmanV2/containers/exists.go
index 4f9e6c44a..93989b54a 100644
--- a/cmd/podmanV2/containers/exists.go
+++ b/cmd/podmanV2/containers/exists.go
@@ -29,11 +29,11 @@ func init() {
}
func exists(cmd *cobra.Command, args []string) error {
- exists, err := registry.ContainerEngine().ContainerExists(context.Background(), args[0])
+ response, err := registry.ContainerEngine().ContainerExists(context.Background(), args[0])
if err != nil {
return err
}
- if !exists {
+ if !response.Value {
os.Exit(1)
}
return nil
diff --git a/pkg/domain/entities/containers.go b/pkg/domain/entities/containers.go
index e688e4fd3..45ce1f1fb 100644
--- a/pkg/domain/entities/containers.go
+++ b/pkg/domain/entities/containers.go
@@ -13,3 +13,7 @@ type WaitReport struct {
Error error
ExitCode int32
}
+
+type BoolReport struct {
+ Value bool
+}
diff --git a/pkg/domain/entities/engine_container.go b/pkg/domain/entities/engine_container.go
index 53f8f88f5..aa2ceb630 100644
--- a/pkg/domain/entities/engine_container.go
+++ b/pkg/domain/entities/engine_container.go
@@ -7,7 +7,7 @@ import (
type ContainerEngine interface {
ContainerDelete(ctx context.Context, opts ContainerDeleteOptions) (*ContainerDeleteReport, error)
ContainerPrune(ctx context.Context) (*ContainerPruneReport, error)
- ContainerExists(ctx context.Context, nameOrId string) (bool, error)
+ ContainerExists(ctx context.Context, nameOrId string) (*BoolReport, error)
ContainerWait(ctx context.Context, namesOrIds []string, options WaitOptions) ([]WaitReport, error)
PodDelete(ctx context.Context, opts PodPruneOptions) (*PodDeleteReport, error)
PodPrune(ctx context.Context) (*PodPruneReport, error)
diff --git a/pkg/domain/infra/abi/containers.go b/pkg/domain/infra/abi/containers.go
index 618e9a111..2332c2874 100644
--- a/pkg/domain/infra/abi/containers.go
+++ b/pkg/domain/infra/abi/containers.go
@@ -12,12 +12,12 @@ import (
)
// TODO: Should return *entities.ContainerExistsReport, error
-func (ic *ContainerEngine) ContainerExists(ctx context.Context, nameOrId string) (bool, error) {
+func (ic *ContainerEngine) ContainerExists(ctx context.Context, nameOrId string) (*entities.BoolReport, error) {
_, err := ic.Libpod.LookupContainer(nameOrId)
if err != nil && errors.Cause(err) != define.ErrNoSuchCtr {
- return false, err
+ return nil, err
}
- return err == nil, nil
+ return &entities.BoolReport{Value: err == nil}, nil
}
func (ic *ContainerEngine) ContainerWait(ctx context.Context, namesOrIds []string, options entities.WaitOptions) ([]entities.WaitReport, error) {
diff --git a/pkg/domain/infra/tunnel/containers.go b/pkg/domain/infra/tunnel/containers.go
index 84b6f2906..c869ad2f3 100644
--- a/pkg/domain/infra/tunnel/containers.go
+++ b/pkg/domain/infra/tunnel/containers.go
@@ -7,8 +7,9 @@ import (
"github.com/containers/libpod/pkg/domain/entities"
)
-func (ic *ContainerEngine) ContainerExists(ctx context.Context, nameOrId string) (bool, error) {
- return containers.Exists(ctx, nameOrId)
+func (ic *ContainerEngine) ContainerExists(ctx context.Context, nameOrId string) (*entities.BoolReport, error) {
+ exists, err := containers.Exists(ctx, nameOrId)
+ return &entities.BoolReport{Value: exists}, err
}
func (ic *ContainerEngine) ContainerWait(ctx context.Context, namesOrIds []string, options entities.WaitOptions) ([]entities.WaitReport, error) {