diff options
-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) { |