nvazquez opened a new pull request #4062:
URL: https://github.com/apache/cloudstack/pull/4062
## Description
Logs:
````
2020-05-07 23:12:28,116 INFO [c.c.v.VirtualMachineManagerImpl]
(Work-Job-Executor-25:ctx-0a8703ef job-79/job-80 ctx-a3fc4a74) (logid:936f1123)
Migrating VM[User|i-2-8-VM] to
Dest[Zone(Id)-Pod(Id)-Cluster(Id)-Host(Id)-Storage(Volume(Id|Type-->Pool(Id))]
: Dest[Zone(1)-Pod(1)-Cluster(1)-Host(2)-Storage()]
2020-05-07 23:12:28,120 DEBUG [c.c.n.NetworkModelImpl]
(Work-Job-Executor-25:ctx-0a8703ef job-79/job-80 ctx-a3fc4a74) (logid:936f1123)
Service SecurityGroup is not supported in the network id=210
2020-05-07 23:12:28,125 DEBUG [c.c.n.NetworkModelImpl]
(Work-Job-Executor-25:ctx-0a8703ef job-79/job-80 ctx-a3fc4a74) (logid:936f1123)
Service SecurityGroup is not supported in the network id=210
2020-05-07 23:12:28,127 ERROR [c.c.v.VmWorkJobHandlerProxy]
(Work-Job-Executor-25:ctx-0a8703ef job-79/job-80 ctx-a3fc4a74) (logid:936f1123)
Invocation exception, caused by: java.lang.ClassCastException: class
com.cloud.vm.VMInstanceVO$$EnhancerByCGLIB$$1786dcb5 cannot be cast to class
com.cloud.vm.UserVmVO (com.cloud.vm.VMInstanceVO$$EnhancerByCGLIB$$1786dcb5 and
com.cloud.vm.UserVmVO are in unnamed module of loader 'app')
2020-05-07 23:12:28,127 INFO [c.c.v.VmWorkJobHandlerProxy]
(Work-Job-Executor-25:ctx-0a8703ef job-79/job-80 ctx-a3fc4a74) (logid:936f1123)
Rethrow exception java.lang.ClassCastException: class
com.cloud.vm.VMInstanceVO$$EnhancerByCGLIB$$1786dcb5 cannot be cast to class
com.cloud.vm.UserVmVO (com.cloud.vm.VMInstanceVO$$EnhancerByCGLIB$$1786dcb5 and
com.cloud.vm.UserVmVO are in unnamed module of loader 'app')
2020-05-07 23:12:28,127 DEBUG [c.c.v.VmWorkJobDispatcher]
(Work-Job-Executor-25:ctx-0a8703ef job-79/job-80) (logid:936f1123) Done with
run of VM work job: com.cloud.vm.VmWorkMigrate for VM 8, job origin: 79
2020-05-07 23:12:28,127 ERROR [c.c.v.VmWorkJobDispatcher]
(Work-Job-Executor-25:ctx-0a8703ef job-79/job-80) (logid:936f1123) Unable to
complete AsyncJobVO {id:80, userId: 2, accountId: 2, instanceType: null,
instanceId: null, cmd: com.cloud.vm.VmWorkMigrate, cmdInfo:
rO0ABXNyABpjb20uY2xvdWQudm0uVm1Xb3JrTWlncmF0ZRdxQXtPtzYqAgAGSgAJc3JjSG9zdElkTAAJY2x1c3RlcklkdAAQTGphdmEvbGFuZy9Mb25nO0wABmhvc3RJZHEAfgABTAAFcG9kSWRxAH4AAUwAB3N0b3JhZ2V0AA9MamF2YS91dGlsL01hcDtMAAZ6b25lSWRxAH4AAXhyABNjb20uY2xvdWQudm0uVm1Xb3Jrn5m2VvAlZ2sCAARKAAlhY2NvdW50SWRKAAZ1c2VySWRKAAR2bUlkTAALaGFuZGxlck5hbWV0ABJMamF2YS9sYW5nL1N0cmluZzt4cAAAAAAAAAACAAAAAAAAAAIAAAAAAAAACHQAGVZpcnR1YWxNYWNoaW5lTWFuYWdlckltcGwAAAAAAAAAAXNyAA5qYXZhLmxhbmcuTG9uZzuL5JDMjyPfAgABSgAFdmFsdWV4cgAQamF2YS5sYW5nLk51bWJlcoaslR0LlOCLAgAAeHAAAAAAAAAAAXNxAH4ABwAAAAAAAAACcQB-AAlwcQB-AAk,
cmdVersion: 0, status: IN_PROGRESS, processStatus: 0, resultCode: 0, result:
null, initMsid: 32989593536621, completeMsid: null, lastUpdated: null,
lastPolled: null, created: Thu May 07 23:12:27 UTC 2020, removed: null}, job
origin:79
java.lang.ClassCastException: class
com.cloud.vm.VMInstanceVO$$EnhancerByCGLIB$$1786dcb5 cannot be cast to class
com.cloud.vm.UserVmVO (com.cloud.vm.VMInstanceVO$$EnhancerByCGLIB$$1786dcb5 and
com.cloud.vm.UserVmVO are in unnamed module of loader 'app')
at
com.cloud.network.element.VirtualRouterElement.prepareMigration(VirtualRouterElement.java:1226)
at
org.apache.cloudstack.engine.orchestration.NetworkOrchestrator.prepareNicForMigration(NetworkOrchestrator.java:1778)
at
com.cloud.vm.VirtualMachineManagerImpl.migrate(VirtualMachineManagerImpl.java:2358)
````
Strangely, assert check passes but casting fails:
````
} else if (vm.getType() == VirtualMachine.Type.User) {
assert vm instanceof UserVmVO;
final UserVmVO userVm = (UserVmVO) vm.getVirtualMachine();
_userVmMgr.setupVmForPvlan(false, userVm.getHostId(), nic);
}`
````
Fixes: #4061
## Types of changes
- [ ] Breaking change (fix or feature that would cause existing
functionality to change)
- [ ] New feature (non-breaking change which adds functionality)
- [x] Bug fix (non-breaking change which fixes an issue)
- [ ] Enhancement (improves an existing feature and functionality)
- [ ] Cleanup (Code refactoring and cleanup, that may add test cases)
## Screenshots (if appropriate):

## How Has This Been Tested?
Deploy VM on Shared network - PVLAN
Migrate VM to another host
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]