Merged
Conversation
Add Horizon-style server cloning triggered by pressing 'c' from the server list or detail view. Opens the create form pre-filled with the source server's configuration (image, flavor, network, keypair, security groups) and a deduplicated clone name. Optionally clone all attached volumes via a checkbox, with an async progress modal showing per-volume status, 3s polling, and full rollback (delete cloned volumes + server) on any failure.
…immying-otter # Conflicts: # src/internal/ui/help/help.go
Move volume.ListVolumes from synchronous call in Update to async in cloneprogress Init, preventing UI blocking. Show an error modal instead of a brief sticky hint when volume cloning fails, so the user can actually read the error before dismissing.
Pass the original volume error through RollbackCompleteMsg so the error modal displays the real reason (e.g. quota exceeded, permission denied) instead of a generic "clone failed" message.
The server may still be in BUILD state when volumes finish cloning. Poll the server status and queue volume attachments until the server is ACTIVE, avoiding 409 conflictingRequest errors.
Show a volume deletion checkbox in the delete confirmation dialog when the server has attached volumes. Press space to toggle. When confirmed, volumes are detached and deleted after the server is removed.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
ckeybinding from server list and detail views-clone,-clone-2, etc.)SourceVolID, polls every 3s, auto-attaches to new server after it reaches ACTIVE stateTest plan
con a server in list view — clone form opens pre-filled with matching configcon a server in detail view — same behavior-clone-2?) showsc clone serverin both server list and detail sections