-
Notifications
You must be signed in to change notification settings - Fork 183
VM Recreate #2193
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
VM Recreate #2193
Conversation
d453baf
to
b6842d9
Compare
b6842d9
to
09bbf7e
Compare
11fc8fe
to
e1e1423
Compare
da4da1e
to
846de1b
Compare
e9aabfa
to
89b31af
Compare
@fdr , I squashed your commit. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
that recreate method seems a little smelly, surely it must be duplicating a bunch of stuff as features are added. What's preventing us from looping back to the creation state and not doing quite so much? i.e. why is re-create different enough from "create" as it comes to those resources?
89b31af
to
37390dd
Compare
@fdr , I have moved around some of the code, I think this makes more sense now. The problem I have is that some of the entities we generated need to be destroyed and recreated. We depend on plugins to destroy some of them. That's why the struggle. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I reviewed from a Ruby code perspective, and the changes seem fine to me.
37390dd
to
a9fceda
Compare
This pr adds a new logic to Vm::Nexus to be able to recreate a VM. For now, this is only available to the on-call. In case we realize the VM is stuck in the provisioning path, the on-call may simply incr_recreate and force the VM to be recreated including new storage entities, ip configuration, etc. In future, we may automate this process further and even add features like excluding the previously tried host. For now, this is a very basic implementation.
a9fceda
to
60df930
Compare
@fdr @jeremyevans , may I have a round of review? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't see any issues with the Ruby code.
This pr adds a new logic to Vm::Nexus to be able to recreate a VM. For
now, this is only available to the on-call. In case we realize the VM is
stuck in the provisioning path, the on-call may simply incr_recreate and
force the VM to be recreated including new storage entities, ip
configuration, etc. In future, we may automate this process further and
even add features like excluding the previously tried host. For now,
this is a very basic implementation.