Merge "Remove not needed context pointers in container interface"

This commit is contained in:
Zuul 2020-10-28 14:11:29 +00:00 committed by Gerrit Code Review
commit 8bb8d28713
5 changed files with 20 additions and 20 deletions

View File

@ -99,7 +99,7 @@ func (c *Executor) Run(evtCh chan events.Event, opts ifc.RunOptions) {
if c.builder == nil {
ctx := context.Background()
builder, err := container.NewContainer(
&ctx,
ctx,
c.imgConf.Container.ContainerRuntime,
c.imgConf.Container.Image)
c.builder = builder

View File

@ -36,7 +36,7 @@ type Container interface {
// arguments (e.g. "docker").
// Supported drivers:
// * docker
func NewContainer(ctx *context.Context, driver string, url string) (Container, error) {
func NewContainer(ctx context.Context, driver string, url string) (Container, error) {
switch driver {
case "":
return nil, ErrNoContainerDriver{}

View File

@ -95,17 +95,17 @@ type DockerContainer struct {
imageURL string
id string
dockerClient DockerClient
ctx *context.Context
ctx context.Context
}
// NewDockerClient returns instance of DockerClient.
// Function essentially returns new Docker API client with default values
func NewDockerClient(ctx *context.Context) (DockerClient, error) {
func NewDockerClient(ctx context.Context) (DockerClient, error) {
cli, err := client.NewClientWithOpts(client.FromEnv)
if err != nil {
return nil, err
}
cli.NegotiateAPIVersion(*ctx)
cli.NegotiateAPIVersion(ctx)
return cli, nil
}
@ -115,7 +115,7 @@ func NewDockerClient(ctx *context.Context) (DockerClient, error) {
//
// url format: <image_path>:<tag>. If tag is not specified "latest" is used
// as default value
func NewDockerContainer(ctx *context.Context, url string, cli DockerClient) (*DockerContainer, error) {
func NewDockerContainer(ctx context.Context, url string, cli DockerClient) (*DockerContainer, error) {
t := "latest"
nameTag := strings.Split(url, ":")
if len(nameTag) == 2 {
@ -155,7 +155,7 @@ func (c *DockerContainer) getCmd(cmd []string) ([]string, error) {
return nil, err
}
insp, _, err := c.dockerClient.ImageInspectWithRaw(*c.ctx, id)
insp, _, err := c.dockerClient.ImageInspectWithRaw(c.ctx, id)
if err != nil {
return nil, err
}
@ -195,7 +195,7 @@ func (c *DockerContainer) getImageID(url string) (string, error) {
All: false,
Filters: filter,
}
img, err := c.dockerClient.ImageList(*c.ctx, opts)
img, err := c.dockerClient.ImageList(c.ctx, opts)
if err != nil {
return "", err
}
@ -217,12 +217,12 @@ func (c *DockerContainer) ImagePull() error {
// skip image download if already downloaded
// ImageInspectWithRaw returns err when image not found local and
// in this case it will proceed for ImagePull.
_, _, err := c.dockerClient.ImageInspectWithRaw(*c.ctx, c.imageURL)
_, _, err := c.dockerClient.ImageInspectWithRaw(c.ctx, c.imageURL)
if err == nil {
log.Debug("Image Already exists, skip download")
return nil
}
resp, err := c.dockerClient.ImagePull(*c.ctx, c.imageURL, types.ImagePullOptions{})
resp, err := c.dockerClient.ImagePull(c.ctx, c.imageURL, types.ImagePullOptions{})
if err != nil {
return err
}
@ -249,7 +249,7 @@ func (c *DockerContainer) RunCommand(
containerConfig, hostConfig := c.getConfig(realCmd, volumeMounts, envVars)
resp, err := c.dockerClient.ContainerCreate(
*c.ctx,
c.ctx,
&containerConfig,
&hostConfig,
nil,
@ -262,7 +262,7 @@ func (c *DockerContainer) RunCommand(
c.id = resp.ID
if containerInput != nil {
conn, attachErr := c.dockerClient.ContainerAttach(*c.ctx, c.id, types.ContainerAttachOptions{
conn, attachErr := c.dockerClient.ContainerAttach(c.ctx, c.id, types.ContainerAttachOptions{
Stream: true,
Stdin: true,
})
@ -274,7 +274,7 @@ func (c *DockerContainer) RunCommand(
}
}
if err = c.dockerClient.ContainerStart(*c.ctx, c.id, types.ContainerStartOptions{}); err != nil {
if err = c.dockerClient.ContainerStart(c.ctx, c.id, types.ContainerStartOptions{}); err != nil {
return err
}
@ -284,13 +284,13 @@ func (c *DockerContainer) RunCommand(
// GetContainerLogs returns logs from the container as io.ReadCloser
func (c *DockerContainer) GetContainerLogs() (io.ReadCloser, error) {
return c.dockerClient.ContainerLogs(*c.ctx, c.id, types.ContainerLogsOptions{ShowStdout: true, Follow: true})
return c.dockerClient.ContainerLogs(c.ctx, c.id, types.ContainerLogsOptions{ShowStdout: true, Follow: true})
}
// RmContainer kills and removes a container from the docker host.
func (c *DockerContainer) RmContainer() error {
return c.dockerClient.ContainerRemove(
*c.ctx,
c.ctx,
c.id,
types.ContainerRemoveOptions{
Force: true,
@ -300,7 +300,7 @@ func (c *DockerContainer) RmContainer() error {
// WaitUntilFinished waits unit container command is finished, return an error if failed
func (c *DockerContainer) WaitUntilFinished() error {
statusCh, errCh := c.dockerClient.ContainerWait(*c.ctx, c.id, container.WaitConditionNotRunning)
statusCh, errCh := c.dockerClient.ContainerWait(c.ctx, c.id, container.WaitConditionNotRunning)
log.Debugf("waiting until command is finished...")
select {
case err := <-errCh:

View File

@ -123,7 +123,7 @@ func getDockerContainerMock(mdc mockDockerClient) *DockerContainer {
ctx := context.Background()
cnt := &DockerContainer{
dockerClient: &mdc,
ctx: &ctx,
ctx: ctx,
}
return cnt
}
@ -520,7 +520,7 @@ func TestNewDockerContainer(t *testing.T) {
},
}
for _, tt := range tests {
actualRes, actualErr := NewDockerContainer(&(tt.ctx), tt.url, &(tt.cli))
actualRes, actualErr := NewDockerContainer((tt.ctx), tt.url, &(tt.cli))
assert.Equal(t, tt.expectedErr, actualErr)

View File

@ -27,13 +27,13 @@ func TestNewContainer(t *testing.T) {
ctx := context.Background()
t.Run("not-supported-container", func(t *testing.T) {
cnt, err := NewContainer(&ctx, "test_drv", "")
cnt, err := NewContainer(ctx, "test_drv", "")
assert.Equal(nil, cnt)
assert.Equal(ErrContainerDrvNotSupported{Driver: "test_drv"}, err)
})
t.Run("empty-container", func(t *testing.T) {
cnt, err := NewContainer(&ctx, "", "")
cnt, err := NewContainer(ctx, "", "")
assert.Equal(nil, cnt)
assert.Equal(ErrNoContainerDriver{}, err)
})