Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

V1.15.0 release #1018

Merged
merged 63 commits into from
Nov 2, 2017
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
63 commits
Select commit Hold shift + click to select a range
6e9aadd
mdservice: initial commit
Jun 13, 2017
ed6aaef
engine: fixed method call
adnxn Sep 11, 2017
203ec87
agent: regenerate mocks
adnxn Sep 11, 2017
d04bb67
vendor: updating gomock
petderek Sep 8, 2017
14274b3
agent: ran 'make gogenerate'
adnxn Sep 11, 2017
9d5d867
engine: modify tests to include metadata service
adnxn Sep 11, 2017
011b1d4
engine: metadata updates through agent restarts
adnxn Sep 8, 2017
b2ee17c
agent/functional_tests: added unix functional test
adnxn Sep 8, 2017
a152504
engine: remove duplicate function
adnxn Sep 14, 2017
cdf61a5
containermetadata: handle multiple IP addresses
adnxn Sep 14, 2017
b06c3f3
containermetadata: use asserts for tests
adnxn Sep 14, 2017
9e0d80f
functional_tests: added windows functional test
adnxn Sep 22, 2017
4640038
agent: downgrade gomock to resolve merge conflicts
adnxn Oct 4, 2017
508d9e5
containermetadata: extract duplicated parsing code
adnxn Oct 4, 2017
a50aad7
Do not explicitly set host IP to 0.0.0.0 for Linux, defer to Docker
aws-taylor Sep 7, 2017
de5fa33
containermetadata: use iotas for status
adnxn Oct 5, 2017
d5146c5
engine: fix windows test to include metedata mock
adnxn Oct 6, 2017
ed1cd67
eni attachment state change: ignore expired
aaithal Oct 4, 2017
13fb758
engine: reduce logging verbosity
adnxn Oct 9, 2017
68fa765
containermetadata: add unit tests for un/marshal
adnxn Oct 9, 2017
b4f68c6
statemanger: version bump to 7
adnxn Oct 9, 2017
e9fd7cf
containermetadata: refactored unit tests
adnxn Oct 9, 2017
be6fdad
update go docker client
Sep 18, 2017
e8886ec
engine: added buffer for docker events
Sep 29, 2017
cd318a2
docker event: filter event type before writing to buffer
Sep 29, 2017
43f36c6
task manager: reduce steady state check interval to 5 mins and refactor
Oct 3, 2017
1045da5
engine: remove the filter docker events code
Oct 6, 2017
6817a23
readme: reword metadata option description
adnxn Oct 10, 2017
8bdb430
Merge branch 'mdservice-dev' into dev
adnxn Oct 12, 2017
1ffaff3
Adding proposal for container metadata service
Feb 14, 2017
01d1bef
logging: revert default log level to info
Oct 16, 2017
7aebdb5
dockerclient: Agent supported Docker versions from client min,API Ver…
sharanyad Oct 12, 2017
6fdb330
Merge pull request #1014 from sharanyad/capability-detection-fix
sharanyad Oct 17, 2017
acab52b
engine/dockerclient: Add new Docker remote API version 1.25 support
sharanyad Sep 28, 2017
8270744
Merge pull request #996 from sharanyad/dockerclient-version-capability
sharanyad Oct 17, 2017
d020b55
ecs-cni-plugins: Updated to rev 2017.10.0@17438dd
aaithal Oct 19, 2017
256bba0
scripts: fix usage string in ec2-stage
jahkeup Oct 16, 2017
302d5bc
Add flag to print Agent's ECS Attributes
jahkeup Oct 20, 2017
f0a8445
agent/stats: Fix flaky tests
sharanyad Oct 23, 2017
f3af574
dockerstate: map keys differ before create
samuelkarp Oct 25, 2017
7b56419
dockerstate: Test add/removal with DockerName
samuelkarp Oct 25, 2017
1a47e4e
functional_tests: Add test for restarting agent
samuelkarp Oct 25, 2017
fa0662e
dockerstate: Factor out store/remove for maps
samuelkarp Oct 25, 2017
81b8672
functional_tests: Enhance README
samuelkarp Oct 25, 2017
800f285
Merge remote-tracking branch 'origin/pr/1033' into dev
samuelkarp Oct 25, 2017
acec49a
Merge pull request #1031 from sharanyad/fix-flaky-tests
sharanyad Oct 26, 2017
ad5b70b
Fix flaky unit test in engine
Oct 23, 2017
734d44f
eventhandler: remove duplicate code in TaskHandler
aaithal Oct 18, 2017
3996839
eventhandler: container sent state bug fix
aaithal Oct 18, 2017
81717c2
eventhandler: periodic submit-state event drain
aaithal Oct 19, 2017
b0c7693
changelog entry for non-essential containers state change
aaithal Oct 20, 2017
7106602
eventhandler: fix bugs and clean up task handler
aaithal Oct 24, 2017
f363f06
eventhandler: fix events batching race
aaithal Oct 25, 2017
4d9cdf2
eventhandler: Reduce drain events frequency to 20s
aaithal Oct 27, 2017
b7688c2
acs model changes for ENI DNS settings
aaithal Oct 23, 2017
fd4a34b
api: apply DNS overrides in container's hostconfig
aaithal Oct 23, 2017
b10ab3e
state: Note about DNS entries for the ENI object
aaithal Oct 26, 2017
34baa53
fix race while accessing task's ENI object
aaithal Oct 27, 2017
f16a041
register agent with "none" log driver capability
aaithal Oct 27, 2017
3e9ecba
changelog entry for none log driver support
aaithal Oct 27, 2017
6911423
change min docker version to for none log driver
aaithal Oct 27, 2017
0156888
readme changes for 'none' logging driver
aaithal Oct 30, 2017
d2dd240
update agent to 1.15.0.
Oct 17, 2017
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 14 additions & 3 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,24 @@
# Changelog

