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

Classification around Canary #51

Open
gsdevme opened this issue Sep 2, 2019 · 6 comments
Open

Classification around Canary #51

gsdevme opened this issue Sep 2, 2019 · 6 comments

Comments

@gsdevme
Copy link

gsdevme commented Sep 2, 2019

Hi,

I was just doing some testing with this tool with an ALB and ASG and a Canary deployment. One thing I noticed was bouncer would assert instance health outside of the ASG.

Bouncer seemed to only assert the instance had booted and not that it was fully operational within the ASG at this point it then started to drain connections and deregister the existing instance which caused a blip of downtime before the ASG had asserted the canary instance was healthy.

Is that to be expected that the "Canary" health is not asserted this way?

@holtwilkins
Copy link
Contributor

Hey there, thanks for your interest!

Bouncer assumes that you’re using pending hooks for recording when an instance is healthy and ready to be considered “done”. I wrote up some more details recently in #49 as well.

Is this the type of thing you were looking for?

@gsdevme
Copy link
Author

gsdevme commented Sep 3, 2019

Interesting. So I take it rather than using the ALB assert the health against the instance bouncer expects the instance itself to report Healthy/Unhealthy.

Would you take a PR that added the ability to assert health via a NLB/ALB If present?

@holtwilkins
Copy link
Contributor

So, alternatively to using pending hooks, if you choose alb health in the asg config vs ec2 health, it may “just work” (pretty sure it did for elbs, but it’s been awhile). Have you tried this / is this still an option for albs?

If not, where would your pr look for alb health from, as in, it would ignore the InService status in the asg api and instead query the target group or something?

@gsdevme
Copy link
Author

gsdevme commented Nov 4, 2019

Hi sorry, In terms of the ASG Config for health check type I will double this.

@AirbornePorcine
Copy link

We were just looking at this - and no, it doesn't just work by default with ALBs unfortunately. We may look at submitting a PR for this as I think it's reasonable to assume that if we've told our ASG's health checks to look at the load balancer, this tool should also look at the load balancer.

@holtwilkins
Copy link
Contributor

That does sound reasonable if you use ALB health checks instead of pending/terminate hooks, that this could look at that too. If you wanted to add an optional flag that would check status of nodes against an ALB and only declare them "done" once healthy in the ALB, that sounds like a reasonable option to add, don't see why we wouldn't take a PR that added that option.

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

No branches or pull requests

3 participants