From edc359080c8b694a8434e92c5dd3541041d7973f Mon Sep 17 00:00:00 2001 From: Murali Reddy Date: Wed, 19 Oct 2016 15:44:42 +0530 Subject: [PATCH] CLOUDSTACK-9548: PVLAN: VM migrate commands fails due to wrong casting Fix ensures, getting DomainRouterVO and UserVmVO properly from the VirtualMachineProfile --- .../cloud/network/element/VirtualRouterElement.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/server/src/com/cloud/network/element/VirtualRouterElement.java b/server/src/com/cloud/network/element/VirtualRouterElement.java index 7d198f58d6a..e972a5fc383 100644 --- a/server/src/com/cloud/network/element/VirtualRouterElement.java +++ b/server/src/com/cloud/network/element/VirtualRouterElement.java @@ -1144,7 +1144,7 @@ NetworkMigrationResponder, AggregatedCommandExecutor { } if (vm.getType() == VirtualMachine.Type.DomainRouter) { assert vm instanceof DomainRouterVO; - final DomainRouterVO router = (DomainRouterVO) vm.getVirtualMachine(); + final DomainRouterVO router = _routerDao.findById(vm.getId()); final DataCenterVO dcVO = _dcDao.findById(network.getDataCenterId()); final NetworkTopology networkTopology = networkTopologyContext.retrieveNetworkTopology(dcVO); @@ -1156,7 +1156,7 @@ NetworkMigrationResponder, AggregatedCommandExecutor { } } else if (vm.getType() == VirtualMachine.Type.User) { assert vm instanceof UserVmVO; - final UserVmVO userVm = (UserVmVO) vm.getVirtualMachine(); + final UserVmVO userVm = _userVmDao.findById(vm.getId()); _userVmMgr.setupVmForPvlan(false, userVm.getHostId(), nic); } return true; @@ -1169,7 +1169,7 @@ NetworkMigrationResponder, AggregatedCommandExecutor { } if (vm.getType() == VirtualMachine.Type.DomainRouter) { assert vm instanceof DomainRouterVO; - final DomainRouterVO router = (DomainRouterVO) vm.getVirtualMachine(); + final DomainRouterVO router = _routerDao.findById(vm.getId()); final DataCenterVO dcVO = _dcDao.findById(network.getDataCenterId()); final NetworkTopology networkTopology = networkTopologyContext.retrieveNetworkTopology(dcVO); @@ -1181,7 +1181,7 @@ NetworkMigrationResponder, AggregatedCommandExecutor { } } else if (vm.getType() == VirtualMachine.Type.User) { assert vm instanceof UserVmVO; - final UserVmVO userVm = (UserVmVO) vm.getVirtualMachine(); + final UserVmVO userVm = _userVmDao.findById(vm.getId()); _userVmMgr.setupVmForPvlan(true, userVm.getHostId(), nic); } } @@ -1193,7 +1193,7 @@ NetworkMigrationResponder, AggregatedCommandExecutor { } if (vm.getType() == VirtualMachine.Type.DomainRouter) { assert vm instanceof DomainRouterVO; - final DomainRouterVO router = (DomainRouterVO) vm.getVirtualMachine(); + final DomainRouterVO router = _routerDao.findById(vm.getId()); final DataCenterVO dcVO = _dcDao.findById(network.getDataCenterId()); final NetworkTopology networkTopology = networkTopologyContext.retrieveNetworkTopology(dcVO); @@ -1205,7 +1205,7 @@ NetworkMigrationResponder, AggregatedCommandExecutor { } } else if (vm.getType() == VirtualMachine.Type.User) { assert vm instanceof UserVmVO; - final UserVmVO userVm = (UserVmVO) vm.getVirtualMachine(); + final UserVmVO userVm = _userVmDao.findById(vm.getId()); _userVmMgr.setupVmForPvlan(true, userVm.getHostId(), nic); } }