## UNRELEASED
* Feature - Support for provisioning Tasks with ENIs
## 1.15.0
* Feature - Support for provisioning tasks with ENIs.
* Feature - Support for `--init` Docker run flag. [#996](https://github.com/aws/amazon-ecs-agent/pull/996)
* Feature - Introduces container level metadata. [#981](https://github.com/aws/amazon-ecs-agent/pull/981)
* Enhancement - Enable 'none' logging driver capability by default.
[#1041](https://github.com/aws/amazon-ecs-agent/pull/1041)
* Bug - Fixed a bug where tasks that fail to pull containers can cause the agent
to fail to restore properly after a restart. [#1033](https://github.com/aws/amazon-ecs-agent/pull/1033)
* Bug - Fixed default logging level issue. [#1016](https://github.com/aws/amazon-ecs-agent/pull/1016)
* Bug - Fixed a bug where unsupported Docker API client versions could be registered.
[#1014](https://github.com/aws/amazon-ecs-agent/pull/1014)
* Bug - Fixed a bug where non-essential container state changes were sometimes not submitted.
[#1026](https://github.com/aws/amazon-ecs-agent/pull/1026)

## 1.14.5
* Enhancement - Retry failed container image pull operations [#975](https://github.com/aws/amazon-ecs-agent/pull/975)
* Enhancement - Set read and write timeouts for websocket connectons [#993](https://github.com/aws/amazon-ecs-agent/pull/993)
* Enhancement - Add support for the SumoLogic Docker log driver plugin
[#992](https://github.com/aws/amazon-ecs-agent/pull/992)
[#992](https://github.com/aws/amazon-ecs-agent/pull/992)
* Bug - Fixed a memory leak issue when submitting the task state change [#967](https://github.com/aws/amazon-ecs-agent/pull/967)
* Bug - Fixed a race condition where a container can be created twice when agent restarts. [#939](https://github.com/aws/amazon-ecs-agent/pull/939)
* Bug - Fixed an issue where `microsoft/windowsservercore:latest` was not
Expand Down
4 changes: 3 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -162,7 +162,7 @@ configure them as something other than the defaults.
| `ECS_UPDATE_DOWNLOAD_DIR` | /cache | Where to place update tarballs within the container. | | |
| `ECS_DISABLE_METRICS` | <true | false> | Whether to disable metrics gathering for tasks. | false | true |
| `ECS_RESERVED_MEMORY` | 32 | Memory, in MB, to reserve for use by things other than containers managed by Amazon ECS. | 0 | 0 |
| `ECS_AVAILABLE_LOGGING_DRIVERS` | `["awslogs","fluentd","gelf","json-file","journald","logentries","splunk","syslog"]` | Which logging drivers are available on the container instance. | `["json-file"]` | `["json-file"]` |
| `ECS_AVAILABLE_LOGGING_DRIVERS` | `["awslogs","fluentd","gelf","json-file","journald","logentries","splunk","syslog"]` | Which logging drivers are available on the container instance. | `["json-file","none"]` | `["json-file","none"]` |
| `ECS_DISABLE_PRIVILEGED` | `true` | Whether launching privileged containers is disabled on the container instance. | `false` | `false` |
| `ECS_SELINUX_CAPABLE` | `true` | Whether SELinux is available on the container instance. | `false` | `false` |
| `ECS_APPARMOR_CAPABLE` | `true` | Whether AppArmor is available on the container instance. | `false` | `false` |
Expand All @@ -179,6 +179,8 @@ configure them as something other than the defaults.
| `ECS_CNI_PLUGINS_PATH` | `/ecs/cni` | The path where the cni binary file is located | `/amazon-ecs-cni-plugins` | Not applicable |
| `ECS_AWSVPC_BLOCK_IMDS` | `true` | Whether to block access to [Instance Metdata](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html) for Tasks started with `awsvpc` network mode | `false` | Not applicable |
| `ECS_AWSVPC_ADDITIONAL_LOCAL_ROUTES` | `["10.0.15.0/24"]` | In `awsvpc` network mode, traffic to these prefixes will be routed via the host bridge instead of the task ENI | `[]` | Not applicable |
| `ECS_ENABLE_CONTAINER_METADATA` | `true` | When `true`, the agent will create a file describing the container's metadata and the file can be located and consumed by using the container enviornment variable `$ECS_CONTAINER_METADATA_FILE` | `false` | `false` |
| `ECS_HOST_DATA_DIR` | `/var/lib/ecs` | The source directory on the host from which ECS_DATADIR is mounted. We use this to determine the source mount path for container metadata files in the case the ECS Agent is running as a container. We do not use this value in Windows because the ECS Agent is not running as container in Windows. | `/var/lib/ecs` | `Not used` |

### Persistence

Expand Down
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
1.14.5
1.15.0
3 changes: 2 additions & 1 deletion agent/Godeps/Godeps.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

47 changes: 24 additions & 23 deletions agent/acs/handler/acs_handler_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -202,9 +202,9 @@ func TestHandlerReconnectsOnConnectErrors(t *testing.T) {
ecsClient.EXPECT().DiscoverPollEndpoint(gomock.Any()).Return(acsURL, nil).AnyTimes()

stateManager := statemanager.NewNoopStateManager()
taskHandler := eventhandler.NewTaskHandler(stateManager)

ctx, cancel := context.WithCancel(context.Background())
taskHandler := eventhandler.NewTaskHandler(ctx, stateManager, nil, nil)

mockWsClient := mock_wsclient.NewMockClientServer(ctrl)
mockWsClient.EXPECT().SetAnyRequestHandler(gomock.Any()).AnyTimes()
mockWsClient.EXPECT().AddRequestHandler(gomock.Any()).AnyTimes()
Expand Down Expand Up @@ -340,9 +340,9 @@ func TestHandlerReconnectsWithoutBackoffOnEOFError(t *testing.T) {
ecsClient.EXPECT().DiscoverPollEndpoint(gomock.Any()).Return(acsURL, nil).AnyTimes()

stateManager := statemanager.NewNoopStateManager()
taskHandler := eventhandler.NewTaskHandler(stateManager)

ctx, cancel := context.WithCancel(context.Background())
taskHandler := eventhandler.NewTaskHandler(ctx, stateManager, nil, nil)

deregisterInstanceEventStream := eventstream.NewEventStream("DeregisterContainerInstance", ctx)
deregisterInstanceEventStream.StartListening()

Expand Down Expand Up @@ -403,9 +403,9 @@ func TestHandlerReconnectsWithBackoffOnNonEOFError(t *testing.T) {
ecsClient.EXPECT().DiscoverPollEndpoint(gomock.Any()).Return(acsURL, nil).AnyTimes()

stateManager := statemanager.NewNoopStateManager()
taskHandler := eventhandler.NewTaskHandler(stateManager)

ctx, cancel := context.WithCancel(context.Background())
taskHandler := eventhandler.NewTaskHandler(ctx, stateManager, nil, nil)

deregisterInstanceEventStream := eventstream.NewEventStream("DeregisterContainerInstance", ctx)
deregisterInstanceEventStream.StartListening()

Expand Down Expand Up @@ -465,9 +465,9 @@ func TestHandlerGeneratesDeregisteredInstanceEvent(t *testing.T) {
ecsClient.EXPECT().DiscoverPollEndpoint(gomock.Any()).Return(acsURL, nil).AnyTimes()

stateManager := statemanager.NewNoopStateManager()
taskHandler := eventhandler.NewTaskHandler(stateManager)

ctx, cancel := context.WithCancel(context.Background())
taskHandler := eventhandler.NewTaskHandler(ctx, stateManager, nil, nil)

deregisterInstanceEventStream := eventstream.NewEventStream("DeregisterContainerInstance", ctx)

// receiverFunc cancels the context when invoked. Any event on the deregister
Expand Down Expand Up @@ -525,9 +525,9 @@ func TestHandlerReconnectDelayForInactiveInstanceError(t *testing.T) {
ecsClient.EXPECT().DiscoverPollEndpoint(gomock.Any()).Return(acsURL, nil).AnyTimes()

stateManager := statemanager.NewNoopStateManager()
taskHandler := eventhandler.NewTaskHandler(stateManager)

ctx, cancel := context.WithCancel(context.Background())
taskHandler := eventhandler.NewTaskHandler(ctx, stateManager, nil, nil)

deregisterInstanceEventStream := eventstream.NewEventStream("DeregisterContainerInstance", ctx)
deregisterInstanceEventStream.StartListening()

Expand Down Expand Up @@ -593,9 +593,9 @@ func TestHandlerReconnectsOnServeErrors(t *testing.T) {
ecsClient.EXPECT().DiscoverPollEndpoint(gomock.Any()).Return(acsURL, nil).AnyTimes()

stateManager := statemanager.NewNoopStateManager()
taskHandler := eventhandler.NewTaskHandler(stateManager)

ctx, cancel := context.WithCancel(context.Background())
taskHandler := eventhandler.NewTaskHandler(ctx, stateManager, nil, nil)

mockWsClient := mock_wsclient.NewMockClientServer(ctrl)
mockWsClient.EXPECT().SetAnyRequestHandler(gomock.Any()).AnyTimes()
mockWsClient.EXPECT().AddRequestHandler(gomock.Any()).AnyTimes()
Expand Down Expand Up @@ -649,9 +649,9 @@ func TestHandlerStopsWhenContextIsCancelled(t *testing.T) {
ecsClient.EXPECT().DiscoverPollEndpoint(gomock.Any()).Return(acsURL, nil).AnyTimes()

stateManager := statemanager.NewNoopStateManager()
taskHandler := eventhandler.NewTaskHandler(stateManager)

ctx, cancel := context.WithCancel(context.Background())
taskHandler := eventhandler.NewTaskHandler(ctx, stateManager, nil, nil)

mockWsClient := mock_wsclient.NewMockClientServer(ctrl)
mockWsClient.EXPECT().SetAnyRequestHandler(gomock.Any()).AnyTimes()
mockWsClient.EXPECT().AddRequestHandler(gomock.Any()).AnyTimes()
Expand Down Expand Up @@ -698,9 +698,8 @@ func TestHandlerReconnectsOnDiscoverPollEndpointError(t *testing.T) {

ecsClient := mock_api.NewMockECSClient(ctrl)
stateManager := statemanager.NewNoopStateManager()
taskHandler := eventhandler.NewTaskHandler(stateManager)

ctx, cancel := context.WithCancel(context.Background())
taskHandler := eventhandler.NewTaskHandler(ctx, stateManager, nil, nil)

mockWsClient := mock_wsclient.NewMockClientServer(ctrl)
mockWsClient.EXPECT().SetAnyRequestHandler(gomock.Any()).AnyTimes()
Expand Down Expand Up @@ -768,7 +767,9 @@ func TestConnectionIsClosedOnIdle(t *testing.T) {

ecsClient := mock_api.NewMockECSClient(ctrl)
stateManager := statemanager.NewNoopStateManager()
taskHandler := eventhandler.NewTaskHandler(stateManager)
ctx, cancel := context.WithCancel(context.Background())
taskHandler := eventhandler.NewTaskHandler(ctx, stateManager, nil, nil)
defer cancel()

wait := sync.WaitGroup{}
wait.Add(1)
Expand Down Expand Up @@ -816,7 +817,8 @@ func TestHandlerDoesntLeakGoroutines(t *testing.T) {
taskEngine := engine.NewMockTaskEngine(ctrl)
ecsClient := mock_api.NewMockECSClient(ctrl)
stateManager := statemanager.NewNoopStateManager()
taskHandler := eventhandler.NewTaskHandler(stateManager)
ctx, cancel := context.WithCancel(context.Background())
taskHandler := eventhandler.NewTaskHandler(ctx, stateManager, nil, nil)

closeWS := make(chan bool)
server, serverIn, requests, errs, err := startMockAcsServer(t, closeWS)
Expand All @@ -839,7 +841,6 @@ func TestHandlerDoesntLeakGoroutines(t *testing.T) {
taskEngine.EXPECT().Version().Return("Docker: 1.5.0", nil).AnyTimes()
taskEngine.EXPECT().AddTask(gomock.Any()).AnyTimes()

ctx, cancel := context.WithCancel(context.Background())
ended := make(chan bool, 1)
go func() {
acsSession := session{
Expand Down Expand Up @@ -899,15 +900,15 @@ func TestStartSessionHandlesRefreshCredentialsMessages(t *testing.T) {
taskEngine := engine.NewMockTaskEngine(ctrl)
ecsClient := mock_api.NewMockECSClient(ctrl)
stateManager := statemanager.NewNoopStateManager()
taskHandler := eventhandler.NewTaskHandler(stateManager)
ctx, cancel := context.WithCancel(context.Background())
taskHandler := eventhandler.NewTaskHandler(ctx, stateManager, nil, nil)
closeWS := make(chan bool)
server, serverIn, requestsChan, errChan, err := startMockAcsServer(t, closeWS)
if err != nil {
t.Fatal(err)
}
defer close(serverIn)

ctx, cancel := context.WithCancel(context.Background())
go func() {
for {
select {
Expand Down Expand Up @@ -1019,9 +1020,9 @@ func TestHandlerReconnectsCorrectlySetsSendCredentialsURLParameter(t *testing.T)
taskEngine := engine.NewMockTaskEngine(ctrl)
ecsClient := mock_api.NewMockECSClient(ctrl)
stateManager := statemanager.NewNoopStateManager()
taskHandler := eventhandler.NewTaskHandler(stateManager)

ctx, cancel := context.WithCancel(context.Background())
taskHandler := eventhandler.NewTaskHandler(ctx, stateManager, nil, nil)

mockWsClient := mock_wsclient.NewMockClientServer(ctrl)

mockWsClient.EXPECT().SetAnyRequestHandler(gomock.Any()).AnyTimes()
Expand Down
35 changes: 20 additions & 15 deletions agent/acs/handler/payload_handler_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -47,9 +47,10 @@ func TestHandlePayloadMessageWithNoMessageId(t *testing.T) {
ecsClient := mock_api.NewMockECSClient(ctrl)
stateManager := statemanager.NewNoopStateManager()
credentialsManager := credentials.NewManager()
taskHandler := eventhandler.NewTaskHandler(stateManager)
ctx, cancel := context.WithCancel(context.Background())
taskHandler := eventhandler.NewTaskHandler(ctx, stateManager, nil, nil)
defer cancel()

ctx := context.Background()
buffer := newPayloadRequestHandler(
ctx,
taskEngine,
Expand Down Expand Up @@ -94,12 +95,13 @@ func TestHandlePayloadMessageAddTaskError(t *testing.T) {
ecsClient := mock_api.NewMockECSClient(ctrl)
stateManager := statemanager.NewNoopStateManager()
credentialsManager := credentials.NewManager()
taskHandler := eventhandler.NewTaskHandler(stateManager)
ctx, cancel := context.WithCancel(context.Background())
taskHandler := eventhandler.NewTaskHandler(ctx, stateManager, nil, nil)
defer cancel()

// Return error from AddTask
taskEngine.EXPECT().AddTask(gomock.Any()).Return(fmt.Errorf("oops")).Times(2)

ctx := context.Background()
buffer := newPayloadRequestHandler(
ctx,
taskEngine,
Expand Down Expand Up @@ -151,9 +153,11 @@ func TestHandlePayloadMessageStateSaveError(t *testing.T) {
ecsClient := mock_api.NewMockECSClient(ctrl)
credentialsManager := credentials.NewManager()
stateManager := mock_statemanager.NewMockStateManager(ctrl)
taskHandler := eventhandler.NewTaskHandler(stateManager)

taskEngine := engine.NewMockTaskEngine(ctrl)
ctx, cancel := context.WithCancel(context.Background())
taskHandler := eventhandler.NewTaskHandler(ctx, stateManager, nil, nil)
defer cancel()

// Save added task in the addedTask variable
var addedTask *api.Task
taskEngine.EXPECT().AddTask(gomock.Any()).Do(func(task *api.Task) {
Expand All @@ -163,7 +167,6 @@ func TestHandlePayloadMessageStateSaveError(t *testing.T) {
// State manager returns error on save
stateManager.EXPECT().Save().Return(fmt.Errorf("oops"))

ctx := context.Background()
buffer := newPayloadRequestHandler(
ctx,
taskEngine,
Expand Down Expand Up @@ -206,8 +209,8 @@ func TestHandlePayloadMessageAckedWhenTaskAdded(t *testing.T) {
ecsClient := mock_api.NewMockECSClient(ctrl)
stateManager := statemanager.NewNoopStateManager()
credentialsManager := credentials.NewManager()
taskHandler := eventhandler.NewTaskHandler(stateManager)
ctx, cancel := context.WithCancel(context.Background())
taskHandler := eventhandler.NewTaskHandler(ctx, stateManager, nil, nil)

taskEngine := engine.NewMockTaskEngine(ctrl)
var addedTask *api.Task
Expand Down Expand Up @@ -277,7 +280,7 @@ func TestHandlePayloadMessageCredentialsAckedWhenTaskAdded(t *testing.T) {
stateManager := statemanager.NewNoopStateManager()
ctx, cancel := context.WithCancel(context.Background())
credentialsManager := credentials.NewManager()
taskHandler := eventhandler.NewTaskHandler(stateManager)
taskHandler := eventhandler.NewTaskHandler(ctx, stateManager, nil, nil)

taskEngine := engine.NewMockTaskEngine(ctrl)
var addedTask *api.Task
Expand Down Expand Up @@ -392,7 +395,9 @@ func TestAddPayloadTaskAddsNonStoppedTasksAfterStoppedTasks(t *testing.T) {
taskEngine := engine.NewMockTaskEngine(ctrl)
credentialsManager := credentials.NewManager()
stateManager := statemanager.NewNoopStateManager()
taskHandler := eventhandler.NewTaskHandler(stateManager)
ctx, cancel := context.WithCancel(context.Background())
taskHandler := eventhandler.NewTaskHandler(ctx, stateManager, nil, nil)
defer cancel()

var tasksAddedToEngine []*api.Task
taskEngine.EXPECT().AddTask(gomock.Any()).Do(func(task *api.Task) {
Expand All @@ -415,7 +420,6 @@ func TestAddPayloadTaskAddsNonStoppedTasksAfterStoppedTasks(t *testing.T) {
MessageId: aws.String(payloadMessageId),
}

ctx := context.Background()
buffer := newPayloadRequestHandler(
ctx,
taskEngine,
Expand Down Expand Up @@ -451,8 +455,8 @@ func TestPayloadBufferHandler(t *testing.T) {
ecsClient := mock_api.NewMockECSClient(ctrl)
stateManager := statemanager.NewNoopStateManager()
credentialsManager := credentials.NewManager()
taskHandler := eventhandler.NewTaskHandler(stateManager)
ctx, cancel := context.WithCancel(context.Background())
taskHandler := eventhandler.NewTaskHandler(ctx, stateManager, nil, nil)

var addedTask *api.Task
taskEngine.EXPECT().AddTask(gomock.Any()).Do(func(task *api.Task) {
Expand Down Expand Up @@ -517,7 +521,7 @@ func TestPayloadBufferHandlerWithCredentials(t *testing.T) {
stateManager := statemanager.NewNoopStateManager()
ctx, cancel := context.WithCancel(context.Background())
credentialsManager := credentials.NewManager()
taskHandler := eventhandler.NewTaskHandler(stateManager)
taskHandler := eventhandler.NewTaskHandler(ctx, stateManager, nil, nil)

// The payload message in the test consists of two tasks, record both of them in
// the order in which they were added
Expand Down Expand Up @@ -694,9 +698,10 @@ func TestPayloadHandlerAddedENIToTask(t *testing.T) {

ecsClient := mock_api.NewMockECSClient(ctrl)
stateManager := statemanager.NewNoopStateManager()
ctx := context.Background()
credentialsManager := credentials.NewManager()
taskHandler := eventhandler.NewTaskHandler(stateManager)
ctx, cancel := context.WithCancel(context.Background())
taskHandler := eventhandler.NewTaskHandler(ctx, stateManager, nil, nil)
defer cancel()

taskEngine := engine.NewMockTaskEngine(ctrl)
var addedTask *api.Task
Expand Down
4 changes: 3 additions & 1 deletion agent/acs/model/api/api-2.json
Original file line number Diff line number Diff line change
Expand Up @@ -191,7 +191,9 @@
"attachmentArn":{"shape":"String"},
"ec2Id":{"shape":"String"},
"ipv4Addresses":{"shape":"IPv4AddressList"},
"ipv6Addresses":{"shape":"IPv6AddressList"}
"ipv6Addresses":{"shape":"IPv6AddressList"},
"domainName":{"shape":"StringList"},
"domainNameServers":{"shape":"StringList"}
}
},
"ElasticNetworkInterfaceList":{
Expand Down
4 changes: 4 additions & 0 deletions agent/acs/model/ecsacs/api.go
Original file line number Diff line number Diff line change
Expand Up @@ -198,6 +198,10 @@ type ElasticNetworkInterface struct {

AttachmentArn *string `locationName:"attachmentArn" type:"string"`

DomainName []*string `locationName:"domainName" type:"list"`

DomainNameServers []*string `locationName:"domainNameServers" type:"list"`

Ec2Id *string `locationName:"ec2Id" type:"string"`

Ipv4Addresses []*IPv4AddressAssignment `locationName:"ipv4Addresses" type:"list"`
Expand Down
Loading