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.14.5 release #999

Merged
merged 261 commits into from
Oct 3, 2017
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
261 commits
Select commit Hold shift + click to select a range
038861a
api,engine: add ContainerResourcesProvisioned state
aaithal Apr 11, 2017
1c26a4a
api: Add the pause container to the task
aaithal Apr 22, 2017
f604043
api, engine: add a steady state per container.
aaithal Apr 27, 2017
edb5c44
api, engine: add steady state per container
aaithal Apr 30, 2017
1af5925
api, statemanager: refactor 'api.Container.IsInternal' to an enum
aaithal May 2, 2017
0b0801e
Makefile changes for packaging Pause Container
vsiddharth May 1, 2017
c44c013
Vendor netlink
vsiddharth Mar 2, 2017
b357245
Vendor errors
vsiddharth Mar 2, 2017
4803fae
Vendor Udev
vsiddharth Apr 14, 2017
a2a116c
Adding NetlinkWrapper
vsiddharth Apr 14, 2017
f9445d6
Adding UDevWrapper
vsiddharth Apr 14, 2017
4c9fef8
Adding Initial ENI Watcher
vsiddharth Apr 14, 2017
13d8fc3
ENI-Watcher: Address review comments
vsiddharth Apr 24, 2017
823925b
Make build platform agnostic
vsiddharth Apr 25, 2017
bf4a426
Address CR Comments
vsiddharth May 2, 2017
0031f07
Fix appveyor build
vsiddharth May 5, 2017
31e6ad6
Address CR Comments
vsiddharth May 10, 2017
7a75405
Adding debug log for udev events in eni eventHandler
vsiddharth May 10, 2017
57de4f4
Merge remote-tracking branch 'origin/dev' into mergeDevToEni05112017
aaithal May 11, 2017
d61b8f5
engine, api: fixed bug in managedTask.containerNextState for handling…
aaithal May 12, 2017
2dc34c4
Makefile: added a 'test-silent' target for running unit tests without…
aaithal May 12, 2017
a0d374a
removed spurious temp file from previous commit
aaithal May 12, 2017
a0d6369
Update pause.c following upstream changes
vsiddharth May 18, 2017
ecaf20d
Merge branch 'pause-container' into enis
vsiddharth May 25, 2017
685bfa5
Merge branch 'pause-release' into enis
vsiddharth Jun 2, 2017
f18e94a
Add capability for task networking
Apr 11, 2017
0fb8df9
Add ecs_cni to invoke the cni plugin
Apr 13, 2017
257fb22
Added environment variable to config cni plugin path
Apr 25, 2017
0f74ce4
Added vendor for containernetworking/cni
Apr 25, 2017
d9e0764
Fix the unit test for task-network capabilities
Apr 25, 2017
70c39f6
Rename the package and variable name
Apr 27, 2017
0fb9230
Added unit test for libcni and refactored the variable name
May 2, 2017
68ffcdb
Update the license for new dependency package
May 2, 2017
b3ee7f9
Update the ecs and acs client api
Apr 26, 2017
a02a2b8
Invoke cni plugin for pause container
Apr 27, 2017
09e93ea
Add transition function for pause container
May 4, 2017
21337f7
Refactored the variable name
May 10, 2017
17aa5dc
Update the ecs client with latest model
May 17, 2017
0daa839
Change GetTaskENI not to return error for task without eni associated
May 17, 2017
54972be
Initial ENI Acker
vsiddharth May 1, 2017
aadaf97
Adding eni attachment status event
Apr 26, 2017
f5061bc
Add ENIAttachment information to agent state
May 4, 2017
243cd70
Adding function to submit eni attachment event
May 16, 2017
d7a598f
Regenerate the mock file for eni package
May 17, 2017
a881447
Fixing failed unit test
May 18, 2017
ff87165
Addressed review comments
May 18, 2017
e2683ae
Add TaskArn field for the eni state change
May 18, 2017
46d80b4
Fix the eni watcher for windows
May 19, 2017
2629221
Add more comments, refactored code and variable name
May 24, 2017
f772132
Adding more test
May 24, 2017
f9974bd
Moved construct cni config to task
May 30, 2017
0ad357d
Making the eni filed public and not an array in task struct since tas…
May 31, 2017
d4a1099
Refactored the variable name
May 31, 2017
cc65a53
Fix the inspect in buildCniConfig to use docker name instead of conta…
May 31, 2017
0b77101
Using attributes instead of capabilities
May 31, 2017
9a7482e
Remove network name when calling cni plugins
Jun 5, 2017
dddacde
Fix the command to build pause container and make release pass
Jun 7, 2017
d9a3654
Merge from dev branch
Jun 8, 2017
ef982ea
Refactor the acs to use dockerstate directly
Jun 9, 2017
7ac7940
Update agent to load pause container on startup
vsiddharth May 31, 2017
e20a443
Adding tests to validate pause.Load
vsiddharth Jun 5, 2017
03288ae
agent/engine: add a timeout for container engine's LoadImage method
aaithal Jun 12, 2017
39c58c5
agent/eni: add UnsupportedPlatform method and minor refactor to suppo…
aaithal Jun 12, 2017
1a1037b
Makefile: add a dependency for the 'docker' target on the 'pause-rele…
aaithal Jun 12, 2017
844720d
agent/config: minor lint changes
aaithal Jun 12, 2017
281dc1d
agent/eni,agent/engine,agent/config: refactor as per review comments.
aaithal Jun 13, 2017
a9a4eb4
Makefile: set the value of pause container image name and tag from li…
aaithal Jun 13, 2017
a6637f0
agent/eni: return the image object from LoadImage for the pause conta…
aaithal Jun 13, 2017
361f6b4
agent/eni/pause: add missing copyright header for error_test.go file
aaithal Jun 13, 2017
dd9da0a
Preserve internal Docker images from deletion
Jun 19, 2017
ebd47be
Merge remote-tracking branch 'origin/dev' into mergeFromDev06232017
aaithal Jun 23, 2017
6e63073
agent/api: remove the dependency on DockerTaskEngine for ecs client
aaithal Jun 27, 2017
7ee7924
agent/eni: move LoadImage into an interface
aaithal Jun 27, 2017
cd3dee6
agent/app: move the Task ENI init logic to agent.go
aaithal Jun 27, 2017
7cd166c
agent/engine: modify task engine tests to initialize the engine with …
aaithal Jun 27, 2017
981817a
Merge branch 'aaithal-mergeFromDev06232017' into enis
aaithal Jun 27, 2017
507902f
Handling timeout for the eni acknowledgement
Jun 6, 2017
4cda940
Added test for submit attachment state change
Jun 12, 2017
77c366f
Add function to sumbit eni state change
Jun 12, 2017
3bdd5d0
Addressed comments
Jun 20, 2017
d729615
agent/ec2, agent/api/ecsclient: Rename C_STYLE_CONSTS as GoStyleConsts
aaithal May 30, 2017
69e5400
agent/api: replace old logger with seelog
aaithal May 30, 2017
8262c95
agent/ec2: remove redundant methods
aaithal May 30, 2017
774f4eb
agent/ec2: extended the metadata interface to retrieve subnet and vpc…
aaithal May 30, 2017
8b3cbc9
agent/functional_tests: fix compilation error for ec2 metadata client…
aaithal May 30, 2017
77115c6
agent/api/ecsclient: register instance with vpc and subnet ID attributes
aaithal May 31, 2017
d6c3b0c
agent/api, apent/ec2: minor refactor and better error messages as per…
aaithal Jun 2, 2017
f585ea7
agent/api, agent/ec2: handle the error in getting vpc and subnet ids …
aaithal Jun 7, 2017
61932f5
agent/api, agent/engine: get rid of GetAdditionalAttributes method in…
aaithal Jun 7, 2017
96b1488
agent/app, agent/engine: modify methods that use DockerTaskEngine's C…
aaithal Jun 27, 2017
caca6e3
agent/app,agent/api: reorder eni watcher initialization in agent.go
aaithal Jun 27, 2017
0efe834
agent/api: fix build from rebase
aaithal Jun 27, 2017
a6d9e0f
agent/ecscni: modify the CNIPlugin interface to retrieve capabilits o…
aaithal Jun 28, 2017
07ebd06
agent/engine: register the 'task-eni' capability only if all plugins …
aaithal Jun 28, 2017
d9be736
agent/stats: fixed a test failure where a go routine execution was le…
aaithal Jun 28, 2017
abfa6ef
agent/api,agent/app,agent/engine,agent/ecscni: modifications as per r…
aaithal Jun 28, 2017
5a0d988
agent/engine,agent/api: read pause container image name from config
aaithal Jun 29, 2017
25e7d35
agent/api/ecsclient: add RegisterContainerInstanceLaunchedWithoutVPC …
aaithal Jun 30, 2017
ed46eda
CNIPlugins Packaging: Adding CNIPlugins to our scratch base
vsiddharth May 3, 2017
6b13cee
Update .gitignore
vsiddharth Jul 6, 2017
f0e0c5a
Update copyright
vsiddharth Jul 6, 2017
613303a
Merge remote-tracking branch 'origin/dev' into mergeFromDev07112017
aaithal Jul 12, 2017
80d3001
fix build issues with the previous merge commit
aaithal Jul 12, 2017
a781cfc
CNI Plugins Packaging: Address review comments
vsiddharth Jul 12, 2017
a70056d
Merge branch 'aaithal-mergeFromDev07112017' into enis
aaithal Jul 12, 2017
40c0897
agent/ecscni: modify the cni plugin version string to exclude the ast…
aaithal Jun 30, 2017
4f9c858
agent/eni: remove dependency on DockerTaskEngine and make udev watche…
aaithal Jun 30, 2017
b174cab
agent/app: wait for child processes and SIGCHLD
aaithal Jun 30, 2017
ee150df
agent/ecscni: modify the netns path to be Agent specific, rather than…
aaithal Jun 30, 2017
7600a0e
agent/ecscni: set loglevel for plugins to reflect Agent's log levels
aaithal Jun 30, 2017
d820f43
agent/app: added a reaper for handling exits of child processes
aaithal Jul 7, 2017
43eb9a9
agent/ecscni: modify the mount path for the container netns handle
aaithal Jul 7, 2017
4ea0ea3
Makefile: run test-in-docker target with net=none
aaithal Jul 7, 2017
f94ccc7
scripts/test: get rid of superflous cd and get-deps directives
aaithal Jul 7, 2017
d2e34e2
agent/eni/setup: fix non linux build for eni setup code
aaithal Jul 7, 2017
3595465
misc/pause-container: remove user id for pause container.
aaithal Jul 7, 2017
23bb7ca
agent/app: invoke wait() in a go routine after processing SIGCHLD
aaithal Jul 11, 2017
9ffe41b
agent/app: stop receiving sigchld when the context is cancelled
aaithal Jul 13, 2017
c4b6a2e
agent/app: add a comment explaining signal.Stop behavior when stoppin…
aaithal Jul 17, 2017
b3022ad
agent/app: fix a flaky unit test for starting the agent with task eni…
aaithal Jul 17, 2017
830ca5b
agent/eni: remove the dependency of eni watcher on eni state manager
aaithal Jul 13, 2017
a91cb53
agent/eni: remove the dependency of eni watcher on eni state manager
aaithal Jul 18, 2017
31dfbea
agent/eni/statemanager: get rid of this package
aaithal Jul 18, 2017
9f695d4
Makefile: Adding overrides for building cni plugins
vsiddharth Jul 24, 2017
7b1472c
Merge remote-tracking branch 'origin/dev' into mergeFromDev07252017
aaithal Jul 25, 2017
11dd8d5
agent/acs/client: use mock webserver instead of message logger in tests
aaithal Jul 26, 2017
2a8546c
agent/api/ecsclient: modify negative resources test to invoke subnet …
aaithal Jul 26, 2017
661b934
agent/eventhandler: fix data race
aaithal Jul 26, 2017
01fccf0
appveyor: exclude vendor directory when running tests
aaithal Jul 26, 2017
f29d0ba
agent/app: get rid of the reaper.
aaithal Jul 19, 2017
7a41bf4
agent/api: disable Task networking if Agent is not started with an in…
aaithal Jul 24, 2017
d86efb3
Merge branch 'aaithal-mergeFromDev07252017' into enis
aaithal Jul 26, 2017
f35dc7b
Makefile: Update Dependencies
vsiddharth Jul 25, 2017
88cf3cf
agent/engine/docker_task_engine.go: move capability functionality to …
Jul 24, 2017
ea0a651
agent/api: remove task eni specific logic
aaithal Aug 4, 2017
1a1d1ec
agent/app/oswrapper: add a package to wrap methods in the stdlib's os…
aaithal Aug 4, 2017
e698ca7
agent/eni: fixed a bug where the udev monitor was not beig cleanly to…
aaithal Aug 4, 2017
c5c67df
agent/ec2: Get rid of the 'LaunchedWithoutVPC' method
aaithal Aug 4, 2017
1fd8783
agent/app: combine all of ENI dependency initialization logic
aaithal Aug 4, 2017
e427e97
agent/functional_tests: remove attribute check for subnet and vpc id'…
aaithal Aug 4, 2017
2b06409
agent/app: fix flaky TestDoStartTaskENIHappyPath test.
aaithal Aug 7, 2017
d942f2b
agent/eni: Get rid of agent/eni/setup package
aaithal Aug 8, 2017
767416d
agent/app: use switch-case to handle errors initializing ENI dependen…
aaithal Aug 9, 2017
bf35d36
Merge remote-tracking branch 'origin/dev' into mergeFromDev08102017
aaithal Aug 10, 2017
5d0dc54
Merge branch 'aaithal-mergeFromDev08102017' into enis
aaithal Aug 15, 2017
f48e654
agent/api,agent/acs/handler: fix bug where eni attachment state could…
aaithal Aug 16, 2017
d24ccd5
agent/eventhandler: fix bug where eni attachment would not be submitted
aaithal Aug 16, 2017
709ad4c
agent/api: fix failing test in appveyor by using common time format f…
aaithal Aug 16, 2017
cfb19b9
agent/api: switch to using a common lock for accessing all of api.ENI…
aaithal Aug 17, 2017
10550a5
agent/api: use aws.String() for eni attach parameters
aaithal Aug 18, 2017
9c86bf7
agent/acs/handler: update attach eni handler tests to interact direct…
aaithal Aug 22, 2017
be44e8d
agent/eni,agent/app: filter only non localhost devices when looking f…
aaithal Aug 23, 2017
03b987d
agent/acs/handler: asynchronously send eni attachment message ack
aaithal Aug 23, 2017
44159e4
config: Linker sets default pause container image
samuelkarp Aug 23, 2017
f1d8701
engine: Clarify dependencygraph functionality
samuelkarp Aug 21, 2017
0b451f9
engine: add test for ContainerNextState with deps
samuelkarp Aug 24, 2017
c5c0f37
config: Make pause image name + tag configurable
samuelkarp Aug 24, 2017
3a00195
Merge branch 'dependencygraph' into dev
samuelkarp Aug 24, 2017
88a2e10
api: Added Platform Overrides for Task API
cabbruzzese Aug 10, 2017
22baef7
api: Comment and File Formatting
cabbruzzese Aug 11, 2017
0ce4472
api: Added Abstraction for Platform Override
cabbruzzese Aug 15, 2017
5e97321
update_handler: remove unused global variable
samuelkarp Aug 25, 2017
96ba42c
Merge branch 'dev' of https://github.com/aws/amazon-ecs-agent into wi…
cabbruzzese Aug 25, 2017
4b6aec5
scripts: cleaning up windows scripts
petderek Aug 25, 2017
55fc25d
Merge remote-tracking branch 'origin/dev' into mergeFromDev08252017
aaithal Aug 25, 2017
68fcb7b
Merge branch 'aaithal-mergeFromDevToENIs08252017' into enis
aaithal Aug 25, 2017
bb9727e
Adding a proposal for ENIs for Tasks
aaithal Feb 3, 2017
338c363
Merge remote-tracking branch 'origin/pr/947' into dev
samuelkarp Aug 26, 2017
15463ab
Merge pull request #924 from cabbruzzese/win-swappiness
cabbruzzese Aug 28, 2017
56343a7
Merge branch 'windows-dev' into dev
petderek Aug 29, 2017
78b5f72
Merge remote-tracking branch 'origin/pr/941' into enis
samuelkarp Aug 29, 2017
b387ede
Merge remote-tracking branch 'origin/pr/946' into dev
samuelkarp Aug 29, 2017
21c0d6a
api: Add missing assertions for empty volumes
samuelkarp Aug 25, 2017
de1c247
Merge remote-tracking branch 'origin/pr/948' into dev
samuelkarp Aug 30, 2017
ae91419
add repoint-latest script
Jul 18, 2017
9495f21
remove nuclear option from script.
Aug 14, 2017
688e95b
repoint-latest: clean up before docker load.
Aug 15, 2017
789a768
scripts/repoint-latest: add input validation.
Aug 15, 2017
6d123de
Merge branch 'cni-packaging-enis' into enis
vsiddharth Aug 31, 2017
911873d
eventhandler: Refactor to eliminate global state saver
vsiddharth Aug 30, 2017
0d80d2f
eventhandler: Update constructor with stateSaver
vsiddharth Aug 31, 2017
7f4da27
Merge remote-tracking branch 'origin/dev' into mergeENIsFromDev08312017
aaithal Aug 31, 2017
b3b4c0b
Merge branch 'eventhandler-refactor' into dev
vsiddharth Sep 1, 2017
f2086d1
Merge branch 'aaithal-mergeENIsFromDev08312017' into enis
aaithal Sep 1, 2017
fef5aae
container engine: omit destroy event of container
Aug 21, 2017
32cfd4a
Merge remote-tracking branch 'origin/dev' into mergeENIsFromDev09012017
aaithal Sep 1, 2017
0cd1e9c
agent/engine: fix eni not found logs with format string variation
aaithal Sep 1, 2017
f724f0f
Merge branch 'aaithal-mergeENIsFromDev09012017' into enis
aaithal Sep 1, 2017
0e782a5
changelog: for task enis feature
aaithal Sep 1, 2017
801a379
Merge branch 'aaithal-mergeENIsToDev' into dev
aaithal Sep 5, 2017
bc33c22
eventhandler: fix the leak of taskevents map
Sep 6, 2017
fbccfb2
agent/config: add AWSVPCBlockInstanceMetdata config for blocking acce…
aaithal Sep 6, 2017
ad72706
agent/ecscni,agent/engine: wire in AWSVPCBlockInstanceMetdata config …
aaithal Sep 6, 2017
1cf42c9
agent/app: register task-eni-block-instance-metadata capability when …
aaithal Sep 7, 2017
c344189
README: add documentation for ECS_AWSVPC_BLOCK_IMDS
aaithal Sep 7, 2017
5cc2efa
agent/app: Don't register 'task-eni-block-instance-metadata' capabili…
aaithal Sep 7, 2017
f58a47c
stats: remove unused conditional
samuelkarp Sep 7, 2017
a109a8c
awsvpc: enable static IPv4 config + return route
samuelkarp Aug 31, 2017
49c36c7
engine: Make the agent reuse the generated container name on restart
Aug 23, 2017
9b70685
Add retries to docker pull operations
Aug 31, 2017
6ba0923
Allow specification of additional routes via the config file
Sep 1, 2017
65c40dc
eni: use types.IPNet instead of string
samuelkarp Sep 6, 2017
4e6b589
utils: Add context to retries
samuelkarp Sep 8, 2017
68ce465
engine: move pull retries inside dockerGoClient
samuelkarp Sep 8, 2017
6b1f314
engine: exclude CreateEmptyVolumeError from retry
samuelkarp Sep 12, 2017
9241ed4
awsvpc: configure local routes with env var
samuelkarp Sep 13, 2017
4ebfefe
config: clean up ECS_INSTANCE_ATTRIBUTES parsing
samuelkarp Sep 13, 2017
6f11735
Merge remote-tracking branch 'origin/pr/975' into dev
samuelkarp Sep 13, 2017
a74ee02
ecscni: separate configuration for ADD and DEL
Sep 8, 2017
10fb083
test: fix unit test for the ecscni and refactored code structure
Sep 8, 2017
d11c90c
test: fix integration test failure
Sep 14, 2017
5a8ab93
Issue #977: Makefile fixes
Sep 11, 2017
3925fda
Stop shelling out for pwd
Sep 12, 2017
c5c4ea7
Issue #978: Makefile: create artifact directories
Sep 12, 2017
1b60a3e
Add more logging during websocket connections.
Sep 1, 2017
3b9553f
tcs/handler: rename seelog import.
Sep 5, 2017
58dd03d
golint for acs_handler and ws/client.
Sep 5, 2017
4ecdc98
Mention container name in OOM log message
Aug 15, 2017
00595f1
Add amazon-ecs-cni-plugins submodule
Sep 13, 2017
e825923
engine: "internal" containers may not be pulled
samuelkarp Sep 25, 2017
fba28c6
emptyvolume: Use nanoserver on Windows
samuelkarp Sep 25, 2017
7a26f74
changelog: Add entry for pull bug
samuelkarp Sep 25, 2017
2fac534
Merge remote-tracking branch 'origin/pr/990' into dev
samuelkarp Sep 25, 2017
aacffd5
Merge pull request #980 from nmeyerhans/makefile-fixes
nmeyerhans Sep 25, 2017
1ffe4d1
dependencygraph: Verify steady state can resolve
samuelkarp Sep 20, 2017
b8f397b
dependencygraph: Add new transition dependencies
samuelkarp Sep 20, 2017
df2a441
api: Use transition dependencies for empty vols
samuelkarp Sep 21, 2017
80b8315
api: Use transition dependencies for pause
samuelkarp Sep 21, 2017
9026239
engine: Convert tests to transition dependencies
samuelkarp Sep 21, 2017
b9bb089
engine: Add back old test, code is still there
samuelkarp Sep 21, 2017
dbc7bbc
engine: Fix ContainerName field
samuelkarp Sep 25, 2017
3916dc4
statemanager: Record dependency changes for v6
samuelkarp Sep 25, 2017
1b7ef88
api: move pause dependency to resource provisioned
samuelkarp Sep 26, 2017
afd0740
Merge remote-tracking branch 'origin/pr/989' into dev
samuelkarp Sep 26, 2017
2589268
ecscni: Re-implement removed AdditionalLocalRoutes
samuelkarp Sep 26, 2017
d09c3a2
Merge remote-tracking branch 'origin/pr/991' into dev
samuelkarp Sep 26, 2017
6861b84
Add support for SumoLogic logging driver
Sep 27, 2017
7c6c5e8
ecs_client/model, functional_tests: updated model, functional tests f…
sharanyad Aug 29, 2017
6e7ce9b
functional_tests: Combining cap-add and cap-drop tests into a single …
sharanyad Sep 1, 2017
d568430
ecs_client/model: Updated API and Documentation changes
sharanyad Sep 26, 2017
152a49c
ecs_client/model, functional_tests: Update to latest ECS API and Docu…
sharanyad Sep 27, 2017
640d704
Merge pull request #956 from sharanyad/capadddrop
sharanyad Sep 28, 2017
ff6f81b
Makefile: fix cni-plugins to build on OSX
aaithal Sep 27, 2017
2b9c5a7
wsclient: add read and write deadlines
aaithal Sep 27, 2017
ec4d577
CHANGELOG entry for 8703f78 (wsclient: add read write deadlines)
aaithal Sep 27, 2017
b3db90b
acs,tcs handlers: increase websocket rw timeout
aaithal Sep 27, 2017
908bf34
Merge remote-tracking branch 'origin/pr/992' into sumologic
samuelkarp Sep 28, 2017
62f3de1
readme: Add line about SumoLogic plugin
samuelkarp Sep 28, 2017
ae897cf
Don't log websocket messages if there are errors.
Sep 29, 2017
0dcd02c
update agent version to 1.14.5
Sep 30, 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
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -13,3 +13,5 @@ _bin/
*.sublime-*
.DS_Store
/misc/windows-iam/devcon*
/misc/pause-container/pause
*-stamp
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[submodule "amazon-ecs-cni-plugins"]
path = amazon-ecs-cni-plugins
url = https://github.com/aws/amazon-ecs-cni-plugins.git
23 changes: 19 additions & 4 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,20 @@
# Changelog

