aws / aws/containers-roadmap

[ECS] [request]: Allow DAEMON scheduled containers to gracefully replace the previous one

Open
#2,170 0 comments 4 reactions 0 assignees View on GitHub
ECS Proposed
Dominant language
Shell
Stars
5.4k
Forks
334
PR merge metrics
No merged PRs in 30d

Description

### Community Note

* Please vote on this issue by adding a 👍 [reaction](https://blog.github.com/2016-03-10-add-reactions-to-pull-requests-issues-and-comments/) to the original issue to help the community and maintainers prioritize this request
* Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do not help prioritize the request
* If you are interested in working on this issue or have submitted a pull request, please leave a comment

**Tell us about your request**

I'd like for a daemon task with a desired state of STOPPED not to block the start of its replacement.
Kind of like daemon services supporting `deploymentConfiguration.maximumPercent` of 200% and `minimumHealthyPercent` of 100%

**Which service(s) is this request for?**

This is for ECS on EC2.

**Tell us about the problem you're trying to solve. What are you trying to do, and why is it hard?**

I have a daemon service I want always running on a node. When it gets a SIGTERM, it slowly finishes work and shuts down.
I'd like it's replacement to be up and running regardless of when it eventually shuts down.

In this case, the service has some long-running requests it wants to finish responding to, but those shouldn't block the new version of the service from running.

**Are you currently working around this issue?**

Not yet -- Current thoughts:
* Spawn a new docker container that isn't ECS-managed. This is a pain to create the ENI and so on.
* Use a REPLICA service and carefully match the number of replicas to the number of nodes in the ASG.
* Ideas welcomed!

Contributor guide

Open the contributing guide

Research direction

No repository files, tests, or entry points are identified in the issue. Start by researching ECS on EC2 daemon-service replacement and deployment behavior, then define how a replacement can become running while the previous task drains after SIGTERM. Done should include the requested replacement behavior without the STOPPED task blocking it.

Written by the indexing model from the issue text.

Assessment

Tech stack
aws, docker
Domain
cloud, devops
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.