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

Add another callback on installer shutdown #3

Open
klump opened this issue Feb 8, 2022 · 0 comments
Open

Add another callback on installer shutdown #3

klump opened this issue Feb 8, 2022 · 0 comments

Comments

@klump
Copy link

klump commented Feb 8, 2022

I think we should add another callback to the installer which is triggered when the installer machine is going down.

This callback should

  1. Close/cleanup the installRequest on the machine-service
  2. Be relayed to the manager for the machine so that it can perform post-install things. It would be ok to simply reply 501 Not implemented as well.

installer

Alternatively, the playbook would not reboot the machine by calling reboot or something traditional, but rather call on a tateru.deploy.finish module which performs basically the same steps. In that case, this would not be a callback but a normal endpoint on the machine service and be called from the client. This solution seems cleaner implementation wise, but requires all managers to implement another endpoint.

Why is this needed? In an ideal world this would not be needed. But for instance the proxmox installer has a problem: The change of bootorder requires a real shutdown of the VM. So either we make the ansible playbook do things directly against the proxmox cluster - in that case why do we have the manager in the first place, we could do the reconfiguration and the start (bootInstalleRequest) in Ansible without any managers... And if it is not needed for a certain manager, than simply return 501 for the endpoint and be done.

This lets tateru handle all the problems with the "hardware" and ansible with the configuration of the operating system.

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

1 participant