apache / apache/cloudstack

Failed to Move VM to Another Account

Ouverte
#13,406 9 commentaires 0 réactions 0 personnes assignées Réclamée par @DaanHoogland Voir sur GitHub
status:needs-functional-definition
Langage dominant
Java
Étoiles
3.1k
Forks
1.4k
Merge moyen
6 j 19 h
PR mergées (30 j)
32

Description

### problem

Up on stopping an Instance and trying to move it to another account...

Image

...it does not make clear what caused the failure.

Image

Even as a Root Admin, there is no explanation of what prevented the move from happening.

By looking at the logs, the message is clear but it is followed by an unhandled exception.

Sanitized fragments of the logs:

Image

```
2026-06-11 20:07:53,953 ERROR [o.a.c.a.c.a.v.AssignVMCmd] (qtp1404565079-58786:[ctx-e08ee8a2, ctx-7b35ebda]) (logid:46523a5c) Failed to move VM [4944]. com.cloud.exception.InvalidParameterValueException: Snapshots exist for volume [ROOT-4944]. Detach volume or remove snapshots for the volume before assigning VM to another user.
at com.cloud.vm.UserVmManagerImpl.validateIfVolumesHaveNoSnapshots(UserVmManagerImpl.java:7961)
at com.cloud.vm.UserVmManagerImpl.moveVmToUser(UserVmManagerImpl.java:7871)
```

Image

```
2026-06-11 19:58:58,841 ERROR [o.a.c.a.c.a.v.AssignVMCmd] (qtp1404565079-58786:[ctx-b7b9a764, ctx-86b9f79a]) (logid:1096b7f6) Failed to move VM [4944]. com.cloud.exception.InvalidParameterValueException: Remove any Port Forwarding rules for VM [VM instance {"id":4944,"instanceName":"i-73-4944-VM","state":"Stopped","type":"User","uuid":"*"}] before assigning it to another user.
at com.cloud.vm.UserVmManagerImpl.validateIfVmHasNoRules(UserVmManagerImpl.java:7934)
at com.cloud.vm.UserVmManagerImpl.moveVmToUser(UserVmManagerImpl.java:7868)
```

### versions

ACS 4.22.0.1

### The steps to reproduce the bug

1.
2.
3.
...

### What to do about it?

_No response_

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Commencez par AssignVMCmd et UserVmManagerImpl, en particulier validateIfVolumesHaveNoSnapshots, validateIfVmHasNoRules et moveVmToUser ; examinez ensuite la pull request liée #13675. La tâche sera terminée lorsqu’elle fournira une explication claire destinée à l’utilisateur en cas d’échec du déplacement, au lieu de laisser apparaître une exception non gérée.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
java
Domaine
backend, cloud
Type d'issue
Bug
Difficulté
3/5
Temps estimé
1-2 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
25/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.