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

Inventory collection #320

Open
jcstanaway opened this issue Mar 25, 2021 · 3 comments
Open

Inventory collection #320

jcstanaway opened this issue Mar 25, 2021 · 3 comments

Comments

@jcstanaway
Copy link
Contributor

jcstanaway commented Mar 25, 2021

When run with --inventory-kubernetes does seal collect the set of nodes only at startup or at the start of each "run" (when in autonomous mode)? I'm really hoping it refreshes the node list at the start of each run to account for dynamically scaling clusters.

@Niksko
Copy link
Contributor

Niksko commented Jul 22, 2021

@jcstanaway I think it's just at startup.

The result is that if you leave a strategy running that stops nodes without restarting them (which is the sensible behaviour if you run your nodes in an ASG), it gradually exhausts its list of nodes, and eventually ends up in the state where the only node left in the inventory is the one that the PowerfulSeal pod is on, at which point the stop pods strategy does nothing.

@seeker89
Copy link
Contributor

That's right: currently it reads the list of nodes at startup only: https://github.com/powerfulseal/powerfulseal/blob/master/powerfulseal/cli/__main__.py#L525

@jcstanaway do you need support for refreshing the inventory mid-flight?

@jcstanaway
Copy link
Contributor Author

jcstanaway commented Jul 26, 2021

I would suggest refreshing the inventory each time seal wakes up before each run. Our clusters utilize dynamic scaling (using k8s autoscaler) with multiple ASGs and so we have nodes coming and going quite frequently depending on load. Since seal only reads the list of nodes at startup, this effectively makes it so that we can't run most node chaos scenarios.

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