Closed taraspos closed 6 years ago
@simcap @fxaguessy
any feedback on this one? :)
Thanks for the implementation! The timeoutReached
pattern is a bit unconventional, I would expect something more along the line of:
ticker := time.NewTicker(t.pollingFrequency)
defer ticker.Stop()
for {
select {
case ticker.C:
t.displayRelevantEvents(cfn, tab); err != nil {
.....
}
case <-time.After(t.timeout):
}
}
... I might have not grasp all of what is needed, but if possible, basically putting the ticker in a for/select and using the After.
Thanks for the work @Trane9991 . Do not have time to test at full scale in a CI pipeline, so I hope it is working well for you. Merging in master. A release will follow by the end of the week.
tail stack-events
command:timeout
- stop tailing if timeout reached (default1h
)cancel-on-timeout
- cancel stack update if timeout reached (defaultfalse
) and keep tailing utill rollback process is completedUse case: CloudFormation doesn't provide timeout mechanism for a stack update. For example, deployment of broken ECS task could result in endless retries of ECS task and never leave the
CREATE_IN_PROGRESS
state.Other solution for this problem could be https://aws.amazon.com/ru/about-aws/whats-new/2017/08/aws-cloudformation-adds-rollback-triggers-feature/
But awless doesn't support rollback-triggers yet and looks like ECS doesn't have the proper CloudWatch metric to monitor.