diff options
author | Brent Baude <bbaude@redhat.com> | 2020-03-20 13:00:37 -0500 |
---|---|---|
committer | Brent Baude <bbaude@redhat.com> | 2020-03-20 13:01:24 -0500 |
commit | baf3a9b3a72e4d98ad30ee56a7dd81812fb1fd21 (patch) | |
tree | 45e486ec8c793fda0f05d39bfaf9ce1d9016b02e | |
parent | 87293028e61d0c88c258ed9f4a82c4be7f0bc896 (diff) | |
download | podman-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.go | 4 | ||||
-rw-r--r-- | pkg/domain/entities/containers.go | 4 | ||||
-rw-r--r-- | pkg/domain/entities/engine_container.go | 2 | ||||
-rw-r--r-- | pkg/domain/infra/abi/containers.go | 6 | ||||
-rw-r--r-- | pkg/domain/infra/tunnel/containers.go | 5 |
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) { |