Skip to content

Commit 6698642

Browse files
committed
Add endpointContainerID to tasks and tasksStats endpoint.
1 parent 5de8ba6 commit 6698642

File tree

8 files changed

+35
-31
lines changed

8 files changed

+35
-31
lines changed

agent/handlers/v4/tmdsstate.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -249,15 +249,15 @@ func (s *TMDSAgentState) GetTaskStats(v3EndpointID string) (map[string]*tmdsv4.S
249249
return taskStatsResponse, nil
250250
}
251251

252-
func (s *TMDSAgentState) GetTasksMetadata() ([]tmdsv4.TaskResponse, error) {
252+
func (s *TMDSAgentState) GetTasksMetadata(endpointContainerID string) ([]tmdsv4.TaskResponse, error) {
253253
return nil, tmdsv4.NewErrorMetadataFetchFailure("tasks metadata endpoint not supported")
254254
}
255255

256-
func (s *TMDSAgentState) GetTasksMetadataWithTags() ([]tmdsv4.TaskResponse, error) {
256+
func (s *TMDSAgentState) GetTasksMetadataWithTags(endpointContainerID string) ([]tmdsv4.TaskResponse, error) {
257257
return nil, tmdsv4.NewErrorMetadataFetchFailure("tasks metadata with tags endpoint not supported")
258258
}
259259

260-
func (s *TMDSAgentState) GetTasksStats(v3EndpointID string) ([]map[string]*tmdsv4.StatsResponse, error) {
260+
func (s *TMDSAgentState) GetTasksStats(endpointContainerID string) ([]map[string]*tmdsv4.StatsResponse, error) {
261261
return nil, tmdsv4.NewErrorStatsFetchFailure("tasks stats endpoint not supported", nil)
262262
}
263263

agent/handlers/v4/tmdsstate_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -183,7 +183,7 @@ func TestGetTaskMetadataWithTags(t *testing.T) {
183183

184184
func TestGetTasksMetadata_NotSupported(t *testing.T) {
185185
state := &TMDSAgentState{}
186-
_, err := state.GetTasksMetadata()
186+
_, err := state.GetTasksMetadata("test-container-id")
187187

188188
var metadataErr *tmdsv4.ErrorMetadataFetchFailure
189189
assert.True(t, errors.As(err, &metadataErr))
@@ -192,7 +192,7 @@ func TestGetTasksMetadata_NotSupported(t *testing.T) {
192192

193193
func TestGetTasksMetadataWithTags_NotSupported(t *testing.T) {
194194
state := &TMDSAgentState{}
195-
_, err := state.GetTasksMetadataWithTags()
195+
_, err := state.GetTasksMetadataWithTags("test-container-id")
196196

197197
var metadataErr *tmdsv4.ErrorMetadataFetchFailure
198198
assert.True(t, errors.As(err, &metadataErr))

agent/vendor/github.com/aws/amazon-ecs-agent/ecs-agent/tmds/handlers/v4/handlers.go

Lines changed: 5 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

agent/vendor/github.com/aws/amazon-ecs-agent/ecs-agent/tmds/handlers/v4/state/state.go

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

ecs-agent/tmds/handlers/v4/handlers.go

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -204,13 +204,14 @@ func tasksMetadataHandler(
204204
includeTags bool,
205205
) func(http.ResponseWriter, *http.Request) {
206206
return func(w http.ResponseWriter, r *http.Request) {
207+
endpointContainerID := mux.Vars(r)[EndpointContainerIDMuxName]
207208
var tasksMetadata []state.TaskResponse
208209
var err error
209210

210211
if includeTags {
211-
tasksMetadata, err = agentState.GetTasksMetadataWithTags()
212+
tasksMetadata, err = agentState.GetTasksMetadataWithTags(endpointContainerID)
212213
} else {
213-
tasksMetadata, err = agentState.GetTasksMetadata()
214+
tasksMetadata, err = agentState.GetTasksMetadata(endpointContainerID)
214215
}
215216

216217
if err != nil {
@@ -274,8 +275,9 @@ func TasksStatsHandler(
274275
metricsFactory metrics.EntryFactory,
275276
) func(http.ResponseWriter, *http.Request) {
276277
return func(w http.ResponseWriter, r *http.Request) {
278+
endpointContainerID := mux.Vars(r)[EndpointContainerIDMuxName]
277279
// Get stats for all tasks
278-
stats, err := agentState.GetTasksStats("")
280+
stats, err := agentState.GetTasksStats(endpointContainerID)
279281
if err != nil {
280282
logger.Error("Failed to get v4 tasks stats", logger.Fields{
281283
field.Error: err,

ecs-agent/tmds/handlers/v4/handlers_test.go

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -509,7 +509,7 @@ func TestTasksMetadata(t *testing.T) {
509509

510510
handler, _, agentState, _ := setup(t)
511511
agentState.EXPECT().
512-
GetTasksMetadata().
512+
GetTasksMetadata(gomock.Any()).
513513
Return(tasksMetadata, nil)
514514
testTMDSRequest(t, handler, TMDSTestCase[[]state.TaskResponse]{
515515
path: path,
@@ -543,7 +543,7 @@ func TestTasksMetadata(t *testing.T) {
543543
handler, ctrl, agentState, metricsFactory := setup(t)
544544

545545
agentState.EXPECT().
546-
GetTasksMetadata().
546+
GetTasksMetadata(gomock.Any()).
547547
Return(nil, errors.New("fetch error"))
548548

549549
entry := mock_metrics.NewMockEntry(ctrl)
@@ -588,7 +588,7 @@ func TestTasksMetadataWithTags(t *testing.T) {
588588

589589
handler, _, agentState, _ := setup(t)
590590
agentState.EXPECT().
591-
GetTasksMetadataWithTags().
591+
GetTasksMetadataWithTags(gomock.Any()).
592592
Return(tasksMetadata, nil)
593593
testTMDSRequest(t, handler, TMDSTestCase[[]state.TaskResponse]{
594594
path: path,
@@ -622,7 +622,7 @@ func TestTasksMetadataWithTags(t *testing.T) {
622622
handler, ctrl, agentState, metricsFactory := setup(t)
623623

624624
agentState.EXPECT().
625-
GetTasksMetadataWithTags().
625+
GetTasksMetadataWithTags(gomock.Any()).
626626
Return(nil, errors.New("fetch error"))
627627

628628
entry := mock_metrics.NewMockEntry(ctrl)
@@ -872,7 +872,7 @@ func TestTasksStats(t *testing.T) {
872872

873873
// expect GetTasksStats to be called that should return an error
874874
agentState.EXPECT().
875-
GetTasksStats("").
875+
GetTasksStats(gomock.Any()).
876876
Return(nil, tc.err)
877877

878878
// expect InternalServerError metric to be published with the error.
@@ -894,7 +894,7 @@ func TestTasksStats(t *testing.T) {
894894
agentState, _, _, handler := setup()
895895
tasksStats := []map[string]*state.StatsResponse{taskStats}
896896
agentState.EXPECT().
897-
GetTasksStats("").
897+
GetTasksStats(gomock.Any()).
898898
Return(tasksStats, nil)
899899
testTMDSRequest(t, handler, TMDSTestCase[[]map[string]*state.StatsResponse]{
900900
path: path,
@@ -952,7 +952,7 @@ func TestTasksMetadataHandler_IncludeTags(t *testing.T) {
952952
metricsFactory := mock_metrics.NewMockEntryFactory(ctrl)
953953

954954
t.Run("calls GetTasksMetadata when includeTags is false", func(t *testing.T) {
955-
agentState.EXPECT().GetTasksMetadata().Return([]state.TaskResponse{}, nil)
955+
agentState.EXPECT().GetTasksMetadata(gomock.Any()).Return([]state.TaskResponse{}, nil)
956956

957957
handler := tasksMetadataHandler(agentState, metricsFactory, false)
958958
req := httptest.NewRequest("GET", "/v4/test/tasks", nil)
@@ -964,7 +964,7 @@ func TestTasksMetadataHandler_IncludeTags(t *testing.T) {
964964
})
965965

966966
t.Run("calls GetTasksMetadataWithTags when includeTags is true", func(t *testing.T) {
967-
agentState.EXPECT().GetTasksMetadataWithTags().Return([]state.TaskResponse{}, nil)
967+
agentState.EXPECT().GetTasksMetadataWithTags(gomock.Any()).Return([]state.TaskResponse{}, nil)
968968

969969
handler := tasksMetadataHandler(agentState, metricsFactory, true)
970970
req := httptest.NewRequest("GET", "/v4/test/tasks", nil)

ecs-agent/tmds/handlers/v4/state/mocks/state_mock.go

Lines changed: 8 additions & 8 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

ecs-agent/tmds/handlers/v4/state/state.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -158,12 +158,12 @@ type AgentState interface {
158158
// Returns metadata for all tasks on the container instance in v4 format.
159159
// Returns ErrorTaskLookupFailed if task lookup fails.
160160
// Returns ErrorMetadataFetchFailure if something else goes wrong.
161-
GetTasksMetadata() ([]TaskResponse, error)
161+
GetTasksMetadata(endpointContainerID string) ([]TaskResponse, error)
162162

163163
// Returns metadata for all tasks on the container instance including task and container instance tags (if applicable) in v4 format.
164164
// Returns ErrorTaskLookupFailed if task lookup fails.
165165
// Returns ErrorMetadataFetchFailure if something else goes wrong.
166-
GetTasksMetadataWithTags() ([]TaskResponse, error)
166+
GetTasksMetadataWithTags(endpointContainerID string) ([]TaskResponse, error)
167167

168168
// Returns task metadata including task and container instance tags (if applicable) in v4 format
169169
// for the task identified by the provided endpointContainerID.

0 commit comments

Comments
 (0)