Skip to content

osmorphing minion pools: use the correct volumes - #508

Open
petrutlucian94 wants to merge 1 commit into
cloudbase:masterfrom
petrutlucian94:minion_volumes
Open

osmorphing minion pools: use the correct volumes#508
petrutlucian94 wants to merge 1 commit into
cloudbase:masterfrom
petrutlucian94:minion_volumes

Conversation

@petrutlucian94

Copy link
Copy Markdown
Member

We're attaching the original volumes_info to osmorphing minions instead of the volumes returned through instance_deployment_info by the deploy_replica_target_resources provider method.

This breaks disk clones since we're writing to the original transfer disk instead of the disk clone. Furthermore, we're modifying the list of volumes from instance_deployment_info after attaching the minion volumes.

instance_deployment_info = task_info['instance_deployment_info']
if 'volumes_info' in res:
instance_deployment_info['volumes_info'] = res['volumes_info']
del res['volumes_info']
res['instance_deployment_info'] = instance_deployment_info

Because of that, we're deleting the original volume instead of the clone if osmorphing fails.

The fix is simple: get the osmorphing minion pools to use the volumes from instance_deployment_info instead of the original ones.

@petrutlucian94
petrutlucian94 marked this pull request as draft August 26, 2026 13:44
@petrutlucian94 petrutlucian94 changed the title Minion volumes osmorphing minion pools: use the correct volumes Aug 26, 2026
@petrutlucian94
petrutlucian94 marked this pull request as ready for review August 26, 2026 13:53
We're attaching the original `volumes_info` to osmorphing minions
instead of the volumes returned through `instance_deployment_info` by
the `deploy_replica_target_resources` provider method.

This breaks disk clones since we're writing to the original
transfer disk instead of the disk clone. Furthermore, we're
modifying the list of volumes from `instance_deployment_info` after
attaching the minion volumes.

https://github.com/cloudbase/coriolis/blob/1c7bf332545826b0c79a5c1efa14b8ce905f0646/coriolis/tasks/minion_pool_tasks.py#L683-L687

Because of that, we're deleting the original volume instead of the
clone if osmorphing fails.

The fix is simple: get the osmorphing minion pools to use the
volumes from `instance_deployment_info` instead of the original ones,
if available.
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

Successfully merging this pull request may close these issues.

1 participant