diff --git a/drivers/docker/driver.go b/drivers/docker/driver.go index 974df0823df..a20c0942fa7 100644 --- a/drivers/docker/driver.go +++ b/drivers/docker/driver.go @@ -67,10 +67,7 @@ var ( ) const ( - dockerLabelTaskID = "com.hashicorp.nomad.task_id" - dockerLabelTaskName = "com.hashicorp.nomad.task_name" - dockerLabelAllocID = "com.hashicorp.nomad.alloc_id" - dockerLabelJobName = "com.hashicorp.nomad.job_name" + dockerLabelAllocID = "com.hashicorp.nomad.alloc_id" ) type Driver struct { @@ -992,15 +989,12 @@ func (d *Driver) createContainerConfig(task *drivers.TaskConfig, driverConfig *T config.Labels = driverConfig.Labels } - config.Labels = map[string]string{ - dockerLabelTaskID: task.ID, - dockerLabelTaskName: task.Name, - dockerLabelAllocID: task.AllocID, - dockerLabelJobName: task.JobName, - } + labels := make(map[string]string, len(driverConfig.Labels)+1) for k, v := range driverConfig.Labels { - config.Labels[k] = v + labels[k] = v } + labels[dockerLabelAllocID] = task.AllocID + config.Labels = labels logger.Debug("applied labels on the container", "labels", config.Labels) config.Env = task.EnvList() diff --git a/drivers/docker/driver_test.go b/drivers/docker/driver_test.go index c7fafe44890..aa1cbb16ccc 100644 --- a/drivers/docker/driver_test.go +++ b/drivers/docker/driver_test.go @@ -905,8 +905,8 @@ func TestDockerDriver_Labels(t *testing.T) { t.Fatalf("err: %v", err) } - // expect to see 4 additional standard labels - require.Equal(t, len(cfg.Labels)+4, len(container.Config.Labels)) + // expect to see 1 additional standard labels + require.Equal(t, len(cfg.Labels)+1, len(container.Config.Labels)) for k, v := range cfg.Labels { require.Equal(t, v, container.Config.Labels[k]) } @@ -1018,6 +1018,10 @@ func TestDockerDriver_CreateContainerConfig_Labels(t *testing.T) { cfg.Labels = map[string]string{ "user_label": "user_value", + + // com.hashicorp.nomad. labels are reserved and + // cannot be overridden + "com.hashicorp.nomad.alloc_id": "bad_value", } require.NoError(t, task.EncodeConcreteDriverConfig(cfg)) @@ -1032,10 +1036,7 @@ func TestDockerDriver_CreateContainerConfig_Labels(t *testing.T) { // user provided labels "user_label": "user_value", // default labels - "com.hashicorp.nomad.alloc_id": task.AllocID, - "com.hashicorp.nomad.job_name": "redis-demo-job", - "com.hashicorp.nomad.task_id": task.ID, - "com.hashicorp.nomad.task_name": "redis-demo", + "com.hashicorp.nomad.alloc_id": task.AllocID, } require.Equal(t, expectedLabels, c.Config.Labels)