-
Notifications
You must be signed in to change notification settings - Fork 618
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
V1.15.0 release #1018
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
all @huerdong commits squashed for manageable commit history in PR
This commit is fix gomock version mismatch and regenerate all mocks to fix breaking builds with metadata service changes
This change adds logic in the agent to update the metadata file after the agent restarts and the related unit test. Note that we added a MetadataFileUpdated flag in the api.Container struct and this is included with state file's ECSDataVersion 6 bump.
---* Motivation *--- By hardcoding the host IP as 0.0.0.0, the agent is removing the ability for customers to specify specific host IP addresses (such as when there are multiple network interfaces). By default, the docker daemon defaults to 0.0.0.0, but this value may be overridden by launching the daemon with a --ip flag. https://docs.docker.com/engine/reference/commandline/dockerd/ This also has an implication for the CloudWatch Events published by ECS. Specifically, prior to this change the 'bindIP' field in the ECS Task Status events always contains '0.0.0.0'. This change will benefit the following customer use cases: * aws#426 * https://forums.aws.amazon.com/thread.jspa?threadID=173250 * https://serverfault.com/questions/695393/amazon-ecs-docker-binding-container-to-specific-ip-address ---* Detailed Description *--- Do not explicitly set the HostIP property when starting containers and instead defer to the daemon's default.
This change fixes a bug with the Agent's event submission logic, where if the ENI attachment is ignored if the ack time sent by the backend has expired. Not doing this will result in the Agent forever trying to send the attachment event to the backend as we can't reliably distinguish between throttle errors and invalid input errors from SubmitTaskStateChange response.
this change also includes minor changes to addresses cr
unit tests no manager_test.go no longer depend on error message format.
The docker events filter part has been moved to docker_events_buffer
This test verifies that the agent can be restarted after a task with an invalid image is cleaned up. This test fails with v1.14.5 and passes after this commit.
Fix flaky tests in stats package
TestGetTaskByArn and TestMetadataFileUpdatedAgentRestart sometimes can be flaky due to missing docker api call, as there is no way to stop the engine from procssing the task. By modifying the desired/known status of the container/task to reduce this calls.
This commit refactors the 'SubmitTaskEvents' method to consolidate the duplicate code in event submission logic into a single method.
Fixed a bug where upon submitting the task state change, the container sent state was not being updated. This would cause spurious container state changes in the submission queue of task handler upon agent restart.
Added a ticker to drain the event queue every minute. If there are any container state changes not submitted, the ticker ensures that they do get submitted.
This commit fixes a bunch of things in the task handler code: 1. Breaking up the really long submitTaskEvents method: The callback for the the backoff has been moved into its own named method from the in-place anonymous method (send()) 2. The backoff callback method now returns an error when there's an error submitting state change to ECS backend. This fixes a bug with the old version of the code where the backoff would never happen on errors because the error was never propagated all the way up 3. The race-condition between startDrainEventsTicker() and AddStateChangeEvent() when both are trying to submit changes to the same task is fixed as the tasksToEvents is used to group events belonging to the same task and only cleaned up when events are submitted instead of being cleaned before invoking the submitTaskEvents() routine
There was another race condition where, if an event was already being marked for submission, the batched container changes would be lost if another submission trigger came in for the same task from the ticker. This commit makes it so that the two maps in task handler are updated in a single lock scope to avoid such a race. This commit also refactors the code to get rid of most methods that were not tied to any struct. Instead, each struct has its own methods to deal with sending state changes to ECS
Update ACS model for getting DNS information about the ENI
If the container belongs to a task with an ENI, and if the ENI object has custom DNS overrides specified, override it in the container's host config as well.
Record the new DNS fields in ENI state for the statemanager's version bump for the state file
Agent registers itself as being capable of placing containers with "none" logging driver on start, without the need for explicitly specifying this in the config
changed min docker version required to 1.19
jhaynes
force-pushed
the
v1.15.0-stage
branch
3 times, most recently
from
October 31, 2017 15:34
a12a30c
to
55a2a13
Compare
jhaynes
force-pushed
the
v1.15.0-stage
branch
from
October 31, 2017 15:38
55a2a13
to
d2dd240
Compare
aaithal
approved these changes
Oct 31, 2017
samuelkarp
approved these changes
Oct 31, 2017
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
--init
Docker run flag. #996#1041
to fail to restore properly after a restart. #1033
#1014
#1026