diff --git a/engine/schema/src/main/java/com/cloud/vm/NicVO.java b/engine/schema/src/main/java/com/cloud/vm/NicVO.java index 8905ebf732b1..fba7c966c442 100644 --- a/engine/schema/src/main/java/com/cloud/vm/NicVO.java +++ b/engine/schema/src/main/java/com/cloud/vm/NicVO.java @@ -30,6 +30,9 @@ import javax.persistence.Table; import javax.persistence.Transient; +import org.apache.commons.lang3.builder.EqualsBuilder; +import org.apache.commons.lang3.builder.HashCodeBuilder; + import com.cloud.network.Networks.AddressFormat; import com.cloud.network.Networks.Mode; import com.cloud.utils.db.GenericDao; @@ -399,6 +402,15 @@ public void setNsxLogicalSwitchPortUuid(String nsxLogicalSwitchPortUuid) { } @Override + public int hashCode() { + return new HashCodeBuilder(17, 31).append(id).toHashCode(); + } + + @Override + public boolean equals(Object obj) { + return EqualsBuilder.reflectionEquals(this, obj); + } + public Integer getMtu() { return mtu; } diff --git a/engine/schema/src/main/java/com/cloud/vm/dao/NicDao.java b/engine/schema/src/main/java/com/cloud/vm/dao/NicDao.java index fc2da6124cfc..3c9b3e235a8b 100644 --- a/engine/schema/src/main/java/com/cloud/vm/dao/NicDao.java +++ b/engine/schema/src/main/java/com/cloud/vm/dao/NicDao.java @@ -89,6 +89,8 @@ public interface NicDao extends GenericDao { NicVO findByInstanceIdAndMacAddress(long instanceId, String macAddress); + NicVO findByNetworkIdAndMacAddressIncludingRemoved(long networkId, String mac); + List findNicsByIpv6GatewayIpv6CidrAndReserver(String ipv6Gateway, String ipv6Cidr, String reserverName); NicVO findByIpAddressAndVmType(String ip, VirtualMachine.Type vmType); diff --git a/engine/schema/src/main/java/com/cloud/vm/dao/NicDaoImpl.java b/engine/schema/src/main/java/com/cloud/vm/dao/NicDaoImpl.java index 3b669aa526ba..228e71fb0bb4 100644 --- a/engine/schema/src/main/java/com/cloud/vm/dao/NicDaoImpl.java +++ b/engine/schema/src/main/java/com/cloud/vm/dao/NicDaoImpl.java @@ -217,6 +217,14 @@ public NicVO findByNetworkIdAndMacAddress(long networkId, String mac) { return findOneBy(sc); } + @Override + public NicVO findByNetworkIdAndMacAddressIncludingRemoved(long networkId, String mac) { + SearchCriteria sc = AllFieldsSearch.create(); + sc.setParameters("network", networkId); + sc.setParameters("macAddress", mac); + return findOneIncludingRemovedBy(sc); + } + @Override public NicVO findDefaultNicForVM(long instanceId) { SearchCriteria sc = AllFieldsSearch.create(); diff --git a/plugins/hypervisors/vmware/src/main/java/com/cloud/hypervisor/guru/VMwareGuru.java b/plugins/hypervisors/vmware/src/main/java/com/cloud/hypervisor/guru/VMwareGuru.java index 0b67074e9372..fc9fa0e2015a 100644 --- a/plugins/hypervisors/vmware/src/main/java/com/cloud/hypervisor/guru/VMwareGuru.java +++ b/plugins/hypervisors/vmware/src/main/java/com/cloud/hypervisor/guru/VMwareGuru.java @@ -781,8 +781,7 @@ private void syncVMVolumes(VMInstanceVO vmInstanceVO, List virtualD volume = createVolume(disk, vmToImport, domainId, zoneId, accountId, instanceId, poolId, templateId, backup, true); operation = "created"; } - s_logger.debug(String.format("VM [id: %s, instanceName: %s] backup restore operation %s volume [id: %s].", instanceId, vmInstanceVO.getInstanceName(), - operation, volume.getUuid())); + s_logger.debug(String.format("Sync volumes to %s in backup restore operation: %s volume [id: %s].", vmInstanceVO, operation, volume.getUuid())); } } @@ -879,9 +878,13 @@ private NetworkVO getGuestNetworkFromNetworkMorName(String name, long accountId, String tag = parts[parts.length - 1]; String[] tagSplit = tag.split("-"); tag = tagSplit[tagSplit.length - 1]; + + s_logger.debug(String.format("Trying to find network with vlan: [%s].", vlan)); NetworkVO networkVO = networkDao.findByVlan(vlan); if (networkVO == null) { networkVO = createNetworkRecord(zoneId, tag, vlan, accountId, domainId); + s_logger.debug(String.format("Created new network record [id: %s] with details [zoneId: %s, tag: %s, vlan: %s, accountId: %s and domainId: %s].", + networkVO.getUuid(), zoneId, tag, vlan, accountId, domainId)); } return networkVO; } @@ -893,6 +896,7 @@ private Map getNetworksMapping(String[] vmNetworkNames, long Map mapping = new HashMap<>(); for (String networkName : vmNetworkNames) { NetworkVO networkVO = getGuestNetworkFromNetworkMorName(networkName, accountId, zoneId, domainId); + s_logger.debug(String.format("Mapping network name [%s] to networkVO [id: %s].", networkName, networkVO.getUuid())); mapping.put(networkName, networkVO); } return mapping; @@ -927,12 +931,19 @@ private void syncVMNics(VirtualDevice[] nicDevices, DatacenterMO dcMo, Map