Skip to content

Commit e3eb5d2

Browse files
committed
Remove using ResourceFields; Use config in TaskResource Initialize instead
1 parent c13f7e1 commit e3eb5d2

28 files changed

Lines changed: 352 additions & 239 deletions

agent/api/task/task.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3312,13 +3312,13 @@ func (task *Task) getASMSecretsResource() ([]taskresource.TaskResource, bool) {
33123312
// InitializeResources initializes the required field in the task on agent restart
33133313
// Some of the fields in task isn't saved in the agent state file, agent needs
33143314
// to initialize these fields before processing the task, eg: docker client in resource
3315-
func (task *Task) InitializeResources(resourceFields *taskresource.ResourceFields) {
3315+
func (task *Task) InitializeResources(config *config.Config, resourceFields *taskresource.ResourceFields) {
33163316
task.lock.Lock()
33173317
defer task.lock.Unlock()
33183318

33193319
for _, resources := range task.ResourcesMapUnsafe {
33203320
for _, resource := range resources {
3321-
resource.Initialize(resourceFields, task.KnownStatusUnsafe, task.DesiredStatusUnsafe)
3321+
resource.Initialize(config, resourceFields, task.KnownStatusUnsafe, task.DesiredStatusUnsafe)
33223322
}
33233323
}
33243324
}

agent/app/agent_unix.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -176,7 +176,6 @@ func (agent *ecsAgent) initializeResourceFields(credentialsManager credentials.M
176176
S3ClientCreator: s3factory.NewS3ClientCreator(),
177177
CredentialsManager: credentialsManager,
178178
EC2InstanceID: agent.getEC2InstanceID(),
179-
IPCompatibility: agent.getConfig().InstanceIPCompatibility,
180179
},
181180
Ctx: agent.ctx,
182181
DockerClient: agent.dockerClient,

agent/app/agent_windows.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -323,7 +323,6 @@ func (agent *ecsAgent) initializeResourceFields(credentialsManager credentials.M
323323
FSxClientCreator: fsxfactory.NewFSxClientCreator(),
324324
S3ClientCreator: s3factory.NewS3ClientCreator(),
325325
CredentialsManager: credentialsManager,
326-
IPCompatibility: agent.getConfig().InstanceIPCompatibility,
327326
},
328327
Ctx: agent.ctx,
329328
DockerClient: agent.dockerClient,

agent/engine/docker_task_engine.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -682,7 +682,7 @@ func (engine *DockerTaskEngine) synchronizeState() {
682682
engine.reconcileHostResources()
683683
tasksToStart := engine.filterTasksToStartUnsafe(tasks)
684684
for _, task := range tasks {
685-
task.InitializeResources(engine.resourceFields)
685+
task.InitializeResources(engine.cfg, engine.resourceFields)
686686
engine.saveTaskData(task)
687687
}
688688

agent/engine/docker_task_engine_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2629,7 +2629,7 @@ func TestSynchronizeResource(t *testing.T) {
26292629
}
26302630
// add the task to the state to simulate the agent restored the state on restart
26312631
state.AddTask(testTask)
2632-
cgroupResource.EXPECT().Initialize(gomock.Any(), gomock.Any(), gomock.Any())
2632+
cgroupResource.EXPECT().Initialize(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any())
26332633
cgroupResource.EXPECT().SetDesiredStatus(gomock.Any()).MaxTimes(1)
26342634
cgroupResource.EXPECT().GetDesiredStatus().MaxTimes(2)
26352635
cgroupResource.EXPECT().TerminalStatus().MaxTimes(1)

agent/taskresource/asmauth/asmauth.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import (
2121
apicontainer "github.com/aws/amazon-ecs-agent/agent/api/container"
2222
"github.com/aws/amazon-ecs-agent/agent/asm"
2323
"github.com/aws/amazon-ecs-agent/agent/asm/factory"
24+
"github.com/aws/amazon-ecs-agent/agent/config"
2425
"github.com/aws/amazon-ecs-agent/agent/taskresource"
2526
resourcestatus "github.com/aws/amazon-ecs-agent/agent/taskresource/status"
2627
apicontainerstatus "github.com/aws/amazon-ecs-agent/ecs-agent/api/container/status"
@@ -349,7 +350,9 @@ func (auth *ASMAuthResource) PutASMDockerAuthConfig(secretID string, authCfg reg
349350
auth.dockerAuthData[secretID] = authCfg
350351
}
351352

352-
func (auth *ASMAuthResource) Initialize(resourceFields *taskresource.ResourceFields,
353+
func (auth *ASMAuthResource) Initialize(
354+
config *config.Config,
355+
resourceFields *taskresource.ResourceFields,
353356
taskKnownStatus status.TaskStatus,
354357
taskDesiredStatus status.TaskStatus) {
355358
auth.initStatusToTransition()

agent/taskresource/asmauth/asmauth_test.go

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ import (
2727
"github.com/aws/amazon-ecs-agent/agent/asm"
2828
mock_factory "github.com/aws/amazon-ecs-agent/agent/asm/factory/mocks"
2929
mock_secretsmanageriface "github.com/aws/amazon-ecs-agent/agent/asm/mocks"
30+
"github.com/aws/amazon-ecs-agent/agent/config"
3031
"github.com/aws/amazon-ecs-agent/agent/taskresource"
3132
resourcestatus "github.com/aws/amazon-ecs-agent/agent/taskresource/status"
3233
apitaskstatus "github.com/aws/amazon-ecs-agent/ecs-agent/api/task/status"
@@ -157,12 +158,14 @@ func TestInitialize(t *testing.T) {
157158
knownStatusUnsafe: resourcestatus.ResourceCreated,
158159
desiredStatusUnsafe: resourcestatus.ResourceCreated,
159160
}
160-
asmRes.Initialize(&taskresource.ResourceFields{
161-
ResourceFieldsCommon: &taskresource.ResourceFieldsCommon{
162-
ASMClientCreator: asmClientCreator,
163-
CredentialsManager: credentialsManager,
164-
},
165-
}, tc.taskKnownStatus, tc.taskDesiredStatus)
161+
asmRes.Initialize(
162+
&config.Config{},
163+
&taskresource.ResourceFields{
164+
ResourceFieldsCommon: &taskresource.ResourceFieldsCommon{
165+
ASMClientCreator: asmClientCreator,
166+
CredentialsManager: credentialsManager,
167+
},
168+
}, tc.taskKnownStatus, tc.taskDesiredStatus)
166169
if tc.expectReset {
167170
assert.Equal(t, resourcestatus.ResourceStatusNone, asmRes.GetKnownStatus())
168171
} else {

agent/taskresource/asmsecret/asmsecret.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ import (
2626
apicontainer "github.com/aws/amazon-ecs-agent/agent/api/container"
2727
"github.com/aws/amazon-ecs-agent/agent/asm"
2828
"github.com/aws/amazon-ecs-agent/agent/asm/factory"
29+
"github.com/aws/amazon-ecs-agent/agent/config"
2930
"github.com/aws/amazon-ecs-agent/agent/taskresource"
3031
resourcestatus "github.com/aws/amazon-ecs-agent/agent/taskresource/status"
3132
apicontainerstatus "github.com/aws/amazon-ecs-agent/ecs-agent/api/container/status"
@@ -445,7 +446,9 @@ func (secret *ASMSecretResource) SetCachedSecretValue(secretKey string, secretVa
445446
secret.secretData[secretKey] = secretValue
446447
}
447448

448-
func (secret *ASMSecretResource) Initialize(resourceFields *taskresource.ResourceFields,
449+
func (secret *ASMSecretResource) Initialize(
450+
config *config.Config,
451+
resourceFields *taskresource.ResourceFields,
449452
taskKnownStatus status.TaskStatus,
450453
taskDesiredStatus status.TaskStatus) {
451454
secret.initStatusToTransition()

agent/taskresource/asmsecret/asmsecret_test.go

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ import (
2727
apicontainer "github.com/aws/amazon-ecs-agent/agent/api/container"
2828
mock_factory "github.com/aws/amazon-ecs-agent/agent/asm/factory/mocks"
2929
mock_secretsmanageriface "github.com/aws/amazon-ecs-agent/agent/asm/mocks"
30+
"github.com/aws/amazon-ecs-agent/agent/config"
3031
"github.com/aws/amazon-ecs-agent/agent/taskresource"
3132
resourcestatus "github.com/aws/amazon-ecs-agent/agent/taskresource/status"
3233
apitaskstatus "github.com/aws/amazon-ecs-agent/ecs-agent/api/task/status"
@@ -238,12 +239,14 @@ func TestInitialize(t *testing.T) {
238239
knownStatusUnsafe: resourcestatus.ResourceCreated,
239240
desiredStatusUnsafe: resourcestatus.ResourceCreated,
240241
}
241-
asmRes.Initialize(&taskresource.ResourceFields{
242-
ResourceFieldsCommon: &taskresource.ResourceFieldsCommon{
243-
ASMClientCreator: asmClientCreator,
244-
CredentialsManager: credentialsManager,
245-
},
246-
}, apitaskstatus.TaskStatusNone, apitaskstatus.TaskRunning)
242+
asmRes.Initialize(
243+
&config.Config{},
244+
&taskresource.ResourceFields{
245+
ResourceFieldsCommon: &taskresource.ResourceFieldsCommon{
246+
ASMClientCreator: asmClientCreator,
247+
CredentialsManager: credentialsManager,
248+
},
249+
}, apitaskstatus.TaskStatusNone, apitaskstatus.TaskRunning)
247250
assert.Equal(t, resourcestatus.ResourceStatusNone, asmRes.GetKnownStatus())
248251
assert.Equal(t, resourcestatus.ResourceCreated, asmRes.GetDesiredStatus())
249252

agent/taskresource/cgroup/cgroup.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -379,7 +379,9 @@ func (cgroup *CgroupResource) GetCgroupMountPath() string {
379379
}
380380

381381
// Initialize initializes the resource fileds in cgroup
382-
func (cgroup *CgroupResource) Initialize(resourceFields *taskresource.ResourceFields,
382+
func (cgroup *CgroupResource) Initialize(
383+
config *config.Config,
384+
resourceFields *taskresource.ResourceFields,
383385
taskKnownStatus status.TaskStatus,
384386
taskDesiredStatus status.TaskStatus) {
385387
cgroup.lock.Lock()

0 commit comments

Comments
 (0)