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

Do you support scale down? #157

Open
NikitaSTets opened this issue Jun 7, 2024 · 5 comments
Open

Do you support scale down? #157

NikitaSTets opened this issue Jun 7, 2024 · 5 comments

Comments

@NikitaSTets
Copy link

As I see in the code you just logs scale down, and add audit events but no more

@aaronkvanmeerten
Copy link
Member

The current code relies on the sidecar component to perform the final shutdown. This is because we were relying on the logic on the instance itself to know when it was ready to be shut down. I am planning functionality for serverside shut down sometime this year.

@NikitaSTets
Copy link
Author

@aaronkvanmeerten Thanks for quick response, So just to be 100% sure, it means that now if we use digital ocean it will create droplets for scaling up, but when we need to scale down it just stop JVB, but droplet will be running, but you are going to implement mechanism to remove droplets, am I right?

@aaronkvanmeerten
Copy link
Member

Actually, the digital ocean support was added via community, so I haven't been actively maintaining it. So I'd need help with that part.

The new feature I'm hoping to roll out is the shutdown hook that allows the sidecar to report back to the autoscaler to report final shutdown state.

Right now the instances are intended to just shut themselves down (via shell scripts triggered by the sidecar) without checking in to the server a final time. Each instance needs permissions to shut itself down, and is expected to run the appropriate shell command for the cloud provider.

Here's an example of what we do in oracle cloud:
https://github.com/jitsi/infra-configuration/blob/d024c5fd380e8ed13e93e2512425ec87c8158272/ansible/roles/autoscaler-sidecar/files/terminate_instance_oracle.sh#L16

Once the final shutdown hook feature exists, we'd be able to trigger optional server-side termination. So I hope to also implement that at least in Oracle Cloud and Nomad.

In doing so I think it should be fairly easy to make it work for Digital Ocean as well, but I'd just be guessing and would need a user or developer to help test anything around that cloud.

All that to say, planned features are always subject to delay and change so take the above as my current snapshot of where I hope to arrive, rather than a published schedule of deliverables :)

@NikitaSTets
Copy link
Author

@aaronkvanmeerten on which which metric they would do this?
"Right now the instances are intended to just shut themselves down (via shell scripts triggered by the sidecar)"

@aaronkvanmeerten
Copy link
Member

@aaronkvanmeerten on which which metric they would do this?

They do this in response to a signal from the server. The server selects the least loaded instance, based on either stress level or usage, depending on the type of instance. Right now, stress level is supported for most components except Jibri, which uses a binary on or off state

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

2 participants