## UNRELEASED
* Feature - Support for provisioning Tasks with ENIs

## 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)
* 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
pulled on Windows under certain conditions.
[#990](https://github.com/aws/amazon-ecs-agent/pull/990)
* Bug - Fixed an issue where task IAM role credentials could be logged to disk. [#998](https://github.com/aws/amazon-ecs-agent/pull/998)

## 1.14.4
* Enhancement - Batch container state change events. [#867](https://github.com/aws/amazon-ecs-agent/pull/867)
* Enhancement - Improve the error message when reserved memory is larger than the available memory. [#897](https://github.com/aws/amazon-ecs-agent/pull/897)
Expand All @@ -8,14 +23,14 @@
* Enhancement - Allow instance attributes to be provided from config file
by [@ejholmes](https://github.com/ejholmes). [#908](https://github.com/aws/amazon-ecs-agent/pull/908)
* Enhancement - Reduce the disconnection period to the backend for idle connections. [#912](https://github.com/aws/amazon-ecs-agent/pull/912)
* Bug - Fix data race where a pointer was returned in Getter. [#889](https://github.com/aws/amazon-ecs-agent/pull/899)
* Bug - Fixed data race where a pointer was returned in Getter. [#889](https://github.com/aws/amazon-ecs-agent/pull/899)
* Bug - Reset agent state if the instance id changed on agent restart. [#892](https://github.com/aws/amazon-ecs-agent/pull/892)
* Bug - Fix a situation in which containers may be falsely reported as STOPPED
* Bug - Fixed a situation in which containers may be falsely reported as STOPPED
in the case of a Docker "stop" API failure. [#910](https://github.com/aws/amazon-ecs-agent/pull/910)
* Bug - Fix typo in log string by [@sharuzzaman](https://github.com/sharuzzaman). [#930](https://github.com/aws/amazon-ecs-agent/pull/930)
* Bug - Fixed typo in log string by [@sharuzzaman](https://github.com/sharuzzaman). [#930](https://github.com/aws/amazon-ecs-agent/pull/930)

## 1.14.3
* Bug - Fix a deadlock that was caused by the ImageCleanup and Image Pull. [#836](https://github.com/aws/amazon-ecs-agent/pull/836)
* Bug - Fixed a deadlock that was caused by the ImageCleanup and Image Pull. [#836](https://github.com/aws/amazon-ecs-agent/pull/836)

## 1.14.2
* Enhancement - Added introspection API for querying tasks by short docker ID, by [@aaronwalker](https://github.com/aaronwalker). [#813](https://github.com/aws/amazon-ecs-agent/pull/813)
Expand Down
32 changes: 28 additions & 4 deletions LICENSE
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@ AWS SDK for Go, Copyright 2014-2015 Stripe, Inc. and Amazon.com, Inc. or its aff
libcontainer, Copyright 2014 Docker, Inc.
uuid, Copyright (c) 2009,2014 Google Inc.
runc, Copyright 2012-2015 Docker, Inc.
Kubernetes, Copyright 2016 The Kubernetes Authors.
kubernetes/build/pause Copyright 2016 The Kubernetes Authors.

each of which are licensed under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance with the
Expand Down Expand Up @@ -62,7 +64,7 @@ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
3. You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and
4. If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License.

You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.
You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.
Expand Down Expand Up @@ -185,9 +187,9 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

***
Golang archive/tar, Copyright (c) 2012 The Go Authors
Golang net, Copyright (c) 2009 The Go Authors
Golang x/sys, Copyright (c) 2009 The Go Authors.
Golang archive/tar, Copyright (c) 2012 The Go Authors
Golang net, Copyright (c) 2009 The Go Authors
Golang x/sys, Copyright (c) 2009 The Go Authors.

each of which are licensed under the following terms and conditions:

Expand Down Expand Up @@ -699,3 +701,25 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

***
github.com/pkg/errors
Copyright (c) 2015, Dave Cheney <[email protected]>
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
94 changes: 74 additions & 20 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,18 @@
# ANY KIND, either express or implied. See the License for the specific
# language governing permissions and limitations under the License.

.PHONY: all gobuild static docker release certs test clean netkitten test-registry run-functional-tests gremlin benchmark-test gogenerate run-integ-tests image-cleanup-test-images
PAUSE_CONTAINER_IMAGE = "amazon/amazon-ecs-pause"
PAUSE_CONTAINER_TAG = "0.1.0"
PAUSE_CONTAINER_TARBALL = "amazon-ecs-pause.tar"

# Variable to determine branch/tag of amazon-ecs-cni-plugins
ECS_CNI_REPOSITORY_REVISION=master

# Variable to override cni repository location
ECS_CNI_REPOSITORY_SRC_DIR=$(PWD)/amazon-ecs-cni-plugins


.PHONY: all gobuild static docker release certs test clean netkitten test-registry run-functional-tests gremlin benchmark-test gogenerate run-integ-tests image-cleanup-test-images pause-container get-cni-sources cni-plugins

all: docker

Expand All @@ -28,24 +39,32 @@ static:
# directory
build-in-docker:
@docker build -f scripts/dockerfiles/Dockerfile.build -t "amazon/amazon-ecs-agent-build:make" .
@docker run --net=none -e TARGET_OS="${TARGET_OS}" \
-v "$(shell pwd)/out:/out" \
-v "$(shell pwd):/go/src/github.com/aws/amazon-ecs-agent" \
@docker run --net=none \
-e TARGET_OS="${TARGET_OS}" \
-e LDFLAGS="-X github.com/aws/amazon-ecs-agent/agent/config.DefaultPauseContainerTag=$(PAUSE_CONTAINER_TAG) \
-X github.com/aws/amazon-ecs-agent/agent/config.DefaultPauseContainerImageName=$(PAUSE_CONTAINER_IMAGE)" \
-v "$(PWD)/out:/out" \
-v "$(PWD):/go/src/github.com/aws/amazon-ecs-agent" \
"amazon/amazon-ecs-agent-build:make"

# 'docker' builds the agent dockerfile from the current sourcecode tree, dirty
# or not
docker: certs build-in-docker
docker: certs build-in-docker pause-container-release cni-plugins
@cd scripts && ./create-amazon-ecs-scratch
@docker build -f scripts/dockerfiles/Dockerfile.release -t "amazon/amazon-ecs-agent:make" .
@echo "Built Docker image \"amazon/amazon-ecs-agent:make\""

# 'docker-release' builds the agent from a clean snapshot of the git repo in
# 'RELEASE' mode
docker-release:
docker-release: pause-container-release cni-plugins
@docker build -f scripts/dockerfiles/Dockerfile.cleanbuild -t "amazon/amazon-ecs-agent-cleanbuild:make" .
@docker run --net=none -e TARGET_OS="${TARGET_OS}" -v "$(shell pwd)/out:/out" \
-v "$(shell pwd):/src/amazon-ecs-agent" "amazon/amazon-ecs-agent-cleanbuild:make"
@docker run --net=none \
-e TARGET_OS="${TARGET_OS}" \
-v "$(PWD)/out:/out" \
-e LDFLAGS="-X github.com/aws/amazon-ecs-agent/agent/config.DefaultPauseContainerTag=$(PAUSE_CONTAINER_TAG) \
-X github.com/aws/amazon-ecs-agent/agent/config.DefaultPauseContainerImageName=$(PAUSE_CONTAINER_IMAGE)" \
-v "$(PWD):/src/amazon-ecs-agent" \
"amazon/amazon-ecs-agent-cleanbuild:make"

# Release packages our agent into a "scratch" based dockerfile
release: certs docker-release
Expand All @@ -65,6 +84,9 @@ misc/certs/ca-certificates.crt:
test:
. ./scripts/shared_env && go test -race -timeout=25s -v -cover $(shell go list ./agent/... | grep -v /vendor/)

test-silent:
. ./scripts/shared_env && go test -timeout=25s -cover $(shell go list ./agent/... | grep -v /vendor/)

benchmark-test:
. ./scripts/shared_env && go test -run=XX -bench=. $(shell go list ./agent/... | grep -v /vendor/)

Expand All @@ -75,56 +97,88 @@ test-registry: netkitten volumes-test squid awscli image-cleanup-test-images flu
test-in-docker:
docker build -f scripts/dockerfiles/Dockerfile.test -t "amazon/amazon-ecs-agent-test:make" .
# Privileged needed for docker-in-docker so integ tests pass
docker run -v "$(shell pwd):/go/src/github.com/aws/amazon-ecs-agent" --privileged "amazon/amazon-ecs-agent-test:make"
docker run --net=none -v "$(PWD):/go/src/github.com/aws/amazon-ecs-agent" --privileged "amazon/amazon-ecs-agent-test:make"

run-functional-tests: testnnp test-registry
. ./scripts/shared_env && go test -tags functional -timeout=30m -v ./agent/functional_tests/...

testnnp:
cd misc/testnnp; $(MAKE) $(MFLAGS)
$(MAKE) -C misc/testnnp $(MFLAGS)

pause-container:
@docker build -f scripts/dockerfiles/Dockerfile.buildPause -t "amazon/amazon-ecs-build-pause-bin:make" .
@docker run --net=none \
-v "$(PWD)/misc/pause-container:/out" \
-v "$(PWD)/misc/pause-container/buildPause:/usr/src/buildPause" \
"amazon/amazon-ecs-build-pause-bin:make"

$(MAKE) -C misc/pause-container $(MFLAGS)
@docker rmi -f "amazon/amazon-ecs-build-pause-bin:make"

pause-container-release: pause-container
mkdir -p "$(PWD)/out"
@docker save ${PAUSE_CONTAINER_IMAGE}:${PAUSE_CONTAINER_TAG} > "$(PWD)/out/${PAUSE_CONTAINER_TARBALL}"

get-cni-sources:
git submodule update --init --checkout

cni-plugins: get-cni-sources
@docker build -f scripts/dockerfiles/Dockerfile.buildCNIPlugins -t "amazon/amazon-ecs-build-cniplugins:make" .
mkdir -p out/cni-plugins
docker run --rm --net=none \
-e GIT_SHORT_HASH=$(shell cd $(ECS_CNI_REPOSITORY_SRC_DIR) && git rev-parse --short HEAD) \
-e GIT_PORCELAIN=$(shell cd $(ECS_CNI_REPOSITORY_SRC_DIR) && git status --porcelain 2> /dev/null | wc -l | sed 's/^ *//') \
-v "$(PWD)/out/cni-plugins:/go/src/github.com/aws/amazon-ecs-cni-plugins/bin/plugins" \
-v "$(ECS_CNI_REPOSITORY_SRC_DIR):/go/src/github.com/aws/amazon-ecs-cni-plugins" \
"amazon/amazon-ecs-build-cniplugins:make"
@echo "Built amazon-ecs-cni-plugins successfully."

run-integ-tests: test-registry gremlin
. ./scripts/shared_env && go test -race -tags integration -timeout=5m -v ./agent/engine/... ./agent/stats/... ./agent/app/...

netkitten:
cd misc/netkitten; $(MAKE) $(MFLAGS)
$(MAKE) -C misc/netkitten $(MFLAGS)

volumes-test:
cd misc/volumes-test; $(MAKE) $(MFLAGS)
$(MAKE) -C misc/volumes-test $(MFLAGS)

# TODO, replace this with a build on dockerhub or a mechanism for the
# functional tests themselves to build this
.PHONY: squid awscli fluentd
squid:
cd misc/squid; $(MAKE) $(MFLAGS)
$(MAKE) -C misc/squid $(MFLAGS)

gremlin:
cd misc/gremlin; $(MAKE) $(MFLAGS)
$(MAKE) -C misc/gremlin $(MFLAGS)

awscli:
cd misc/awscli; $(MAKE) $(MFLAGS)
$(MAKE) -C misc/awscli $(MFLAGS)

fluentd:
cd misc/fluentd; $(MAKE) $(MFLAGS)
$(MAKE) -C misc/fluentd $(MFLAGS)

image-cleanup-test-images:
cd misc/image-cleanup-test-images; $(MAKE) $(MFLAGS)
$(MAKE) -C misc/image-cleanup-test-images $(MFLAGS)

get-deps:
.get-deps-stamp:
go get github.com/tools/godep
go get golang.org/x/tools/cmd/cover
go get github.com/golang/mock/mockgen
go get golang.org/x/tools/cmd/goimports
touch .get-deps-stamp

get-deps: .get-deps-stamp

clean:
# ensure docker is running and we can talk to it, abort if not:
# ensure docker is running and we can talk to it, abort if not:
docker ps > /dev/null
rm -f misc/certs/ca-certificates.crt &> /dev/null
rm -f out/amazon-ecs-agent out/amazon-ecs-agent.exe &> /dev/null
rm -rf out/*
$(MAKE) -C $(ECS_CNI_REPOSITORY_SRC_DIR) clean
rm -rf agent/Godeps/_workspace/pkg/
-$(MAKE) -C misc/netkitten $(MFLAGS) clean
-$(MAKE) -C misc/volumes-test $(MFLAGS) clean
-$(MAKE) -C misc/gremlin $(MFLAGS) clean
-$(MAKE) -C misc/testnnp $(MFLAGS) clean
-$(MAKE) -C misc/image-cleanup-test-images $(MFLAGS) clean
-rm -f .get-deps-stamp
3 changes: 3 additions & 0 deletions NOTICE
Original file line number Diff line number Diff line change
Expand Up @@ -26,3 +26,6 @@ violate applicable laws.
For more information, please see https://www.bis.doc.gov

See also https://www.apache.org/dev/crypto.html and/or seek legal counsel.

Kubernetes, Copyright 2016 The Kubernetes Authors.
kubernetes/build/pause Copyright 2016 The Kubernetes Authors.
4 changes: 4 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -175,6 +175,10 @@ configure them as something other than the defaults.
| `ECS_IMAGE_MINIMUM_CLEANUP_AGE` | 30m | The minimum time interval between when an image is pulled and when it can be considered for automated image cleanup. | 1h | 1h |
| `ECS_NUM_IMAGES_DELETE_PER_CYCLE` | 5 | The maximum number of images to delete in a single automated image cleanup cycle. If set to less than 1, the value is ignored. | 5 | 5 |
| `ECS_INSTANCE_ATTRIBUTES` | `{"stack": "prod"}` | These attributes take effect only during initial registration. After the agent has joined an ECS cluster, use the PutAttributes API action to add additional attributes. For more information, see [Amazon ECS Container Agent Configuration](http://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) in the Amazon ECS Developer Guide.| `{}` | `{}` |
| `ECS_ENABLE_TASK_ENI` | `false` | Whether to enable task networking for task to be launched with its own network interface | `false` | Not applicable |
| `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 |

### Persistence

Expand Down
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
1.14.4
1.14.5
Loading