-
-
Notifications
You must be signed in to change notification settings - Fork 318
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
Feat/replace on spot termination events #475
base: master
Are you sure you want to change the base?
Conversation
Hi @cristim, unfortunately i think we could have a concurrency problem. But rebalance/termination events can be triggered anytime, and if we directly execute If, on the other side, we send a proper message to the SQS queue, to replace the spot with a new spot/ondemand, there could be other messages, regarding the same ASG, that still neeed to be processed. I think that unfortunately we need to think back for another solution/workflow. |
Yes, I was thinking about this as well, but because of the timing critical nature of these events I think we can't use the queue, just like you said. |
@mello7tre I've been thinking more about this and I'm thinking to change the handling of maximum ASG capacity instead of incrementing it gradually:
What do you think about this approach? |
uhmmm, sincerely i do not like it so much. But even putting apart those problem, all related to the If we take in account "only" Capacity Max problem maybe can be better to, for termination/rebalance event, invert attach terminate/detach order.
This way we have no need to change ASG Max Size. |
88e8ae9
to
c83d29a
Compare
Issue Type
Summary
Implement instance replacements as a result of Spot termination and rebalancing events.
Benefits:
In addition, as a non-functional change I also switched the Docker image, Lambda and Fargate to ARM64, for faster builds on my M1 Mac and lower runtime costs for the users.
Code contribution checklist
to it.
guidelines.
test coverage doesn't decrease.
make full-test
.variables which are also passed as parameters to the
CloudFormation
and
Terraform
stacks defined as infrastructure code.
support per-group overrides using tags.
configurations.
proven to work using log output from various test runs.
appropriate) and formatted consistently to the existing log output.
new configuration options for both stack parameters and tag overrides.
contribution actually resolves it.