diff --git a/agent/bindir/libvirtqemuhook.in b/agent/bindir/libvirtqemuhook.in index 27e07119ccc..894d68c7b0b 100755 --- a/agent/bindir/libvirtqemuhook.in +++ b/agent/bindir/libvirtqemuhook.in @@ -65,11 +65,15 @@ def handleMigrateBegin(): bridge = source.getAttribute("bridge") if isOldStyleBridge(bridge): vlanId = bridge.replace("cloudVirBr", "") + phyDev = getGuestNetworkDevice() elif isNewStyleBridge(bridge): vlanId = re.sub(r"br(\w+)-", "", bridge) + phyDev = re.sub(r"-(\d+)$", "" , re.sub(r"^br", "" ,bridge)) + netlib = networkConfig() + if not netlib.isNetworkDev(phyDev): + phyDev = getGuestNetworkDevice() else: continue - phyDev = getGuestNetworkDevice() newBrName = "br" + phyDev + "-" + vlanId source.setAttribute("bridge", newBrName) print(domain.toxml()) diff --git a/server/src/main/java/com/cloud/storage/VolumeApiServiceImpl.java b/server/src/main/java/com/cloud/storage/VolumeApiServiceImpl.java index ddd84137ad9..e6022513508 100644 --- a/server/src/main/java/com/cloud/storage/VolumeApiServiceImpl.java +++ b/server/src/main/java/com/cloud/storage/VolumeApiServiceImpl.java @@ -673,8 +673,6 @@ public class VolumeApiServiceImpl extends ManagerBase implements VolumeApiServic zoneId = snapshotCheck.getDataCenterId(); } - _configMgr.checkDiskOfferingAccess(null, diskOffering, _dcDao.findById(zoneId)); - if (diskOffering == null) { // Pure snapshot is being used to create volume. diskOfferingId = snapshotCheck.getDiskOfferingId(); diskOffering = _diskOfferingDao.findById(diskOfferingId); @@ -689,6 +687,8 @@ public class VolumeApiServiceImpl extends ManagerBase implements VolumeApiServic } } + _configMgr.checkDiskOfferingAccess(null, diskOffering, _dcDao.findById(zoneId)); + // check snapshot permissions _accountMgr.checkAccess(caller, null, true, snapshotCheck); diff --git a/ui/scripts/ui/widgets/listView.js b/ui/scripts/ui/widgets/listView.js index 5245c10a3fa..7449a61cde3 100644 --- a/ui/scripts/ui/widgets/listView.js +++ b/ui/scripts/ui/widgets/listView.js @@ -88,9 +88,9 @@ // Make sure the master checkbox is unselected if (multiSelect) { - var $listView = $instanceRow.closest('.list-view'); - $listView.find('input.multiSelectMasterCheckbox').prop('checked', false); - toggleMultiSelectActions($listView, false); + var $listView2 = $instanceRow.closest('.list-view'); + $listView2.find('input.multiSelectMasterCheckbox').prop('checked', false); + toggleMultiSelectActions($listView2, false); } var externalLinkAction = action.externalLink;