Skip to content

Commit 683f67b

Browse files
committed
Apply ECS_PAUSE_LABELS labels to namespace pause containers (#4427)
1 parent 3a1a09d commit 683f67b

File tree

2 files changed

+31
-5
lines changed

2 files changed

+31
-5
lines changed

agent/api/task/task.go

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1815,16 +1815,17 @@ func (task *Task) dockerConfig(container *apicontainer.Container, apiVersion doc
18151815
containerConfig.Labels = make(map[string]string)
18161816
}
18171817

1818-
if container.Type == apicontainer.ContainerCNIPause {
1818+
switch container.Type {
1819+
case apicontainer.ContainerCNIPause, apicontainer.ContainerNamespacePause:
18191820
if pauseLabels := os.Getenv(PAUSE_LABELS_ENV_VAR); pauseLabels != "" {
18201821
// Set labels to pause container if it's provieded as env var.
18211822
setLabelsFromJsonString(containerConfig, pauseLabels)
18221823
}
1824+
}
18231825

1824-
if task.IsNetworkModeAWSVPC() {
1825-
// apply hostname to pause container's docker config
1826-
return task.applyENIHostname(containerConfig), nil
1827-
}
1826+
if container.Type == apicontainer.ContainerCNIPause && task.IsNetworkModeAWSVPC() {
1827+
// apply hostname to pause container's docker config
1828+
return task.applyENIHostname(containerConfig), nil
18281829
}
18291830

18301831
return containerConfig, nil

agent/api/task/task_test.go

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5971,6 +5971,31 @@ func TestDockerConfigPauseContainerLabelsWithEnvVar_ECS_PAUSE_LABELS(t *testing.
59715971
assert.Equal(t, "test_b", config.Labels["test.label.2"])
59725972
}
59735973

5974+
func TestDockerConfigNamespacePauseContainerLabelsWithEnvVar_ECS_PAUSE_LABELS(t *testing.T) {
5975+
testTask := &Task{
5976+
Arn: "arn:aws:ecs:us-east-1:012345678910:task/c09f0188-7f87-4b0f-bfc3-16296622b6fe",
5977+
Family: "myFamily",
5978+
Version: "1",
5979+
Containers: []*apicontainer.Container{
5980+
{
5981+
Name: "pause",
5982+
Type: apicontainer.ContainerNamespacePause,
5983+
},
5984+
},
5985+
}
5986+
labelsString := "{\"test.label.1\":\"test_a\",\"test.label.2\":\"test_b\"}"
5987+
t.Setenv("ECS_PAUSE_LABELS", labelsString)
5988+
5989+
config, configErr := testTask.DockerConfig(testTask.Containers[0], defaultDockerClientAPIVersion)
5990+
if configErr != nil {
5991+
t.Fatal(configErr)
5992+
}
5993+
5994+
assert.Equal(t, 2, len(config.Labels))
5995+
assert.Equal(t, "test_a", config.Labels["test.label.1"])
5996+
assert.Equal(t, "test_b", config.Labels["test.label.2"])
5997+
}
5998+
59745999
func TestDockerConfigPauseContainerLabelsWithInvalidEnvVar_ECS_PAUSE_LABELS(t *testing.T) {
59756000
testTask := &Task{
59766001
Arn: "arn:aws:ecs:us-east-1:012345678910:task/c09f0188-7f87-4b0f-bfc3-16296622b6fe",

0 commit comments

Comments
 (0)