Skip to content

Commit

Permalink
Rename 'Driver' to 'DriverCommand' in ContainerConfig
Browse files Browse the repository at this point in the history
  • Loading branch information
lbeckman314 committed May 31, 2024
1 parent 997d3c2 commit 56e74c2
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 20 deletions.
3 changes: 1 addition & 2 deletions worker/container_engine.go
Original file line number Diff line number Diff line change
Expand Up @@ -35,11 +35,10 @@ type ContainerConfig struct {
Id string
Image string
Name string
Driver []string
DriverCommand []string
Command []string
Volumes []Volume
Workdir string
ContainerName string
RemoveContainer bool
Env map[string]string
Stdin io.Reader
Expand Down
24 changes: 13 additions & 11 deletions worker/docker.go
Original file line number Diff line number Diff line change
Expand Up @@ -32,9 +32,9 @@ func (docker Docker) Run(ctx context.Context) error {

var args []string

if len(docker.ContainerConfig.Driver) > 1 {
if len(docker.ContainerConfig.DriverCommand) > 1 {
// Merge driver parts and command parts
args = append(args, docker.ContainerConfig.Driver[1:]...)
args = append(args, docker.ContainerConfig.DriverCommand[1:]...)
}

args = append(args, "run", "-i", "--read-only")
Expand All @@ -49,8 +49,8 @@ func (docker Docker) Run(ctx context.Context) error {
}
}

if docker.ContainerName != "" {
args = append(args, "--name", docker.ContainerName)
if docker.Name != "" {
args = append(args, "--name", docker.Name)
}

if docker.Workdir != "" {
Expand All @@ -66,8 +66,8 @@ func (docker Docker) Run(ctx context.Context) error {
args = append(args, docker.Command...)

// Roughly: `docker run --rm -i --read-only -w [workdir] -v [bindings] [imageName] [cmd]`
docker.Event.Info("Running command", "cmd", docker.ContainerConfig.Driver[0]+" "+strings.Join(args, " "))
cmd := exec.Command(docker.ContainerConfig.Driver[0], args...)
docker.Event.Info("Running command", "cmd", docker.ContainerConfig.DriverCommand[0]+" "+strings.Join(args, " "))
cmd := exec.Command(docker.ContainerConfig.DriverCommand[0], args...)

if docker.Stdin != nil {
cmd.Stdin = docker.Stdin
Expand All @@ -86,9 +86,9 @@ func (docker Docker) Run(ctx context.Context) error {

// Stop stops the container.
func (docker Docker) Stop() error {
docker.Event.Info("Stopping container", "container", docker.ContainerName)
// cmd := exec.Command("docker", "stop", docker.ContainerName)
cmd := exec.Command("docker", "rm", "-f", docker.ContainerName) //switching to this to be a bit more forceful
docker.Event.Info("Stopping container", "container", docker.Name)
// cmd := exec.Command("docker", "stop", docker.Name)
cmd := exec.Command("docker", "rm", "-f", docker.Name) //switching to this to be a bit more forceful
return cmd.Run()
}

Expand Down Expand Up @@ -135,11 +135,13 @@ func (docker *Docker) InspectContainer(ctx context.Context) ContainerConfig {
case <-ctx.Done():
return ContainerConfig{}
case <-ticker.C:
cmd := exec.CommandContext(ctx, "docker", "inspect", docker.ContainerName)
cmd := exec.CommandContext(ctx, "docker", "inspect", docker.Name)
out, err := cmd.Output()
if err == nil {
fmt.Println("DEBUG: string(out):", string(out))

meta := []ContainerConfig{}
err := json.Unmarshal(out, &meta)
err = json.Unmarshal(out, &meta)
if err == nil && len(meta) == 1 {
docker.Event.Info("container metadata",
"containerID", meta[0].Id,
Expand Down
14 changes: 7 additions & 7 deletions worker/worker.go
Original file line number Diff line number Diff line change
Expand Up @@ -162,18 +162,18 @@ func (r *DefaultWorker) Run(pctx context.Context) (runerr error) {
f := ContainerEngineFactory{}
for i, d := range task.GetExecutors() {
containerConfig := ContainerConfig{
Image: d.Image,
Command: d.Command,
Env: d.Env,
Volumes: mapper.Volumes,
Workdir: d.Workdir,
ContainerName: fmt.Sprintf("%s-%d", task.Id, i),
Image: d.Image,
Command: d.Command,
Env: d.Env,
Volumes: mapper.Volumes,
Workdir: d.Workdir,
Name: fmt.Sprintf("%s-%d", task.Id, i),
// TODO make RemoveContainer configurable
RemoveContainer: true,
Event: event.NewExecutorWriter(uint32(i)),
}
if r.Conf.ContainerDriver != "" {
containerConfig.Driver = strings.Fields(r.Conf.ContainerDriver)
containerConfig.DriverCommand = strings.Fields(r.Conf.ContainerDriver)
}
containerEngine, err := f.NewContainerEngine(r.Conf.ContainerType, containerConfig)
if err != nil {
Expand Down

0 comments on commit 56e74c2

Please sign in to comment.