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

feature: container port range mapping (merging into dev) #3506

Merged
merged 17 commits into from
Dec 5, 2022

Conversation

singholt
Copy link
Contributor

@singholt singholt commented Dec 5, 2022

Summary

This PR merges the feature/container-port-range branch into dev.

Implementation details

All changes have been reviewed in individual PRs targeting the feature branch. This is just a merge back to dev for feature release.

Here's a feature summary:

  • The existing singular port mapping customer experience remains the same. There are no new changes introduced to it, by this port range mapping feature.
  • We're adding the ability to process container port range(s) belonging to containers (in a task payload). The corresponding host port range will be dynamically mapped.
  • Dynamic port mapping is only applicable to default/bridge/nat network modes.
  • The agent advertises a new capability to ensure only agent capable of handling the port range(s) gets the task payload.
  • We've updated the ECS model and API contract so that the agent is able to recognize ranges and communicate with ECS about the same.
  • For each range, the agent attempts to find a contiguous host port range for dynamic assignment. It does so by checking the default ephemeral range. In case there is no contiguous set of ports available, docker does assignment.
  • The agent sends network bindings information to ECS as part of the submit task/container state change payload.

Testing

New tests cover the changes: yes

Description for the changelog

Feature: container port range mapping

Licensing

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

@singholt singholt marked this pull request as ready for review December 5, 2022 17:15
@singholt singholt requested a review from a team as a code owner December 5, 2022 17:15
@singholt singholt merged commit ec636a8 into dev Dec 5, 2022
@YashdalfTheGray YashdalfTheGray mentioned this pull request Dec 5, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants