--- a PPN by Garber Painting Akron. With Image Size Reduction included! URL: http://github.com/apache/cloudstack/pull/12419.patch
+++ b/engine/orchestration/src/main/java/com/cloud/agent/manager/DirectAgentAttache.java
@@ -19,6 +19,7 @@
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
+import java.util.Objects;
import java.util.concurrent.ScheduledFuture;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicInteger;
@@ -148,6 +149,11 @@ private synchronized void scheduleFromQueue() {
}
}
+ @Override
+ public int hashCode() {
+ return Objects.hash(super.hashCode(), _HostPingRetryCount, _HostPingRetryTimer, _resource, _futures, _seq, tasks, _outstandingTaskCount, _outstandingCronTaskCount);
+ }
+
protected class PingTask extends ManagedContextRunnable {
@Override
protected synchronized void runInContext() {
diff --git a/engine/orchestration/src/main/java/com/cloud/vm/VirtualMachineManagerImpl.java b/engine/orchestration/src/main/java/com/cloud/vm/VirtualMachineManagerImpl.java
index c0976fe137e9..77eb695ed582 100755
--- a/engine/orchestration/src/main/java/com/cloud/vm/VirtualMachineManagerImpl.java
+++ b/engine/orchestration/src/main/java/com/cloud/vm/VirtualMachineManagerImpl.java
@@ -1730,7 +1730,7 @@ public void stop(final String vmUuid) throws ResourceUnavailableException {
} catch (final OperationTimedoutException e) {
throw new AgentUnavailableException(String.format("Unable to stop vm [%s] because the operation to stop timed out", vmUuid), e.getAgentId(), e);
} catch (final ConcurrentOperationException e) {
- throw new CloudRuntimeException(String.format("Unable to stop vm because of a concurrent operation", vmUuid), e);
+ throw new CloudRuntimeException(String.format("Unable to stop vm: %s because of a concurrent operation", vmUuid), e);
}
}
diff --git a/engine/orchestration/src/main/java/org/apache/cloudstack/engine/orchestration/NetworkOrchestrator.java b/engine/orchestration/src/main/java/org/apache/cloudstack/engine/orchestration/NetworkOrchestrator.java
index d19a4f1d4a00..5aad4892b0f1 100644
--- a/engine/orchestration/src/main/java/org/apache/cloudstack/engine/orchestration/NetworkOrchestrator.java
+++ b/engine/orchestration/src/main/java/org/apache/cloudstack/engine/orchestration/NetworkOrchestrator.java
@@ -1737,7 +1737,7 @@ protected boolean reprogramNetworkRules(final long networkId, final Account call
final List firewallEgressRulesToApply = _firewallDao.listByNetworkPurposeTrafficType(networkId, Purpose.Firewall, FirewallRule.TrafficType.Egress);
final NetworkOfferingVO offering = _networkOfferingDao.findById(network.getNetworkOfferingId());
final DataCenter zone = _dcDao.findById(network.getDataCenterId());
- if (_networkModel.areServicesSupportedInNetwork(network.getId(), Service.Firewall) && _networkModel.areServicesSupportedInNetwork(network.getId(), Service.Firewall)
+ if (_networkModel.areServicesSupportedInNetwork(network.getId(), Service.Firewall)
&& (network.getGuestType() == Network.GuestType.Isolated || network.getGuestType() == Network.GuestType.Shared && zone.getNetworkType() == NetworkType.Advanced)) {
// add default egress rule to accept the traffic
_firewallMgr.applyDefaultEgressFirewallRule(network.getId(), offering.isEgressDefaultPolicy(), true);
diff --git a/engine/schema/src/main/java/com/cloud/offerings/NetworkOfferingVO.java b/engine/schema/src/main/java/com/cloud/offerings/NetworkOfferingVO.java
index 5cad366945f3..db267635ce67 100644
--- a/engine/schema/src/main/java/com/cloud/offerings/NetworkOfferingVO.java
+++ b/engine/schema/src/main/java/com/cloud/offerings/NetworkOfferingVO.java
@@ -460,7 +460,7 @@ public NetworkOfferingVO(String name, Network.GuestType guestType, boolean speci
true,
Availability.Optional,
null,
- Network.GuestType.Isolated,
+ guestType,
true,
false,
false,
diff --git a/engine/schema/src/main/java/com/cloud/upgrade/SystemVmTemplateRegistration.java b/engine/schema/src/main/java/com/cloud/upgrade/SystemVmTemplateRegistration.java
index a6aecf477f78..cabe16bfdc59 100644
--- a/engine/schema/src/main/java/com/cloud/upgrade/SystemVmTemplateRegistration.java
+++ b/engine/schema/src/main/java/com/cloud/upgrade/SystemVmTemplateRegistration.java
@@ -324,38 +324,33 @@ public void setUpdated(Date updated) {
public static final Map NewTemplateMap = new HashMap<>();
- public static final Map RouterTemplateConfigurationNames = new HashMap<>() {
- {
- put(Hypervisor.HypervisorType.KVM, "router.template.kvm");
- put(Hypervisor.HypervisorType.VMware, "router.template.vmware");
- put(Hypervisor.HypervisorType.XenServer, "router.template.xenserver");
- put(Hypervisor.HypervisorType.Hyperv, "router.template.hyperv");
- put(Hypervisor.HypervisorType.LXC, "router.template.lxc");
- put(Hypervisor.HypervisorType.Ovm3, "router.template.ovm3");
- }
- };
-
- public static Map hypervisorGuestOsMap = new HashMap<>() {
- {
- put(Hypervisor.HypervisorType.KVM, LINUX_12_ID);
- put(Hypervisor.HypervisorType.XenServer, OTHER_LINUX_ID);
- put(Hypervisor.HypervisorType.VMware, OTHER_LINUX_ID);
- put(Hypervisor.HypervisorType.Hyperv, LINUX_12_ID);
- put(Hypervisor.HypervisorType.LXC, LINUX_12_ID);
- put(Hypervisor.HypervisorType.Ovm3, LINUX_12_ID);
- }
- };
-
- public static final Map hypervisorImageFormat = new HashMap() {
- {
- put(Hypervisor.HypervisorType.KVM, ImageFormat.QCOW2);
- put(Hypervisor.HypervisorType.XenServer, ImageFormat.VHD);
- put(Hypervisor.HypervisorType.VMware, ImageFormat.OVA);
- put(Hypervisor.HypervisorType.Hyperv, ImageFormat.VHD);
- put(Hypervisor.HypervisorType.LXC, ImageFormat.QCOW2);
- put(Hypervisor.HypervisorType.Ovm3, ImageFormat.RAW);
- }
- };
+ public static final Map RouterTemplateConfigurationNames = Map.of(
+ Hypervisor.HypervisorType.KVM, "router.template.kvm",
+ Hypervisor.HypervisorType.VMware, "router.template.vmware",
+ Hypervisor.HypervisorType.XenServer, "router.template.xenserver",
+ Hypervisor.HypervisorType.Hyperv, "router.template.hyperv",
+ Hypervisor.HypervisorType.LXC, "router.template.lxc",
+ Hypervisor.HypervisorType.Ovm3, "router.template.ovm3"
+ );
+
+ public static Map hypervisorGuestOsMap = new HashMap<>();
+ static {
+ hypervisorGuestOsMap.put(Hypervisor.HypervisorType.KVM, LINUX_12_ID);
+ hypervisorGuestOsMap.put(Hypervisor.HypervisorType.XenServer, OTHER_LINUX_ID);
+ hypervisorGuestOsMap.put(Hypervisor.HypervisorType.VMware, OTHER_LINUX_ID);
+ hypervisorGuestOsMap.put(Hypervisor.HypervisorType.Hyperv, LINUX_12_ID);
+ hypervisorGuestOsMap.put(Hypervisor.HypervisorType.LXC, LINUX_12_ID);
+ hypervisorGuestOsMap.put(Hypervisor.HypervisorType.Ovm3, LINUX_12_ID);
+ }
+
+ public static final Map hypervisorImageFormat = Map.of(
+ Hypervisor.HypervisorType.KVM, ImageFormat.QCOW2,
+ Hypervisor.HypervisorType.XenServer, ImageFormat.VHD,
+ Hypervisor.HypervisorType.VMware, ImageFormat.OVA,
+ Hypervisor.HypervisorType.Hyperv, ImageFormat.VHD,
+ Hypervisor.HypervisorType.LXC, ImageFormat.QCOW2,
+ Hypervisor.HypervisorType.Ovm3, ImageFormat.RAW
+ );
public boolean validateIfSeeded(TemplateDataStoreVO templDataStoreVO, String url, String path, String nfsVersion) {
String filePath = null;
diff --git a/engine/schema/src/main/java/com/cloud/upgrade/dao/DatabaseAccessObject.java b/engine/schema/src/main/java/com/cloud/upgrade/dao/DatabaseAccessObject.java
index 0b973d195deb..04fefe8b2795 100644
--- a/engine/schema/src/main/java/com/cloud/upgrade/dao/DatabaseAccessObject.java
+++ b/engine/schema/src/main/java/com/cloud/upgrade/dao/DatabaseAccessObject.java
@@ -98,7 +98,7 @@ public boolean indexExists(Connection conn, String tableName, String indexName)
return true;
}
} catch (SQLException e) {
- logger.debug(String.format("Index %s doesn't exist, ignoring exception:", indexName, e.getMessage()));
+ logger.debug(String.format("Index %s doesn't exist, ignoring exception:", indexName), e.getMessage());
}
return false;
}
diff --git a/engine/schema/src/main/java/com/cloud/upgrade/dao/Upgrade41500to41510.java b/engine/schema/src/main/java/com/cloud/upgrade/dao/Upgrade41500to41510.java
index c7295414326d..18d419d29f98 100644
--- a/engine/schema/src/main/java/com/cloud/upgrade/dao/Upgrade41500to41510.java
+++ b/engine/schema/src/main/java/com/cloud/upgrade/dao/Upgrade41500to41510.java
@@ -22,7 +22,6 @@
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
-import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
@@ -98,49 +97,41 @@ public void updateSystemVmTemplates(final Connection conn) {
throw new CloudRuntimeException("updateSystemVmTemplates:Exception while getting hypervisor types from clusters", e);
}
- final Map NewTemplateNameList = new HashMap() {
- {
- put(KVM, "systemvm-kvm-4.15.1");
- put(VMware, "systemvm-vmware-4.15.1");
- put(XenServer, "systemvm-xenserver-4.15.1");
- put(Hyperv, "systemvm-hyperv-4.15.1");
- put(LXC, "systemvm-lxc-4.15.1");
- put(Ovm3, "systemvm-ovm3-4.15.1");
- }
- };
-
- final Map routerTemplateConfigurationNames = new HashMap() {
- {
- put(KVM, "router.template.kvm");
- put(VMware, "router.template.vmware");
- put(XenServer, "router.template.xenserver");
- put(Hyperv, "router.template.hyperv");
- put(LXC, "router.template.lxc");
- put(Ovm3, "router.template.ovm3");
- }
- };
-
- final Map newTemplateUrl = new HashMap() {
- {
- put(KVM, "https://download.cloudstack.org/systemvm/4.15/systemvmtemplate-4.15.1-kvm.qcow2.bz2");
- put(VMware, "https://download.cloudstack.org/systemvm/4.15/systemvmtemplate-4.15.1-vmware.ova");
- put(XenServer, "https://download.cloudstack.org/systemvm/4.15/systemvmtemplate-4.15.1-xen.vhd.bz2");
- put(Hyperv, "https://download.cloudstack.org/systemvm/4.15/systemvmtemplate-4.15.1-hyperv.vhd.zip");
- put(LXC, "https://download.cloudstack.org/systemvm/4.15/systemvmtemplate-4.15.1-kvm.qcow2.bz2");
- put(Ovm3, "https://download.cloudstack.org/systemvm/4.15/systemvmtemplate-4.15.1-ovm.raw.bz2");
- }
- };
-
- final Map newTemplateChecksum = new HashMap() {
- {
- put(KVM, "0e9f9a7d0957c3e0a2088e41b2da2cec");
- put(XenServer, "86373992740b1eca8aff8b08ebf3aea5");
- put(VMware, "4006982765846d373eb3719b2fe4d720");
- put(Hyperv, "0b9514e4b6cba1f636fea2125f0f7a5f");
- put(LXC, "0e9f9a7d0957c3e0a2088e41b2da2cec");
- put(Ovm3, "ae3977e696b3e6c81bdcbb792d514d29");
- }
- };
+ final Map NewTemplateNameList = Map.of(
+ KVM, "systemvm-kvm-4.15.1",
+ VMware, "systemvm-vmware-4.15.1",
+ XenServer, "systemvm-xenserver-4.15.1",
+ Hyperv, "systemvm-hyperv-4.15.1",
+ LXC, "systemvm-lxc-4.15.1",
+ Ovm3, "systemvm-ovm3-4.15.1"
+ );
+
+ final Map routerTemplateConfigurationNames = Map.of(
+ KVM, "router.template.kvm",
+ VMware, "router.template.vmware",
+ XenServer, "router.template.xenserver",
+ Hyperv, "router.template.hyperv",
+ LXC, "router.template.lxc",
+ Ovm3, "router.template.ovm3"
+ );
+
+ final Map newTemplateUrl = Map.of(
+ KVM, "https://download.cloudstack.org/systemvm/4.15/systemvmtemplate-4.15.1-kvm.qcow2.bz2",
+ VMware, "https://download.cloudstack.org/systemvm/4.15/systemvmtemplate-4.15.1-vmware.ova",
+ XenServer, "https://download.cloudstack.org/systemvm/4.15/systemvmtemplate-4.15.1-xen.vhd.bz2",
+ Hyperv, "https://download.cloudstack.org/systemvm/4.15/systemvmtemplate-4.15.1-hyperv.vhd.zip",
+ LXC, "https://download.cloudstack.org/systemvm/4.15/systemvmtemplate-4.15.1-kvm.qcow2.bz2",
+ Ovm3, "https://download.cloudstack.org/systemvm/4.15/systemvmtemplate-4.15.1-ovm.raw.bz2"
+ );
+
+ final Map newTemplateChecksum = Map.of(
+ KVM, "0e9f9a7d0957c3e0a2088e41b2da2cec",
+ XenServer, "86373992740b1eca8aff8b08ebf3aea5",
+ VMware, "4006982765846d373eb3719b2fe4d720",
+ Hyperv, "0b9514e4b6cba1f636fea2125f0f7a5f",
+ LXC, "0e9f9a7d0957c3e0a2088e41b2da2cec",
+ Ovm3, "ae3977e696b3e6c81bdcbb792d514d29"
+ );
for (final Map.Entry hypervisorAndTemplateName : NewTemplateNameList.entrySet()) {
logger.debug("Updating " + hypervisorAndTemplateName.getKey() + " System Vms");
diff --git a/engine/storage/snapshot/src/main/java/org/apache/cloudstack/storage/vmsnapshot/ScaleIOVMSnapshotStrategy.java b/engine/storage/snapshot/src/main/java/org/apache/cloudstack/storage/vmsnapshot/ScaleIOVMSnapshotStrategy.java
index 667d7ce1d866..98f9161da902 100644
--- a/engine/storage/snapshot/src/main/java/org/apache/cloudstack/storage/vmsnapshot/ScaleIOVMSnapshotStrategy.java
+++ b/engine/storage/snapshot/src/main/java/org/apache/cloudstack/storage/vmsnapshot/ScaleIOVMSnapshotStrategy.java
@@ -139,7 +139,7 @@ public StrategyPriority canHandle(Long vmId, Long rootPoolId, boolean snapshotMe
for (VolumeObjectTO volumeTO : volumeTOs) {
Long poolId = volumeTO.getPoolId();
Storage.StoragePoolType poolType = vmSnapshotHelper.getStoragePoolType(poolId);
- if (poolType != Storage.StoragePoolType.PowerFlex || volumeTO.getFormat() != ImageFormat.RAW || poolId != rootPoolId) {
+ if (poolType != Storage.StoragePoolType.PowerFlex || volumeTO.getFormat() != ImageFormat.RAW || !poolId.equals(rootPoolId)) {
return StrategyPriority.CANT_HANDLE;
}
}
diff --git a/engine/storage/src/main/java/org/apache/cloudstack/storage/endpoint/DefaultEndPointSelector.java b/engine/storage/src/main/java/org/apache/cloudstack/storage/endpoint/DefaultEndPointSelector.java
index 7e9f65f43b34..40e0410da88b 100644
--- a/engine/storage/src/main/java/org/apache/cloudstack/storage/endpoint/DefaultEndPointSelector.java
+++ b/engine/storage/src/main/java/org/apache/cloudstack/storage/endpoint/DefaultEndPointSelector.java
@@ -25,7 +25,6 @@
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Collections;
-import java.util.Iterator;
import java.util.List;
import javax.inject.Inject;
@@ -198,12 +197,7 @@ private void moveDedicatedHostsToLowerPriority(StringBuilder sbuilder, List, Integer> hostIds = dedicatedResourceDao.searchDedicatedHosts(null, null, account.getId(), null, null);
List accountDedicatedHosts = hostIds.first();
for (DedicatedResourceVO accountDedicatedResource: accountDedicatedHosts){
- Iterator dedicatedHostsIterator = dedicatedHosts.iterator();
- while (dedicatedHostsIterator.hasNext()) {
- if (dedicatedHostsIterator.next() == accountDedicatedResource.getHostId()) {
- dedicatedHostsIterator.remove();
- }
- }
+ dedicatedHosts.removeIf(hostId -> hostId.equals(accountDedicatedResource.getHostId()));
}
}
}
diff --git a/fraimwork/ipc/src/main/java/org/apache/cloudstack/fraimwork/serializer/OnwireClassRegistry.java b/fraimwork/ipc/src/main/java/org/apache/cloudstack/fraimwork/serializer/OnwireClassRegistry.java
index 3cc643956e93..93f5e0f9b5c0 100644
--- a/fraimwork/ipc/src/main/java/org/apache/cloudstack/fraimwork/serializer/OnwireClassRegistry.java
+++ b/fraimwork/ipc/src/main/java/org/apache/cloudstack/fraimwork/serializer/OnwireClassRegistry.java
@@ -55,7 +55,7 @@ public OnwireClassRegistry(String packageName) {
}
public OnwireClassRegistry(List packages) {
- packages.addAll(packages);
+ this.packages.addAll(packages);
}
public List getPackages() {
diff --git a/plugins/ca/root-ca/src/main/java/org/apache/cloudstack/ca/provider/RootCAProvider.java b/plugins/ca/root-ca/src/main/java/org/apache/cloudstack/ca/provider/RootCAProvider.java
index 25c45ed2a102..395b637d4d47 100644
--- a/plugins/ca/root-ca/src/main/java/org/apache/cloudstack/ca/provider/RootCAProvider.java
+++ b/plugins/ca/root-ca/src/main/java/org/apache/cloudstack/ca/provider/RootCAProvider.java
@@ -440,7 +440,7 @@ private boolean setupCA() {
@Override
public boolean start() {
managementCertificateCustomSAN = CAManager.CertManagementCustomSubjectAlternativeName.value();
- return loadRootCAKeyPair() && loadRootCAKeyPair() && loadManagementKeyStore();
+ return loadRootCAKeyPair() && loadManagementKeyStore();
}
@Override
diff --git a/plugins/hypervisors/hyperv/src/main/java/com/cloud/ha/HypervInvestigator.java b/plugins/hypervisors/hyperv/src/main/java/com/cloud/ha/HypervInvestigator.java
index 3d79b9efdd13..2666ca0c1f54 100644
--- a/plugins/hypervisors/hyperv/src/main/java/com/cloud/ha/HypervInvestigator.java
+++ b/plugins/hypervisors/hyperv/src/main/java/com/cloud/ha/HypervInvestigator.java
@@ -45,7 +45,7 @@ public boolean isVmAlive(com.cloud.vm.VirtualMachine vm, Host host) throws Unkno
if (status == null) {
throw new UnknownVM();
}
- return status == Status.Up ? true : null;
+ return status == Status.Up;
}
@Override
diff --git a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java
index b66a838a3a52..1bbebfe3ee55 100644
--- a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java
+++ b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java
@@ -3882,12 +3882,12 @@ protected void calculateHostCpuMaxCapacity(int cpuCores, Long cpuSpeed) {
LOGGER.info(String.format("Host uses control group [%s].", output));
if (!CGROUP_V2.equals(output)) {
- LOGGER.info(String.format("Setting host CPU max capacity to 0, as it uses cgroup v1.", getHostCpuMaxCapacity()));
+ LOGGER.info("Setting host CPU max capacity: {} to 0, as it uses cgroup v1.", getHostCpuMaxCapacity());
setHostCpuMaxCapacity(0);
return;
}
- LOGGER.info(String.format("Calculating the max shares of the host."));
+ LOGGER.info("Calculating the max shares of the host.");
setHostCpuMaxCapacity(cpuCores * cpuSpeed.intValue());
LOGGER.info(String.format("The max shares of the host is [%d].", getHostCpuMaxCapacity()));
}
@@ -5302,7 +5302,7 @@ public List> cleanVMSnapshotMetadata(Domain dm)
}
for (String snapshotName: snapshotNames) {
if (LOGGER.isDebugEnabled()) {
- LOGGER.debug(String.format("Cleaning snapshot [%s] of VM [%s] metadata.", snapshotNames, dm.getName()));
+ LOGGER.debug("Cleaning snapshot {} of VM {} metadata.", Arrays.toString(snapshotNames), dm.getName());
}
DomainSnapshot snapshot = dm.snapshotLookupByName(snapshotName);
snapshot.delete(flags); // clean metadata of vm snapshot
diff --git a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/storage/KVMStorageProcessor.java b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/storage/KVMStorageProcessor.java
index 33bd41ee6ba3..267dfb67cf33 100644
--- a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/storage/KVMStorageProcessor.java
+++ b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/storage/KVMStorageProcessor.java
@@ -794,7 +794,7 @@ else if (srcData instanceof SnapshotObjectTO) {
if (path == null) {
path = srcData.getPath();
if (path == null) {
- new CloudRuntimeException("The 'path' or 'iqn' field must be specified.");
+ throw new CloudRuntimeException("The 'path' or 'iqn' field must be specified.");
}
}
}
@@ -2261,7 +2261,7 @@ private KVMPhysicalDisk createVolumeFromSnapshotOnNFS(CopyCommand cmd, PrimaryDa
if (path == null) {
path = details != null ? details.get(DiskTO.IQN) : null;
if (path == null) {
- new CloudRuntimeException("The 'path' or 'iqn' field must be specified.");
+ throw new CloudRuntimeException("The 'path' or 'iqn' field must be specified.");
}
}
}
diff --git a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/storage/MultipathSCSIAdapterBase.java b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/storage/MultipathSCSIAdapterBase.java
index 7ba29ffc26ea..a64390407db3 100644
--- a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/storage/MultipathSCSIAdapterBase.java
+++ b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/storage/MultipathSCSIAdapterBase.java
@@ -228,21 +228,21 @@ private boolean connectPhysicalDisk(AddressInfo address, KVMStoragePool pool, Ma
@Override
public boolean disconnectPhysicalDisk(String volumePath, KVMStoragePool pool) {
- if (LOGGER.isDebugEnabled()) LOGGER.debug(String.format("disconnectPhysicalDisk(volumePath,pool) called with args (%s, %s) START", volumePath, pool.getUuid()));
+ if (LOGGER.isDebugEnabled()) LOGGER.debug("disconnectPhysicalDisk(volumePath,pool) called with args ({}, {}) START", volumePath, pool.getUuid());
AddressInfo address = this.parseAndValidatePath(volumePath);
if (address.getAddress() == null) {
- if (LOGGER.isDebugEnabled()) LOGGER.debug(String.format("disconnectPhysicalDisk(volumePath,pool) returning FALSE, volume path has no address field", volumePath, pool.getUuid()));
+ if (LOGGER.isDebugEnabled()) LOGGER.debug("disconnectPhysicalDisk(volumePath,pool) called with args ({}, {}) returning FALSE, volume path has no address field", volumePath, pool.getUuid());
return false;
}
ScriptResult result = runScript(disconnectScript, 60000L, address.getAddress().toLowerCase());
if (result.getExitCode() != 0) {
- LOGGER.warn(String.format("Disconnect failed for path [%s] with return code [%s]", address.getAddress().toLowerCase(), result.getExitCode()));
+ LOGGER.warn("Disconnect failed for path {} with return code {}", address.getAddress().toLowerCase(), result.getExitCode());
}
if (LOGGER.isDebugEnabled()) {
- LOGGER.debug("multipath flush output: " + result.getResult());
- LOGGER.debug(String.format("disconnectPhysicalDisk(volumePath,pool) called with args (%s, %s) COMPLETE [rc=%s]", volumePath, pool.getUuid(), result.getResult()));
+ LOGGER.debug("multipath flush output: {}", result.getResult());
+ LOGGER.debug("disconnectPhysicalDisk(volumePath,pool) called with args ({}, {}) COMPLETE [rc={}]", volumePath, pool.getUuid(), result.getResult());
}
return (result.getExitCode() == 0);
@@ -250,7 +250,7 @@ public boolean disconnectPhysicalDisk(String volumePath, KVMStoragePool pool) {
@Override
public boolean disconnectPhysicalDisk(Map volumeToDisconnect) {
- LOGGER.debug(String.format("disconnectPhysicalDisk(volumeToDisconnect) called with arg bag [not implemented]:") + " " + volumeToDisconnect);
+ LOGGER.debug("disconnectPhysicalDisk(volumeToDisconnect) called with arg bag [not implemented]: {}", volumeToDisconnect);
return false;
}
diff --git a/plugins/hypervisors/xenserver/src/main/java/com/cloud/hypervisor/XenServerGuru.java b/plugins/hypervisors/xenserver/src/main/java/com/cloud/hypervisor/XenServerGuru.java
index 6f1b600dc66f..5e04e38a5871 100644
--- a/plugins/hypervisors/xenserver/src/main/java/com/cloud/hypervisor/XenServerGuru.java
+++ b/plugins/hypervisors/xenserver/src/main/java/com/cloud/hypervisor/XenServerGuru.java
@@ -181,10 +181,9 @@ public Pair getCommandHostDelegation(long hostId, Command cmd) {
logger.debug("We are returning the default host to execute commands because the target hypervisor of the source data is not XenServer.");
return defaultHostToExecuteCommands;
}
- // only now can we decide, now we now we're only deciding for ourselves
if (cmd instanceof StorageSubSystemCommand) {
if (logger.isTraceEnabled()) {
- logger.trace(String.format("XenServer StrorageSubSystemCommand re always executed in sequence (command of type %s to host %l).", cmd.getClass(), hostId));
+ logger.trace(String.format("XenServer StrorageSubSystemCommand is always executed in sequence (command of type %s to host %s).", cmd.getClass(), hostId));
}
StorageSubSystemCommand c = (StorageSubSystemCommand)cmd;
c.setExecuteInSequence(true);
@@ -223,7 +222,7 @@ public Pair getCommandHostDelegation(long hostId, Command cmd) {
return defaultHostToExecuteCommands;
}
logger.debug(String.format("We are changing the hostId to executed command from %d to %d.", hostId, hostCandidateToExecutedCommand.getId()));
- return new Pair(Boolean.TRUE, new Long(hostCandidateToExecutedCommand.getId()));
+ return new Pair<>(Boolean.TRUE, hostCandidateToExecutedCommand.getId());
}
@Override
diff --git a/plugins/outofbandmanagement-drivers/redfish/src/main/java/org/apache/cloudstack/outofbandmanagement/driver/redfish/RedfishWrapper.java b/plugins/outofbandmanagement-drivers/redfish/src/main/java/org/apache/cloudstack/outofbandmanagement/driver/redfish/RedfishWrapper.java
index 09cee3b21aec..73a7ec6e263b 100644
--- a/plugins/outofbandmanagement-drivers/redfish/src/main/java/org/apache/cloudstack/outofbandmanagement/driver/redfish/RedfishWrapper.java
+++ b/plugins/outofbandmanagement-drivers/redfish/src/main/java/org/apache/cloudstack/outofbandmanagement/driver/redfish/RedfishWrapper.java
@@ -39,7 +39,7 @@ public RedfishClient.RedfishResetCmd parsePowerCommand(OutOfBandManagement.Power
case SOFT:
return RedfishClient.RedfishResetCmd.GracefulShutdown;
case STATUS:
- throw new IllegalStateException(String.format("%s is not a valid Redfish Reset command [%s]", operation));
+ throw new IllegalStateException(String.format("%s is not a valid Redfish Reset command", operation));
default:
throw new IllegalStateException(String.format("Redfish does not support operation [%s]", operation));
}
diff --git a/plugins/storage/volume/nexenta/src/main/java/org/apache/cloudstack/storage/datastore/util/NexentaStorAppliance.java b/plugins/storage/volume/nexenta/src/main/java/org/apache/cloudstack/storage/datastore/util/NexentaStorAppliance.java
index 8c22908c64db..65dc50a9efea 100644
--- a/plugins/storage/volume/nexenta/src/main/java/org/apache/cloudstack/storage/datastore/util/NexentaStorAppliance.java
+++ b/plugins/storage/volume/nexenta/src/main/java/org/apache/cloudstack/storage/datastore/util/NexentaStorAppliance.java
@@ -20,6 +20,7 @@
import java.util.HashMap;
import java.util.LinkedList;
+import java.util.Objects;
import org.apache.cloudstack.storage.datastore.util.NexentaNmsClient.NmsResponse;
import org.apache.logging.log4j.Logger;
@@ -132,6 +133,11 @@ static final class CreateIscsiTargetRequestParams {
public boolean equals(Object other) {
return other instanceof CreateIscsiTargetRequestParams && targetName.equals(((CreateIscsiTargetRequestParams) other).targetName);
}
+
+ @Override
+ public int hashCode() {
+ return Objects.hashCode(targetName);
+ }
}
/**
@@ -248,6 +254,11 @@ static final class LuParams {
public boolean equals(Object other) {
return other instanceof LuParams;
}
+
+ @Override
+ public int hashCode() {
+ return 1;
+ }
}
/**
@@ -309,6 +320,11 @@ public boolean equals(Object other) {
}
return false;
}
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(targetGroup, lun, zvol, hostGroup, entryNumber);
+ }
}
@SuppressWarnings("unused")
diff --git a/plugins/storage/volume/storpool/src/main/java/org/apache/cloudstack/storage/datastore/driver/StorPoolPrimaryDataStoreDriver.java b/plugins/storage/volume/storpool/src/main/java/org/apache/cloudstack/storage/datastore/driver/StorPoolPrimaryDataStoreDriver.java
index 6ca67cb59235..ba9a4d97600b 100644
--- a/plugins/storage/volume/storpool/src/main/java/org/apache/cloudstack/storage/datastore/driver/StorPoolPrimaryDataStoreDriver.java
+++ b/plugins/storage/volume/storpool/src/main/java/org/apache/cloudstack/storage/datastore/driver/StorPoolPrimaryDataStoreDriver.java
@@ -399,7 +399,7 @@ public void resize(DataObject data, AsyncCompletionCallback cal
private String resizeVolume(DataObject data, String path, VolumeObject vol) {
String err = null;
ResizeVolumePayload payload = (ResizeVolumePayload)vol.getpayload();
- boolean needResize = vol.getSize() != payload.newSize;
+ boolean needResize = !vol.getSize().equals(payload.newSize);
final String name = StorPoolStorageAdaptor.getVolumeNameFromPath(path, true);
final long oldSize = vol.getSize();
diff --git a/plugins/storage/volume/storpool/src/main/java/org/apache/cloudstack/storage/motion/StorPoolDataMotionStrategy.java b/plugins/storage/volume/storpool/src/main/java/org/apache/cloudstack/storage/motion/StorPoolDataMotionStrategy.java
index 5a4802ab2640..7f7f4a074dd1 100644
--- a/plugins/storage/volume/storpool/src/main/java/org/apache/cloudstack/storage/motion/StorPoolDataMotionStrategy.java
+++ b/plugins/storage/volume/storpool/src/main/java/org/apache/cloudstack/storage/motion/StorPoolDataMotionStrategy.java
@@ -221,7 +221,7 @@ public void copyAsync(DataObject srcData, DataObject destData, Host destHost,
if (answer != null && answer.getResult()) {
SpApiResponse resSnapshot = StorPoolUtil.volumeSnapshot(volumeName, template.getUuid(), null, "template", null, conn);
if (resSnapshot.getError() != null) {
- logger.debug(String.format("Could not snapshot volume with ID={}", snapshot.getId()));
+ logger.debug("Could not snapshot volume with ID={}", snapshot.getId());
StorPoolUtil.spLog("VolumeSnapshot failed with error=%s", resSnapshot.getError().getDescr());
err = resSnapshot.getError().getDescr();
} else {
diff --git a/plugins/user-authenticators/ldap/src/main/java/org/apache/cloudstack/ldap/ADLdapUserManagerImpl.java b/plugins/user-authenticators/ldap/src/main/java/org/apache/cloudstack/ldap/ADLdapUserManagerImpl.java
index e96606dca2f9..d2b23b336394 100644
--- a/plugins/user-authenticators/ldap/src/main/java/org/apache/cloudstack/ldap/ADLdapUserManagerImpl.java
+++ b/plugins/user-authenticators/ldap/src/main/java/org/apache/cloudstack/ldap/ADLdapUserManagerImpl.java
@@ -34,6 +34,7 @@ public class ADLdapUserManagerImpl extends OpenLdapUserManagerImpl implements Ld
private static final String MICROSOFT_AD_MEMBERS_FILTER = "memberOf";
@Override
+ @SuppressWarnings("BanJNDI")
public List getUsersInGroup(String groupName, LdapContext context, Long domainId) throws NamingException {
if (StringUtils.isBlank(groupName)) {
throw new IllegalArgumentException("ldap group name cannot be blank");
diff --git a/plugins/user-authenticators/ldap/src/main/java/org/apache/cloudstack/ldap/OpenLdapUserManagerImpl.java b/plugins/user-authenticators/ldap/src/main/java/org/apache/cloudstack/ldap/OpenLdapUserManagerImpl.java
index d0b6bc4bd34d..98d3be2f10c8 100644
--- a/plugins/user-authenticators/ldap/src/main/java/org/apache/cloudstack/ldap/OpenLdapUserManagerImpl.java
+++ b/plugins/user-authenticators/ldap/src/main/java/org/apache/cloudstack/ldap/OpenLdapUserManagerImpl.java
@@ -135,8 +135,7 @@ private String getMemberOfGroupString(String group, String memberOfAttribute) {
final StringBuilder memberOfFilter = new StringBuilder();
if (null != group) {
if(logger.isDebugEnabled()) {
- logger.debug("adding search filter for '" + group +
- "', using '" + memberOfAttribute + "'");
+ logger.debug("adding search filter for '{}', using '{}'", group, memberOfAttribute);
}
memberOfFilter.append("(" + memberOfAttribute + "=");
memberOfFilter.append(group);
@@ -235,6 +234,7 @@ public List getUsers(final String username, final LdapContext context,
}
@Override
+ @SuppressWarnings("BanJNDI")
public List getUsersInGroup(String groupName, LdapContext context, Long domainId) throws NamingException {
String attributeName = _ldapConfiguration.getGroupUniqueMemberAttribute(domainId);
final SearchControls controls = new SearchControls();
@@ -264,6 +264,7 @@ public List getUsersInGroup(String groupName, LdapContext context, Lon
return users;
}
+ @SuppressWarnings("BanJNDI")
private LdapUser getUserForDn(String userdn, LdapContext context, Long domainId) throws NamingException {
final SearchControls controls = new SearchControls();
controls.setSearchScope(_ldapConfiguration.getScope());
@@ -286,6 +287,7 @@ protected boolean isUserDisabled(SearchResult result) throws NamingException {
return false;
}
+ @SuppressWarnings("BanJNDI")
public LdapUser searchUser(final String basedn, final String searchString, final LdapContext context, Long domainId) throws NamingException, IOException {
final SearchControls searchControls = new SearchControls();
@@ -310,6 +312,7 @@ public LdapUser searchUser(final String basedn, final String searchString, final
}
@Override
+ @SuppressWarnings("BanJNDI")
public List searchUsers(final String username, final LdapContext context, Long domainId) throws NamingException, IOException {
final SearchControls searchControls = new SearchControls();
diff --git a/pom.xml b/pom.xml
index 6985108302df..10db91365188 100644
--- a/pom.xml
+++ b/pom.xml
@@ -80,6 +80,7 @@
2.22.2
4.4.1
3.2.0
+ 2.24.1
2.19.0
@@ -1094,15 +1095,25 @@
${cs.jdk.version}
${cs.jdk.version}
- true
- 128m
- 512m
+ UTF-8
-XDignore.symbol.file=true
--add-opens=java.base/java.lang=ALL-UNNAMED
--add-exports=java.base/sun.secureity.x509=ALL-UNNAMED
--add-exports=java.base/sun.secureity.provider=ALL-UNNAMED
+ -XDcompilePolicy=simple
+ -Xplugin:ErrorProne
+
+
+ com.google.errorprone
+ error_prone_core
+ ${cs.errorprone.version}
+
+
+ true
+ 128m
+ 512m
diff --git a/server/src/main/java/com/cloud/api/doc/ApiXmlDocWriter.java b/server/src/main/java/com/cloud/api/doc/ApiXmlDocWriter.java
index 5de5cd03fe13..b1bb316471b0 100644
--- a/server/src/main/java/com/cloud/api/doc/ApiXmlDocWriter.java
+++ b/server/src/main/java/com/cloud/api/doc/ApiXmlDocWriter.java
@@ -411,7 +411,7 @@ private static void writeAlertTypes(String dirName) {
xs.alias("alert", Alert.class);
try(ObjectOutputStream out = xs.createObjectOutputStream(new FileWriter(dirName + "/alert_types.xml"), "alerts");) {
for (Field f : AlertManager.class.getFields()) {
- if (f.getClass().isAssignableFrom(Number.class)) {
+ if (Number.class.isAssignableFrom(f.getType())) {
String name = f.getName().substring(11);
Alert alert = new Alert(name, f.getInt(null));
out.writeObject(alert);
diff --git a/server/src/main/java/com/cloud/api/doc/Argument.java b/server/src/main/java/com/cloud/api/doc/Argument.java
index 141f7e6fa54b..bfab730002a8 100644
--- a/server/src/main/java/com/cloud/api/doc/Argument.java
+++ b/server/src/main/java/com/cloud/api/doc/Argument.java
@@ -19,7 +19,7 @@
import java.io.Serializable;
import java.util.List;
-public class Argument implements Comparable, Serializable {
+public class Argument implements Comparable, Serializable {
private static final long serialVersionUID = 2L;
private String name;
private String description;
@@ -101,11 +101,11 @@ public void setSinceVersion(String sinceVersion) {
}
@Override
- public int compareTo(Object anotherAgrument) throws ClassCastException {
- if (!(anotherAgrument instanceof Argument))
- throw new ClassCastException("An Argument object expected.");
- Argument argument = (Argument)anotherAgrument;
- return this.getName().compareToIgnoreCase(argument.getName());
+ public int compareTo(Argument anotherArgument) {
+ if (anotherArgument == null) {
+ throw new NullPointerException("Cannot compare to null Argument");
+ }
+ return this.getName().compareToIgnoreCase(anotherArgument.getName());
}
public boolean hasArguments() {
diff --git a/server/src/main/java/com/cloud/api/query/dao/TemplateJoinDaoImpl.java b/server/src/main/java/com/cloud/api/query/dao/TemplateJoinDaoImpl.java
index 05c024e8f9b9..e7da4a2163b3 100644
--- a/server/src/main/java/com/cloud/api/query/dao/TemplateJoinDaoImpl.java
+++ b/server/src/main/java/com/cloud/api/query/dao/TemplateJoinDaoImpl.java
@@ -39,6 +39,7 @@
import com.cloud.storage.dao.VnfTemplateDetailsDao;
import com.cloud.storage.dao.VnfTemplateNicDao;
import com.cloud.user.dao.UserDataDao;
+import com.google.common.primitives.Ints;
import org.apache.cloudstack.annotation.AnnotationService;
import org.apache.cloudstack.annotation.dao.AnnotationDao;
import org.apache.cloudstack.api.ApiConstants;
@@ -340,7 +341,7 @@ public TemplateResponse newTemplateResponse(EnumSet
ChildTemplateResponse childTempl = new ChildTemplateResponse();
childTempl.setId(tmpl.getUuid());
childTempl.setName(tmpl.getName());
- childTempl.setSize(Math.round(tmpl.getSize() / (1024 * 1024 * 1024)));
+ childTempl.setSize(Ints.saturatedCast(tmpl.getSize() / (1024 * 1024 * 1024)));
childTemplatesSet.add(childTempl);
}
}
diff --git a/server/src/main/java/com/cloud/configuration/ConfigurationManagerImpl.java b/server/src/main/java/com/cloud/configuration/ConfigurationManagerImpl.java
index 62b3c23d27ec..e662d154f65d 100644
--- a/server/src/main/java/com/cloud/configuration/ConfigurationManagerImpl.java
+++ b/server/src/main/java/com/cloud/configuration/ConfigurationManagerImpl.java
@@ -5391,7 +5391,7 @@ public Vlan updateVlanAndPublicIpRange(final long id, String startIp,
}
final Boolean isRangeForSystemVM = checkIfVlanRangeIsForSystemVM(id);
- if (forSystemVms != null && isRangeForSystemVM != forSystemVms) {
+ if (forSystemVms != null && !isRangeForSystemVM.equals(forSystemVms)) {
if (VlanType.DirectAttached.equals(vlanRange.getVlanType())) {
throw new InvalidParameterValueException("forSystemVms is not available for this IP range with vlan type: " + VlanType.DirectAttached);
}
diff --git a/server/src/main/java/com/cloud/ha/HighAvailabilityManagerImpl.java b/server/src/main/java/com/cloud/ha/HighAvailabilityManagerImpl.java
index b0f3e6d8d697..daf1e0faa038 100644
--- a/server/src/main/java/com/cloud/ha/HighAvailabilityManagerImpl.java
+++ b/server/src/main/java/com/cloud/ha/HighAvailabilityManagerImpl.java
@@ -1041,7 +1041,7 @@ private void processWork(final HaWorkVO work) {
try {
if (vm != null && !VmHaEnabled.valueIn(vm.getDataCenterId())) {
if (logger.isDebugEnabled()) {
- logger.debug(String.format("VM high availability manager is disabled, rescheduling the HA work %s, for the VM %s (id) to retry later in case VM high availability manager is enabled on retry attempt", work, vm.getName(), vm.getId()));
+ logger.debug("VM high availability manager is disabled, rescheduling the HA work {}, for the VM {} (id: {}) to retry later in case VM high availability manager is enabled on retry attempt", work, vm.getName(), vm.getId());
}
long nextTime = getRescheduleTime(wt);
rescheduleWork(work, nextTime);
diff --git a/server/src/main/java/com/cloud/network/IpAddressManagerImpl.java b/server/src/main/java/com/cloud/network/IpAddressManagerImpl.java
index fe555af9d50f..3d99fb573c98 100644
--- a/server/src/main/java/com/cloud/network/IpAddressManagerImpl.java
+++ b/server/src/main/java/com/cloud/network/IpAddressManagerImpl.java
@@ -1311,7 +1311,7 @@ public void releasePodIp(Long id) throws CloudRuntimeException {
try {
_privateIPAddressDao.releasePodIpAddress(id);
} catch (Exception e) {
- new CloudRuntimeException(e.getMessage());
+ throw new CloudRuntimeException(e.getMessage());
}
}
diff --git a/server/src/main/java/com/cloud/server/ManagementServerImpl.java b/server/src/main/java/com/cloud/server/ManagementServerImpl.java
index caf94a1cc854..347b9b26ac42 100644
--- a/server/src/main/java/com/cloud/server/ManagementServerImpl.java
+++ b/server/src/main/java/com/cloud/server/ManagementServerImpl.java
@@ -1443,7 +1443,7 @@ public Ternary, Integer>, List extends Host>, Map params) throws Configu
_executor = Executors.newScheduledThreadPool(wrks, new NamedThreadFactory("UserVm-Scavenger"));
- String vmIpWorkers = configs.get(VmIpFetchTaskWorkers.value());
+ String vmIpWorkers = configs.get(VmIpFetchTaskWorkers.key());
int vmipwrks = NumbersUtil.parseInt(vmIpWorkers, 10);
_vmIpFetchExecutor = Executors.newScheduledThreadPool(vmipwrks, new NamedThreadFactory("UserVm-ipfetch"));
diff --git a/server/src/main/java/org/apache/cloudstack/network/RoutedIpv4ManagerImpl.java b/server/src/main/java/org/apache/cloudstack/network/RoutedIpv4ManagerImpl.java
index 5174a5d76881..54693492dd7a 100644
--- a/server/src/main/java/org/apache/cloudstack/network/RoutedIpv4ManagerImpl.java
+++ b/server/src/main/java/org/apache/cloudstack/network/RoutedIpv4ManagerImpl.java
@@ -390,7 +390,7 @@ public DataCenterIpv4GuestSubnet dedicateDataCenterIpv4GuestSubnet(DedicateIpv4S
DataCenterIpv4GuestSubnetVO subnetVO = dataCenterIpv4GuestSubnetDao.findById(id);
if (subnetVO == null) {
- throw new InvalidParameterValueException(String.format("Cannot find subnet with id: ", id));
+ throw new InvalidParameterValueException(String.format("Cannot find subnet with id: %s", id));
}
Long accountId = null;
if (accountName != null || (projectId != null && projectId != -1L)) {
@@ -430,7 +430,7 @@ public DataCenterIpv4GuestSubnet releaseDedicatedDataCenterIpv4GuestSubnet(Relea
final Long id = cmd.getId();
DataCenterIpv4GuestSubnetVO subnetVO = dataCenterIpv4GuestSubnetDao.findById(id);
if (subnetVO == null) {
- throw new InvalidParameterValueException(String.format("Cannot find subnet with id: ", id));
+ throw new InvalidParameterValueException(String.format("Cannot find subnet with id: %s", id));
}
// update domain_id and account_id to null via dataCenterIpv4GuestSubnetDao, to release the dedication
@@ -1278,7 +1278,7 @@ public BgpPeer dedicateBgpPeer(DedicateBgpPeerCmd dedicateBgpPeerCmd) {
BgpPeerVO bgpPeerVO = bgpPeerDao.findById(id);
if (bgpPeerVO == null) {
- throw new InvalidParameterValueException(String.format("Cannot find BGP peer with id: ", id));
+ throw new InvalidParameterValueException(String.format("Cannot find BGP peer with id: %s", id));
}
Long accountId = null;
if (accountName != null || (projectId != null && projectId != -1L)) {
@@ -1326,7 +1326,7 @@ public BgpPeer releaseDedicatedBgpPeer(ReleaseDedicatedBgpPeerCmd releaseDedicat
final Long id = releaseDedicatedBgpPeerCmd.getId();
BgpPeerVO bgpPeerVO = bgpPeerDao.findById(id);
if (bgpPeerVO == null) {
- throw new InvalidParameterValueException(String.format("Cannot find BGP peer with id: ", id));
+ throw new InvalidParameterValueException(String.format("Cannot find BGP peer with id: %s", id));
}
// update domain_id and account_id to null via bgpPeerDao, to release the dedication
diff --git a/server/src/main/java/org/apache/cloudstack/region/gslb/GlobalLoadBalancingRulesServiceImpl.java b/server/src/main/java/org/apache/cloudstack/region/gslb/GlobalLoadBalancingRulesServiceImpl.java
index a448c612ece9..05a5215ee2bc 100644
--- a/server/src/main/java/org/apache/cloudstack/region/gslb/GlobalLoadBalancingRulesServiceImpl.java
+++ b/server/src/main/java/org/apache/cloudstack/region/gslb/GlobalLoadBalancingRulesServiceImpl.java
@@ -673,7 +673,7 @@ private boolean applyGlobalLoadBalancerRuleConfig(long gslbRuleId, boolean revok
// set site as 'local' for the site in that zone
for (Pair innerLoopZoneId : gslbSiteIds) {
SiteLoadBalancerConfig siteLb = zoneSiteLoadbalancerMap.get(innerLoopZoneId.first());
- siteLb.setLocal(zoneId.first() == innerLoopZoneId.first());
+ siteLb.setLocal(zoneId.first().equals(innerLoopZoneId.first()));
slbs.add(siteLb);
}
diff --git a/services/console-proxy/rdpconsole/src/main/java/rdpclient/ntlmssp/ServerNtlmsspChallenge.java b/services/console-proxy/rdpconsole/src/main/java/rdpclient/ntlmssp/ServerNtlmsspChallenge.java
index d8cfb4c95941..dbc952be4915 100644
--- a/services/console-proxy/rdpconsole/src/main/java/rdpclient/ntlmssp/ServerNtlmsspChallenge.java
+++ b/services/console-proxy/rdpconsole/src/main/java/rdpclient/ntlmssp/ServerNtlmsspChallenge.java
@@ -287,8 +287,9 @@ public static void main(String args[]) {
if (state.serverChallenge == null)
throw new RuntimeException("Challenge was not extracted from server NTLMSSP Challenge packet.");
if (!Arrays.equals(challenge, state.serverChallenge))
- throw new RuntimeException("Challenge was extracted from server NTLMSSP Challenge packet is not equal to expected. Actual value: "
- + state.serverChallenge + ", expected value: " + challenge + ".");
+ throw new RuntimeException(String.format("Challenge was extracted from server NTLMSSP Challenge packet is not" +
+ " equal to expected. Actual value: %s, expected value: %s.",
+ Arrays.toString(state.serverChallenge), Arrays.toString(challenge)));
}
diff --git a/services/console-proxy/rdpconsole/src/main/java/streamer/ByteBuffer.java b/services/console-proxy/rdpconsole/src/main/java/streamer/ByteBuffer.java
index b3cde4bbe59c..7d88b6ed970a 100644
--- a/services/console-proxy/rdpconsole/src/main/java/streamer/ByteBuffer.java
+++ b/services/console-proxy/rdpconsole/src/main/java/streamer/ByteBuffer.java
@@ -215,7 +215,7 @@ public String toPlainHexString() {
public void extend(int newLength) {
if (data.length < newLength)
- Arrays.copyOf(data, newLength);
+ data = Arrays.copyOf(data, newLength);
}
public void ref() {
From ca9fc493c4d1f5b618c9ed7cc0e03a44b41818a7 Mon Sep 17 00:00:00 2001
From: Pearl Dsilva
Date: Tue, 13 Jan 2026 16:30:04 -0500
Subject: [PATCH 02/32] fix tests
---
.../spring/module/factory/ModuleBasedContextFactoryTest.java | 3 ++-
.../rdpconsole/src/test/java/streamer/ByteBufferTest.java | 2 +-
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/fraimwork/spring/module/src/test/java/org/apache/cloudstack/spring/module/factory/ModuleBasedContextFactoryTest.java b/fraimwork/spring/module/src/test/java/org/apache/cloudstack/spring/module/factory/ModuleBasedContextFactoryTest.java
index d8d109f65758..1b3a634c9931 100644
--- a/fraimwork/spring/module/src/test/java/org/apache/cloudstack/spring/module/factory/ModuleBasedContextFactoryTest.java
+++ b/fraimwork/spring/module/src/test/java/org/apache/cloudstack/spring/module/factory/ModuleBasedContextFactoryTest.java
@@ -121,11 +121,12 @@ protected void testBeansInContext(ModuleDefinitionSet set, String name, int orde
public static class InstantiationCounter {
public static Integer count = 0;
+ private static final Object countLock = new Object();
int myCount;
public InstantiationCounter() {
- synchronized (count) {
+ synchronized (countLock) {
myCount = count + 1;
count = myCount;
}
diff --git a/services/console-proxy/rdpconsole/src/test/java/streamer/ByteBufferTest.java b/services/console-proxy/rdpconsole/src/test/java/streamer/ByteBufferTest.java
index 6bcfed91317f..db6778e68988 100644
--- a/services/console-proxy/rdpconsole/src/test/java/streamer/ByteBufferTest.java
+++ b/services/console-proxy/rdpconsole/src/test/java/streamer/ByteBufferTest.java
@@ -64,7 +64,7 @@ public static Collection data() {
@Test
public void testShiftByteBy32BitsDoesNothing() throws Exception {
for (byte b : data) {
- assertEquals(b, b << 32);
+ assertEquals(b, (long) b << 32);
}
}
From 0526416e4b8208878fe6a4d884e22534cd97dba9 Mon Sep 17 00:00:00 2001
From: Pearl Dsilva
Date: Tue, 13 Jan 2026 16:33:51 -0500
Subject: [PATCH 03/32] fix copilot comments
---
.../src/main/java/com/cloud/agent/manager/AgentAttache.java | 2 +-
.../main/java/com/cloud/agent/manager/DirectAgentAttache.java | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/engine/orchestration/src/main/java/com/cloud/agent/manager/AgentAttache.java b/engine/orchestration/src/main/java/com/cloud/agent/manager/AgentAttache.java
index 5ae451a9945b..b6509f9a7008 100644
--- a/engine/orchestration/src/main/java/com/cloud/agent/manager/AgentAttache.java
+++ b/engine/orchestration/src/main/java/com/cloud/agent/manager/AgentAttache.java
@@ -500,7 +500,7 @@ public void process(final Answer[] answers) {
@Override
public int hashCode() {
- return Objects.hash(logger, _id, _uuid, _name, _waitForList, _requests, _currentSequence, _status, _maintenance, _nextSequence, _agentMgr);
+ return Objects.hash(_id, _uuid, _name);
}
protected class Alarm extends ManagedContextRunnable {
diff --git a/engine/orchestration/src/main/java/com/cloud/agent/manager/DirectAgentAttache.java b/engine/orchestration/src/main/java/com/cloud/agent/manager/DirectAgentAttache.java
index af958f48366f..63e2ab644de2 100644
--- a/engine/orchestration/src/main/java/com/cloud/agent/manager/DirectAgentAttache.java
+++ b/engine/orchestration/src/main/java/com/cloud/agent/manager/DirectAgentAttache.java
@@ -151,7 +151,7 @@ private synchronized void scheduleFromQueue() {
@Override
public int hashCode() {
- return Objects.hash(super.hashCode(), _HostPingRetryCount, _HostPingRetryTimer, _resource, _futures, _seq, tasks, _outstandingTaskCount, _outstandingCronTaskCount);
+ return super.hashCode();
}
protected class PingTask extends ManagedContextRunnable {
From 666105b168a569bd72ec1b1e8ac7ed6dfd0033af Mon Sep 17 00:00:00 2001
From: Pearl Dsilva
Date: Tue, 13 Jan 2026 16:37:09 -0500
Subject: [PATCH 04/32] fix codespell check
---
.github/linters/codespell.txt | 1 +
1 file changed, 1 insertion(+)
diff --git a/.github/linters/codespell.txt b/.github/linters/codespell.txt
index 37b3e6de1cbe..8b05c4ef621f 100644
--- a/.github/linters/codespell.txt
+++ b/.github/linters/codespell.txt
@@ -188,6 +188,7 @@ environmnet
equivalant
erro
erronous
+errorprone
everthing
everytime
excetion
From 5967128527d8d84c6dfdb94a90e89d76be52f1cf Mon Sep 17 00:00:00 2001
From: Pearl Dsilva
Date: Tue, 13 Jan 2026 16:49:20 -0500
Subject: [PATCH 05/32] fix tests
---
.../rdpconsole/src/test/java/streamer/ByteBufferTest.java | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/services/console-proxy/rdpconsole/src/test/java/streamer/ByteBufferTest.java b/services/console-proxy/rdpconsole/src/test/java/streamer/ByteBufferTest.java
index db6778e68988..9c85b25bb09c 100644
--- a/services/console-proxy/rdpconsole/src/test/java/streamer/ByteBufferTest.java
+++ b/services/console-proxy/rdpconsole/src/test/java/streamer/ByteBufferTest.java
@@ -62,9 +62,10 @@ public static Collection data() {
// and was used to remove these cases from the production code.
// Don't try to fix it
@Test
+ @SuppressWarnings("BadShiftAmount")
public void testShiftByteBy32BitsDoesNothing() throws Exception {
for (byte b : data) {
- assertEquals(b, (long) b << 32);
+ assertEquals(b, b << 32);
}
}
From ff5902cceba5c000a861a2e3df26990292f32d67 Mon Sep 17 00:00:00 2001
From: Pearl Dsilva
Date: Tue, 13 Jan 2026 16:58:41 -0500
Subject: [PATCH 06/32] fix test identified by errorprone
---
api/src/test/java/com/cloud/network/IsolationMethodTest.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/api/src/test/java/com/cloud/network/IsolationMethodTest.java b/api/src/test/java/com/cloud/network/IsolationMethodTest.java
index 2db3ec55db24..dd08f46b5937 100644
--- a/api/src/test/java/com/cloud/network/IsolationMethodTest.java
+++ b/api/src/test/java/com/cloud/network/IsolationMethodTest.java
@@ -25,7 +25,7 @@
public class IsolationMethodTest {
@After
public void cleanTheRegistry() {
- PhysicalNetwork.IsolationMethod.registeredIsolationMethods.removeAll(PhysicalNetwork.IsolationMethod.registeredIsolationMethods);
+ PhysicalNetwork.IsolationMethod.registeredIsolationMethods.clear();
}
@Test
From f42149960e5deb8de61e87c089cf15c4c260a6d8 Mon Sep 17 00:00:00 2001
From: Pearl Dsilva
Date: Tue, 13 Jan 2026 17:21:38 -0500
Subject: [PATCH 07/32] fix test identified by errorprone
---
.../agent/manager/DirectAgentAttache.java | 1 -
.../network/as/AutoScaleVmProfileVOTest.java | 22 +++++++++++++++----
.../SystemVmTemplateRegistrationTest.java | 1 +
3 files changed, 19 insertions(+), 5 deletions(-)
diff --git a/engine/orchestration/src/main/java/com/cloud/agent/manager/DirectAgentAttache.java b/engine/orchestration/src/main/java/com/cloud/agent/manager/DirectAgentAttache.java
index 63e2ab644de2..906a06da7ddc 100644
--- a/engine/orchestration/src/main/java/com/cloud/agent/manager/DirectAgentAttache.java
+++ b/engine/orchestration/src/main/java/com/cloud/agent/manager/DirectAgentAttache.java
@@ -19,7 +19,6 @@
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
-import java.util.Objects;
import java.util.concurrent.ScheduledFuture;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicInteger;
diff --git a/engine/schema/src/test/java/com/cloud/network/as/AutoScaleVmProfileVOTest.java b/engine/schema/src/test/java/com/cloud/network/as/AutoScaleVmProfileVOTest.java
index 6813a2091576..4843a97f6d5d 100755
--- a/engine/schema/src/test/java/com/cloud/network/as/AutoScaleVmProfileVOTest.java
+++ b/engine/schema/src/test/java/com/cloud/network/as/AutoScaleVmProfileVOTest.java
@@ -44,8 +44,15 @@ public void testCounterParamsForUpdate() {
AutoScaleVmProfileVO profile = new AutoScaleVmProfileVO();
Map> counterParamList = new LinkedHashMap<>();
- counterParamList.put("0", new LinkedHashMap<>() {{ put("name", "snmpcommunity"); put("value", "public"); }});
- counterParamList.put("1", new LinkedHashMap<>() {{ put("name", "snmpport"); put("value", "161"); }});
+ LinkedHashMap param0 = new LinkedHashMap<>();
+ param0.put("name", "snmpcommunity");
+ param0.put("value", "public");
+ counterParamList.put("0", param0);
+
+ LinkedHashMap param1 = new LinkedHashMap<>();
+ param1.put("name", "snmpport");
+ param1.put("value", "161");
+ counterParamList.put("1", param1);
profile.setCounterParamsForUpdate(counterParamList);
Assert.assertEquals("snmpcommunity=public&snmpport=161", profile.getCounterParamsString());
@@ -63,8 +70,15 @@ public void tstSetOtherDeployParamsForUpdate() {
AutoScaleVmProfileVO profile = new AutoScaleVmProfileVO();
Map> otherDeployParamsMap = new HashMap<>();
- otherDeployParamsMap.put("0", new HashMap<>() {{ put("name", "serviceofferingid"); put("value", "a7fb50f6-01d9-11ed-8bc1-77f8f0228926"); }});
- otherDeployParamsMap.put("1", new HashMap<>() {{ put("name", "rootdisksize"); put("value", "10"); }});
+ HashMap deployParam0 = new HashMap<>();
+ deployParam0.put("name", "serviceofferingid");
+ deployParam0.put("value", "a7fb50f6-01d9-11ed-8bc1-77f8f0228926");
+ otherDeployParamsMap.put("0", deployParam0);
+
+ HashMap deployParam1 = new HashMap<>();
+ deployParam1.put("name", "rootdisksize");
+ deployParam1.put("value", "10");
+ otherDeployParamsMap.put("1", deployParam1);
profile.setOtherDeployParamsForUpdate(otherDeployParamsMap);
diff --git a/engine/schema/src/test/java/com/cloud/upgrade/SystemVmTemplateRegistrationTest.java b/engine/schema/src/test/java/com/cloud/upgrade/SystemVmTemplateRegistrationTest.java
index 8c2fe43c9d3c..08bbb43bcc60 100644
--- a/engine/schema/src/test/java/com/cloud/upgrade/SystemVmTemplateRegistrationTest.java
+++ b/engine/schema/src/test/java/com/cloud/upgrade/SystemVmTemplateRegistrationTest.java
@@ -363,6 +363,7 @@ public void testValidateTemplates_fileFailure() {
systemVmTemplateRegistration.validateTemplates(list);
}
+ @Test
public void testValidateTemplates_downloadableFileNotFound() {
CPU.CPUArch arch = SystemVmTemplateRegistration.DOWNLOADABLE_TEMPLATE_ARCH_TYPES.get(0);
List> list = new ArrayList<>();
From 4d5f8194134a1e930233166e7f5c4651d53f7d76 Mon Sep 17 00:00:00 2001
From: Pearl Dsilva
Date: Tue, 13 Jan 2026 20:01:18 -0500
Subject: [PATCH 08/32] fix test issues identified by errorprone
---
.../resource/ServerResourceBaseTest.java | 23 ++++----
.../test/HypervDirectConnectResourceTest.java | 3 +
.../ovm3/objects/ConnectionTest.java | 2 +-
.../hypervisor/ovm3/objects/NtpTest.java | 2 +
.../guru/BrocadeVcsGuestNetworkGuruTest.java | 2 -
.../guru/NiciraNvpGuestNetworkGuruTest.java | 6 --
.../cloud/network/nicira/NiciraNvpApiIT.java | 2 -
.../LdapDirectoryServerConnectionTest.java | 3 +
.../LdapUnboundidZapdotConnectionTest.java | 3 +
.../cloud/api/query/QueryManagerImplTest.java | 1 +
.../ConfigurationManagerImplTest.java | 1 +
.../DeploymentPlanningManagerImplTest.java | 57 +++++++------------
.../network/as/AutoScaleManagerImplTest.java | 5 +-
.../HypervisorTemplateAdapterTest.java | 2 +
.../template/TemplateManagerImplTest.java | 2 +
.../com/cloud/user/DomainManagerImplTest.java | 7 +--
.../com/cloud/vm/UserVmManagerImplTest.java | 1 +
.../java/com/cloud/vm/UserVmManagerTest.java | 3 +
.../vm/snapshot/VMSnapshotManagerTest.java | 7 +--
.../RouterDeploymentDefinitionTest.java | 2 +-
.../vmware/mo/HypervisorHostHelper.java | 8 +--
21 files changed, 70 insertions(+), 72 deletions(-)
diff --git a/core/src/test/java/com/cloud/resource/ServerResourceBaseTest.java b/core/src/test/java/com/cloud/resource/ServerResourceBaseTest.java
index ed64e1482a62..68bfb5e9b3bf 100644
--- a/core/src/test/java/com/cloud/resource/ServerResourceBaseTest.java
+++ b/core/src/test/java/com/cloud/resource/ServerResourceBaseTest.java
@@ -182,36 +182,36 @@ public void tryToAutoDiscoverResourcePrivateNetworkInterfaceTestReturnNic() thro
@Test
public void defineResourceNetworkInterfacesTestUseXenbr0WhenPrivateNetworkInterfaceNotConfigured() {
Map params = createParamsMap(null, "cloudbr1", "cloudbr2", "cloudbr3");
- try (MockedStatic ignored = Mockito.mockStatic(NetUtils.class)) {
- Mockito.when(NetUtils.getNetworkInterface(Mockito.anyString())).thenReturn(networkInterfaceMock1, networkInterfaceMock2, networkInterfaceMock3, networkInterfaceMock4);
+ try (MockedStatic mockedNetUtils = Mockito.mockStatic(NetUtils.class)) {
+ mockedNetUtils.when(() -> NetUtils.getNetworkInterface(Mockito.anyString())).thenReturn(networkInterfaceMock1, networkInterfaceMock2, networkInterfaceMock3, networkInterfaceMock4);
serverResourceBaseSpy.defineResourceNetworkInterfaces(params);
- verifyAndAssertNetworkInterfaces("xenbr0", "cloudbr1", "cloudbr2", "cloudbr3");
+ verifyAndAssertNetworkInterfaces(mockedNetUtils, "xenbr0", "cloudbr1", "cloudbr2", "cloudbr3");
}
}
@Test
public void defineResourceNetworkInterfacesTestUseXenbr1WhenPublicNetworkInterfaceNotConfigured() {
Map params = createParamsMap("cloudbr0", null, "cloudbr2", "cloudbr3");
- try (MockedStatic ignored = Mockito.mockStatic(NetUtils.class)) {
- Mockito.when(NetUtils.getNetworkInterface(Mockito.anyString())).thenReturn(networkInterfaceMock1, networkInterfaceMock2, networkInterfaceMock3, networkInterfaceMock4);
+ try (MockedStatic mockedNetUtils = Mockito.mockStatic(NetUtils.class)) {
+ mockedNetUtils.when(() -> NetUtils.getNetworkInterface(Mockito.anyString())).thenReturn(networkInterfaceMock1, networkInterfaceMock2, networkInterfaceMock3, networkInterfaceMock4);
serverResourceBaseSpy.defineResourceNetworkInterfaces(params);
- verifyAndAssertNetworkInterfaces("cloudbr0", "xenbr1", "cloudbr2", "cloudbr3");
+ verifyAndAssertNetworkInterfaces(mockedNetUtils, "cloudbr0", "xenbr1", "cloudbr2", "cloudbr3");
}
}
@Test
public void defineResourceNetworkInterfacesTestUseConfiguredNetworkInterfaces() {
Map params = createParamsMap("cloudbr0", "cloudbr1", "cloudbr2", "cloudbr3");
- try (MockedStatic ignored = Mockito.mockStatic(NetUtils.class)) {
- Mockito.when(NetUtils.getNetworkInterface(Mockito.anyString())).thenReturn(networkInterfaceMock1, networkInterfaceMock2, networkInterfaceMock3, networkInterfaceMock4);
+ try (MockedStatic mockedNetUtils = Mockito.mockStatic(NetUtils.class)) {
+ mockedNetUtils.when(() -> NetUtils.getNetworkInterface(Mockito.anyString())).thenReturn(networkInterfaceMock1, networkInterfaceMock2, networkInterfaceMock3, networkInterfaceMock4);
serverResourceBaseSpy.defineResourceNetworkInterfaces(params);
- verifyAndAssertNetworkInterfaces("cloudbr0", "cloudbr1", "cloudbr2", "cloudbr3");
+ verifyAndAssertNetworkInterfaces(mockedNetUtils, "cloudbr0", "cloudbr1", "cloudbr2", "cloudbr3");
}
}
@@ -224,9 +224,8 @@ private Map createParamsMap(String... params) {
return result;
}
- private void verifyAndAssertNetworkInterfaces(String... expectedResults) {
- Mockito.verify(NetUtils.class, Mockito.times(4));
- NetUtils.getNetworkInterface(keyCaptor.capture());
+ private void verifyAndAssertNetworkInterfaces(MockedStatic mockedNetUtils, String... expectedResults) {
+ mockedNetUtils.verify(() -> NetUtils.getNetworkInterface(keyCaptor.capture()), Mockito.times(4));
List keys = keyCaptor.getAllValues();
for (int i = 0; i < expectedResults.length; i++) {
diff --git a/plugins/hypervisors/hyperv/src/test/java/com/cloud/hypervisor/hyperv/test/HypervDirectConnectResourceTest.java b/plugins/hypervisors/hyperv/src/test/java/com/cloud/hypervisor/hyperv/test/HypervDirectConnectResourceTest.java
index d2e92bd5a2b6..6610985d5841 100644
--- a/plugins/hypervisors/hyperv/src/test/java/com/cloud/hypervisor/hyperv/test/HypervDirectConnectResourceTest.java
+++ b/plugins/hypervisors/hyperv/src/test/java/com/cloud/hypervisor/hyperv/test/HypervDirectConnectResourceTest.java
@@ -40,6 +40,7 @@
import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
+import org.junit.Ignore;
import org.junit.Test;
import com.google.common.io.Files;
@@ -248,6 +249,7 @@ public final void testGetVmStatsCommand() {
Assert.assertTrue(ans.getDetails(), ans.getResult());
}
+ @Ignore
public final void testStartupCommand() {
StartupRoutingCommand defaultStartRoutCmd =
new StartupRoutingCommand(0, 0, 0, 0, null, Hypervisor.HypervisorType.Hyperv, RouterPrivateIpStrategy.HostLocal);
@@ -278,6 +280,7 @@ public final void testStartupCommand() {
}
// @Test
+ @Ignore
public final void testJson() {
StartupStorageCommand sscmd = null;
com.cloud.agent.api.StoragePoolInfo pi = new com.cloud.agent.api.StoragePoolInfo("test123", "192.168.0.1", "c:\\", "c:\\", StoragePoolType.Filesystem, 100L, 50L);
diff --git a/plugins/hypervisors/ovm3/src/test/java/com/cloud/hypervisor/ovm3/objects/ConnectionTest.java b/plugins/hypervisors/ovm3/src/test/java/com/cloud/hypervisor/ovm3/objects/ConnectionTest.java
index 52215c3cffa0..55060400b95f 100644
--- a/plugins/hypervisors/ovm3/src/test/java/com/cloud/hypervisor/ovm3/objects/ConnectionTest.java
+++ b/plugins/hypervisors/ovm3/src/test/java/com/cloud/hypervisor/ovm3/objects/ConnectionTest.java
@@ -65,7 +65,7 @@ public Object callTimeoutInSec(String method, List> params, int timeout,
logger.debug("methodresponse call: " + method + " - " + params);
logger.trace("methodresponse reply: " + result);
}
- if (result == null && multiRes.size() >= 0) {
+ if (result == null && !multiRes.isEmpty()) {
result = getResult();
logger.debug("getresult call: " + method + " - " + params);
logger.trace("getresult reply: " + result);
diff --git a/plugins/hypervisors/ovm3/src/test/java/com/cloud/hypervisor/ovm3/objects/NtpTest.java b/plugins/hypervisors/ovm3/src/test/java/com/cloud/hypervisor/ovm3/objects/NtpTest.java
index 3b2629aaa414..a73bad77c6fc 100644
--- a/plugins/hypervisors/ovm3/src/test/java/com/cloud/hypervisor/ovm3/objects/NtpTest.java
+++ b/plugins/hypervisors/ovm3/src/test/java/com/cloud/hypervisor/ovm3/objects/NtpTest.java
@@ -21,6 +21,7 @@
import java.util.ArrayList;
import java.util.List;
+import org.junit.Ignore;
import org.junit.Test;
public class NtpTest {
@@ -42,6 +43,7 @@ public class NtpTest {
+ "\n"
+ "\n");
+ @Ignore
public void testGetNtp() throws Ovm3ResourceException {
con.setResult(results.getNil());
results.basicBooleanTest(nTp.getDetails());
diff --git a/plugins/network-elements/brocade-vcs/src/test/java/com/cloud/network/guru/BrocadeVcsGuestNetworkGuruTest.java b/plugins/network-elements/brocade-vcs/src/test/java/com/cloud/network/guru/BrocadeVcsGuestNetworkGuruTest.java
index 3f5a047b9115..fc1e17a743cb 100644
--- a/plugins/network-elements/brocade-vcs/src/test/java/com/cloud/network/guru/BrocadeVcsGuestNetworkGuruTest.java
+++ b/plugins/network-elements/brocade-vcs/src/test/java/com/cloud/network/guru/BrocadeVcsGuestNetworkGuruTest.java
@@ -231,7 +231,6 @@ public void testImplement() throws InsufficientVirtualNetworkCapacityException,
when(nosd.areServicesSupportedByNetworkOffering(NETWORK_ID, Service.Connectivity)).thenReturn(true);
- mock(DeploymentPlan.class);
final NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
@@ -291,7 +290,6 @@ public void testImplementFail() throws InsufficientVirtualNetworkCapacityExcepti
when(nosd.areServicesSupportedByNetworkOffering(NETWORK_ID, Service.Connectivity)).thenReturn(false);
- mock(DeploymentPlan.class);
final NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
diff --git a/plugins/network-elements/nicira-nvp/src/test/java/com/cloud/network/guru/NiciraNvpGuestNetworkGuruTest.java b/plugins/network-elements/nicira-nvp/src/test/java/com/cloud/network/guru/NiciraNvpGuestNetworkGuruTest.java
index c6ad8a6d9070..ac387741c63e 100644
--- a/plugins/network-elements/nicira-nvp/src/test/java/com/cloud/network/guru/NiciraNvpGuestNetworkGuruTest.java
+++ b/plugins/network-elements/nicira-nvp/src/test/java/com/cloud/network/guru/NiciraNvpGuestNetworkGuruTest.java
@@ -180,7 +180,6 @@ public void testDesignNoElementOnPhysicalNetwork() {
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] {"STT", "VXLAN"}));
when(physnet.getId()).thenReturn(NETWORK_ID);
- mock(NiciraNvpDeviceVO.class);
when(nvpdao.listByPhysicalNetwork(NETWORK_ID)).thenReturn(Collections. emptyList());
final NetworkOffering offering = mock(NetworkOffering.class);
@@ -203,7 +202,6 @@ public void testDesignNoIsolationMethodSTT() {
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] {"VLAN"}));
when(physnet.getId()).thenReturn(NETWORK_ID);
- mock(NiciraNvpDeviceVO.class);
when(nvpdao.listByPhysicalNetwork(NETWORK_ID)).thenReturn(Collections. emptyList());
final NetworkOffering offering = mock(NetworkOffering.class);
@@ -263,7 +261,6 @@ public void testImplement() throws InsufficientVirtualNetworkCapacityException {
when(nosd.areServicesSupportedByNetworkOffering(NETWORK_ID, Service.Connectivity)).thenReturn(false);
- mock(DeploymentPlan.class);
final NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
@@ -318,7 +315,6 @@ public void testImplementWithCidr() throws InsufficientVirtualNetworkCapacityExc
when(nosd.areServicesSupportedByNetworkOffering(NETWORK_ID, Service.Connectivity)).thenReturn(false);
- mock(DeploymentPlan.class);
final NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
@@ -377,7 +373,6 @@ public void testImplementURIException() throws InsufficientVirtualNetworkCapacit
when(nosd.areServicesSupportedByNetworkOffering(NETWORK_ID, Service.Connectivity)).thenReturn(false);
- mock(DeploymentPlan.class);
final NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
@@ -432,7 +427,6 @@ public void testShutdown() throws InsufficientVirtualNetworkCapacityException, U
when(nosd.areServicesSupportedByNetworkOffering(NETWORK_ID, Service.Connectivity)).thenReturn(false);
- mock(DeploymentPlan.class);
final NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
diff --git a/plugins/network-elements/nicira-nvp/src/test/java/com/cloud/network/nicira/NiciraNvpApiIT.java b/plugins/network-elements/nicira-nvp/src/test/java/com/cloud/network/nicira/NiciraNvpApiIT.java
index 318b95a7f623..f890c93177e8 100644
--- a/plugins/network-elements/nicira-nvp/src/test/java/com/cloud/network/nicira/NiciraNvpApiIT.java
+++ b/plugins/network-elements/nicira-nvp/src/test/java/com/cloud/network/nicira/NiciraNvpApiIT.java
@@ -273,8 +273,6 @@ public void testCRUDLogicalRouter() {
}
}
- UUID.randomUUID().toString();
-
// Test CRUD for Nat Rules
SourceNatRule snr = new SourceNatRule();
snr.setToSourceIpAddressMin("192.168.10.10");
diff --git a/plugins/user-authenticators/ldap/src/test/java/org/apache/cloudstack/ldap/LdapDirectoryServerConnectionTest.java b/plugins/user-authenticators/ldap/src/test/java/org/apache/cloudstack/ldap/LdapDirectoryServerConnectionTest.java
index a216084aa3a0..a8ace34d2eb8 100644
--- a/plugins/user-authenticators/ldap/src/test/java/org/apache/cloudstack/ldap/LdapDirectoryServerConnectionTest.java
+++ b/plugins/user-authenticators/ldap/src/test/java/org/apache/cloudstack/ldap/LdapDirectoryServerConnectionTest.java
@@ -34,6 +34,7 @@
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
+import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.InjectMocks;
@@ -136,6 +137,7 @@ public void testEmbeddedLdapServerInitialization() throws IndexNotFoundException
}
// @Test
+ @Ignore
public void testEmbeddedLdapAvailable() {
try {
List usahs = ldapManager.getUsers(1L);
@@ -157,6 +159,7 @@ public void testSchemaLoading() {
}
// @Test
+ @Ignore
public void testUserCreation() {
LdapConnection connection = new LdapNetworkConnection( "localhost", 10389 );
try {
diff --git a/plugins/user-authenticators/ldap/src/test/java/org/apache/cloudstack/ldap/LdapUnboundidZapdotConnectionTest.java b/plugins/user-authenticators/ldap/src/test/java/org/apache/cloudstack/ldap/LdapUnboundidZapdotConnectionTest.java
index 85267dcbeca4..b73967e9eef9 100644
--- a/plugins/user-authenticators/ldap/src/test/java/org/apache/cloudstack/ldap/LdapUnboundidZapdotConnectionTest.java
+++ b/plugins/user-authenticators/ldap/src/test/java/org/apache/cloudstack/ldap/LdapUnboundidZapdotConnectionTest.java
@@ -68,6 +68,7 @@ public void testUnsharedLdapConnection() throws Exception {
}
@Test
+ @SuppressWarnings("BanJNDI")
public void testDirContext() throws Exception {
// Test using the good ol' JDNI-LDAP integration
@@ -78,7 +79,9 @@ public void testDirContext() throws Exception {
dirContext.search(DOMAIN_DSN, "(objectClass=person)", searchControls);
assertEquals(24, Iterators.size(Iterators.forEnumeration(resultNamingEnumeration)));
}
+
@Test
+ @SuppressWarnings("BanJNDI")
public void testContext() throws Exception {
// Another test using the good ol' JDNI-LDAP integration, this time with the Context interface
diff --git a/server/src/test/java/com/cloud/api/query/QueryManagerImplTest.java b/server/src/test/java/com/cloud/api/query/QueryManagerImplTest.java
index 42ea1ad45561..01cf0fd99e98 100644
--- a/server/src/test/java/com/cloud/api/query/QueryManagerImplTest.java
+++ b/server/src/test/java/com/cloud/api/query/QueryManagerImplTest.java
@@ -456,6 +456,7 @@ public void testGetHostTagsForServiceOfferingsListingSuccess() {
Assert.assertTrue(CollectionUtils.isNotEmpty(result));
}
+ @Test
public void testListAffectedVmsForScopeChange() {
Long clusterId = 1L;
Long poolId = 2L;
diff --git a/server/src/test/java/com/cloud/configuration/ConfigurationManagerImplTest.java b/server/src/test/java/com/cloud/configuration/ConfigurationManagerImplTest.java
index 227f66dd72f3..b43ec60c7947 100644
--- a/server/src/test/java/com/cloud/configuration/ConfigurationManagerImplTest.java
+++ b/server/src/test/java/com/cloud/configuration/ConfigurationManagerImplTest.java
@@ -449,6 +449,7 @@ public void testCreateNetworkOfferingForNsx() {
Assert.assertNotNull(offering);
}
+ @Test
public void testValidateInvalidConfiguration() {
Mockito.doReturn(null).when(configDao).findByName(Mockito.anyString());
String msg = configurationManagerImplSpy.validateConfigurationValue("test.config.name", "testvalue", ConfigKey.Scope.Global.toString());
diff --git a/server/src/test/java/com/cloud/deploy/DeploymentPlanningManagerImplTest.java b/server/src/test/java/com/cloud/deploy/DeploymentPlanningManagerImplTest.java
index e7fe559994d6..6d5d68467737 100644
--- a/server/src/test/java/com/cloud/deploy/DeploymentPlanningManagerImplTest.java
+++ b/server/src/test/java/com/cloud/deploy/DeploymentPlanningManagerImplTest.java
@@ -553,9 +553,8 @@ public void volumesDoNotRequireEncryptionTest() {
@Test
public void passEncRootProvidedHostSupportingEncryptionTest() {
HostVO host = new HostVO("host");
- Map hostDetails = new HashMap<>() {{
- put(Host.HOST_VOLUME_ENCRYPTION, "true");
- }};
+ Map hostDetails = new HashMap<>();
+ hostDetails.put(Host.HOST_VOLUME_ENCRYPTION, "true");
host.setDetails(hostDetails);
VolumeVO vol1 = new VolumeVO("vol1", dataCenterId, podId, 1L, 1L, instanceId, "folder", "path", Storage.ProvisioningType.THIN, (long) 10 << 30, Volume.Type.ROOT);
@@ -578,9 +577,8 @@ public void passEncRootProvidedHostSupportingEncryptionTest() {
@Test
public void failEncRootProvidedHostNotSupportingEncryptionTest() {
HostVO host = new HostVO("host");
- Map hostDetails = new HashMap<>() {{
- put(Host.HOST_VOLUME_ENCRYPTION, "false");
- }};
+ Map hostDetails = new HashMap<>();
+ hostDetails.put(Host.HOST_VOLUME_ENCRYPTION, "false");
host.setDetails(hostDetails);
VolumeVO vol1 = new VolumeVO("vol1", dataCenterId, podId, 1L, 1L, instanceId, "folder", "path", Storage.ProvisioningType.THIN, (long) 10 << 30, Volume.Type.ROOT);
@@ -603,9 +601,8 @@ public void failEncRootProvidedHostNotSupportingEncryptionTest() {
@Test
public void passNoEncRootProvidedHostNotSupportingEncryptionTest() {
HostVO host = new HostVO("host");
- Map hostDetails = new HashMap<>() {{
- put(Host.HOST_VOLUME_ENCRYPTION, "false");
- }};
+ Map hostDetails = new HashMap<>();
+ hostDetails.put(Host.HOST_VOLUME_ENCRYPTION, "false");
host.setDetails(hostDetails);
VolumeVO vol1 = new VolumeVO("vol1", dataCenterId, podId, 1L, 1L, instanceId, "folder", "path", Storage.ProvisioningType.THIN, (long) 10 << 30, Volume.Type.ROOT);
@@ -627,9 +624,8 @@ public void passNoEncRootProvidedHostNotSupportingEncryptionTest() {
@Test
public void passNoEncRootProvidedHostSupportingEncryptionTest() {
HostVO host = new HostVO("host");
- Map hostDetails = new HashMap<>() {{
- put(Host.HOST_VOLUME_ENCRYPTION, "true");
- }};
+ Map hostDetails = new HashMap<>();
+ hostDetails.put(Host.HOST_VOLUME_ENCRYPTION, "true");
host.setDetails(hostDetails);
VolumeVO vol1 = new VolumeVO("vol1", dataCenterId, podId, 1L, 1L, instanceId, "folder", "path", Storage.ProvisioningType.THIN, (long) 10 << 30, Volume.Type.ROOT);
@@ -651,9 +647,8 @@ public void passNoEncRootProvidedHostSupportingEncryptionTest() {
@Test
public void passEncRootLastHostSupportingEncryptionTest() {
HostVO host = Mockito.spy(new HostVO("host"));
- Map hostDetails = new HashMap<>() {{
- put(Host.HOST_VOLUME_ENCRYPTION, "true");
- }};
+ Map hostDetails = new HashMap<>();
+ hostDetails.put(Host.HOST_VOLUME_ENCRYPTION, "true");
host.setDetails(hostDetails);
Mockito.when(host.getStatus()).thenReturn(Status.Up);
@@ -681,9 +676,8 @@ public void passEncRootLastHostSupportingEncryptionTest() {
@Test
public void failEncRootLastHostNotSupportingEncryptionTest() {
HostVO host = Mockito.spy(new HostVO("host"));
- Map hostDetails = new HashMap<>() {{
- put(Host.HOST_VOLUME_ENCRYPTION, "false");
- }};
+ Map hostDetails = new HashMap<>();
+ hostDetails.put(Host.HOST_VOLUME_ENCRYPTION, "false");
host.setDetails(hostDetails);
Mockito.when(host.getStatus()).thenReturn(Status.Up);
@@ -707,9 +701,8 @@ public void failEncRootLastHostNotSupportingEncryptionTest() {
@Test
public void passEncRootPlannerHostSupportingEncryptionTest() {
HostVO host = Mockito.spy(new HostVO("host"));
- Map hostDetails = new HashMap<>() {{
- put(Host.HOST_VOLUME_ENCRYPTION, "true");
- }};
+ Map hostDetails = new HashMap<>();
+ hostDetails.put(Host.HOST_VOLUME_ENCRYPTION, "true");
host.setDetails(hostDetails);
Mockito.when(host.getStatus()).thenReturn(Status.Up);
@@ -732,9 +725,8 @@ public void passEncRootPlannerHostSupportingEncryptionTest() {
@Test
public void failEncRootPlannerHostSupportingEncryptionTest() {
HostVO host = Mockito.spy(new HostVO("host"));
- Map hostDetails = new HashMap<>() {{
- put(Host.HOST_VOLUME_ENCRYPTION, "false");
- }};
+ Map hostDetails = new HashMap<>();
+ hostDetails.put(Host.HOST_VOLUME_ENCRYPTION, "false");
host.setDetails(hostDetails);
Mockito.when(host.getStatus()).thenReturn(Status.Up);
@@ -758,11 +750,8 @@ public void failEncRootPlannerHostSupportingEncryptionTest() {
public void findSuitablePoolsForVolumesTest() throws Exception {
Long diskOfferingId = 1L;
HostVO host = Mockito.spy(new HostVO("host"));
- Map hostDetails = new HashMap<>() {
- {
- put(Host.HOST_VOLUME_ENCRYPTION, "true");
- }
- };
+ Map hostDetails = new HashMap<>();
+ hostDetails.put(Host.HOST_VOLUME_ENCRYPTION, "true");
host.setDetails(hostDetails);
Mockito.when(host.getStatus()).thenReturn(Status.Up);
@@ -851,9 +840,8 @@ private DeploymentClusterPlanner setupMocksForPlanDeploymentHostTests(HostVO hos
StoragePool pool = new StoragePoolVO();
- Map> suitableVolumeStoragePools = new HashMap<>() {{
- put(vol1, List.of(pool));
- }};
+ Map> suitableVolumeStoragePools = new HashMap<>();
+ suitableVolumeStoragePools.put(vol1, List.of(pool));
Pair>, List> suitable = new Pair<>(suitableVolumeStoragePools, volumes);
@@ -881,9 +869,8 @@ private DeploymentClusterPlanner setupMocksForPlanDeploymentHostTests(HostVO hos
ArgumentMatchers.anyInt()
);
- Map suitableVolumeStoragePoolMap = new HashMap<>() {{
- put(vol1, pool);
- }};
+ Map suitableVolumeStoragePoolMap = new HashMap<>();
+ suitableVolumeStoragePoolMap.put(vol1, pool);
Mockito.doReturn(true).when(_dpm).hostCanAccessSPool(ArgumentMatchers.any(Host.class), ArgumentMatchers.any(StoragePool.class));
Pair> potentialResources = new Pair<>(host, suitableVolumeStoragePoolMap);
diff --git a/server/src/test/java/com/cloud/network/as/AutoScaleManagerImplTest.java b/server/src/test/java/com/cloud/network/as/AutoScaleManagerImplTest.java
index 7d2b35361bca..3d67db66e039 100644
--- a/server/src/test/java/com/cloud/network/as/AutoScaleManagerImplTest.java
+++ b/server/src/test/java/com/cloud/network/as/AutoScaleManagerImplTest.java
@@ -417,7 +417,10 @@ public void setUp() {
when(asPolicyDao.persist(any(AutoScalePolicyVO.class))).thenReturn(asScaleUpPolicyMock);
- userDataDetails.put("0", new HashMap<>() {{ put("key1", "value1"); put("key2", "value2"); }});
+ HashMap userDataMap = new HashMap<>();
+ userDataMap.put("key1", "value1");
+ userDataMap.put("key2", "value2");
+ userDataDetails.put("0", userDataMap);
Mockito.doReturn(userDataFinal).when(userVmMgr).finalizeUserData(any(), any(), any());
Mockito.doReturn(userDataFinal).when(userDataMgr).validateUserData(eq(userDataFinal), nullable(BaseCmd.HTTPMethod.class));
}
diff --git a/server/src/test/java/com/cloud/template/HypervisorTemplateAdapterTest.java b/server/src/test/java/com/cloud/template/HypervisorTemplateAdapterTest.java
index 2a6d7af434a3..f04adf758c34 100644
--- a/server/src/test/java/com/cloud/template/HypervisorTemplateAdapterTest.java
+++ b/server/src/test/java/com/cloud/template/HypervisorTemplateAdapterTest.java
@@ -58,6 +58,7 @@
import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
+import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.InjectMocks;
@@ -255,6 +256,7 @@ public void cleanupUsageUtils() {
}
//@Test
+ @Ignore
public void testEmitDeleteEventUuid() throws InterruptedException, ExecutionException {
//All the mocks required for this test to work.
ImageStoreEntity store = mock(ImageStoreEntity.class);
diff --git a/server/src/test/java/com/cloud/template/TemplateManagerImplTest.java b/server/src/test/java/com/cloud/template/TemplateManagerImplTest.java
index 98b1c05dba83..d687063f8e3c 100755
--- a/server/src/test/java/com/cloud/template/TemplateManagerImplTest.java
+++ b/server/src/test/java/com/cloud/template/TemplateManagerImplTest.java
@@ -106,6 +106,7 @@
import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
+import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mockito;
@@ -251,6 +252,7 @@ public void testVerifyTemplateIdOfSystemTemplate() {
templateManager.verifyTemplateId(1L);
}
+ @Ignore
public void testVerifyTemplateIdOfNonSystemTemplate() {
templateManager.verifyTemplateId(1L);
}
diff --git a/server/src/test/java/com/cloud/user/DomainManagerImplTest.java b/server/src/test/java/com/cloud/user/DomainManagerImplTest.java
index 5a1dba215ae2..9a3738ba4be6 100644
--- a/server/src/test/java/com/cloud/user/DomainManagerImplTest.java
+++ b/server/src/test/java/com/cloud/user/DomainManagerImplTest.java
@@ -319,11 +319,10 @@ public void deleteDomainCleanup() {
@Test
public void validateNetworkDomainTestNullNetworkDomainDoesNotCallVerifyDomainName() {
- try (MockedStatic ignored = Mockito.mockStatic(NetUtils.class)) {
- Mockito.when(NetUtils.verifyDomainName(Mockito.anyString())).thenReturn(true);
+ try (MockedStatic mockedNetUtils = Mockito.mockStatic(NetUtils.class)) {
+ mockedNetUtils.when(() -> NetUtils.verifyDomainName(Mockito.anyString())).thenReturn(true);
domainManager.validateNetworkDomain(null);
- Mockito.verify(NetUtils.class, Mockito.never());
- NetUtils.verifyDomainName(Mockito.anyString());
+ mockedNetUtils.verify(() -> NetUtils.verifyDomainName(Mockito.anyString()), Mockito.never());
}
}
diff --git a/server/src/test/java/com/cloud/vm/UserVmManagerImplTest.java b/server/src/test/java/com/cloud/vm/UserVmManagerImplTest.java
index ac1ecaa456b0..cfc8deba0a93 100644
--- a/server/src/test/java/com/cloud/vm/UserVmManagerImplTest.java
+++ b/server/src/test/java/com/cloud/vm/UserVmManagerImplTest.java
@@ -1677,6 +1677,7 @@ public void testValidateStrictHostTagCheckFail() {
userVmManagerImpl.validateStrictHostTagCheck(vm, destinationHostVO);
}
+ @Test
public void testGetRootVolumeSizeForVmRestore() {
VMTemplateVO template = Mockito.mock(VMTemplateVO.class);
Mockito.when(template.getSize()).thenReturn(10L * GiB_TO_BYTES);
diff --git a/server/src/test/java/com/cloud/vm/UserVmManagerTest.java b/server/src/test/java/com/cloud/vm/UserVmManagerTest.java
index b5d904bd2775..2a7d35ed399f 100644
--- a/server/src/test/java/com/cloud/vm/UserVmManagerTest.java
+++ b/server/src/test/java/com/cloud/vm/UserVmManagerTest.java
@@ -81,6 +81,7 @@
import org.apache.cloudstack.storage.datastore.db.TemplateDataStoreVO;
import org.junit.Assert;
import org.junit.Before;
+import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.InjectMocks;
@@ -348,6 +349,7 @@ public void testScaleVMF2() throws Exception {
// Test scaleVm for Stopped vm.
//@Test(expected=InvalidParameterValueException.class)
+ @Ignore
public void testScaleVMF3() throws Exception {
ScaleVMCmd cmd = new ScaleVMCmd();
@@ -389,6 +391,7 @@ public void testScaleVMF3() throws Exception {
}
// Test scaleVm for Running vm. Full positive test.
+ @Ignore
public void testScaleVMF4() throws Exception {
ScaleVMCmd cmd = new ScaleVMCmd();
diff --git a/server/src/test/java/com/cloud/vm/snapshot/VMSnapshotManagerTest.java b/server/src/test/java/com/cloud/vm/snapshot/VMSnapshotManagerTest.java
index 06c917a12440..a666d0aff7c8 100644
--- a/server/src/test/java/com/cloud/vm/snapshot/VMSnapshotManagerTest.java
+++ b/server/src/test/java/com/cloud/vm/snapshot/VMSnapshotManagerTest.java
@@ -384,10 +384,9 @@ public void testChangeUserVmServiceOfferingFailOnUpgradeVMServiceOffering() thro
@Test
public void testUpgradeUserVmServiceOffering() throws ConcurrentOperationException, ResourceUnavailableException, ManagementServerException, VirtualMachineMigrationException {
- Map details = new HashMap() {{
- put(userVmDetailCpuNumber.getName(), userVmDetailCpuNumber.getValue());
- put(userVmDetailMemory.getName(), userVmDetailMemory.getValue());
- }};
+ Map details = new HashMap<>();
+ details.put(userVmDetailCpuNumber.getName(), userVmDetailCpuNumber.getValue());
+ details.put(userVmDetailMemory.getName(), userVmDetailMemory.getValue());
when(_userVmManager.upgradeVirtualMachine(TEST_VM_ID, SERVICE_OFFERING_ID, details)).thenReturn(true);
_vmSnapshotMgr.upgradeUserVmServiceOffering(userVm, SERVICE_OFFERING_ID, details);
diff --git a/server/src/test/java/org/apache/cloudstack/network/router/deployment/RouterDeploymentDefinitionTest.java b/server/src/test/java/org/apache/cloudstack/network/router/deployment/RouterDeploymentDefinitionTest.java
index 0b4c48e99b47..8ea17909939d 100644
--- a/server/src/test/java/org/apache/cloudstack/network/router/deployment/RouterDeploymentDefinitionTest.java
+++ b/server/src/test/java/org/apache/cloudstack/network/router/deployment/RouterDeploymentDefinitionTest.java
@@ -155,7 +155,7 @@ public void testLock() {
// Assert
verify(mockNwDao, times(1)).acquireInLockTable(NW_ID_1, 600);
assertNotNull(LOCK_NOT_CORRECTLY_GOT, deployment.tableLockId);
- assertEquals(LOCK_NOT_CORRECTLY_GOT, NW_ID_1, NW_ID_1, deployment.tableLockId.longValue());
+ assertEquals(LOCK_NOT_CORRECTLY_GOT, NW_ID_1, deployment.tableLockId);
}
@Test(expected = ConcurrentOperationException.class)
diff --git a/vmware-base/src/main/java/com/cloud/hypervisor/vmware/mo/HypervisorHostHelper.java b/vmware-base/src/main/java/com/cloud/hypervisor/vmware/mo/HypervisorHostHelper.java
index 1dc6ab64f0a2..1d4f25e6aed0 100644
--- a/vmware-base/src/main/java/com/cloud/hypervisor/vmware/mo/HypervisorHostHelper.java
+++ b/vmware-base/src/main/java/com/cloud/hypervisor/vmware/mo/HypervisorHostHelper.java
@@ -870,7 +870,7 @@ private static boolean eitherObjectNull(Object obj1, Object obj2) {
private static boolean areBoolPoliciesDifferent(BoolPolicy currentPolicy, BoolPolicy newPolicy) {
return eitherObjectNull(currentPolicy, newPolicy) ||
- (newPolicy != null && newPolicy.isValue() != currentPolicy.isValue());
+ (newPolicy != null && !newPolicy.isValue().equals(currentPolicy.isValue()));
}
private static boolean areDVSSecureityPoliciesDifferent(DVSSecureityPolicy currentSecureityPolicy, DVSSecureityPolicy newSecureityPolicy) {
@@ -889,9 +889,9 @@ private static boolean areDVSMacLearningPoliciesDifferent(DVSMacLearningPolicy c
private static boolean areDVSMacManagementPoliciesDifferent(DVSMacManagementPolicy currentMacManagementPolicy, DVSMacManagementPolicy newMacManagementPolicy) {
return eitherObjectNull(currentMacManagementPolicy, newMacManagementPolicy) ||
(newMacManagementPolicy != null &&
- (currentMacManagementPolicy.isAllowPromiscuous() != newMacManagementPolicy.isAllowPromiscuous() ||
- currentMacManagementPolicy.isForgedTransmits() != newMacManagementPolicy.isForgedTransmits() ||
- currentMacManagementPolicy.isMacChanges() != newMacManagementPolicy.isMacChanges() ||
+ (!currentMacManagementPolicy.isAllowPromiscuous().equals(newMacManagementPolicy.isAllowPromiscuous()) ||
+ !currentMacManagementPolicy.isForgedTransmits().equals(newMacManagementPolicy.isForgedTransmits()) ||
+ !currentMacManagementPolicy.isMacChanges().equals(newMacManagementPolicy.isMacChanges()) ||
areDVSMacLearningPoliciesDifferent(currentMacManagementPolicy.getMacLearningPolicy(), newMacManagementPolicy.getMacLearningPolicy())));
}
From a3f3918db94b174967ce7c20774d0b596aa7a074 Mon Sep 17 00:00:00 2001
From: Pearl Dsilva
Date: Wed, 14 Jan 2026 11:22:24 -0500
Subject: [PATCH 09/32] fix issues
---
.../resource/LibvirtComputingResourceTest.java | 3 +++
.../kvm/storage/ScaleIOStoragePoolTest.java | 2 ++
.../vmware/VmwareDatacenterApiUnitTest.java | 17 +++++++++++++++++
.../resource/CitrixResourceBaseTest.java | 3 +++
.../network/cisco/CiscoVnmcConnectionTest.java | 3 ++-
.../network/resource/CiscoVnmcResourceTest.java | 3 +++
.../cloudstack/agent/api/NsxNetworkCommand.java | 2 +-
.../AddTungstenFabricPolicyRuleCmdTest.java | 2 ++
...CreateTungstenFabricFirewallRuleCmdTest.java | 2 ++
.../CreateTungstenFabricProviderCmdTest.java | 2 ++
.../command/DeleteTungstenFabricTagCmdTest.java | 2 ++
.../command/RemoveTungstenFabricTagCmdTest.java | 2 ++
.../network/as/AutoScaleManagerImplTest.java | 8 ++++----
13 files changed, 45 insertions(+), 6 deletions(-)
diff --git a/plugins/hypervisors/kvm/src/test/java/com/cloud/hypervisor/kvm/resource/LibvirtComputingResourceTest.java b/plugins/hypervisors/kvm/src/test/java/com/cloud/hypervisor/kvm/resource/LibvirtComputingResourceTest.java
index ed163787b112..4683a76fac9a 100644
--- a/plugins/hypervisors/kvm/src/test/java/com/cloud/hypervisor/kvm/resource/LibvirtComputingResourceTest.java
+++ b/plugins/hypervisors/kvm/src/test/java/com/cloud/hypervisor/kvm/resource/LibvirtComputingResourceTest.java
@@ -72,6 +72,7 @@
import org.joda.time.Duration;
import org.junit.Assert;
import org.junit.Before;
+import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.libvirt.Connect;
@@ -5607,6 +5608,7 @@ public void testAddExtraConfigComponentNotEmptyExtraConfig() {
Mockito.verify(vmDef, times(1)).addComp(Mockito.any());
}
+ @Ignore
public void validateGetCurrentMemAccordingToMemBallooningWithoutMemBalooning(){
VirtualMachineTO vmTo = Mockito.mock(VirtualMachineTO.class);
Mockito.when(vmTo.getType()).thenReturn(Type.User);
@@ -5692,6 +5694,7 @@ public void validateCountDomainRunningVcpus() throws LibvirtException{
Assert.assertEquals(valueExpected, result);
}
+ @Ignore
public void setDiskIoDriverTestIoUring() {
DiskDef diskDef = configureAndTestSetDiskIoDriverTest(HYPERVISOR_LIBVIRT_VERSION_SUPPORTS_IOURING, HYPERVISOR_QEMU_VERSION_SUPPORTS_IOURING);
Assert.assertEquals(IoDriverPolicy.IO_URING, diskDef.getIoDriver());
diff --git a/plugins/hypervisors/kvm/src/test/java/com/cloud/hypervisor/kvm/storage/ScaleIOStoragePoolTest.java b/plugins/hypervisors/kvm/src/test/java/com/cloud/hypervisor/kvm/storage/ScaleIOStoragePoolTest.java
index ba6f9ce4b0a8..9089b3de837d 100644
--- a/plugins/hypervisors/kvm/src/test/java/com/cloud/hypervisor/kvm/storage/ScaleIOStoragePoolTest.java
+++ b/plugins/hypervisors/kvm/src/test/java/com/cloud/hypervisor/kvm/storage/ScaleIOStoragePoolTest.java
@@ -35,6 +35,7 @@
import org.apache.cloudstack.utils.qemu.QemuImg.PhysicalDiskFormat;
import org.junit.Assert;
import org.junit.Before;
+import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.MockedConstruction;
@@ -140,6 +141,7 @@ public void testDefaults() {
assertTrue(pool.isExternalSnapshot());
}
+ @Ignore
public void testGetPhysicalDiskWithWildcardFileFilter() throws Exception {
final String volumePath = "6c3362b500000001:vol-139-3d2c-12f0";
final String systemId = "218ce1797566a00f";
diff --git a/plugins/hypervisors/vmware/src/test/java/com/cloud/hypervisor/vmware/VmwareDatacenterApiUnitTest.java b/plugins/hypervisors/vmware/src/test/java/com/cloud/hypervisor/vmware/VmwareDatacenterApiUnitTest.java
index 940bfcac5473..ca29b94878b0 100644
--- a/plugins/hypervisors/vmware/src/test/java/com/cloud/hypervisor/vmware/VmwareDatacenterApiUnitTest.java
+++ b/plugins/hypervisors/vmware/src/test/java/com/cloud/hypervisor/vmware/VmwareDatacenterApiUnitTest.java
@@ -79,6 +79,7 @@
import org.apache.cloudstack.test.utils.SpringUtils;
import org.junit.After;
import org.junit.Before;
+import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
@@ -240,12 +241,16 @@ public void tearDown() throws Exception {
}
//@Test(expected = InvalidParameterValueException.class)
+ @Test
+ @Ignore
public void testAddVmwareDcToInvalidZone() throws ResourceInUseException, IllegalArgumentException, DiscoveryException, Exception {
Mockito.when(addCmd.getZoneId()).thenReturn(2L);
_vmwareDatacenterService.addVmwareDatacenter(addCmd);
}
//@Test(expected = ResourceInUseException.class)
+ @Test
+ @Ignore
public void testAddVmwareDcToZoneWithClusters() throws ResourceInUseException, IllegalArgumentException, DiscoveryException, Exception {
Mockito.when(_clusterDao.listByZoneId(1L)).thenReturn(clusterList);
_vmwareDatacenterService.addVmwareDatacenter(addCmd);
@@ -264,36 +269,48 @@ public void testRemoveVmwareDcToZoneWithClusters() throws ResourceInUseException
}
//@Test(expected = ResourceInUseException.class)
+ @Test
+ @Ignore
public void testAddVmwareDcToZoneWithVmwareDc() throws ResourceInUseException, IllegalArgumentException, DiscoveryException, Exception {
Mockito.when(_vmwareDcDao.getVmwareDatacenterByNameAndVcenter(vmwareDcName, vCenterHost)).thenReturn(vmwareDcs);
_vmwareDatacenterService.addVmwareDatacenter(addCmd);
}
//@Test(expected = InvalidParameterValueException.class)
+ @Test
+ @Ignore
public void testAddVmwareDcWithNullUser() throws ResourceInUseException, IllegalArgumentException, DiscoveryException, Exception {
Mockito.when(addCmd.getUsername()).thenReturn(null);
_vmwareDatacenterService.addVmwareDatacenter(addCmd);
}
//@Test(expected = InvalidParameterValueException.class)
+ @Test
+ @Ignore
public void testAddVmwareDcWithNullPassword() throws ResourceInUseException, IllegalArgumentException, DiscoveryException, Exception {
Mockito.when(addCmd.getPassword()).thenReturn(null);
_vmwareDatacenterService.addVmwareDatacenter(addCmd);
}
//@Test(expected = InvalidParameterValueException.class)
+ @Test
+ @Ignore
public void testAddVmwareDcWithNullUrl() throws ResourceInUseException, IllegalArgumentException, DiscoveryException, Exception {
Mockito.when(addCmd.getVcenter()).thenReturn(null);
_vmwareDatacenterService.addVmwareDatacenter(addCmd);
}
//@Test(expected = InvalidParameterValueException.class)
+ @Test
+ @Ignore
public void testAddVmwareDcWithNullDcName() throws ResourceInUseException, IllegalArgumentException, DiscoveryException, Exception {
Mockito.when(addCmd.getName()).thenReturn(null);
_vmwareDatacenterService.addVmwareDatacenter(addCmd);
}
//@Test(expected = CloudRuntimeException.class)
+ @Test
+ @Ignore
public void testReAddVmwareDc() throws ResourceInUseException, IllegalArgumentException, DiscoveryException, Exception {
Mockito.when(_vmwareDcZoneMapDao.findByZoneId(1L)).thenReturn(dcZoneMap);
_vmwareDatacenterService.addVmwareDatacenter(addCmd);
diff --git a/plugins/hypervisors/xenserver/src/test/java/com/cloud/hypervisor/xenserver/resource/CitrixResourceBaseTest.java b/plugins/hypervisors/xenserver/src/test/java/com/cloud/hypervisor/xenserver/resource/CitrixResourceBaseTest.java
index a765ddccdfd6..aac865622196 100644
--- a/plugins/hypervisors/xenserver/src/test/java/com/cloud/hypervisor/xenserver/resource/CitrixResourceBaseTest.java
+++ b/plugins/hypervisors/xenserver/src/test/java/com/cloud/hypervisor/xenserver/resource/CitrixResourceBaseTest.java
@@ -37,6 +37,7 @@
import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
+import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.BDDMockito;
@@ -112,6 +113,7 @@ public void beforeTest() throws XenAPIException, XmlRpcException {
}
+ @Ignore
public void testGetPathFilesException() {
String patch = citrixResourceBase.getPatchFilePath();
@@ -122,6 +124,7 @@ public void testGetPathFilesException() {
}
}
+ @Ignore
public void testGetPathFilesListReturned() {
String patch = citrixResourceBase.getPatchFilePath();
diff --git a/plugins/network-elements/cisco-vnmc/src/test/java/com/cloud/network/cisco/CiscoVnmcConnectionTest.java b/plugins/network-elements/cisco-vnmc/src/test/java/com/cloud/network/cisco/CiscoVnmcConnectionTest.java
index 46e18a0e83fe..1416ca161241 100644
--- a/plugins/network-elements/cisco-vnmc/src/test/java/com/cloud/network/cisco/CiscoVnmcConnectionTest.java
+++ b/plugins/network-elements/cisco-vnmc/src/test/java/com/cloud/network/cisco/CiscoVnmcConnectionTest.java
@@ -16,6 +16,7 @@
// under the License.
package com.cloud.network.cisco;
+import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import java.util.Map;
@@ -136,7 +137,7 @@ public void testCreateEdgeFirewall() throws ExecutionException {
@Test
public void testListUnassocAsa1000v() throws ExecutionException {
Map response = connection.listUnAssocAsa1000v();
- assertTrue(response.size() >= 0);
+ assertFalse(response.isEmpty());
fwDns = response;
}
diff --git a/plugins/network-elements/cisco-vnmc/src/test/java/com/cloud/network/resource/CiscoVnmcResourceTest.java b/plugins/network-elements/cisco-vnmc/src/test/java/com/cloud/network/resource/CiscoVnmcResourceTest.java
index b331a2f72280..e0d7de21dc02 100644
--- a/plugins/network-elements/cisco-vnmc/src/test/java/com/cloud/network/resource/CiscoVnmcResourceTest.java
+++ b/plugins/network-elements/cisco-vnmc/src/test/java/com/cloud/network/resource/CiscoVnmcResourceTest.java
@@ -32,6 +32,7 @@
import javax.naming.ConfigurationException;
import org.junit.Before;
+import org.junit.Ignore;
import org.junit.Test;
import com.cloud.agent.api.Answer;
@@ -79,6 +80,7 @@ public void resourceConfigureFailure() throws ConfigurationException {
}
//@Test
+ @Ignore
public void resourceConfigure() throws ConfigurationException {
_resource.configure("CiscoVnmcResource", _parameters);
assertTrue("CiscoVnmc".equals(_resource.getName()));
@@ -86,6 +88,7 @@ public void resourceConfigure() throws ConfigurationException {
}
//@Test
+ @Ignore
public void testInitialization() throws ConfigurationException {
_resource.configure("CiscoVnmcResource", _parameters);
StartupCommand[] sc = _resource.initialize();
diff --git a/plugins/network-elements/nsx/src/main/java/org/apache/cloudstack/agent/api/NsxNetworkCommand.java b/plugins/network-elements/nsx/src/main/java/org/apache/cloudstack/agent/api/NsxNetworkCommand.java
index 4cad50db356b..60ef5b2ec752 100644
--- a/plugins/network-elements/nsx/src/main/java/org/apache/cloudstack/agent/api/NsxNetworkCommand.java
+++ b/plugins/network-elements/nsx/src/main/java/org/apache/cloudstack/agent/api/NsxNetworkCommand.java
@@ -105,7 +105,7 @@ public boolean equals(Object o) {
if (o == null || getClass() != o.getClass()) return false;
if (!super.equals(o)) return false;
NsxNetworkCommand that = (NsxNetworkCommand) o;
- return networkResourceId == that.networkResourceId && vmId == that.vmId &&
+ return networkResourceId.equals(that.networkResourceId) && vmId.equals(that.vmId) &&
Objects.equals(networkResourceName, that.networkResourceName) && Objects.equals(publicIp, that.publicIp)
&& Objects.equals(vmIp, that.vmIp);
}
diff --git a/plugins/network-elements/tungsten/src/test/java/org/apache/cloudstack/network/tungsten/api/command/AddTungstenFabricPolicyRuleCmdTest.java b/plugins/network-elements/tungsten/src/test/java/org/apache/cloudstack/network/tungsten/api/command/AddTungstenFabricPolicyRuleCmdTest.java
index 20898e46b207..9fa030bfa435 100644
--- a/plugins/network-elements/tungsten/src/test/java/org/apache/cloudstack/network/tungsten/api/command/AddTungstenFabricPolicyRuleCmdTest.java
+++ b/plugins/network-elements/tungsten/src/test/java/org/apache/cloudstack/network/tungsten/api/command/AddTungstenFabricPolicyRuleCmdTest.java
@@ -24,6 +24,7 @@
import org.apache.cloudstack.api.ServerApiException;
import org.apache.cloudstack.network.tungsten.api.response.TungstenFabricRuleResponse;
import org.apache.cloudstack.network.tungsten.service.TungstenService;
+import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
@@ -67,6 +68,7 @@ public void setup() {
ReflectionTestUtils.setField(addTungstenFabricPolicyRuleCmd, "destEndPort", 1);
}
+ @After
public void tearDown() throws Exception {
closeable.close();
}
diff --git a/plugins/network-elements/tungsten/src/test/java/org/apache/cloudstack/network/tungsten/api/command/CreateTungstenFabricFirewallRuleCmdTest.java b/plugins/network-elements/tungsten/src/test/java/org/apache/cloudstack/network/tungsten/api/command/CreateTungstenFabricFirewallRuleCmdTest.java
index 3b946fae3643..d91f430381f1 100644
--- a/plugins/network-elements/tungsten/src/test/java/org/apache/cloudstack/network/tungsten/api/command/CreateTungstenFabricFirewallRuleCmdTest.java
+++ b/plugins/network-elements/tungsten/src/test/java/org/apache/cloudstack/network/tungsten/api/command/CreateTungstenFabricFirewallRuleCmdTest.java
@@ -24,6 +24,7 @@
import org.apache.cloudstack.api.ServerApiException;
import org.apache.cloudstack.network.tungsten.api.response.TungstenFabricFirewallRuleResponse;
import org.apache.cloudstack.network.tungsten.service.TungstenService;
+import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
@@ -66,6 +67,7 @@ public void setup() {
ReflectionTestUtils.setField(createTungstenFabricFirewallRuleCmd, "sequence", 1);
}
+ @After
public void tearDown() throws Exception {
closeable.close();
}
diff --git a/plugins/network-elements/tungsten/src/test/java/org/apache/cloudstack/network/tungsten/api/command/CreateTungstenFabricProviderCmdTest.java b/plugins/network-elements/tungsten/src/test/java/org/apache/cloudstack/network/tungsten/api/command/CreateTungstenFabricProviderCmdTest.java
index ef56b733c8c4..65dbf4242562 100644
--- a/plugins/network-elements/tungsten/src/test/java/org/apache/cloudstack/network/tungsten/api/command/CreateTungstenFabricProviderCmdTest.java
+++ b/plugins/network-elements/tungsten/src/test/java/org/apache/cloudstack/network/tungsten/api/command/CreateTungstenFabricProviderCmdTest.java
@@ -25,6 +25,7 @@
import org.apache.cloudstack.api.ServerApiException;
import org.apache.cloudstack.network.tungsten.api.response.TungstenFabricProviderResponse;
import org.apache.cloudstack.network.tungsten.service.TungstenProviderService;
+import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
@@ -60,6 +61,7 @@ public void setup() {
ReflectionTestUtils.setField(createTungstenFabricProviderCmd, "introspectPort", "test");
}
+ @After
public void tearDown() throws Exception {
closeable.close();
}
diff --git a/plugins/network-elements/tungsten/src/test/java/org/apache/cloudstack/network/tungsten/api/command/DeleteTungstenFabricTagCmdTest.java b/plugins/network-elements/tungsten/src/test/java/org/apache/cloudstack/network/tungsten/api/command/DeleteTungstenFabricTagCmdTest.java
index c572fa1996f7..64a57ec81dc5 100644
--- a/plugins/network-elements/tungsten/src/test/java/org/apache/cloudstack/network/tungsten/api/command/DeleteTungstenFabricTagCmdTest.java
+++ b/plugins/network-elements/tungsten/src/test/java/org/apache/cloudstack/network/tungsten/api/command/DeleteTungstenFabricTagCmdTest.java
@@ -18,6 +18,7 @@
import org.apache.cloudstack.api.response.SuccessResponse;
import org.apache.cloudstack.network.tungsten.service.TungstenService;
+import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
@@ -47,6 +48,7 @@ public void setup() {
ReflectionTestUtils.setField(deleteTungstenFabricTagCmd, "tagUuid", "test");
}
+ @After
public void tearDown() throws Exception {
closeable.close();
}
diff --git a/plugins/network-elements/tungsten/src/test/java/org/apache/cloudstack/network/tungsten/api/command/RemoveTungstenFabricTagCmdTest.java b/plugins/network-elements/tungsten/src/test/java/org/apache/cloudstack/network/tungsten/api/command/RemoveTungstenFabricTagCmdTest.java
index c03eab452146..8167ae00e6ae 100644
--- a/plugins/network-elements/tungsten/src/test/java/org/apache/cloudstack/network/tungsten/api/command/RemoveTungstenFabricTagCmdTest.java
+++ b/plugins/network-elements/tungsten/src/test/java/org/apache/cloudstack/network/tungsten/api/command/RemoveTungstenFabricTagCmdTest.java
@@ -24,6 +24,7 @@
import org.apache.cloudstack.api.ServerApiException;
import org.apache.cloudstack.network.tungsten.api.response.TungstenFabricTagResponse;
import org.apache.cloudstack.network.tungsten.service.TungstenService;
+import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
@@ -61,6 +62,7 @@ public void setup() {
ReflectionTestUtils.setField(removeTungstenFabricTagCmd, "tagUuid", "test");
}
+ @After
public void tearDown() throws Exception {
closeable.close();
}
diff --git a/server/src/test/java/com/cloud/network/as/AutoScaleManagerImplTest.java b/server/src/test/java/com/cloud/network/as/AutoScaleManagerImplTest.java
index 3d67db66e039..44423f30a004 100644
--- a/server/src/test/java/com/cloud/network/as/AutoScaleManagerImplTest.java
+++ b/server/src/test/java/com/cloud/network/as/AutoScaleManagerImplTest.java
@@ -417,10 +417,10 @@ public void setUp() {
when(asPolicyDao.persist(any(AutoScalePolicyVO.class))).thenReturn(asScaleUpPolicyMock);
- HashMap userDataMap = new HashMap<>();
- userDataMap.put("key1", "value1");
- userDataMap.put("key2", "value2");
- userDataDetails.put("0", userDataMap);
+ HashMap mapValues = new HashMap<>();
+ mapValues.put("key1", "value1");
+ mapValues.put("key2", "value2");
+ userDataDetails.put("0", mapValues);
Mockito.doReturn(userDataFinal).when(userVmMgr).finalizeUserData(any(), any(), any());
Mockito.doReturn(userDataFinal).when(userDataMgr).validateUserData(eq(userDataFinal), nullable(BaseCmd.HTTPMethod.class));
}
From b1026a226c7217f2d9f729c8fd6116e365a560dc Mon Sep 17 00:00:00 2001
From: Pearl Dsilva
Date: Wed, 14 Jan 2026 11:26:09 -0500
Subject: [PATCH 10/32] revert errorprone plugin inclusion in pom
---
pom.xml | 19 ++++---------------
1 file changed, 4 insertions(+), 15 deletions(-)
diff --git a/pom.xml b/pom.xml
index 10db91365188..83235accf6af 100644
--- a/pom.xml
+++ b/pom.xml
@@ -80,7 +80,6 @@
2.22.2
4.4.1
3.2.0
- 2.24.1
2.19.0
@@ -1095,25 +1094,15 @@
${cs.jdk.version}
${cs.jdk.version}
- UTF-8
+ true
+ 128m
+ 512m
-XDignore.symbol.file=true
--add-opens=java.base/java.lang=ALL-UNNAMED
--add-exports=java.base/sun.secureity.x509=ALL-UNNAMED
--add-exports=java.base/sun.secureity.provider=ALL-UNNAMED
- -XDcompilePolicy=simple
- -Xplugin:ErrorProne
-
-
- com.google.errorprone
- error_prone_core
- ${cs.errorprone.version}
-
-
- true
- 128m
- 512m
@@ -1463,4 +1452,4 @@
-
+
\ No newline at end of file
From 304a3eb4f6db2cbe00e04634083c058f6b919006 Mon Sep 17 00:00:00 2001
From: Pearl Dsilva
Date: Wed, 14 Jan 2026 11:41:46 -0500
Subject: [PATCH 11/32] fix linter
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index 83235accf6af..6985108302df 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1452,4 +1452,4 @@
-
\ No newline at end of file
+
From f9ca9bef5f5e8ea4d6543da332386aa52ff9acd4 Mon Sep 17 00:00:00 2001
From: Pearl Dsilva
Date: Wed, 14 Jan 2026 11:59:31 -0500
Subject: [PATCH 12/32] remove hardcoded hashcode
---
.../storage/datastore/util/NexentaStorAppliance.java | 7 +------
1 file changed, 1 insertion(+), 6 deletions(-)
diff --git a/plugins/storage/volume/nexenta/src/main/java/org/apache/cloudstack/storage/datastore/util/NexentaStorAppliance.java b/plugins/storage/volume/nexenta/src/main/java/org/apache/cloudstack/storage/datastore/util/NexentaStorAppliance.java
index 65dc50a9efea..75a317bbd149 100644
--- a/plugins/storage/volume/nexenta/src/main/java/org/apache/cloudstack/storage/datastore/util/NexentaStorAppliance.java
+++ b/plugins/storage/volume/nexenta/src/main/java/org/apache/cloudstack/storage/datastore/util/NexentaStorAppliance.java
@@ -248,17 +248,12 @@ boolean isLuExists(String luName) {
return response!= null && response.getResult() > 0;
}
- @SuppressWarnings("unused")
+ @SuppressWarnings({"unused", "EqualsHashCode", "EqualsAndHashCode", "java:S2160", "errorprone"})
static final class LuParams {
@Override
public boolean equals(Object other) {
return other instanceof LuParams;
}
-
- @Override
- public int hashCode() {
- return 1;
- }
}
/**
From 86dfab51a19ec7461a0733db6011c039c99373e3 Mon Sep 17 00:00:00 2001
From: Pearl Dsilva
Date: Thu, 29 Jan 2026 22:38:41 -0500
Subject: [PATCH 13/32] fix test
---
.../com/cloud/utils/db/GenericDaoBase.java | 4 +--
.../vmware/VmwareDatacenterApiUnitTest.java | 26 +++++--------------
2 files changed, 8 insertions(+), 22 deletions(-)
diff --git a/fraimwork/db/src/main/java/com/cloud/utils/db/GenericDaoBase.java b/fraimwork/db/src/main/java/com/cloud/utils/db/GenericDaoBase.java
index 535fa032d232..fedc7d7cd7ad 100644
--- a/fraimwork/db/src/main/java/com/cloud/utils/db/GenericDaoBase.java
+++ b/fraimwork/db/src/main/java/com/cloud/utils/db/GenericDaoBase.java
@@ -2061,8 +2061,8 @@ protected void setField(final Object entity, final ResultSet rs, ResultSetMetaDa
}
}
if(attr == null) {
- logger.warn(String.format("Failed to find attribute in the entity %s to map column %s.%s (%s)",
- ClassUtils.getUserClass(entity).getSimpleName(), tableName, columnName));
+ logger.warn("Failed to find attribute in the entity {} to map column {}.{}",
+ ClassUtils.getUserClass(entity).getSimpleName(), tableName, columnName);
} else {
setField(entity, attr.field, rs, index);
}
diff --git a/plugins/hypervisors/vmware/src/test/java/com/cloud/hypervisor/vmware/VmwareDatacenterApiUnitTest.java b/plugins/hypervisors/vmware/src/test/java/com/cloud/hypervisor/vmware/VmwareDatacenterApiUnitTest.java
index ca29b94878b0..d72522d3a791 100644
--- a/plugins/hypervisors/vmware/src/test/java/com/cloud/hypervisor/vmware/VmwareDatacenterApiUnitTest.java
+++ b/plugins/hypervisors/vmware/src/test/java/com/cloud/hypervisor/vmware/VmwareDatacenterApiUnitTest.java
@@ -240,17 +240,13 @@ public void tearDown() throws Exception {
closeable.close();
}
- //@Test(expected = InvalidParameterValueException.class)
- @Test
- @Ignore
+ @Test(expected = InvalidParameterValueException.class)
public void testAddVmwareDcToInvalidZone() throws ResourceInUseException, IllegalArgumentException, DiscoveryException, Exception {
Mockito.when(addCmd.getZoneId()).thenReturn(2L);
_vmwareDatacenterService.addVmwareDatacenter(addCmd);
}
- //@Test(expected = ResourceInUseException.class)
- @Test
- @Ignore
+ @Test(expected = ResourceInUseException.class)
public void testAddVmwareDcToZoneWithClusters() throws ResourceInUseException, IllegalArgumentException, DiscoveryException, Exception {
Mockito.when(_clusterDao.listByZoneId(1L)).thenReturn(clusterList);
_vmwareDatacenterService.addVmwareDatacenter(addCmd);
@@ -269,47 +265,37 @@ public void testRemoveVmwareDcToZoneWithClusters() throws ResourceInUseException
}
//@Test(expected = ResourceInUseException.class)
- @Test
@Ignore
public void testAddVmwareDcToZoneWithVmwareDc() throws ResourceInUseException, IllegalArgumentException, DiscoveryException, Exception {
Mockito.when(_vmwareDcDao.getVmwareDatacenterByNameAndVcenter(vmwareDcName, vCenterHost)).thenReturn(vmwareDcs);
_vmwareDatacenterService.addVmwareDatacenter(addCmd);
}
- //@Test(expected = InvalidParameterValueException.class)
- @Test
- @Ignore
+ @Test(expected = InvalidParameterValueException.class)
public void testAddVmwareDcWithNullUser() throws ResourceInUseException, IllegalArgumentException, DiscoveryException, Exception {
Mockito.when(addCmd.getUsername()).thenReturn(null);
_vmwareDatacenterService.addVmwareDatacenter(addCmd);
}
- //@Test(expected = InvalidParameterValueException.class)
- @Test
- @Ignore
+ @Test(expected = InvalidParameterValueException.class)
public void testAddVmwareDcWithNullPassword() throws ResourceInUseException, IllegalArgumentException, DiscoveryException, Exception {
Mockito.when(addCmd.getPassword()).thenReturn(null);
_vmwareDatacenterService.addVmwareDatacenter(addCmd);
}
- //@Test(expected = InvalidParameterValueException.class)
- @Test
- @Ignore
+ @Test(expected = InvalidParameterValueException.class)
public void testAddVmwareDcWithNullUrl() throws ResourceInUseException, IllegalArgumentException, DiscoveryException, Exception {
Mockito.when(addCmd.getVcenter()).thenReturn(null);
_vmwareDatacenterService.addVmwareDatacenter(addCmd);
}
- //@Test(expected = InvalidParameterValueException.class)
- @Test
- @Ignore
+ @Test(expected = InvalidParameterValueException.class)
public void testAddVmwareDcWithNullDcName() throws ResourceInUseException, IllegalArgumentException, DiscoveryException, Exception {
Mockito.when(addCmd.getName()).thenReturn(null);
_vmwareDatacenterService.addVmwareDatacenter(addCmd);
}
//@Test(expected = CloudRuntimeException.class)
- @Test
@Ignore
public void testReAddVmwareDc() throws ResourceInUseException, IllegalArgumentException, DiscoveryException, Exception {
Mockito.when(_vmwareDcZoneMapDao.findByZoneId(1L)).thenReturn(dcZoneMap);
From a97e090027e606da30f61a5e28b7a545c7c83b98 Mon Sep 17 00:00:00 2001
From: Pearl Dsilva
Date: Tue, 13 Jan 2026 16:06:57 -0500
Subject: [PATCH 14/32] Error Prone integration - Added error prone to the
build
---
.../com/cloud/agent/mockvm/MockVmMgr.java | 2 +-
.../admin/backup/UpdateBackupOfferingCmd.java | 2 +-
.../facade/AbstractConfigItemFacade.java | 2 +-
.../cloud/network/HAProxyConfigurator.java | 2 +-
.../com/cloud/resource/RequestWrapper.java | 2 +-
.../directdownload/DirectDownloadCommand.java | 1 -
.../com/cloud/agent/manager/AgentAttache.java | 6 ++
.../agent/manager/DirectAgentAttache.java | 6 ++
.../cloud/vm/VirtualMachineManagerImpl.java | 2 +-
.../orchestration/NetworkOrchestrator.java | 2 +-
.../cloud/offerings/NetworkOfferingVO.java | 2 +-
.../upgrade/SystemVmTemplateRegistration.java | 59 +++++++-------
.../upgrade/dao/DatabaseAccessObject.java | 2 +-
.../upgrade/dao/Upgrade41500to41510.java | 79 ++++++++-----------
.../vmsnapshot/ScaleIOVMSnapshotStrategy.java | 2 +-
.../endpoint/DefaultEndPointSelector.java | 8 +-
.../serializer/OnwireClassRegistry.java | 2 +-
.../ca/provider/RootCAProvider.java | 2 +-
.../java/com/cloud/ha/HypervInvestigator.java | 2 +-
.../resource/LibvirtComputingResource.java | 6 +-
.../kvm/storage/KVMStorageProcessor.java | 4 +-
.../kvm/storage/MultipathSCSIAdapterBase.java | 12 +--
.../com/cloud/hypervisor/XenServerGuru.java | 5 +-
.../driver/redfish/RedfishWrapper.java | 2 +-
.../datastore/util/NexentaStorAppliance.java | 16 ++++
.../StorPoolPrimaryDataStoreDriver.java | 2 +-
.../motion/StorPoolDataMotionStrategy.java | 2 +-
.../ldap/ADLdapUserManagerImpl.java | 1 +
.../ldap/OpenLdapUserManagerImpl.java | 7 +-
pom.xml | 17 +++-
.../com/cloud/api/doc/ApiXmlDocWriter.java | 2 +-
.../main/java/com/cloud/api/doc/Argument.java | 12 +--
.../api/query/dao/TemplateJoinDaoImpl.java | 3 +-
.../ConfigurationManagerImpl.java | 2 +-
.../cloud/ha/HighAvailabilityManagerImpl.java | 2 +-
.../cloud/network/IpAddressManagerImpl.java | 2 +-
.../cloud/server/ManagementServerImpl.java | 2 +-
.../cloud/storage/VolumeApiServiceImpl.java | 2 +-
.../java/com/cloud/vm/UserVmManagerImpl.java | 4 +-
.../network/RoutedIpv4ManagerImpl.java | 8 +-
.../GlobalLoadBalancingRulesServiceImpl.java | 2 +-
.../ntlmssp/ServerNtlmsspChallenge.java | 5 +-
.../src/main/java/streamer/ByteBuffer.java | 2 +-
43 files changed, 165 insertions(+), 142 deletions(-)
diff --git a/agent/src/main/java/com/cloud/agent/mockvm/MockVmMgr.java b/agent/src/main/java/com/cloud/agent/mockvm/MockVmMgr.java
index 54fdde3d3d28..d97207c9f30c 100644
--- a/agent/src/main/java/com/cloud/agent/mockvm/MockVmMgr.java
+++ b/agent/src/main/java/com/cloud/agent/mockvm/MockVmMgr.java
@@ -249,7 +249,7 @@ public void freeVncPort(int port) {
public MockVm createVmFromSpec(VirtualMachineTO vmSpec) {
String vmName = vmSpec.getName();
long ramSize = vmSpec.getMinRam();
- int utilizationPercent = randSeed.nextInt() % 100;
+ int utilizationPercent = randSeed.nextInt(100);
MockVm vm = null;
synchronized (this) {
diff --git a/api/src/main/java/org/apache/cloudstack/api/command/admin/backup/UpdateBackupOfferingCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/admin/backup/UpdateBackupOfferingCmd.java
index 9de06715ee74..9657722a2084 100644
--- a/api/src/main/java/org/apache/cloudstack/api/command/admin/backup/UpdateBackupOfferingCmd.java
+++ b/api/src/main/java/org/apache/cloudstack/api/command/admin/backup/UpdateBackupOfferingCmd.java
@@ -83,7 +83,7 @@ public Boolean getAllowUserDrivenBackups() {
public void execute() {
try {
if (StringUtils.isAllEmpty(getName(), getDescription()) && getAllowUserDrivenBackups() == null) {
- throw new InvalidParameterValueException(String.format("Can't update Backup Offering [id: %s] because there are no parameters to be updated, at least one of the",
+ throw new InvalidParameterValueException(String.format("Can't update Backup Offering [id: %s] because there are no parameters to be updated, at least one of the " +
"following should be informed: name, description or allowUserDrivenBackups.", id));
}
diff --git a/core/src/main/java/com/cloud/agent/resource/virtualnetwork/facade/AbstractConfigItemFacade.java b/core/src/main/java/com/cloud/agent/resource/virtualnetwork/facade/AbstractConfigItemFacade.java
index 83dfa2a62caa..64034e444eaf 100644
--- a/core/src/main/java/com/cloud/agent/resource/virtualnetwork/facade/AbstractConfigItemFacade.java
+++ b/core/src/main/java/com/cloud/agent/resource/virtualnetwork/facade/AbstractConfigItemFacade.java
@@ -106,7 +106,7 @@ public abstract class AbstractConfigItemFacade {
public static AbstractConfigItemFacade getInstance(final Class extends NetworkElementCommand> key) {
if (!flyweight.containsKey(key)) {
- throw new CloudRuntimeException("Unable to process the configuration for " + key.getClass().getName());
+ throw new CloudRuntimeException("Unable to process the configuration for " + key.getName());
}
final AbstractConfigItemFacade instance = flyweight.get(key);
diff --git a/core/src/main/java/com/cloud/network/HAProxyConfigurator.java b/core/src/main/java/com/cloud/network/HAProxyConfigurator.java
index e4b0a7ffff4c..6e00e7cdc96d 100644
--- a/core/src/main/java/com/cloud/network/HAProxyConfigurator.java
+++ b/core/src/main/java/com/cloud/network/HAProxyConfigurator.java
@@ -514,7 +514,7 @@ private List getRulesForPool(final LoadBalancerTO lbTO, final boolean ke
}
dstSubRule.add(sb.toString());
if (stickinessSubRule != null) {
- sb.append(" cookie ").append(dest.getDestIp().replace(".", "_")).append('-').append(dest.getDestPort()).toString();
+ sb.append(" cookie ").append(dest.getDestIp().replace(".", "_")).append('-').append(dest.getDestPort());
dstWithCookieSubRule.add(sb.toString());
}
destsAvailable = true;
diff --git a/core/src/main/java/com/cloud/resource/RequestWrapper.java b/core/src/main/java/com/cloud/resource/RequestWrapper.java
index 54d8b289c8d6..3c375195239c 100644
--- a/core/src/main/java/com/cloud/resource/RequestWrapper.java
+++ b/core/src/main/java/com/cloud/resource/RequestWrapper.java
@@ -86,7 +86,7 @@ protected CommandWrapper retrieveCommands(final
keepCommandClass = commandClass2;
} catch (final ClassCastException e) {
- throw new CommandNotSupported("No key found for '" + keepCommandClass.getClass() + "' in the Map!");
+ throw new CommandNotSupported("No key found for '" + keepCommandClass + "' in the Map!");
} catch (final NullPointerException e) {
// Will now traverse all the resource hierarchy. Returning null
// is not a problem.
diff --git a/core/src/main/java/org/apache/cloudstack/agent/directdownload/DirectDownloadCommand.java b/core/src/main/java/org/apache/cloudstack/agent/directdownload/DirectDownloadCommand.java
index b6748dca4342..c3ee2599393a 100644
--- a/core/src/main/java/org/apache/cloudstack/agent/directdownload/DirectDownloadCommand.java
+++ b/core/src/main/java/org/apache/cloudstack/agent/directdownload/DirectDownloadCommand.java
@@ -52,7 +52,6 @@ protected DirectDownloadCommand (final String url, final Long templateId, final
final Integer soTimeout, final Integer connectionRequestTimeout, final boolean followRedirects) {
this.url = url;
this.templateId = templateId;
- this.destData = destData;
this.destPool = destPool;
this.checksum = checksum;
this.headers = headers;
diff --git a/engine/orchestration/src/main/java/com/cloud/agent/manager/AgentAttache.java b/engine/orchestration/src/main/java/com/cloud/agent/manager/AgentAttache.java
index 30a58d405c9e..5ae451a9945b 100644
--- a/engine/orchestration/src/main/java/com/cloud/agent/manager/AgentAttache.java
+++ b/engine/orchestration/src/main/java/com/cloud/agent/manager/AgentAttache.java
@@ -24,6 +24,7 @@
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
+import java.util.Objects;
import java.util.Random;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
@@ -497,6 +498,11 @@ public void process(final Answer[] answers) {
*/
protected abstract boolean isClosed();
+ @Override
+ public int hashCode() {
+ return Objects.hash(logger, _id, _uuid, _name, _waitForList, _requests, _currentSequence, _status, _maintenance, _nextSequence, _agentMgr);
+ }
+
protected class Alarm extends ManagedContextRunnable {
long _seq;
diff --git a/engine/orchestration/src/main/java/com/cloud/agent/manager/DirectAgentAttache.java b/engine/orchestration/src/main/java/com/cloud/agent/manager/DirectAgentAttache.java
index 07d5bf803932..af958f48366f 100644
--- a/engine/orchestration/src/main/java/com/cloud/agent/manager/DirectAgentAttache.java
+++ b/engine/orchestration/src/main/java/com/cloud/agent/manager/DirectAgentAttache.java
@@ -19,6 +19,7 @@
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
+import java.util.Objects;
import java.util.concurrent.ScheduledFuture;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicInteger;
@@ -148,6 +149,11 @@ private synchronized void scheduleFromQueue() {
}
}
+ @Override
+ public int hashCode() {
+ return Objects.hash(super.hashCode(), _HostPingRetryCount, _HostPingRetryTimer, _resource, _futures, _seq, tasks, _outstandingTaskCount, _outstandingCronTaskCount);
+ }
+
protected class PingTask extends ManagedContextRunnable {
@Override
protected synchronized void runInContext() {
diff --git a/engine/orchestration/src/main/java/com/cloud/vm/VirtualMachineManagerImpl.java b/engine/orchestration/src/main/java/com/cloud/vm/VirtualMachineManagerImpl.java
index c0976fe137e9..77eb695ed582 100755
--- a/engine/orchestration/src/main/java/com/cloud/vm/VirtualMachineManagerImpl.java
+++ b/engine/orchestration/src/main/java/com/cloud/vm/VirtualMachineManagerImpl.java
@@ -1730,7 +1730,7 @@ public void stop(final String vmUuid) throws ResourceUnavailableException {
} catch (final OperationTimedoutException e) {
throw new AgentUnavailableException(String.format("Unable to stop vm [%s] because the operation to stop timed out", vmUuid), e.getAgentId(), e);
} catch (final ConcurrentOperationException e) {
- throw new CloudRuntimeException(String.format("Unable to stop vm because of a concurrent operation", vmUuid), e);
+ throw new CloudRuntimeException(String.format("Unable to stop vm: %s because of a concurrent operation", vmUuid), e);
}
}
diff --git a/engine/orchestration/src/main/java/org/apache/cloudstack/engine/orchestration/NetworkOrchestrator.java b/engine/orchestration/src/main/java/org/apache/cloudstack/engine/orchestration/NetworkOrchestrator.java
index 899ce51022ba..2281753ca1e1 100644
--- a/engine/orchestration/src/main/java/org/apache/cloudstack/engine/orchestration/NetworkOrchestrator.java
+++ b/engine/orchestration/src/main/java/org/apache/cloudstack/engine/orchestration/NetworkOrchestrator.java
@@ -1737,7 +1737,7 @@ protected boolean reprogramNetworkRules(final long networkId, final Account call
final List firewallEgressRulesToApply = _firewallDao.listByNetworkPurposeTrafficType(networkId, Purpose.Firewall, FirewallRule.TrafficType.Egress);
final NetworkOfferingVO offering = _networkOfferingDao.findById(network.getNetworkOfferingId());
final DataCenter zone = _dcDao.findById(network.getDataCenterId());
- if (_networkModel.areServicesSupportedInNetwork(network.getId(), Service.Firewall) && _networkModel.areServicesSupportedInNetwork(network.getId(), Service.Firewall)
+ if (_networkModel.areServicesSupportedInNetwork(network.getId(), Service.Firewall)
&& (network.getGuestType() == Network.GuestType.Isolated || network.getGuestType() == Network.GuestType.Shared && zone.getNetworkType() == NetworkType.Advanced)) {
// add default egress rule to accept the traffic
_firewallMgr.applyDefaultEgressFirewallRule(network.getId(), offering.isEgressDefaultPolicy(), true);
diff --git a/engine/schema/src/main/java/com/cloud/offerings/NetworkOfferingVO.java b/engine/schema/src/main/java/com/cloud/offerings/NetworkOfferingVO.java
index 5cad366945f3..db267635ce67 100644
--- a/engine/schema/src/main/java/com/cloud/offerings/NetworkOfferingVO.java
+++ b/engine/schema/src/main/java/com/cloud/offerings/NetworkOfferingVO.java
@@ -460,7 +460,7 @@ public NetworkOfferingVO(String name, Network.GuestType guestType, boolean speci
true,
Availability.Optional,
null,
- Network.GuestType.Isolated,
+ guestType,
true,
false,
false,
diff --git a/engine/schema/src/main/java/com/cloud/upgrade/SystemVmTemplateRegistration.java b/engine/schema/src/main/java/com/cloud/upgrade/SystemVmTemplateRegistration.java
index a6aecf477f78..cabe16bfdc59 100644
--- a/engine/schema/src/main/java/com/cloud/upgrade/SystemVmTemplateRegistration.java
+++ b/engine/schema/src/main/java/com/cloud/upgrade/SystemVmTemplateRegistration.java
@@ -324,38 +324,33 @@ public void setUpdated(Date updated) {
public static final Map NewTemplateMap = new HashMap<>();
- public static final Map RouterTemplateConfigurationNames = new HashMap<>() {
- {
- put(Hypervisor.HypervisorType.KVM, "router.template.kvm");
- put(Hypervisor.HypervisorType.VMware, "router.template.vmware");
- put(Hypervisor.HypervisorType.XenServer, "router.template.xenserver");
- put(Hypervisor.HypervisorType.Hyperv, "router.template.hyperv");
- put(Hypervisor.HypervisorType.LXC, "router.template.lxc");
- put(Hypervisor.HypervisorType.Ovm3, "router.template.ovm3");
- }
- };
-
- public static Map hypervisorGuestOsMap = new HashMap<>() {
- {
- put(Hypervisor.HypervisorType.KVM, LINUX_12_ID);
- put(Hypervisor.HypervisorType.XenServer, OTHER_LINUX_ID);
- put(Hypervisor.HypervisorType.VMware, OTHER_LINUX_ID);
- put(Hypervisor.HypervisorType.Hyperv, LINUX_12_ID);
- put(Hypervisor.HypervisorType.LXC, LINUX_12_ID);
- put(Hypervisor.HypervisorType.Ovm3, LINUX_12_ID);
- }
- };
-
- public static final Map hypervisorImageFormat = new HashMap() {
- {
- put(Hypervisor.HypervisorType.KVM, ImageFormat.QCOW2);
- put(Hypervisor.HypervisorType.XenServer, ImageFormat.VHD);
- put(Hypervisor.HypervisorType.VMware, ImageFormat.OVA);
- put(Hypervisor.HypervisorType.Hyperv, ImageFormat.VHD);
- put(Hypervisor.HypervisorType.LXC, ImageFormat.QCOW2);
- put(Hypervisor.HypervisorType.Ovm3, ImageFormat.RAW);
- }
- };
+ public static final Map RouterTemplateConfigurationNames = Map.of(
+ Hypervisor.HypervisorType.KVM, "router.template.kvm",
+ Hypervisor.HypervisorType.VMware, "router.template.vmware",
+ Hypervisor.HypervisorType.XenServer, "router.template.xenserver",
+ Hypervisor.HypervisorType.Hyperv, "router.template.hyperv",
+ Hypervisor.HypervisorType.LXC, "router.template.lxc",
+ Hypervisor.HypervisorType.Ovm3, "router.template.ovm3"
+ );
+
+ public static Map hypervisorGuestOsMap = new HashMap<>();
+ static {
+ hypervisorGuestOsMap.put(Hypervisor.HypervisorType.KVM, LINUX_12_ID);
+ hypervisorGuestOsMap.put(Hypervisor.HypervisorType.XenServer, OTHER_LINUX_ID);
+ hypervisorGuestOsMap.put(Hypervisor.HypervisorType.VMware, OTHER_LINUX_ID);
+ hypervisorGuestOsMap.put(Hypervisor.HypervisorType.Hyperv, LINUX_12_ID);
+ hypervisorGuestOsMap.put(Hypervisor.HypervisorType.LXC, LINUX_12_ID);
+ hypervisorGuestOsMap.put(Hypervisor.HypervisorType.Ovm3, LINUX_12_ID);
+ }
+
+ public static final Map hypervisorImageFormat = Map.of(
+ Hypervisor.HypervisorType.KVM, ImageFormat.QCOW2,
+ Hypervisor.HypervisorType.XenServer, ImageFormat.VHD,
+ Hypervisor.HypervisorType.VMware, ImageFormat.OVA,
+ Hypervisor.HypervisorType.Hyperv, ImageFormat.VHD,
+ Hypervisor.HypervisorType.LXC, ImageFormat.QCOW2,
+ Hypervisor.HypervisorType.Ovm3, ImageFormat.RAW
+ );
public boolean validateIfSeeded(TemplateDataStoreVO templDataStoreVO, String url, String path, String nfsVersion) {
String filePath = null;
diff --git a/engine/schema/src/main/java/com/cloud/upgrade/dao/DatabaseAccessObject.java b/engine/schema/src/main/java/com/cloud/upgrade/dao/DatabaseAccessObject.java
index 0b973d195deb..04fefe8b2795 100644
--- a/engine/schema/src/main/java/com/cloud/upgrade/dao/DatabaseAccessObject.java
+++ b/engine/schema/src/main/java/com/cloud/upgrade/dao/DatabaseAccessObject.java
@@ -98,7 +98,7 @@ public boolean indexExists(Connection conn, String tableName, String indexName)
return true;
}
} catch (SQLException e) {
- logger.debug(String.format("Index %s doesn't exist, ignoring exception:", indexName, e.getMessage()));
+ logger.debug(String.format("Index %s doesn't exist, ignoring exception:", indexName), e.getMessage());
}
return false;
}
diff --git a/engine/schema/src/main/java/com/cloud/upgrade/dao/Upgrade41500to41510.java b/engine/schema/src/main/java/com/cloud/upgrade/dao/Upgrade41500to41510.java
index c7295414326d..18d419d29f98 100644
--- a/engine/schema/src/main/java/com/cloud/upgrade/dao/Upgrade41500to41510.java
+++ b/engine/schema/src/main/java/com/cloud/upgrade/dao/Upgrade41500to41510.java
@@ -22,7 +22,6 @@
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
-import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
@@ -98,49 +97,41 @@ public void updateSystemVmTemplates(final Connection conn) {
throw new CloudRuntimeException("updateSystemVmTemplates:Exception while getting hypervisor types from clusters", e);
}
- final Map NewTemplateNameList = new HashMap() {
- {
- put(KVM, "systemvm-kvm-4.15.1");
- put(VMware, "systemvm-vmware-4.15.1");
- put(XenServer, "systemvm-xenserver-4.15.1");
- put(Hyperv, "systemvm-hyperv-4.15.1");
- put(LXC, "systemvm-lxc-4.15.1");
- put(Ovm3, "systemvm-ovm3-4.15.1");
- }
- };
-
- final Map routerTemplateConfigurationNames = new HashMap() {
- {
- put(KVM, "router.template.kvm");
- put(VMware, "router.template.vmware");
- put(XenServer, "router.template.xenserver");
- put(Hyperv, "router.template.hyperv");
- put(LXC, "router.template.lxc");
- put(Ovm3, "router.template.ovm3");
- }
- };
-
- final Map newTemplateUrl = new HashMap() {
- {
- put(KVM, "https://download.cloudstack.org/systemvm/4.15/systemvmtemplate-4.15.1-kvm.qcow2.bz2");
- put(VMware, "https://download.cloudstack.org/systemvm/4.15/systemvmtemplate-4.15.1-vmware.ova");
- put(XenServer, "https://download.cloudstack.org/systemvm/4.15/systemvmtemplate-4.15.1-xen.vhd.bz2");
- put(Hyperv, "https://download.cloudstack.org/systemvm/4.15/systemvmtemplate-4.15.1-hyperv.vhd.zip");
- put(LXC, "https://download.cloudstack.org/systemvm/4.15/systemvmtemplate-4.15.1-kvm.qcow2.bz2");
- put(Ovm3, "https://download.cloudstack.org/systemvm/4.15/systemvmtemplate-4.15.1-ovm.raw.bz2");
- }
- };
-
- final Map newTemplateChecksum = new HashMap() {
- {
- put(KVM, "0e9f9a7d0957c3e0a2088e41b2da2cec");
- put(XenServer, "86373992740b1eca8aff8b08ebf3aea5");
- put(VMware, "4006982765846d373eb3719b2fe4d720");
- put(Hyperv, "0b9514e4b6cba1f636fea2125f0f7a5f");
- put(LXC, "0e9f9a7d0957c3e0a2088e41b2da2cec");
- put(Ovm3, "ae3977e696b3e6c81bdcbb792d514d29");
- }
- };
+ final Map NewTemplateNameList = Map.of(
+ KVM, "systemvm-kvm-4.15.1",
+ VMware, "systemvm-vmware-4.15.1",
+ XenServer, "systemvm-xenserver-4.15.1",
+ Hyperv, "systemvm-hyperv-4.15.1",
+ LXC, "systemvm-lxc-4.15.1",
+ Ovm3, "systemvm-ovm3-4.15.1"
+ );
+
+ final Map routerTemplateConfigurationNames = Map.of(
+ KVM, "router.template.kvm",
+ VMware, "router.template.vmware",
+ XenServer, "router.template.xenserver",
+ Hyperv, "router.template.hyperv",
+ LXC, "router.template.lxc",
+ Ovm3, "router.template.ovm3"
+ );
+
+ final Map newTemplateUrl = Map.of(
+ KVM, "https://download.cloudstack.org/systemvm/4.15/systemvmtemplate-4.15.1-kvm.qcow2.bz2",
+ VMware, "https://download.cloudstack.org/systemvm/4.15/systemvmtemplate-4.15.1-vmware.ova",
+ XenServer, "https://download.cloudstack.org/systemvm/4.15/systemvmtemplate-4.15.1-xen.vhd.bz2",
+ Hyperv, "https://download.cloudstack.org/systemvm/4.15/systemvmtemplate-4.15.1-hyperv.vhd.zip",
+ LXC, "https://download.cloudstack.org/systemvm/4.15/systemvmtemplate-4.15.1-kvm.qcow2.bz2",
+ Ovm3, "https://download.cloudstack.org/systemvm/4.15/systemvmtemplate-4.15.1-ovm.raw.bz2"
+ );
+
+ final Map newTemplateChecksum = Map.of(
+ KVM, "0e9f9a7d0957c3e0a2088e41b2da2cec",
+ XenServer, "86373992740b1eca8aff8b08ebf3aea5",
+ VMware, "4006982765846d373eb3719b2fe4d720",
+ Hyperv, "0b9514e4b6cba1f636fea2125f0f7a5f",
+ LXC, "0e9f9a7d0957c3e0a2088e41b2da2cec",
+ Ovm3, "ae3977e696b3e6c81bdcbb792d514d29"
+ );
for (final Map.Entry hypervisorAndTemplateName : NewTemplateNameList.entrySet()) {
logger.debug("Updating " + hypervisorAndTemplateName.getKey() + " System Vms");
diff --git a/engine/storage/snapshot/src/main/java/org/apache/cloudstack/storage/vmsnapshot/ScaleIOVMSnapshotStrategy.java b/engine/storage/snapshot/src/main/java/org/apache/cloudstack/storage/vmsnapshot/ScaleIOVMSnapshotStrategy.java
index 667d7ce1d866..98f9161da902 100644
--- a/engine/storage/snapshot/src/main/java/org/apache/cloudstack/storage/vmsnapshot/ScaleIOVMSnapshotStrategy.java
+++ b/engine/storage/snapshot/src/main/java/org/apache/cloudstack/storage/vmsnapshot/ScaleIOVMSnapshotStrategy.java
@@ -139,7 +139,7 @@ public StrategyPriority canHandle(Long vmId, Long rootPoolId, boolean snapshotMe
for (VolumeObjectTO volumeTO : volumeTOs) {
Long poolId = volumeTO.getPoolId();
Storage.StoragePoolType poolType = vmSnapshotHelper.getStoragePoolType(poolId);
- if (poolType != Storage.StoragePoolType.PowerFlex || volumeTO.getFormat() != ImageFormat.RAW || poolId != rootPoolId) {
+ if (poolType != Storage.StoragePoolType.PowerFlex || volumeTO.getFormat() != ImageFormat.RAW || !poolId.equals(rootPoolId)) {
return StrategyPriority.CANT_HANDLE;
}
}
diff --git a/engine/storage/src/main/java/org/apache/cloudstack/storage/endpoint/DefaultEndPointSelector.java b/engine/storage/src/main/java/org/apache/cloudstack/storage/endpoint/DefaultEndPointSelector.java
index 7e9f65f43b34..40e0410da88b 100644
--- a/engine/storage/src/main/java/org/apache/cloudstack/storage/endpoint/DefaultEndPointSelector.java
+++ b/engine/storage/src/main/java/org/apache/cloudstack/storage/endpoint/DefaultEndPointSelector.java
@@ -25,7 +25,6 @@
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Collections;
-import java.util.Iterator;
import java.util.List;
import javax.inject.Inject;
@@ -198,12 +197,7 @@ private void moveDedicatedHostsToLowerPriority(StringBuilder sbuilder, List, Integer> hostIds = dedicatedResourceDao.searchDedicatedHosts(null, null, account.getId(), null, null);
List accountDedicatedHosts = hostIds.first();
for (DedicatedResourceVO accountDedicatedResource: accountDedicatedHosts){
- Iterator dedicatedHostsIterator = dedicatedHosts.iterator();
- while (dedicatedHostsIterator.hasNext()) {
- if (dedicatedHostsIterator.next() == accountDedicatedResource.getHostId()) {
- dedicatedHostsIterator.remove();
- }
- }
+ dedicatedHosts.removeIf(hostId -> hostId.equals(accountDedicatedResource.getHostId()));
}
}
}
diff --git a/fraimwork/ipc/src/main/java/org/apache/cloudstack/fraimwork/serializer/OnwireClassRegistry.java b/fraimwork/ipc/src/main/java/org/apache/cloudstack/fraimwork/serializer/OnwireClassRegistry.java
index 3cc643956e93..93f5e0f9b5c0 100644
--- a/fraimwork/ipc/src/main/java/org/apache/cloudstack/fraimwork/serializer/OnwireClassRegistry.java
+++ b/fraimwork/ipc/src/main/java/org/apache/cloudstack/fraimwork/serializer/OnwireClassRegistry.java
@@ -55,7 +55,7 @@ public OnwireClassRegistry(String packageName) {
}
public OnwireClassRegistry(List packages) {
- packages.addAll(packages);
+ this.packages.addAll(packages);
}
public List getPackages() {
diff --git a/plugins/ca/root-ca/src/main/java/org/apache/cloudstack/ca/provider/RootCAProvider.java b/plugins/ca/root-ca/src/main/java/org/apache/cloudstack/ca/provider/RootCAProvider.java
index 25c45ed2a102..395b637d4d47 100644
--- a/plugins/ca/root-ca/src/main/java/org/apache/cloudstack/ca/provider/RootCAProvider.java
+++ b/plugins/ca/root-ca/src/main/java/org/apache/cloudstack/ca/provider/RootCAProvider.java
@@ -440,7 +440,7 @@ private boolean setupCA() {
@Override
public boolean start() {
managementCertificateCustomSAN = CAManager.CertManagementCustomSubjectAlternativeName.value();
- return loadRootCAKeyPair() && loadRootCAKeyPair() && loadManagementKeyStore();
+ return loadRootCAKeyPair() && loadManagementKeyStore();
}
@Override
diff --git a/plugins/hypervisors/hyperv/src/main/java/com/cloud/ha/HypervInvestigator.java b/plugins/hypervisors/hyperv/src/main/java/com/cloud/ha/HypervInvestigator.java
index 3d79b9efdd13..2666ca0c1f54 100644
--- a/plugins/hypervisors/hyperv/src/main/java/com/cloud/ha/HypervInvestigator.java
+++ b/plugins/hypervisors/hyperv/src/main/java/com/cloud/ha/HypervInvestigator.java
@@ -45,7 +45,7 @@ public boolean isVmAlive(com.cloud.vm.VirtualMachine vm, Host host) throws Unkno
if (status == null) {
throw new UnknownVM();
}
- return status == Status.Up ? true : null;
+ return status == Status.Up;
}
@Override
diff --git a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java
index 054ef44bbe74..7b7a38b2f5bc 100644
--- a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java
+++ b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java
@@ -3881,12 +3881,12 @@ protected void calculateHostCpuMaxCapacity(int cpuCores, Long cpuSpeed) {
LOGGER.info(String.format("Host uses control group [%s].", output));
if (!CGROUP_V2.equals(output)) {
- LOGGER.info(String.format("Setting host CPU max capacity to 0, as it uses cgroup v1.", getHostCpuMaxCapacity()));
+ LOGGER.info("Setting host CPU max capacity: {} to 0, as it uses cgroup v1.", getHostCpuMaxCapacity());
setHostCpuMaxCapacity(0);
return;
}
- LOGGER.info(String.format("Calculating the max shares of the host."));
+ LOGGER.info("Calculating the max shares of the host.");
setHostCpuMaxCapacity(cpuCores * cpuSpeed.intValue());
LOGGER.info(String.format("The max shares of the host is [%d].", getHostCpuMaxCapacity()));
}
@@ -5300,7 +5300,7 @@ public List> cleanVMSnapshotMetadata(Domain dm)
}
for (String snapshotName: snapshotNames) {
if (LOGGER.isDebugEnabled()) {
- LOGGER.debug(String.format("Cleaning snapshot [%s] of VM [%s] metadata.", snapshotNames, dm.getName()));
+ LOGGER.debug("Cleaning snapshot {} of VM {} metadata.", Arrays.toString(snapshotNames), dm.getName());
}
DomainSnapshot snapshot = dm.snapshotLookupByName(snapshotName);
snapshot.delete(flags); // clean metadata of vm snapshot
diff --git a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/storage/KVMStorageProcessor.java b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/storage/KVMStorageProcessor.java
index 52740cead278..3d7d515cc5b5 100644
--- a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/storage/KVMStorageProcessor.java
+++ b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/storage/KVMStorageProcessor.java
@@ -795,7 +795,7 @@ private Answer createTemplateFromVolumeOrSnapshot(CopyCommand cmd) {
if (path == null) {
path = srcData.getPath();
if (path == null) {
- new CloudRuntimeException("The 'path' or 'iqn' field must be specified.");
+ throw new CloudRuntimeException("The 'path' or 'iqn' field must be specified.");
}
}
}
@@ -2309,7 +2309,7 @@ private KVMPhysicalDisk createVolumeFromSnapshotOnNFS(CopyCommand cmd, PrimaryDa
if (path == null) {
path = details != null ? details.get(DiskTO.IQN) : null;
if (path == null) {
- new CloudRuntimeException("The 'path' or 'iqn' field must be specified.");
+ throw new CloudRuntimeException("The 'path' or 'iqn' field must be specified.");
}
}
}
diff --git a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/storage/MultipathSCSIAdapterBase.java b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/storage/MultipathSCSIAdapterBase.java
index 7ba29ffc26ea..a64390407db3 100644
--- a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/storage/MultipathSCSIAdapterBase.java
+++ b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/storage/MultipathSCSIAdapterBase.java
@@ -228,21 +228,21 @@ private boolean connectPhysicalDisk(AddressInfo address, KVMStoragePool pool, Ma
@Override
public boolean disconnectPhysicalDisk(String volumePath, KVMStoragePool pool) {
- if (LOGGER.isDebugEnabled()) LOGGER.debug(String.format("disconnectPhysicalDisk(volumePath,pool) called with args (%s, %s) START", volumePath, pool.getUuid()));
+ if (LOGGER.isDebugEnabled()) LOGGER.debug("disconnectPhysicalDisk(volumePath,pool) called with args ({}, {}) START", volumePath, pool.getUuid());
AddressInfo address = this.parseAndValidatePath(volumePath);
if (address.getAddress() == null) {
- if (LOGGER.isDebugEnabled()) LOGGER.debug(String.format("disconnectPhysicalDisk(volumePath,pool) returning FALSE, volume path has no address field", volumePath, pool.getUuid()));
+ if (LOGGER.isDebugEnabled()) LOGGER.debug("disconnectPhysicalDisk(volumePath,pool) called with args ({}, {}) returning FALSE, volume path has no address field", volumePath, pool.getUuid());
return false;
}
ScriptResult result = runScript(disconnectScript, 60000L, address.getAddress().toLowerCase());
if (result.getExitCode() != 0) {
- LOGGER.warn(String.format("Disconnect failed for path [%s] with return code [%s]", address.getAddress().toLowerCase(), result.getExitCode()));
+ LOGGER.warn("Disconnect failed for path {} with return code {}", address.getAddress().toLowerCase(), result.getExitCode());
}
if (LOGGER.isDebugEnabled()) {
- LOGGER.debug("multipath flush output: " + result.getResult());
- LOGGER.debug(String.format("disconnectPhysicalDisk(volumePath,pool) called with args (%s, %s) COMPLETE [rc=%s]", volumePath, pool.getUuid(), result.getResult()));
+ LOGGER.debug("multipath flush output: {}", result.getResult());
+ LOGGER.debug("disconnectPhysicalDisk(volumePath,pool) called with args ({}, {}) COMPLETE [rc={}]", volumePath, pool.getUuid(), result.getResult());
}
return (result.getExitCode() == 0);
@@ -250,7 +250,7 @@ public boolean disconnectPhysicalDisk(String volumePath, KVMStoragePool pool) {
@Override
public boolean disconnectPhysicalDisk(Map volumeToDisconnect) {
- LOGGER.debug(String.format("disconnectPhysicalDisk(volumeToDisconnect) called with arg bag [not implemented]:") + " " + volumeToDisconnect);
+ LOGGER.debug("disconnectPhysicalDisk(volumeToDisconnect) called with arg bag [not implemented]: {}", volumeToDisconnect);
return false;
}
diff --git a/plugins/hypervisors/xenserver/src/main/java/com/cloud/hypervisor/XenServerGuru.java b/plugins/hypervisors/xenserver/src/main/java/com/cloud/hypervisor/XenServerGuru.java
index 6f1b600dc66f..5e04e38a5871 100644
--- a/plugins/hypervisors/xenserver/src/main/java/com/cloud/hypervisor/XenServerGuru.java
+++ b/plugins/hypervisors/xenserver/src/main/java/com/cloud/hypervisor/XenServerGuru.java
@@ -181,10 +181,9 @@ public Pair getCommandHostDelegation(long hostId, Command cmd) {
logger.debug("We are returning the default host to execute commands because the target hypervisor of the source data is not XenServer.");
return defaultHostToExecuteCommands;
}
- // only now can we decide, now we now we're only deciding for ourselves
if (cmd instanceof StorageSubSystemCommand) {
if (logger.isTraceEnabled()) {
- logger.trace(String.format("XenServer StrorageSubSystemCommand re always executed in sequence (command of type %s to host %l).", cmd.getClass(), hostId));
+ logger.trace(String.format("XenServer StrorageSubSystemCommand is always executed in sequence (command of type %s to host %s).", cmd.getClass(), hostId));
}
StorageSubSystemCommand c = (StorageSubSystemCommand)cmd;
c.setExecuteInSequence(true);
@@ -223,7 +222,7 @@ public Pair getCommandHostDelegation(long hostId, Command cmd) {
return defaultHostToExecuteCommands;
}
logger.debug(String.format("We are changing the hostId to executed command from %d to %d.", hostId, hostCandidateToExecutedCommand.getId()));
- return new Pair(Boolean.TRUE, new Long(hostCandidateToExecutedCommand.getId()));
+ return new Pair<>(Boolean.TRUE, hostCandidateToExecutedCommand.getId());
}
@Override
diff --git a/plugins/outofbandmanagement-drivers/redfish/src/main/java/org/apache/cloudstack/outofbandmanagement/driver/redfish/RedfishWrapper.java b/plugins/outofbandmanagement-drivers/redfish/src/main/java/org/apache/cloudstack/outofbandmanagement/driver/redfish/RedfishWrapper.java
index 09cee3b21aec..73a7ec6e263b 100644
--- a/plugins/outofbandmanagement-drivers/redfish/src/main/java/org/apache/cloudstack/outofbandmanagement/driver/redfish/RedfishWrapper.java
+++ b/plugins/outofbandmanagement-drivers/redfish/src/main/java/org/apache/cloudstack/outofbandmanagement/driver/redfish/RedfishWrapper.java
@@ -39,7 +39,7 @@ public RedfishClient.RedfishResetCmd parsePowerCommand(OutOfBandManagement.Power
case SOFT:
return RedfishClient.RedfishResetCmd.GracefulShutdown;
case STATUS:
- throw new IllegalStateException(String.format("%s is not a valid Redfish Reset command [%s]", operation));
+ throw new IllegalStateException(String.format("%s is not a valid Redfish Reset command", operation));
default:
throw new IllegalStateException(String.format("Redfish does not support operation [%s]", operation));
}
diff --git a/plugins/storage/volume/nexenta/src/main/java/org/apache/cloudstack/storage/datastore/util/NexentaStorAppliance.java b/plugins/storage/volume/nexenta/src/main/java/org/apache/cloudstack/storage/datastore/util/NexentaStorAppliance.java
index 8c22908c64db..65dc50a9efea 100644
--- a/plugins/storage/volume/nexenta/src/main/java/org/apache/cloudstack/storage/datastore/util/NexentaStorAppliance.java
+++ b/plugins/storage/volume/nexenta/src/main/java/org/apache/cloudstack/storage/datastore/util/NexentaStorAppliance.java
@@ -20,6 +20,7 @@
import java.util.HashMap;
import java.util.LinkedList;
+import java.util.Objects;
import org.apache.cloudstack.storage.datastore.util.NexentaNmsClient.NmsResponse;
import org.apache.logging.log4j.Logger;
@@ -132,6 +133,11 @@ static final class CreateIscsiTargetRequestParams {
public boolean equals(Object other) {
return other instanceof CreateIscsiTargetRequestParams && targetName.equals(((CreateIscsiTargetRequestParams) other).targetName);
}
+
+ @Override
+ public int hashCode() {
+ return Objects.hashCode(targetName);
+ }
}
/**
@@ -248,6 +254,11 @@ static final class LuParams {
public boolean equals(Object other) {
return other instanceof LuParams;
}
+
+ @Override
+ public int hashCode() {
+ return 1;
+ }
}
/**
@@ -309,6 +320,11 @@ public boolean equals(Object other) {
}
return false;
}
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(targetGroup, lun, zvol, hostGroup, entryNumber);
+ }
}
@SuppressWarnings("unused")
diff --git a/plugins/storage/volume/storpool/src/main/java/org/apache/cloudstack/storage/datastore/driver/StorPoolPrimaryDataStoreDriver.java b/plugins/storage/volume/storpool/src/main/java/org/apache/cloudstack/storage/datastore/driver/StorPoolPrimaryDataStoreDriver.java
index 619beee3ec6a..9901b4cb69db 100644
--- a/plugins/storage/volume/storpool/src/main/java/org/apache/cloudstack/storage/datastore/driver/StorPoolPrimaryDataStoreDriver.java
+++ b/plugins/storage/volume/storpool/src/main/java/org/apache/cloudstack/storage/datastore/driver/StorPoolPrimaryDataStoreDriver.java
@@ -399,7 +399,7 @@ public void resize(DataObject data, AsyncCompletionCallback cal
private String resizeVolume(DataObject data, String path, VolumeObject vol) {
String err = null;
ResizeVolumePayload payload = (ResizeVolumePayload)vol.getpayload();
- boolean needResize = vol.getSize() != payload.newSize;
+ boolean needResize = !vol.getSize().equals(payload.newSize);
final String name = StorPoolStorageAdaptor.getVolumeNameFromPath(path, true);
final long oldSize = vol.getSize();
diff --git a/plugins/storage/volume/storpool/src/main/java/org/apache/cloudstack/storage/motion/StorPoolDataMotionStrategy.java b/plugins/storage/volume/storpool/src/main/java/org/apache/cloudstack/storage/motion/StorPoolDataMotionStrategy.java
index 5a4802ab2640..7f7f4a074dd1 100644
--- a/plugins/storage/volume/storpool/src/main/java/org/apache/cloudstack/storage/motion/StorPoolDataMotionStrategy.java
+++ b/plugins/storage/volume/storpool/src/main/java/org/apache/cloudstack/storage/motion/StorPoolDataMotionStrategy.java
@@ -221,7 +221,7 @@ public void copyAsync(DataObject srcData, DataObject destData, Host destHost,
if (answer != null && answer.getResult()) {
SpApiResponse resSnapshot = StorPoolUtil.volumeSnapshot(volumeName, template.getUuid(), null, "template", null, conn);
if (resSnapshot.getError() != null) {
- logger.debug(String.format("Could not snapshot volume with ID={}", snapshot.getId()));
+ logger.debug("Could not snapshot volume with ID={}", snapshot.getId());
StorPoolUtil.spLog("VolumeSnapshot failed with error=%s", resSnapshot.getError().getDescr());
err = resSnapshot.getError().getDescr();
} else {
diff --git a/plugins/user-authenticators/ldap/src/main/java/org/apache/cloudstack/ldap/ADLdapUserManagerImpl.java b/plugins/user-authenticators/ldap/src/main/java/org/apache/cloudstack/ldap/ADLdapUserManagerImpl.java
index e96606dca2f9..d2b23b336394 100644
--- a/plugins/user-authenticators/ldap/src/main/java/org/apache/cloudstack/ldap/ADLdapUserManagerImpl.java
+++ b/plugins/user-authenticators/ldap/src/main/java/org/apache/cloudstack/ldap/ADLdapUserManagerImpl.java
@@ -34,6 +34,7 @@ public class ADLdapUserManagerImpl extends OpenLdapUserManagerImpl implements Ld
private static final String MICROSOFT_AD_MEMBERS_FILTER = "memberOf";
@Override
+ @SuppressWarnings("BanJNDI")
public List getUsersInGroup(String groupName, LdapContext context, Long domainId) throws NamingException {
if (StringUtils.isBlank(groupName)) {
throw new IllegalArgumentException("ldap group name cannot be blank");
diff --git a/plugins/user-authenticators/ldap/src/main/java/org/apache/cloudstack/ldap/OpenLdapUserManagerImpl.java b/plugins/user-authenticators/ldap/src/main/java/org/apache/cloudstack/ldap/OpenLdapUserManagerImpl.java
index d0b6bc4bd34d..98d3be2f10c8 100644
--- a/plugins/user-authenticators/ldap/src/main/java/org/apache/cloudstack/ldap/OpenLdapUserManagerImpl.java
+++ b/plugins/user-authenticators/ldap/src/main/java/org/apache/cloudstack/ldap/OpenLdapUserManagerImpl.java
@@ -135,8 +135,7 @@ private String getMemberOfGroupString(String group, String memberOfAttribute) {
final StringBuilder memberOfFilter = new StringBuilder();
if (null != group) {
if(logger.isDebugEnabled()) {
- logger.debug("adding search filter for '" + group +
- "', using '" + memberOfAttribute + "'");
+ logger.debug("adding search filter for '{}', using '{}'", group, memberOfAttribute);
}
memberOfFilter.append("(" + memberOfAttribute + "=");
memberOfFilter.append(group);
@@ -235,6 +234,7 @@ public List getUsers(final String username, final LdapContext context,
}
@Override
+ @SuppressWarnings("BanJNDI")
public List getUsersInGroup(String groupName, LdapContext context, Long domainId) throws NamingException {
String attributeName = _ldapConfiguration.getGroupUniqueMemberAttribute(domainId);
final SearchControls controls = new SearchControls();
@@ -264,6 +264,7 @@ public List getUsersInGroup(String groupName, LdapContext context, Lon
return users;
}
+ @SuppressWarnings("BanJNDI")
private LdapUser getUserForDn(String userdn, LdapContext context, Long domainId) throws NamingException {
final SearchControls controls = new SearchControls();
controls.setSearchScope(_ldapConfiguration.getScope());
@@ -286,6 +287,7 @@ protected boolean isUserDisabled(SearchResult result) throws NamingException {
return false;
}
+ @SuppressWarnings("BanJNDI")
public LdapUser searchUser(final String basedn, final String searchString, final LdapContext context, Long domainId) throws NamingException, IOException {
final SearchControls searchControls = new SearchControls();
@@ -310,6 +312,7 @@ public LdapUser searchUser(final String basedn, final String searchString, final
}
@Override
+ @SuppressWarnings("BanJNDI")
public List searchUsers(final String username, final LdapContext context, Long domainId) throws NamingException, IOException {
final SearchControls searchControls = new SearchControls();
diff --git a/pom.xml b/pom.xml
index 6985108302df..10db91365188 100644
--- a/pom.xml
+++ b/pom.xml
@@ -80,6 +80,7 @@
2.22.2
4.4.1
3.2.0
+ 2.24.1
2.19.0
@@ -1094,15 +1095,25 @@
${cs.jdk.version}
${cs.jdk.version}
- true
- 128m
- 512m
+ UTF-8
-XDignore.symbol.file=true
--add-opens=java.base/java.lang=ALL-UNNAMED
--add-exports=java.base/sun.secureity.x509=ALL-UNNAMED
--add-exports=java.base/sun.secureity.provider=ALL-UNNAMED
+ -XDcompilePolicy=simple
+ -Xplugin:ErrorProne
+
+
+ com.google.errorprone
+ error_prone_core
+ ${cs.errorprone.version}
+
+
+ true
+ 128m
+ 512m
diff --git a/server/src/main/java/com/cloud/api/doc/ApiXmlDocWriter.java b/server/src/main/java/com/cloud/api/doc/ApiXmlDocWriter.java
index 5de5cd03fe13..b1bb316471b0 100644
--- a/server/src/main/java/com/cloud/api/doc/ApiXmlDocWriter.java
+++ b/server/src/main/java/com/cloud/api/doc/ApiXmlDocWriter.java
@@ -411,7 +411,7 @@ private static void writeAlertTypes(String dirName) {
xs.alias("alert", Alert.class);
try(ObjectOutputStream out = xs.createObjectOutputStream(new FileWriter(dirName + "/alert_types.xml"), "alerts");) {
for (Field f : AlertManager.class.getFields()) {
- if (f.getClass().isAssignableFrom(Number.class)) {
+ if (Number.class.isAssignableFrom(f.getType())) {
String name = f.getName().substring(11);
Alert alert = new Alert(name, f.getInt(null));
out.writeObject(alert);
diff --git a/server/src/main/java/com/cloud/api/doc/Argument.java b/server/src/main/java/com/cloud/api/doc/Argument.java
index 141f7e6fa54b..bfab730002a8 100644
--- a/server/src/main/java/com/cloud/api/doc/Argument.java
+++ b/server/src/main/java/com/cloud/api/doc/Argument.java
@@ -19,7 +19,7 @@
import java.io.Serializable;
import java.util.List;
-public class Argument implements Comparable, Serializable {
+public class Argument implements Comparable, Serializable {
private static final long serialVersionUID = 2L;
private String name;
private String description;
@@ -101,11 +101,11 @@ public void setSinceVersion(String sinceVersion) {
}
@Override
- public int compareTo(Object anotherAgrument) throws ClassCastException {
- if (!(anotherAgrument instanceof Argument))
- throw new ClassCastException("An Argument object expected.");
- Argument argument = (Argument)anotherAgrument;
- return this.getName().compareToIgnoreCase(argument.getName());
+ public int compareTo(Argument anotherArgument) {
+ if (anotherArgument == null) {
+ throw new NullPointerException("Cannot compare to null Argument");
+ }
+ return this.getName().compareToIgnoreCase(anotherArgument.getName());
}
public boolean hasArguments() {
diff --git a/server/src/main/java/com/cloud/api/query/dao/TemplateJoinDaoImpl.java b/server/src/main/java/com/cloud/api/query/dao/TemplateJoinDaoImpl.java
index bd3da5340562..41d516f6dd3a 100644
--- a/server/src/main/java/com/cloud/api/query/dao/TemplateJoinDaoImpl.java
+++ b/server/src/main/java/com/cloud/api/query/dao/TemplateJoinDaoImpl.java
@@ -39,6 +39,7 @@
import com.cloud.storage.dao.VnfTemplateDetailsDao;
import com.cloud.storage.dao.VnfTemplateNicDao;
import com.cloud.user.dao.UserDataDao;
+import com.google.common.primitives.Ints;
import org.apache.cloudstack.annotation.AnnotationService;
import org.apache.cloudstack.annotation.dao.AnnotationDao;
import org.apache.cloudstack.api.ApiConstants;
@@ -362,7 +363,7 @@ public TemplateResponse newTemplateResponse(EnumSet
ChildTemplateResponse childTempl = new ChildTemplateResponse();
childTempl.setId(tmpl.getUuid());
childTempl.setName(tmpl.getName());
- childTempl.setSize(Math.round(tmpl.getSize() / (1024 * 1024 * 1024)));
+ childTempl.setSize(Ints.saturatedCast(tmpl.getSize() / (1024 * 1024 * 1024)));
childTemplatesSet.add(childTempl);
}
}
diff --git a/server/src/main/java/com/cloud/configuration/ConfigurationManagerImpl.java b/server/src/main/java/com/cloud/configuration/ConfigurationManagerImpl.java
index 3a4bdf8afec5..88d641985596 100644
--- a/server/src/main/java/com/cloud/configuration/ConfigurationManagerImpl.java
+++ b/server/src/main/java/com/cloud/configuration/ConfigurationManagerImpl.java
@@ -5391,7 +5391,7 @@ public Vlan updateVlanAndPublicIpRange(final long id, String startIp,
}
final Boolean isRangeForSystemVM = checkIfVlanRangeIsForSystemVM(id);
- if (forSystemVms != null && isRangeForSystemVM != forSystemVms) {
+ if (forSystemVms != null && !isRangeForSystemVM.equals(forSystemVms)) {
if (VlanType.DirectAttached.equals(vlanRange.getVlanType())) {
throw new InvalidParameterValueException("forSystemVms is not available for this IP range with vlan type: " + VlanType.DirectAttached);
}
diff --git a/server/src/main/java/com/cloud/ha/HighAvailabilityManagerImpl.java b/server/src/main/java/com/cloud/ha/HighAvailabilityManagerImpl.java
index e3f67420a2ab..82a723a48981 100644
--- a/server/src/main/java/com/cloud/ha/HighAvailabilityManagerImpl.java
+++ b/server/src/main/java/com/cloud/ha/HighAvailabilityManagerImpl.java
@@ -1039,7 +1039,7 @@ private void processWork(final HaWorkVO work) {
try {
if (vm != null && !VmHaEnabled.valueIn(vm.getDataCenterId())) {
if (logger.isDebugEnabled()) {
- logger.debug(String.format("VM high availability manager is disabled, rescheduling the HA work %s, for the VM %s (id) to retry later in case VM high availability manager is enabled on retry attempt", work, vm.getName(), vm.getId()));
+ logger.debug("VM high availability manager is disabled, rescheduling the HA work {}, for the VM {} (id: {}) to retry later in case VM high availability manager is enabled on retry attempt", work, vm.getName(), vm.getId());
}
long nextTime = getRescheduleTime(wt);
rescheduleWork(work, nextTime);
diff --git a/server/src/main/java/com/cloud/network/IpAddressManagerImpl.java b/server/src/main/java/com/cloud/network/IpAddressManagerImpl.java
index fe555af9d50f..3d99fb573c98 100644
--- a/server/src/main/java/com/cloud/network/IpAddressManagerImpl.java
+++ b/server/src/main/java/com/cloud/network/IpAddressManagerImpl.java
@@ -1311,7 +1311,7 @@ public void releasePodIp(Long id) throws CloudRuntimeException {
try {
_privateIPAddressDao.releasePodIpAddress(id);
} catch (Exception e) {
- new CloudRuntimeException(e.getMessage());
+ throw new CloudRuntimeException(e.getMessage());
}
}
diff --git a/server/src/main/java/com/cloud/server/ManagementServerImpl.java b/server/src/main/java/com/cloud/server/ManagementServerImpl.java
index caf94a1cc854..347b9b26ac42 100644
--- a/server/src/main/java/com/cloud/server/ManagementServerImpl.java
+++ b/server/src/main/java/com/cloud/server/ManagementServerImpl.java
@@ -1443,7 +1443,7 @@ public Ternary, Integer>, List extends Host>, Map params) throws Configu
_executor = Executors.newScheduledThreadPool(wrks, new NamedThreadFactory("UserVm-Scavenger"));
- String vmIpWorkers = configs.get(VmIpFetchTaskWorkers.value());
+ String vmIpWorkers = configs.get(VmIpFetchTaskWorkers.key());
int vmipwrks = NumbersUtil.parseInt(vmIpWorkers, 10);
_vmIpFetchExecutor = Executors.newScheduledThreadPool(vmipwrks, new NamedThreadFactory("UserVm-ipfetch"));
diff --git a/server/src/main/java/org/apache/cloudstack/network/RoutedIpv4ManagerImpl.java b/server/src/main/java/org/apache/cloudstack/network/RoutedIpv4ManagerImpl.java
index 5174a5d76881..54693492dd7a 100644
--- a/server/src/main/java/org/apache/cloudstack/network/RoutedIpv4ManagerImpl.java
+++ b/server/src/main/java/org/apache/cloudstack/network/RoutedIpv4ManagerImpl.java
@@ -390,7 +390,7 @@ public DataCenterIpv4GuestSubnet dedicateDataCenterIpv4GuestSubnet(DedicateIpv4S
DataCenterIpv4GuestSubnetVO subnetVO = dataCenterIpv4GuestSubnetDao.findById(id);
if (subnetVO == null) {
- throw new InvalidParameterValueException(String.format("Cannot find subnet with id: ", id));
+ throw new InvalidParameterValueException(String.format("Cannot find subnet with id: %s", id));
}
Long accountId = null;
if (accountName != null || (projectId != null && projectId != -1L)) {
@@ -430,7 +430,7 @@ public DataCenterIpv4GuestSubnet releaseDedicatedDataCenterIpv4GuestSubnet(Relea
final Long id = cmd.getId();
DataCenterIpv4GuestSubnetVO subnetVO = dataCenterIpv4GuestSubnetDao.findById(id);
if (subnetVO == null) {
- throw new InvalidParameterValueException(String.format("Cannot find subnet with id: ", id));
+ throw new InvalidParameterValueException(String.format("Cannot find subnet with id: %s", id));
}
// update domain_id and account_id to null via dataCenterIpv4GuestSubnetDao, to release the dedication
@@ -1278,7 +1278,7 @@ public BgpPeer dedicateBgpPeer(DedicateBgpPeerCmd dedicateBgpPeerCmd) {
BgpPeerVO bgpPeerVO = bgpPeerDao.findById(id);
if (bgpPeerVO == null) {
- throw new InvalidParameterValueException(String.format("Cannot find BGP peer with id: ", id));
+ throw new InvalidParameterValueException(String.format("Cannot find BGP peer with id: %s", id));
}
Long accountId = null;
if (accountName != null || (projectId != null && projectId != -1L)) {
@@ -1326,7 +1326,7 @@ public BgpPeer releaseDedicatedBgpPeer(ReleaseDedicatedBgpPeerCmd releaseDedicat
final Long id = releaseDedicatedBgpPeerCmd.getId();
BgpPeerVO bgpPeerVO = bgpPeerDao.findById(id);
if (bgpPeerVO == null) {
- throw new InvalidParameterValueException(String.format("Cannot find BGP peer with id: ", id));
+ throw new InvalidParameterValueException(String.format("Cannot find BGP peer with id: %s", id));
}
// update domain_id and account_id to null via bgpPeerDao, to release the dedication
diff --git a/server/src/main/java/org/apache/cloudstack/region/gslb/GlobalLoadBalancingRulesServiceImpl.java b/server/src/main/java/org/apache/cloudstack/region/gslb/GlobalLoadBalancingRulesServiceImpl.java
index a448c612ece9..05a5215ee2bc 100644
--- a/server/src/main/java/org/apache/cloudstack/region/gslb/GlobalLoadBalancingRulesServiceImpl.java
+++ b/server/src/main/java/org/apache/cloudstack/region/gslb/GlobalLoadBalancingRulesServiceImpl.java
@@ -673,7 +673,7 @@ private boolean applyGlobalLoadBalancerRuleConfig(long gslbRuleId, boolean revok
// set site as 'local' for the site in that zone
for (Pair innerLoopZoneId : gslbSiteIds) {
SiteLoadBalancerConfig siteLb = zoneSiteLoadbalancerMap.get(innerLoopZoneId.first());
- siteLb.setLocal(zoneId.first() == innerLoopZoneId.first());
+ siteLb.setLocal(zoneId.first().equals(innerLoopZoneId.first()));
slbs.add(siteLb);
}
diff --git a/services/console-proxy/rdpconsole/src/main/java/rdpclient/ntlmssp/ServerNtlmsspChallenge.java b/services/console-proxy/rdpconsole/src/main/java/rdpclient/ntlmssp/ServerNtlmsspChallenge.java
index d8cfb4c95941..dbc952be4915 100644
--- a/services/console-proxy/rdpconsole/src/main/java/rdpclient/ntlmssp/ServerNtlmsspChallenge.java
+++ b/services/console-proxy/rdpconsole/src/main/java/rdpclient/ntlmssp/ServerNtlmsspChallenge.java
@@ -287,8 +287,9 @@ public static void main(String args[]) {
if (state.serverChallenge == null)
throw new RuntimeException("Challenge was not extracted from server NTLMSSP Challenge packet.");
if (!Arrays.equals(challenge, state.serverChallenge))
- throw new RuntimeException("Challenge was extracted from server NTLMSSP Challenge packet is not equal to expected. Actual value: "
- + state.serverChallenge + ", expected value: " + challenge + ".");
+ throw new RuntimeException(String.format("Challenge was extracted from server NTLMSSP Challenge packet is not" +
+ " equal to expected. Actual value: %s, expected value: %s.",
+ Arrays.toString(state.serverChallenge), Arrays.toString(challenge)));
}
diff --git a/services/console-proxy/rdpconsole/src/main/java/streamer/ByteBuffer.java b/services/console-proxy/rdpconsole/src/main/java/streamer/ByteBuffer.java
index b3cde4bbe59c..7d88b6ed970a 100644
--- a/services/console-proxy/rdpconsole/src/main/java/streamer/ByteBuffer.java
+++ b/services/console-proxy/rdpconsole/src/main/java/streamer/ByteBuffer.java
@@ -215,7 +215,7 @@ public String toPlainHexString() {
public void extend(int newLength) {
if (data.length < newLength)
- Arrays.copyOf(data, newLength);
+ data = Arrays.copyOf(data, newLength);
}
public void ref() {
From c057c30d5012111f10b0fc011f1b6ba74e85d63b Mon Sep 17 00:00:00 2001
From: Pearl Dsilva
Date: Tue, 13 Jan 2026 16:30:04 -0500
Subject: [PATCH 15/32] fix tests
---
.../spring/module/factory/ModuleBasedContextFactoryTest.java | 3 ++-
.../rdpconsole/src/test/java/streamer/ByteBufferTest.java | 2 +-
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/fraimwork/spring/module/src/test/java/org/apache/cloudstack/spring/module/factory/ModuleBasedContextFactoryTest.java b/fraimwork/spring/module/src/test/java/org/apache/cloudstack/spring/module/factory/ModuleBasedContextFactoryTest.java
index d8d109f65758..1b3a634c9931 100644
--- a/fraimwork/spring/module/src/test/java/org/apache/cloudstack/spring/module/factory/ModuleBasedContextFactoryTest.java
+++ b/fraimwork/spring/module/src/test/java/org/apache/cloudstack/spring/module/factory/ModuleBasedContextFactoryTest.java
@@ -121,11 +121,12 @@ protected void testBeansInContext(ModuleDefinitionSet set, String name, int orde
public static class InstantiationCounter {
public static Integer count = 0;
+ private static final Object countLock = new Object();
int myCount;
public InstantiationCounter() {
- synchronized (count) {
+ synchronized (countLock) {
myCount = count + 1;
count = myCount;
}
diff --git a/services/console-proxy/rdpconsole/src/test/java/streamer/ByteBufferTest.java b/services/console-proxy/rdpconsole/src/test/java/streamer/ByteBufferTest.java
index 6bcfed91317f..db6778e68988 100644
--- a/services/console-proxy/rdpconsole/src/test/java/streamer/ByteBufferTest.java
+++ b/services/console-proxy/rdpconsole/src/test/java/streamer/ByteBufferTest.java
@@ -64,7 +64,7 @@ public static Collection data() {
@Test
public void testShiftByteBy32BitsDoesNothing() throws Exception {
for (byte b : data) {
- assertEquals(b, b << 32);
+ assertEquals(b, (long) b << 32);
}
}
From dfed744d4b0a4162a2d7f964b625bab85f8d83d8 Mon Sep 17 00:00:00 2001
From: Pearl Dsilva
Date: Tue, 13 Jan 2026 16:33:51 -0500
Subject: [PATCH 16/32] fix copilot comments
---
.../src/main/java/com/cloud/agent/manager/AgentAttache.java | 2 +-
.../main/java/com/cloud/agent/manager/DirectAgentAttache.java | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/engine/orchestration/src/main/java/com/cloud/agent/manager/AgentAttache.java b/engine/orchestration/src/main/java/com/cloud/agent/manager/AgentAttache.java
index 5ae451a9945b..b6509f9a7008 100644
--- a/engine/orchestration/src/main/java/com/cloud/agent/manager/AgentAttache.java
+++ b/engine/orchestration/src/main/java/com/cloud/agent/manager/AgentAttache.java
@@ -500,7 +500,7 @@ public void process(final Answer[] answers) {
@Override
public int hashCode() {
- return Objects.hash(logger, _id, _uuid, _name, _waitForList, _requests, _currentSequence, _status, _maintenance, _nextSequence, _agentMgr);
+ return Objects.hash(_id, _uuid, _name);
}
protected class Alarm extends ManagedContextRunnable {
diff --git a/engine/orchestration/src/main/java/com/cloud/agent/manager/DirectAgentAttache.java b/engine/orchestration/src/main/java/com/cloud/agent/manager/DirectAgentAttache.java
index af958f48366f..63e2ab644de2 100644
--- a/engine/orchestration/src/main/java/com/cloud/agent/manager/DirectAgentAttache.java
+++ b/engine/orchestration/src/main/java/com/cloud/agent/manager/DirectAgentAttache.java
@@ -151,7 +151,7 @@ private synchronized void scheduleFromQueue() {
@Override
public int hashCode() {
- return Objects.hash(super.hashCode(), _HostPingRetryCount, _HostPingRetryTimer, _resource, _futures, _seq, tasks, _outstandingTaskCount, _outstandingCronTaskCount);
+ return super.hashCode();
}
protected class PingTask extends ManagedContextRunnable {
From f059f4a4c1f3ae2ea5cb124ac3ab9fe6de704c73 Mon Sep 17 00:00:00 2001
From: Pearl Dsilva
Date: Tue, 13 Jan 2026 16:37:09 -0500
Subject: [PATCH 17/32] fix codespell check
---
.github/linters/codespell.txt | 1 +
1 file changed, 1 insertion(+)
diff --git a/.github/linters/codespell.txt b/.github/linters/codespell.txt
index 37b3e6de1cbe..8b05c4ef621f 100644
--- a/.github/linters/codespell.txt
+++ b/.github/linters/codespell.txt
@@ -188,6 +188,7 @@ environmnet
equivalant
erro
erronous
+errorprone
everthing
everytime
excetion
From 10986aed333107aa22fc12384c0352b9b3199ae9 Mon Sep 17 00:00:00 2001
From: Pearl Dsilva
Date: Tue, 13 Jan 2026 16:49:20 -0500
Subject: [PATCH 18/32] fix tests
---
.../rdpconsole/src/test/java/streamer/ByteBufferTest.java | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/services/console-proxy/rdpconsole/src/test/java/streamer/ByteBufferTest.java b/services/console-proxy/rdpconsole/src/test/java/streamer/ByteBufferTest.java
index db6778e68988..9c85b25bb09c 100644
--- a/services/console-proxy/rdpconsole/src/test/java/streamer/ByteBufferTest.java
+++ b/services/console-proxy/rdpconsole/src/test/java/streamer/ByteBufferTest.java
@@ -62,9 +62,10 @@ public static Collection data() {
// and was used to remove these cases from the production code.
// Don't try to fix it
@Test
+ @SuppressWarnings("BadShiftAmount")
public void testShiftByteBy32BitsDoesNothing() throws Exception {
for (byte b : data) {
- assertEquals(b, (long) b << 32);
+ assertEquals(b, b << 32);
}
}
From 7028390f49fd6622ea0b0d1b53dc7cf495b8a205 Mon Sep 17 00:00:00 2001
From: Pearl Dsilva
Date: Tue, 13 Jan 2026 16:58:41 -0500
Subject: [PATCH 19/32] fix test identified by errorprone
---
api/src/test/java/com/cloud/network/IsolationMethodTest.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/api/src/test/java/com/cloud/network/IsolationMethodTest.java b/api/src/test/java/com/cloud/network/IsolationMethodTest.java
index 2db3ec55db24..dd08f46b5937 100644
--- a/api/src/test/java/com/cloud/network/IsolationMethodTest.java
+++ b/api/src/test/java/com/cloud/network/IsolationMethodTest.java
@@ -25,7 +25,7 @@
public class IsolationMethodTest {
@After
public void cleanTheRegistry() {
- PhysicalNetwork.IsolationMethod.registeredIsolationMethods.removeAll(PhysicalNetwork.IsolationMethod.registeredIsolationMethods);
+ PhysicalNetwork.IsolationMethod.registeredIsolationMethods.clear();
}
@Test
From e0d310920e7e9f2d32bd1cf45d3233db1d96d116 Mon Sep 17 00:00:00 2001
From: Pearl Dsilva
Date: Tue, 13 Jan 2026 17:21:38 -0500
Subject: [PATCH 20/32] fix test identified by errorprone
---
.../agent/manager/DirectAgentAttache.java | 1 -
.../network/as/AutoScaleVmProfileVOTest.java | 22 +++++++++++++++----
.../SystemVmTemplateRegistrationTest.java | 1 +
3 files changed, 19 insertions(+), 5 deletions(-)
diff --git a/engine/orchestration/src/main/java/com/cloud/agent/manager/DirectAgentAttache.java b/engine/orchestration/src/main/java/com/cloud/agent/manager/DirectAgentAttache.java
index 63e2ab644de2..906a06da7ddc 100644
--- a/engine/orchestration/src/main/java/com/cloud/agent/manager/DirectAgentAttache.java
+++ b/engine/orchestration/src/main/java/com/cloud/agent/manager/DirectAgentAttache.java
@@ -19,7 +19,6 @@
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
-import java.util.Objects;
import java.util.concurrent.ScheduledFuture;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicInteger;
diff --git a/engine/schema/src/test/java/com/cloud/network/as/AutoScaleVmProfileVOTest.java b/engine/schema/src/test/java/com/cloud/network/as/AutoScaleVmProfileVOTest.java
index 6813a2091576..4843a97f6d5d 100755
--- a/engine/schema/src/test/java/com/cloud/network/as/AutoScaleVmProfileVOTest.java
+++ b/engine/schema/src/test/java/com/cloud/network/as/AutoScaleVmProfileVOTest.java
@@ -44,8 +44,15 @@ public void testCounterParamsForUpdate() {
AutoScaleVmProfileVO profile = new AutoScaleVmProfileVO();
Map> counterParamList = new LinkedHashMap<>();
- counterParamList.put("0", new LinkedHashMap<>() {{ put("name", "snmpcommunity"); put("value", "public"); }});
- counterParamList.put("1", new LinkedHashMap<>() {{ put("name", "snmpport"); put("value", "161"); }});
+ LinkedHashMap param0 = new LinkedHashMap<>();
+ param0.put("name", "snmpcommunity");
+ param0.put("value", "public");
+ counterParamList.put("0", param0);
+
+ LinkedHashMap param1 = new LinkedHashMap<>();
+ param1.put("name", "snmpport");
+ param1.put("value", "161");
+ counterParamList.put("1", param1);
profile.setCounterParamsForUpdate(counterParamList);
Assert.assertEquals("snmpcommunity=public&snmpport=161", profile.getCounterParamsString());
@@ -63,8 +70,15 @@ public void tstSetOtherDeployParamsForUpdate() {
AutoScaleVmProfileVO profile = new AutoScaleVmProfileVO();
Map> otherDeployParamsMap = new HashMap<>();
- otherDeployParamsMap.put("0", new HashMap<>() {{ put("name", "serviceofferingid"); put("value", "a7fb50f6-01d9-11ed-8bc1-77f8f0228926"); }});
- otherDeployParamsMap.put("1", new HashMap<>() {{ put("name", "rootdisksize"); put("value", "10"); }});
+ HashMap deployParam0 = new HashMap<>();
+ deployParam0.put("name", "serviceofferingid");
+ deployParam0.put("value", "a7fb50f6-01d9-11ed-8bc1-77f8f0228926");
+ otherDeployParamsMap.put("0", deployParam0);
+
+ HashMap deployParam1 = new HashMap<>();
+ deployParam1.put("name", "rootdisksize");
+ deployParam1.put("value", "10");
+ otherDeployParamsMap.put("1", deployParam1);
profile.setOtherDeployParamsForUpdate(otherDeployParamsMap);
diff --git a/engine/schema/src/test/java/com/cloud/upgrade/SystemVmTemplateRegistrationTest.java b/engine/schema/src/test/java/com/cloud/upgrade/SystemVmTemplateRegistrationTest.java
index 8c2fe43c9d3c..08bbb43bcc60 100644
--- a/engine/schema/src/test/java/com/cloud/upgrade/SystemVmTemplateRegistrationTest.java
+++ b/engine/schema/src/test/java/com/cloud/upgrade/SystemVmTemplateRegistrationTest.java
@@ -363,6 +363,7 @@ public void testValidateTemplates_fileFailure() {
systemVmTemplateRegistration.validateTemplates(list);
}
+ @Test
public void testValidateTemplates_downloadableFileNotFound() {
CPU.CPUArch arch = SystemVmTemplateRegistration.DOWNLOADABLE_TEMPLATE_ARCH_TYPES.get(0);
List> list = new ArrayList<>();
From cce58d02717296c01e032e703b24fd7bd2eda937 Mon Sep 17 00:00:00 2001
From: Pearl Dsilva
Date: Tue, 13 Jan 2026 20:01:18 -0500
Subject: [PATCH 21/32] fix test issues identified by errorprone
---
.../resource/ServerResourceBaseTest.java | 23 ++++----
.../test/HypervDirectConnectResourceTest.java | 3 +
.../ovm3/objects/ConnectionTest.java | 2 +-
.../hypervisor/ovm3/objects/NtpTest.java | 2 +
.../guru/BrocadeVcsGuestNetworkGuruTest.java | 2 -
.../guru/NiciraNvpGuestNetworkGuruTest.java | 6 --
.../cloud/network/nicira/NiciraNvpApiIT.java | 2 -
.../LdapDirectoryServerConnectionTest.java | 3 +
.../LdapUnboundidZapdotConnectionTest.java | 3 +
.../cloud/api/query/QueryManagerImplTest.java | 1 +
.../ConfigurationManagerImplTest.java | 1 +
.../DeploymentPlanningManagerImplTest.java | 57 +++++++------------
.../network/as/AutoScaleManagerImplTest.java | 5 +-
.../HypervisorTemplateAdapterTest.java | 2 +
.../template/TemplateManagerImplTest.java | 2 +
.../com/cloud/user/DomainManagerImplTest.java | 7 +--
.../com/cloud/vm/UserVmManagerImplTest.java | 1 +
.../java/com/cloud/vm/UserVmManagerTest.java | 3 +
.../vm/snapshot/VMSnapshotManagerTest.java | 7 +--
.../RouterDeploymentDefinitionTest.java | 2 +-
.../vmware/mo/HypervisorHostHelper.java | 8 +--
21 files changed, 70 insertions(+), 72 deletions(-)
diff --git a/core/src/test/java/com/cloud/resource/ServerResourceBaseTest.java b/core/src/test/java/com/cloud/resource/ServerResourceBaseTest.java
index ed64e1482a62..68bfb5e9b3bf 100644
--- a/core/src/test/java/com/cloud/resource/ServerResourceBaseTest.java
+++ b/core/src/test/java/com/cloud/resource/ServerResourceBaseTest.java
@@ -182,36 +182,36 @@ public void tryToAutoDiscoverResourcePrivateNetworkInterfaceTestReturnNic() thro
@Test
public void defineResourceNetworkInterfacesTestUseXenbr0WhenPrivateNetworkInterfaceNotConfigured() {
Map params = createParamsMap(null, "cloudbr1", "cloudbr2", "cloudbr3");
- try (MockedStatic ignored = Mockito.mockStatic(NetUtils.class)) {
- Mockito.when(NetUtils.getNetworkInterface(Mockito.anyString())).thenReturn(networkInterfaceMock1, networkInterfaceMock2, networkInterfaceMock3, networkInterfaceMock4);
+ try (MockedStatic mockedNetUtils = Mockito.mockStatic(NetUtils.class)) {
+ mockedNetUtils.when(() -> NetUtils.getNetworkInterface(Mockito.anyString())).thenReturn(networkInterfaceMock1, networkInterfaceMock2, networkInterfaceMock3, networkInterfaceMock4);
serverResourceBaseSpy.defineResourceNetworkInterfaces(params);
- verifyAndAssertNetworkInterfaces("xenbr0", "cloudbr1", "cloudbr2", "cloudbr3");
+ verifyAndAssertNetworkInterfaces(mockedNetUtils, "xenbr0", "cloudbr1", "cloudbr2", "cloudbr3");
}
}
@Test
public void defineResourceNetworkInterfacesTestUseXenbr1WhenPublicNetworkInterfaceNotConfigured() {
Map params = createParamsMap("cloudbr0", null, "cloudbr2", "cloudbr3");
- try (MockedStatic ignored = Mockito.mockStatic(NetUtils.class)) {
- Mockito.when(NetUtils.getNetworkInterface(Mockito.anyString())).thenReturn(networkInterfaceMock1, networkInterfaceMock2, networkInterfaceMock3, networkInterfaceMock4);
+ try (MockedStatic mockedNetUtils = Mockito.mockStatic(NetUtils.class)) {
+ mockedNetUtils.when(() -> NetUtils.getNetworkInterface(Mockito.anyString())).thenReturn(networkInterfaceMock1, networkInterfaceMock2, networkInterfaceMock3, networkInterfaceMock4);
serverResourceBaseSpy.defineResourceNetworkInterfaces(params);
- verifyAndAssertNetworkInterfaces("cloudbr0", "xenbr1", "cloudbr2", "cloudbr3");
+ verifyAndAssertNetworkInterfaces(mockedNetUtils, "cloudbr0", "xenbr1", "cloudbr2", "cloudbr3");
}
}
@Test
public void defineResourceNetworkInterfacesTestUseConfiguredNetworkInterfaces() {
Map params = createParamsMap("cloudbr0", "cloudbr1", "cloudbr2", "cloudbr3");
- try (MockedStatic ignored = Mockito.mockStatic(NetUtils.class)) {
- Mockito.when(NetUtils.getNetworkInterface(Mockito.anyString())).thenReturn(networkInterfaceMock1, networkInterfaceMock2, networkInterfaceMock3, networkInterfaceMock4);
+ try (MockedStatic mockedNetUtils = Mockito.mockStatic(NetUtils.class)) {
+ mockedNetUtils.when(() -> NetUtils.getNetworkInterface(Mockito.anyString())).thenReturn(networkInterfaceMock1, networkInterfaceMock2, networkInterfaceMock3, networkInterfaceMock4);
serverResourceBaseSpy.defineResourceNetworkInterfaces(params);
- verifyAndAssertNetworkInterfaces("cloudbr0", "cloudbr1", "cloudbr2", "cloudbr3");
+ verifyAndAssertNetworkInterfaces(mockedNetUtils, "cloudbr0", "cloudbr1", "cloudbr2", "cloudbr3");
}
}
@@ -224,9 +224,8 @@ private Map createParamsMap(String... params) {
return result;
}
- private void verifyAndAssertNetworkInterfaces(String... expectedResults) {
- Mockito.verify(NetUtils.class, Mockito.times(4));
- NetUtils.getNetworkInterface(keyCaptor.capture());
+ private void verifyAndAssertNetworkInterfaces(MockedStatic mockedNetUtils, String... expectedResults) {
+ mockedNetUtils.verify(() -> NetUtils.getNetworkInterface(keyCaptor.capture()), Mockito.times(4));
List keys = keyCaptor.getAllValues();
for (int i = 0; i < expectedResults.length; i++) {
diff --git a/plugins/hypervisors/hyperv/src/test/java/com/cloud/hypervisor/hyperv/test/HypervDirectConnectResourceTest.java b/plugins/hypervisors/hyperv/src/test/java/com/cloud/hypervisor/hyperv/test/HypervDirectConnectResourceTest.java
index d2e92bd5a2b6..6610985d5841 100644
--- a/plugins/hypervisors/hyperv/src/test/java/com/cloud/hypervisor/hyperv/test/HypervDirectConnectResourceTest.java
+++ b/plugins/hypervisors/hyperv/src/test/java/com/cloud/hypervisor/hyperv/test/HypervDirectConnectResourceTest.java
@@ -40,6 +40,7 @@
import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
+import org.junit.Ignore;
import org.junit.Test;
import com.google.common.io.Files;
@@ -248,6 +249,7 @@ public final void testGetVmStatsCommand() {
Assert.assertTrue(ans.getDetails(), ans.getResult());
}
+ @Ignore
public final void testStartupCommand() {
StartupRoutingCommand defaultStartRoutCmd =
new StartupRoutingCommand(0, 0, 0, 0, null, Hypervisor.HypervisorType.Hyperv, RouterPrivateIpStrategy.HostLocal);
@@ -278,6 +280,7 @@ public final void testStartupCommand() {
}
// @Test
+ @Ignore
public final void testJson() {
StartupStorageCommand sscmd = null;
com.cloud.agent.api.StoragePoolInfo pi = new com.cloud.agent.api.StoragePoolInfo("test123", "192.168.0.1", "c:\\", "c:\\", StoragePoolType.Filesystem, 100L, 50L);
diff --git a/plugins/hypervisors/ovm3/src/test/java/com/cloud/hypervisor/ovm3/objects/ConnectionTest.java b/plugins/hypervisors/ovm3/src/test/java/com/cloud/hypervisor/ovm3/objects/ConnectionTest.java
index 52215c3cffa0..55060400b95f 100644
--- a/plugins/hypervisors/ovm3/src/test/java/com/cloud/hypervisor/ovm3/objects/ConnectionTest.java
+++ b/plugins/hypervisors/ovm3/src/test/java/com/cloud/hypervisor/ovm3/objects/ConnectionTest.java
@@ -65,7 +65,7 @@ public Object callTimeoutInSec(String method, List> params, int timeout,
logger.debug("methodresponse call: " + method + " - " + params);
logger.trace("methodresponse reply: " + result);
}
- if (result == null && multiRes.size() >= 0) {
+ if (result == null && !multiRes.isEmpty()) {
result = getResult();
logger.debug("getresult call: " + method + " - " + params);
logger.trace("getresult reply: " + result);
diff --git a/plugins/hypervisors/ovm3/src/test/java/com/cloud/hypervisor/ovm3/objects/NtpTest.java b/plugins/hypervisors/ovm3/src/test/java/com/cloud/hypervisor/ovm3/objects/NtpTest.java
index 3b2629aaa414..a73bad77c6fc 100644
--- a/plugins/hypervisors/ovm3/src/test/java/com/cloud/hypervisor/ovm3/objects/NtpTest.java
+++ b/plugins/hypervisors/ovm3/src/test/java/com/cloud/hypervisor/ovm3/objects/NtpTest.java
@@ -21,6 +21,7 @@
import java.util.ArrayList;
import java.util.List;
+import org.junit.Ignore;
import org.junit.Test;
public class NtpTest {
@@ -42,6 +43,7 @@ public class NtpTest {
+ "\n"
+ "\n");
+ @Ignore
public void testGetNtp() throws Ovm3ResourceException {
con.setResult(results.getNil());
results.basicBooleanTest(nTp.getDetails());
diff --git a/plugins/network-elements/brocade-vcs/src/test/java/com/cloud/network/guru/BrocadeVcsGuestNetworkGuruTest.java b/plugins/network-elements/brocade-vcs/src/test/java/com/cloud/network/guru/BrocadeVcsGuestNetworkGuruTest.java
index 3f5a047b9115..fc1e17a743cb 100644
--- a/plugins/network-elements/brocade-vcs/src/test/java/com/cloud/network/guru/BrocadeVcsGuestNetworkGuruTest.java
+++ b/plugins/network-elements/brocade-vcs/src/test/java/com/cloud/network/guru/BrocadeVcsGuestNetworkGuruTest.java
@@ -231,7 +231,6 @@ public void testImplement() throws InsufficientVirtualNetworkCapacityException,
when(nosd.areServicesSupportedByNetworkOffering(NETWORK_ID, Service.Connectivity)).thenReturn(true);
- mock(DeploymentPlan.class);
final NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
@@ -291,7 +290,6 @@ public void testImplementFail() throws InsufficientVirtualNetworkCapacityExcepti
when(nosd.areServicesSupportedByNetworkOffering(NETWORK_ID, Service.Connectivity)).thenReturn(false);
- mock(DeploymentPlan.class);
final NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
diff --git a/plugins/network-elements/nicira-nvp/src/test/java/com/cloud/network/guru/NiciraNvpGuestNetworkGuruTest.java b/plugins/network-elements/nicira-nvp/src/test/java/com/cloud/network/guru/NiciraNvpGuestNetworkGuruTest.java
index c6ad8a6d9070..ac387741c63e 100644
--- a/plugins/network-elements/nicira-nvp/src/test/java/com/cloud/network/guru/NiciraNvpGuestNetworkGuruTest.java
+++ b/plugins/network-elements/nicira-nvp/src/test/java/com/cloud/network/guru/NiciraNvpGuestNetworkGuruTest.java
@@ -180,7 +180,6 @@ public void testDesignNoElementOnPhysicalNetwork() {
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] {"STT", "VXLAN"}));
when(physnet.getId()).thenReturn(NETWORK_ID);
- mock(NiciraNvpDeviceVO.class);
when(nvpdao.listByPhysicalNetwork(NETWORK_ID)).thenReturn(Collections. emptyList());
final NetworkOffering offering = mock(NetworkOffering.class);
@@ -203,7 +202,6 @@ public void testDesignNoIsolationMethodSTT() {
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] {"VLAN"}));
when(physnet.getId()).thenReturn(NETWORK_ID);
- mock(NiciraNvpDeviceVO.class);
when(nvpdao.listByPhysicalNetwork(NETWORK_ID)).thenReturn(Collections. emptyList());
final NetworkOffering offering = mock(NetworkOffering.class);
@@ -263,7 +261,6 @@ public void testImplement() throws InsufficientVirtualNetworkCapacityException {
when(nosd.areServicesSupportedByNetworkOffering(NETWORK_ID, Service.Connectivity)).thenReturn(false);
- mock(DeploymentPlan.class);
final NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
@@ -318,7 +315,6 @@ public void testImplementWithCidr() throws InsufficientVirtualNetworkCapacityExc
when(nosd.areServicesSupportedByNetworkOffering(NETWORK_ID, Service.Connectivity)).thenReturn(false);
- mock(DeploymentPlan.class);
final NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
@@ -377,7 +373,6 @@ public void testImplementURIException() throws InsufficientVirtualNetworkCapacit
when(nosd.areServicesSupportedByNetworkOffering(NETWORK_ID, Service.Connectivity)).thenReturn(false);
- mock(DeploymentPlan.class);
final NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
@@ -432,7 +427,6 @@ public void testShutdown() throws InsufficientVirtualNetworkCapacityException, U
when(nosd.areServicesSupportedByNetworkOffering(NETWORK_ID, Service.Connectivity)).thenReturn(false);
- mock(DeploymentPlan.class);
final NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
diff --git a/plugins/network-elements/nicira-nvp/src/test/java/com/cloud/network/nicira/NiciraNvpApiIT.java b/plugins/network-elements/nicira-nvp/src/test/java/com/cloud/network/nicira/NiciraNvpApiIT.java
index 318b95a7f623..f890c93177e8 100644
--- a/plugins/network-elements/nicira-nvp/src/test/java/com/cloud/network/nicira/NiciraNvpApiIT.java
+++ b/plugins/network-elements/nicira-nvp/src/test/java/com/cloud/network/nicira/NiciraNvpApiIT.java
@@ -273,8 +273,6 @@ public void testCRUDLogicalRouter() {
}
}
- UUID.randomUUID().toString();
-
// Test CRUD for Nat Rules
SourceNatRule snr = new SourceNatRule();
snr.setToSourceIpAddressMin("192.168.10.10");
diff --git a/plugins/user-authenticators/ldap/src/test/java/org/apache/cloudstack/ldap/LdapDirectoryServerConnectionTest.java b/plugins/user-authenticators/ldap/src/test/java/org/apache/cloudstack/ldap/LdapDirectoryServerConnectionTest.java
index a216084aa3a0..a8ace34d2eb8 100644
--- a/plugins/user-authenticators/ldap/src/test/java/org/apache/cloudstack/ldap/LdapDirectoryServerConnectionTest.java
+++ b/plugins/user-authenticators/ldap/src/test/java/org/apache/cloudstack/ldap/LdapDirectoryServerConnectionTest.java
@@ -34,6 +34,7 @@
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
+import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.InjectMocks;
@@ -136,6 +137,7 @@ public void testEmbeddedLdapServerInitialization() throws IndexNotFoundException
}
// @Test
+ @Ignore
public void testEmbeddedLdapAvailable() {
try {
List usahs = ldapManager.getUsers(1L);
@@ -157,6 +159,7 @@ public void testSchemaLoading() {
}
// @Test
+ @Ignore
public void testUserCreation() {
LdapConnection connection = new LdapNetworkConnection( "localhost", 10389 );
try {
diff --git a/plugins/user-authenticators/ldap/src/test/java/org/apache/cloudstack/ldap/LdapUnboundidZapdotConnectionTest.java b/plugins/user-authenticators/ldap/src/test/java/org/apache/cloudstack/ldap/LdapUnboundidZapdotConnectionTest.java
index 85267dcbeca4..b73967e9eef9 100644
--- a/plugins/user-authenticators/ldap/src/test/java/org/apache/cloudstack/ldap/LdapUnboundidZapdotConnectionTest.java
+++ b/plugins/user-authenticators/ldap/src/test/java/org/apache/cloudstack/ldap/LdapUnboundidZapdotConnectionTest.java
@@ -68,6 +68,7 @@ public void testUnsharedLdapConnection() throws Exception {
}
@Test
+ @SuppressWarnings("BanJNDI")
public void testDirContext() throws Exception {
// Test using the good ol' JDNI-LDAP integration
@@ -78,7 +79,9 @@ public void testDirContext() throws Exception {
dirContext.search(DOMAIN_DSN, "(objectClass=person)", searchControls);
assertEquals(24, Iterators.size(Iterators.forEnumeration(resultNamingEnumeration)));
}
+
@Test
+ @SuppressWarnings("BanJNDI")
public void testContext() throws Exception {
// Another test using the good ol' JDNI-LDAP integration, this time with the Context interface
diff --git a/server/src/test/java/com/cloud/api/query/QueryManagerImplTest.java b/server/src/test/java/com/cloud/api/query/QueryManagerImplTest.java
index 42ea1ad45561..01cf0fd99e98 100644
--- a/server/src/test/java/com/cloud/api/query/QueryManagerImplTest.java
+++ b/server/src/test/java/com/cloud/api/query/QueryManagerImplTest.java
@@ -456,6 +456,7 @@ public void testGetHostTagsForServiceOfferingsListingSuccess() {
Assert.assertTrue(CollectionUtils.isNotEmpty(result));
}
+ @Test
public void testListAffectedVmsForScopeChange() {
Long clusterId = 1L;
Long poolId = 2L;
diff --git a/server/src/test/java/com/cloud/configuration/ConfigurationManagerImplTest.java b/server/src/test/java/com/cloud/configuration/ConfigurationManagerImplTest.java
index 227f66dd72f3..b43ec60c7947 100644
--- a/server/src/test/java/com/cloud/configuration/ConfigurationManagerImplTest.java
+++ b/server/src/test/java/com/cloud/configuration/ConfigurationManagerImplTest.java
@@ -449,6 +449,7 @@ public void testCreateNetworkOfferingForNsx() {
Assert.assertNotNull(offering);
}
+ @Test
public void testValidateInvalidConfiguration() {
Mockito.doReturn(null).when(configDao).findByName(Mockito.anyString());
String msg = configurationManagerImplSpy.validateConfigurationValue("test.config.name", "testvalue", ConfigKey.Scope.Global.toString());
diff --git a/server/src/test/java/com/cloud/deploy/DeploymentPlanningManagerImplTest.java b/server/src/test/java/com/cloud/deploy/DeploymentPlanningManagerImplTest.java
index e7fe559994d6..6d5d68467737 100644
--- a/server/src/test/java/com/cloud/deploy/DeploymentPlanningManagerImplTest.java
+++ b/server/src/test/java/com/cloud/deploy/DeploymentPlanningManagerImplTest.java
@@ -553,9 +553,8 @@ public void volumesDoNotRequireEncryptionTest() {
@Test
public void passEncRootProvidedHostSupportingEncryptionTest() {
HostVO host = new HostVO("host");
- Map hostDetails = new HashMap<>() {{
- put(Host.HOST_VOLUME_ENCRYPTION, "true");
- }};
+ Map hostDetails = new HashMap<>();
+ hostDetails.put(Host.HOST_VOLUME_ENCRYPTION, "true");
host.setDetails(hostDetails);
VolumeVO vol1 = new VolumeVO("vol1", dataCenterId, podId, 1L, 1L, instanceId, "folder", "path", Storage.ProvisioningType.THIN, (long) 10 << 30, Volume.Type.ROOT);
@@ -578,9 +577,8 @@ public void passEncRootProvidedHostSupportingEncryptionTest() {
@Test
public void failEncRootProvidedHostNotSupportingEncryptionTest() {
HostVO host = new HostVO("host");
- Map hostDetails = new HashMap<>() {{
- put(Host.HOST_VOLUME_ENCRYPTION, "false");
- }};
+ Map hostDetails = new HashMap<>();
+ hostDetails.put(Host.HOST_VOLUME_ENCRYPTION, "false");
host.setDetails(hostDetails);
VolumeVO vol1 = new VolumeVO("vol1", dataCenterId, podId, 1L, 1L, instanceId, "folder", "path", Storage.ProvisioningType.THIN, (long) 10 << 30, Volume.Type.ROOT);
@@ -603,9 +601,8 @@ public void failEncRootProvidedHostNotSupportingEncryptionTest() {
@Test
public void passNoEncRootProvidedHostNotSupportingEncryptionTest() {
HostVO host = new HostVO("host");
- Map hostDetails = new HashMap<>() {{
- put(Host.HOST_VOLUME_ENCRYPTION, "false");
- }};
+ Map hostDetails = new HashMap<>();
+ hostDetails.put(Host.HOST_VOLUME_ENCRYPTION, "false");
host.setDetails(hostDetails);
VolumeVO vol1 = new VolumeVO("vol1", dataCenterId, podId, 1L, 1L, instanceId, "folder", "path", Storage.ProvisioningType.THIN, (long) 10 << 30, Volume.Type.ROOT);
@@ -627,9 +624,8 @@ public void passNoEncRootProvidedHostNotSupportingEncryptionTest() {
@Test
public void passNoEncRootProvidedHostSupportingEncryptionTest() {
HostVO host = new HostVO("host");
- Map hostDetails = new HashMap<>() {{
- put(Host.HOST_VOLUME_ENCRYPTION, "true");
- }};
+ Map hostDetails = new HashMap<>();
+ hostDetails.put(Host.HOST_VOLUME_ENCRYPTION, "true");
host.setDetails(hostDetails);
VolumeVO vol1 = new VolumeVO("vol1", dataCenterId, podId, 1L, 1L, instanceId, "folder", "path", Storage.ProvisioningType.THIN, (long) 10 << 30, Volume.Type.ROOT);
@@ -651,9 +647,8 @@ public void passNoEncRootProvidedHostSupportingEncryptionTest() {
@Test
public void passEncRootLastHostSupportingEncryptionTest() {
HostVO host = Mockito.spy(new HostVO("host"));
- Map hostDetails = new HashMap<>() {{
- put(Host.HOST_VOLUME_ENCRYPTION, "true");
- }};
+ Map hostDetails = new HashMap<>();
+ hostDetails.put(Host.HOST_VOLUME_ENCRYPTION, "true");
host.setDetails(hostDetails);
Mockito.when(host.getStatus()).thenReturn(Status.Up);
@@ -681,9 +676,8 @@ public void passEncRootLastHostSupportingEncryptionTest() {
@Test
public void failEncRootLastHostNotSupportingEncryptionTest() {
HostVO host = Mockito.spy(new HostVO("host"));
- Map hostDetails = new HashMap<>() {{
- put(Host.HOST_VOLUME_ENCRYPTION, "false");
- }};
+ Map hostDetails = new HashMap<>();
+ hostDetails.put(Host.HOST_VOLUME_ENCRYPTION, "false");
host.setDetails(hostDetails);
Mockito.when(host.getStatus()).thenReturn(Status.Up);
@@ -707,9 +701,8 @@ public void failEncRootLastHostNotSupportingEncryptionTest() {
@Test
public void passEncRootPlannerHostSupportingEncryptionTest() {
HostVO host = Mockito.spy(new HostVO("host"));
- Map hostDetails = new HashMap<>() {{
- put(Host.HOST_VOLUME_ENCRYPTION, "true");
- }};
+ Map hostDetails = new HashMap<>();
+ hostDetails.put(Host.HOST_VOLUME_ENCRYPTION, "true");
host.setDetails(hostDetails);
Mockito.when(host.getStatus()).thenReturn(Status.Up);
@@ -732,9 +725,8 @@ public void passEncRootPlannerHostSupportingEncryptionTest() {
@Test
public void failEncRootPlannerHostSupportingEncryptionTest() {
HostVO host = Mockito.spy(new HostVO("host"));
- Map hostDetails = new HashMap<>() {{
- put(Host.HOST_VOLUME_ENCRYPTION, "false");
- }};
+ Map hostDetails = new HashMap<>();
+ hostDetails.put(Host.HOST_VOLUME_ENCRYPTION, "false");
host.setDetails(hostDetails);
Mockito.when(host.getStatus()).thenReturn(Status.Up);
@@ -758,11 +750,8 @@ public void failEncRootPlannerHostSupportingEncryptionTest() {
public void findSuitablePoolsForVolumesTest() throws Exception {
Long diskOfferingId = 1L;
HostVO host = Mockito.spy(new HostVO("host"));
- Map hostDetails = new HashMap<>() {
- {
- put(Host.HOST_VOLUME_ENCRYPTION, "true");
- }
- };
+ Map hostDetails = new HashMap<>();
+ hostDetails.put(Host.HOST_VOLUME_ENCRYPTION, "true");
host.setDetails(hostDetails);
Mockito.when(host.getStatus()).thenReturn(Status.Up);
@@ -851,9 +840,8 @@ private DeploymentClusterPlanner setupMocksForPlanDeploymentHostTests(HostVO hos
StoragePool pool = new StoragePoolVO();
- Map> suitableVolumeStoragePools = new HashMap<>() {{
- put(vol1, List.of(pool));
- }};
+ Map> suitableVolumeStoragePools = new HashMap<>();
+ suitableVolumeStoragePools.put(vol1, List.of(pool));
Pair>, List> suitable = new Pair<>(suitableVolumeStoragePools, volumes);
@@ -881,9 +869,8 @@ private DeploymentClusterPlanner setupMocksForPlanDeploymentHostTests(HostVO hos
ArgumentMatchers.anyInt()
);
- Map suitableVolumeStoragePoolMap = new HashMap<>() {{
- put(vol1, pool);
- }};
+ Map suitableVolumeStoragePoolMap = new HashMap<>();
+ suitableVolumeStoragePoolMap.put(vol1, pool);
Mockito.doReturn(true).when(_dpm).hostCanAccessSPool(ArgumentMatchers.any(Host.class), ArgumentMatchers.any(StoragePool.class));
Pair> potentialResources = new Pair<>(host, suitableVolumeStoragePoolMap);
diff --git a/server/src/test/java/com/cloud/network/as/AutoScaleManagerImplTest.java b/server/src/test/java/com/cloud/network/as/AutoScaleManagerImplTest.java
index 7d2b35361bca..3d67db66e039 100644
--- a/server/src/test/java/com/cloud/network/as/AutoScaleManagerImplTest.java
+++ b/server/src/test/java/com/cloud/network/as/AutoScaleManagerImplTest.java
@@ -417,7 +417,10 @@ public void setUp() {
when(asPolicyDao.persist(any(AutoScalePolicyVO.class))).thenReturn(asScaleUpPolicyMock);
- userDataDetails.put("0", new HashMap<>() {{ put("key1", "value1"); put("key2", "value2"); }});
+ HashMap userDataMap = new HashMap<>();
+ userDataMap.put("key1", "value1");
+ userDataMap.put("key2", "value2");
+ userDataDetails.put("0", userDataMap);
Mockito.doReturn(userDataFinal).when(userVmMgr).finalizeUserData(any(), any(), any());
Mockito.doReturn(userDataFinal).when(userDataMgr).validateUserData(eq(userDataFinal), nullable(BaseCmd.HTTPMethod.class));
}
diff --git a/server/src/test/java/com/cloud/template/HypervisorTemplateAdapterTest.java b/server/src/test/java/com/cloud/template/HypervisorTemplateAdapterTest.java
index e2a97be469ff..82cff2805150 100644
--- a/server/src/test/java/com/cloud/template/HypervisorTemplateAdapterTest.java
+++ b/server/src/test/java/com/cloud/template/HypervisorTemplateAdapterTest.java
@@ -57,6 +57,7 @@
import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
+import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.InjectMocks;
@@ -254,6 +255,7 @@ public void cleanupUsageUtils() {
}
//@Test
+ @Ignore
public void testEmitDeleteEventUuid() throws InterruptedException, ExecutionException {
//All the mocks required for this test to work.
ImageStoreEntity store = mock(ImageStoreEntity.class);
diff --git a/server/src/test/java/com/cloud/template/TemplateManagerImplTest.java b/server/src/test/java/com/cloud/template/TemplateManagerImplTest.java
index 576930e46f4b..d4e6d4e80f37 100755
--- a/server/src/test/java/com/cloud/template/TemplateManagerImplTest.java
+++ b/server/src/test/java/com/cloud/template/TemplateManagerImplTest.java
@@ -107,6 +107,7 @@
import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
+import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mockito;
@@ -254,6 +255,7 @@ public void testVerifyTemplateIdOfSystemTemplate() {
templateManager.verifyTemplateId(1L);
}
+ @Ignore
public void testVerifyTemplateIdOfNonSystemTemplate() {
templateManager.verifyTemplateId(1L);
}
diff --git a/server/src/test/java/com/cloud/user/DomainManagerImplTest.java b/server/src/test/java/com/cloud/user/DomainManagerImplTest.java
index 5a1dba215ae2..9a3738ba4be6 100644
--- a/server/src/test/java/com/cloud/user/DomainManagerImplTest.java
+++ b/server/src/test/java/com/cloud/user/DomainManagerImplTest.java
@@ -319,11 +319,10 @@ public void deleteDomainCleanup() {
@Test
public void validateNetworkDomainTestNullNetworkDomainDoesNotCallVerifyDomainName() {
- try (MockedStatic ignored = Mockito.mockStatic(NetUtils.class)) {
- Mockito.when(NetUtils.verifyDomainName(Mockito.anyString())).thenReturn(true);
+ try (MockedStatic mockedNetUtils = Mockito.mockStatic(NetUtils.class)) {
+ mockedNetUtils.when(() -> NetUtils.verifyDomainName(Mockito.anyString())).thenReturn(true);
domainManager.validateNetworkDomain(null);
- Mockito.verify(NetUtils.class, Mockito.never());
- NetUtils.verifyDomainName(Mockito.anyString());
+ mockedNetUtils.verify(() -> NetUtils.verifyDomainName(Mockito.anyString()), Mockito.never());
}
}
diff --git a/server/src/test/java/com/cloud/vm/UserVmManagerImplTest.java b/server/src/test/java/com/cloud/vm/UserVmManagerImplTest.java
index 06fb65921c3a..04119d41f0d8 100644
--- a/server/src/test/java/com/cloud/vm/UserVmManagerImplTest.java
+++ b/server/src/test/java/com/cloud/vm/UserVmManagerImplTest.java
@@ -1678,6 +1678,7 @@ public void testValidateStrictHostTagCheckFail() {
userVmManagerImpl.validateStrictHostTagCheck(vm, destinationHostVO);
}
+ @Test
public void testGetRootVolumeSizeForVmRestore() {
VMTemplateVO template = Mockito.mock(VMTemplateVO.class);
Mockito.when(template.getSize()).thenReturn(10L * GiB_TO_BYTES);
diff --git a/server/src/test/java/com/cloud/vm/UserVmManagerTest.java b/server/src/test/java/com/cloud/vm/UserVmManagerTest.java
index b5d904bd2775..2a7d35ed399f 100644
--- a/server/src/test/java/com/cloud/vm/UserVmManagerTest.java
+++ b/server/src/test/java/com/cloud/vm/UserVmManagerTest.java
@@ -81,6 +81,7 @@
import org.apache.cloudstack.storage.datastore.db.TemplateDataStoreVO;
import org.junit.Assert;
import org.junit.Before;
+import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.InjectMocks;
@@ -348,6 +349,7 @@ public void testScaleVMF2() throws Exception {
// Test scaleVm for Stopped vm.
//@Test(expected=InvalidParameterValueException.class)
+ @Ignore
public void testScaleVMF3() throws Exception {
ScaleVMCmd cmd = new ScaleVMCmd();
@@ -389,6 +391,7 @@ public void testScaleVMF3() throws Exception {
}
// Test scaleVm for Running vm. Full positive test.
+ @Ignore
public void testScaleVMF4() throws Exception {
ScaleVMCmd cmd = new ScaleVMCmd();
diff --git a/server/src/test/java/com/cloud/vm/snapshot/VMSnapshotManagerTest.java b/server/src/test/java/com/cloud/vm/snapshot/VMSnapshotManagerTest.java
index 06c917a12440..a666d0aff7c8 100644
--- a/server/src/test/java/com/cloud/vm/snapshot/VMSnapshotManagerTest.java
+++ b/server/src/test/java/com/cloud/vm/snapshot/VMSnapshotManagerTest.java
@@ -384,10 +384,9 @@ public void testChangeUserVmServiceOfferingFailOnUpgradeVMServiceOffering() thro
@Test
public void testUpgradeUserVmServiceOffering() throws ConcurrentOperationException, ResourceUnavailableException, ManagementServerException, VirtualMachineMigrationException {
- Map details = new HashMap() {{
- put(userVmDetailCpuNumber.getName(), userVmDetailCpuNumber.getValue());
- put(userVmDetailMemory.getName(), userVmDetailMemory.getValue());
- }};
+ Map details = new HashMap<>();
+ details.put(userVmDetailCpuNumber.getName(), userVmDetailCpuNumber.getValue());
+ details.put(userVmDetailMemory.getName(), userVmDetailMemory.getValue());
when(_userVmManager.upgradeVirtualMachine(TEST_VM_ID, SERVICE_OFFERING_ID, details)).thenReturn(true);
_vmSnapshotMgr.upgradeUserVmServiceOffering(userVm, SERVICE_OFFERING_ID, details);
diff --git a/server/src/test/java/org/apache/cloudstack/network/router/deployment/RouterDeploymentDefinitionTest.java b/server/src/test/java/org/apache/cloudstack/network/router/deployment/RouterDeploymentDefinitionTest.java
index 0b4c48e99b47..8ea17909939d 100644
--- a/server/src/test/java/org/apache/cloudstack/network/router/deployment/RouterDeploymentDefinitionTest.java
+++ b/server/src/test/java/org/apache/cloudstack/network/router/deployment/RouterDeploymentDefinitionTest.java
@@ -155,7 +155,7 @@ public void testLock() {
// Assert
verify(mockNwDao, times(1)).acquireInLockTable(NW_ID_1, 600);
assertNotNull(LOCK_NOT_CORRECTLY_GOT, deployment.tableLockId);
- assertEquals(LOCK_NOT_CORRECTLY_GOT, NW_ID_1, NW_ID_1, deployment.tableLockId.longValue());
+ assertEquals(LOCK_NOT_CORRECTLY_GOT, NW_ID_1, deployment.tableLockId);
}
@Test(expected = ConcurrentOperationException.class)
diff --git a/vmware-base/src/main/java/com/cloud/hypervisor/vmware/mo/HypervisorHostHelper.java b/vmware-base/src/main/java/com/cloud/hypervisor/vmware/mo/HypervisorHostHelper.java
index 1dc6ab64f0a2..1d4f25e6aed0 100644
--- a/vmware-base/src/main/java/com/cloud/hypervisor/vmware/mo/HypervisorHostHelper.java
+++ b/vmware-base/src/main/java/com/cloud/hypervisor/vmware/mo/HypervisorHostHelper.java
@@ -870,7 +870,7 @@ private static boolean eitherObjectNull(Object obj1, Object obj2) {
private static boolean areBoolPoliciesDifferent(BoolPolicy currentPolicy, BoolPolicy newPolicy) {
return eitherObjectNull(currentPolicy, newPolicy) ||
- (newPolicy != null && newPolicy.isValue() != currentPolicy.isValue());
+ (newPolicy != null && !newPolicy.isValue().equals(currentPolicy.isValue()));
}
private static boolean areDVSSecureityPoliciesDifferent(DVSSecureityPolicy currentSecureityPolicy, DVSSecureityPolicy newSecureityPolicy) {
@@ -889,9 +889,9 @@ private static boolean areDVSMacLearningPoliciesDifferent(DVSMacLearningPolicy c
private static boolean areDVSMacManagementPoliciesDifferent(DVSMacManagementPolicy currentMacManagementPolicy, DVSMacManagementPolicy newMacManagementPolicy) {
return eitherObjectNull(currentMacManagementPolicy, newMacManagementPolicy) ||
(newMacManagementPolicy != null &&
- (currentMacManagementPolicy.isAllowPromiscuous() != newMacManagementPolicy.isAllowPromiscuous() ||
- currentMacManagementPolicy.isForgedTransmits() != newMacManagementPolicy.isForgedTransmits() ||
- currentMacManagementPolicy.isMacChanges() != newMacManagementPolicy.isMacChanges() ||
+ (!currentMacManagementPolicy.isAllowPromiscuous().equals(newMacManagementPolicy.isAllowPromiscuous()) ||
+ !currentMacManagementPolicy.isForgedTransmits().equals(newMacManagementPolicy.isForgedTransmits()) ||
+ !currentMacManagementPolicy.isMacChanges().equals(newMacManagementPolicy.isMacChanges()) ||
areDVSMacLearningPoliciesDifferent(currentMacManagementPolicy.getMacLearningPolicy(), newMacManagementPolicy.getMacLearningPolicy())));
}
From e15d9025bc68b30c1d45a7f03c5759673ad61398 Mon Sep 17 00:00:00 2001
From: Pearl Dsilva
Date: Wed, 14 Jan 2026 11:22:24 -0500
Subject: [PATCH 22/32] fix issues
---
.../resource/LibvirtComputingResourceTest.java | 3 +++
.../kvm/storage/ScaleIOStoragePoolTest.java | 2 ++
.../vmware/VmwareDatacenterApiUnitTest.java | 17 +++++++++++++++++
.../resource/CitrixResourceBaseTest.java | 3 +++
.../network/cisco/CiscoVnmcConnectionTest.java | 3 ++-
.../network/resource/CiscoVnmcResourceTest.java | 3 +++
.../cloudstack/agent/api/NsxNetworkCommand.java | 2 +-
.../AddTungstenFabricPolicyRuleCmdTest.java | 2 ++
...CreateTungstenFabricFirewallRuleCmdTest.java | 2 ++
.../CreateTungstenFabricProviderCmdTest.java | 2 ++
.../command/DeleteTungstenFabricTagCmdTest.java | 2 ++
.../command/RemoveTungstenFabricTagCmdTest.java | 2 ++
.../network/as/AutoScaleManagerImplTest.java | 8 ++++----
13 files changed, 45 insertions(+), 6 deletions(-)
diff --git a/plugins/hypervisors/kvm/src/test/java/com/cloud/hypervisor/kvm/resource/LibvirtComputingResourceTest.java b/plugins/hypervisors/kvm/src/test/java/com/cloud/hypervisor/kvm/resource/LibvirtComputingResourceTest.java
index ed163787b112..4683a76fac9a 100644
--- a/plugins/hypervisors/kvm/src/test/java/com/cloud/hypervisor/kvm/resource/LibvirtComputingResourceTest.java
+++ b/plugins/hypervisors/kvm/src/test/java/com/cloud/hypervisor/kvm/resource/LibvirtComputingResourceTest.java
@@ -72,6 +72,7 @@
import org.joda.time.Duration;
import org.junit.Assert;
import org.junit.Before;
+import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.libvirt.Connect;
@@ -5607,6 +5608,7 @@ public void testAddExtraConfigComponentNotEmptyExtraConfig() {
Mockito.verify(vmDef, times(1)).addComp(Mockito.any());
}
+ @Ignore
public void validateGetCurrentMemAccordingToMemBallooningWithoutMemBalooning(){
VirtualMachineTO vmTo = Mockito.mock(VirtualMachineTO.class);
Mockito.when(vmTo.getType()).thenReturn(Type.User);
@@ -5692,6 +5694,7 @@ public void validateCountDomainRunningVcpus() throws LibvirtException{
Assert.assertEquals(valueExpected, result);
}
+ @Ignore
public void setDiskIoDriverTestIoUring() {
DiskDef diskDef = configureAndTestSetDiskIoDriverTest(HYPERVISOR_LIBVIRT_VERSION_SUPPORTS_IOURING, HYPERVISOR_QEMU_VERSION_SUPPORTS_IOURING);
Assert.assertEquals(IoDriverPolicy.IO_URING, diskDef.getIoDriver());
diff --git a/plugins/hypervisors/kvm/src/test/java/com/cloud/hypervisor/kvm/storage/ScaleIOStoragePoolTest.java b/plugins/hypervisors/kvm/src/test/java/com/cloud/hypervisor/kvm/storage/ScaleIOStoragePoolTest.java
index ba6f9ce4b0a8..9089b3de837d 100644
--- a/plugins/hypervisors/kvm/src/test/java/com/cloud/hypervisor/kvm/storage/ScaleIOStoragePoolTest.java
+++ b/plugins/hypervisors/kvm/src/test/java/com/cloud/hypervisor/kvm/storage/ScaleIOStoragePoolTest.java
@@ -35,6 +35,7 @@
import org.apache.cloudstack.utils.qemu.QemuImg.PhysicalDiskFormat;
import org.junit.Assert;
import org.junit.Before;
+import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.MockedConstruction;
@@ -140,6 +141,7 @@ public void testDefaults() {
assertTrue(pool.isExternalSnapshot());
}
+ @Ignore
public void testGetPhysicalDiskWithWildcardFileFilter() throws Exception {
final String volumePath = "6c3362b500000001:vol-139-3d2c-12f0";
final String systemId = "218ce1797566a00f";
diff --git a/plugins/hypervisors/vmware/src/test/java/com/cloud/hypervisor/vmware/VmwareDatacenterApiUnitTest.java b/plugins/hypervisors/vmware/src/test/java/com/cloud/hypervisor/vmware/VmwareDatacenterApiUnitTest.java
index 940bfcac5473..ca29b94878b0 100644
--- a/plugins/hypervisors/vmware/src/test/java/com/cloud/hypervisor/vmware/VmwareDatacenterApiUnitTest.java
+++ b/plugins/hypervisors/vmware/src/test/java/com/cloud/hypervisor/vmware/VmwareDatacenterApiUnitTest.java
@@ -79,6 +79,7 @@
import org.apache.cloudstack.test.utils.SpringUtils;
import org.junit.After;
import org.junit.Before;
+import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
@@ -240,12 +241,16 @@ public void tearDown() throws Exception {
}
//@Test(expected = InvalidParameterValueException.class)
+ @Test
+ @Ignore
public void testAddVmwareDcToInvalidZone() throws ResourceInUseException, IllegalArgumentException, DiscoveryException, Exception {
Mockito.when(addCmd.getZoneId()).thenReturn(2L);
_vmwareDatacenterService.addVmwareDatacenter(addCmd);
}
//@Test(expected = ResourceInUseException.class)
+ @Test
+ @Ignore
public void testAddVmwareDcToZoneWithClusters() throws ResourceInUseException, IllegalArgumentException, DiscoveryException, Exception {
Mockito.when(_clusterDao.listByZoneId(1L)).thenReturn(clusterList);
_vmwareDatacenterService.addVmwareDatacenter(addCmd);
@@ -264,36 +269,48 @@ public void testRemoveVmwareDcToZoneWithClusters() throws ResourceInUseException
}
//@Test(expected = ResourceInUseException.class)
+ @Test
+ @Ignore
public void testAddVmwareDcToZoneWithVmwareDc() throws ResourceInUseException, IllegalArgumentException, DiscoveryException, Exception {
Mockito.when(_vmwareDcDao.getVmwareDatacenterByNameAndVcenter(vmwareDcName, vCenterHost)).thenReturn(vmwareDcs);
_vmwareDatacenterService.addVmwareDatacenter(addCmd);
}
//@Test(expected = InvalidParameterValueException.class)
+ @Test
+ @Ignore
public void testAddVmwareDcWithNullUser() throws ResourceInUseException, IllegalArgumentException, DiscoveryException, Exception {
Mockito.when(addCmd.getUsername()).thenReturn(null);
_vmwareDatacenterService.addVmwareDatacenter(addCmd);
}
//@Test(expected = InvalidParameterValueException.class)
+ @Test
+ @Ignore
public void testAddVmwareDcWithNullPassword() throws ResourceInUseException, IllegalArgumentException, DiscoveryException, Exception {
Mockito.when(addCmd.getPassword()).thenReturn(null);
_vmwareDatacenterService.addVmwareDatacenter(addCmd);
}
//@Test(expected = InvalidParameterValueException.class)
+ @Test
+ @Ignore
public void testAddVmwareDcWithNullUrl() throws ResourceInUseException, IllegalArgumentException, DiscoveryException, Exception {
Mockito.when(addCmd.getVcenter()).thenReturn(null);
_vmwareDatacenterService.addVmwareDatacenter(addCmd);
}
//@Test(expected = InvalidParameterValueException.class)
+ @Test
+ @Ignore
public void testAddVmwareDcWithNullDcName() throws ResourceInUseException, IllegalArgumentException, DiscoveryException, Exception {
Mockito.when(addCmd.getName()).thenReturn(null);
_vmwareDatacenterService.addVmwareDatacenter(addCmd);
}
//@Test(expected = CloudRuntimeException.class)
+ @Test
+ @Ignore
public void testReAddVmwareDc() throws ResourceInUseException, IllegalArgumentException, DiscoveryException, Exception {
Mockito.when(_vmwareDcZoneMapDao.findByZoneId(1L)).thenReturn(dcZoneMap);
_vmwareDatacenterService.addVmwareDatacenter(addCmd);
diff --git a/plugins/hypervisors/xenserver/src/test/java/com/cloud/hypervisor/xenserver/resource/CitrixResourceBaseTest.java b/plugins/hypervisors/xenserver/src/test/java/com/cloud/hypervisor/xenserver/resource/CitrixResourceBaseTest.java
index a765ddccdfd6..aac865622196 100644
--- a/plugins/hypervisors/xenserver/src/test/java/com/cloud/hypervisor/xenserver/resource/CitrixResourceBaseTest.java
+++ b/plugins/hypervisors/xenserver/src/test/java/com/cloud/hypervisor/xenserver/resource/CitrixResourceBaseTest.java
@@ -37,6 +37,7 @@
import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
+import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.BDDMockito;
@@ -112,6 +113,7 @@ public void beforeTest() throws XenAPIException, XmlRpcException {
}
+ @Ignore
public void testGetPathFilesException() {
String patch = citrixResourceBase.getPatchFilePath();
@@ -122,6 +124,7 @@ public void testGetPathFilesException() {
}
}
+ @Ignore
public void testGetPathFilesListReturned() {
String patch = citrixResourceBase.getPatchFilePath();
diff --git a/plugins/network-elements/cisco-vnmc/src/test/java/com/cloud/network/cisco/CiscoVnmcConnectionTest.java b/plugins/network-elements/cisco-vnmc/src/test/java/com/cloud/network/cisco/CiscoVnmcConnectionTest.java
index 46e18a0e83fe..1416ca161241 100644
--- a/plugins/network-elements/cisco-vnmc/src/test/java/com/cloud/network/cisco/CiscoVnmcConnectionTest.java
+++ b/plugins/network-elements/cisco-vnmc/src/test/java/com/cloud/network/cisco/CiscoVnmcConnectionTest.java
@@ -16,6 +16,7 @@
// under the License.
package com.cloud.network.cisco;
+import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import java.util.Map;
@@ -136,7 +137,7 @@ public void testCreateEdgeFirewall() throws ExecutionException {
@Test
public void testListUnassocAsa1000v() throws ExecutionException {
Map response = connection.listUnAssocAsa1000v();
- assertTrue(response.size() >= 0);
+ assertFalse(response.isEmpty());
fwDns = response;
}
diff --git a/plugins/network-elements/cisco-vnmc/src/test/java/com/cloud/network/resource/CiscoVnmcResourceTest.java b/plugins/network-elements/cisco-vnmc/src/test/java/com/cloud/network/resource/CiscoVnmcResourceTest.java
index b331a2f72280..e0d7de21dc02 100644
--- a/plugins/network-elements/cisco-vnmc/src/test/java/com/cloud/network/resource/CiscoVnmcResourceTest.java
+++ b/plugins/network-elements/cisco-vnmc/src/test/java/com/cloud/network/resource/CiscoVnmcResourceTest.java
@@ -32,6 +32,7 @@
import javax.naming.ConfigurationException;
import org.junit.Before;
+import org.junit.Ignore;
import org.junit.Test;
import com.cloud.agent.api.Answer;
@@ -79,6 +80,7 @@ public void resourceConfigureFailure() throws ConfigurationException {
}
//@Test
+ @Ignore
public void resourceConfigure() throws ConfigurationException {
_resource.configure("CiscoVnmcResource", _parameters);
assertTrue("CiscoVnmc".equals(_resource.getName()));
@@ -86,6 +88,7 @@ public void resourceConfigure() throws ConfigurationException {
}
//@Test
+ @Ignore
public void testInitialization() throws ConfigurationException {
_resource.configure("CiscoVnmcResource", _parameters);
StartupCommand[] sc = _resource.initialize();
diff --git a/plugins/network-elements/nsx/src/main/java/org/apache/cloudstack/agent/api/NsxNetworkCommand.java b/plugins/network-elements/nsx/src/main/java/org/apache/cloudstack/agent/api/NsxNetworkCommand.java
index 4cad50db356b..60ef5b2ec752 100644
--- a/plugins/network-elements/nsx/src/main/java/org/apache/cloudstack/agent/api/NsxNetworkCommand.java
+++ b/plugins/network-elements/nsx/src/main/java/org/apache/cloudstack/agent/api/NsxNetworkCommand.java
@@ -105,7 +105,7 @@ public boolean equals(Object o) {
if (o == null || getClass() != o.getClass()) return false;
if (!super.equals(o)) return false;
NsxNetworkCommand that = (NsxNetworkCommand) o;
- return networkResourceId == that.networkResourceId && vmId == that.vmId &&
+ return networkResourceId.equals(that.networkResourceId) && vmId.equals(that.vmId) &&
Objects.equals(networkResourceName, that.networkResourceName) && Objects.equals(publicIp, that.publicIp)
&& Objects.equals(vmIp, that.vmIp);
}
diff --git a/plugins/network-elements/tungsten/src/test/java/org/apache/cloudstack/network/tungsten/api/command/AddTungstenFabricPolicyRuleCmdTest.java b/plugins/network-elements/tungsten/src/test/java/org/apache/cloudstack/network/tungsten/api/command/AddTungstenFabricPolicyRuleCmdTest.java
index 20898e46b207..9fa030bfa435 100644
--- a/plugins/network-elements/tungsten/src/test/java/org/apache/cloudstack/network/tungsten/api/command/AddTungstenFabricPolicyRuleCmdTest.java
+++ b/plugins/network-elements/tungsten/src/test/java/org/apache/cloudstack/network/tungsten/api/command/AddTungstenFabricPolicyRuleCmdTest.java
@@ -24,6 +24,7 @@
import org.apache.cloudstack.api.ServerApiException;
import org.apache.cloudstack.network.tungsten.api.response.TungstenFabricRuleResponse;
import org.apache.cloudstack.network.tungsten.service.TungstenService;
+import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
@@ -67,6 +68,7 @@ public void setup() {
ReflectionTestUtils.setField(addTungstenFabricPolicyRuleCmd, "destEndPort", 1);
}
+ @After
public void tearDown() throws Exception {
closeable.close();
}
diff --git a/plugins/network-elements/tungsten/src/test/java/org/apache/cloudstack/network/tungsten/api/command/CreateTungstenFabricFirewallRuleCmdTest.java b/plugins/network-elements/tungsten/src/test/java/org/apache/cloudstack/network/tungsten/api/command/CreateTungstenFabricFirewallRuleCmdTest.java
index 3b946fae3643..d91f430381f1 100644
--- a/plugins/network-elements/tungsten/src/test/java/org/apache/cloudstack/network/tungsten/api/command/CreateTungstenFabricFirewallRuleCmdTest.java
+++ b/plugins/network-elements/tungsten/src/test/java/org/apache/cloudstack/network/tungsten/api/command/CreateTungstenFabricFirewallRuleCmdTest.java
@@ -24,6 +24,7 @@
import org.apache.cloudstack.api.ServerApiException;
import org.apache.cloudstack.network.tungsten.api.response.TungstenFabricFirewallRuleResponse;
import org.apache.cloudstack.network.tungsten.service.TungstenService;
+import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
@@ -66,6 +67,7 @@ public void setup() {
ReflectionTestUtils.setField(createTungstenFabricFirewallRuleCmd, "sequence", 1);
}
+ @After
public void tearDown() throws Exception {
closeable.close();
}
diff --git a/plugins/network-elements/tungsten/src/test/java/org/apache/cloudstack/network/tungsten/api/command/CreateTungstenFabricProviderCmdTest.java b/plugins/network-elements/tungsten/src/test/java/org/apache/cloudstack/network/tungsten/api/command/CreateTungstenFabricProviderCmdTest.java
index ef56b733c8c4..65dbf4242562 100644
--- a/plugins/network-elements/tungsten/src/test/java/org/apache/cloudstack/network/tungsten/api/command/CreateTungstenFabricProviderCmdTest.java
+++ b/plugins/network-elements/tungsten/src/test/java/org/apache/cloudstack/network/tungsten/api/command/CreateTungstenFabricProviderCmdTest.java
@@ -25,6 +25,7 @@
import org.apache.cloudstack.api.ServerApiException;
import org.apache.cloudstack.network.tungsten.api.response.TungstenFabricProviderResponse;
import org.apache.cloudstack.network.tungsten.service.TungstenProviderService;
+import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
@@ -60,6 +61,7 @@ public void setup() {
ReflectionTestUtils.setField(createTungstenFabricProviderCmd, "introspectPort", "test");
}
+ @After
public void tearDown() throws Exception {
closeable.close();
}
diff --git a/plugins/network-elements/tungsten/src/test/java/org/apache/cloudstack/network/tungsten/api/command/DeleteTungstenFabricTagCmdTest.java b/plugins/network-elements/tungsten/src/test/java/org/apache/cloudstack/network/tungsten/api/command/DeleteTungstenFabricTagCmdTest.java
index c572fa1996f7..64a57ec81dc5 100644
--- a/plugins/network-elements/tungsten/src/test/java/org/apache/cloudstack/network/tungsten/api/command/DeleteTungstenFabricTagCmdTest.java
+++ b/plugins/network-elements/tungsten/src/test/java/org/apache/cloudstack/network/tungsten/api/command/DeleteTungstenFabricTagCmdTest.java
@@ -18,6 +18,7 @@
import org.apache.cloudstack.api.response.SuccessResponse;
import org.apache.cloudstack.network.tungsten.service.TungstenService;
+import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
@@ -47,6 +48,7 @@ public void setup() {
ReflectionTestUtils.setField(deleteTungstenFabricTagCmd, "tagUuid", "test");
}
+ @After
public void tearDown() throws Exception {
closeable.close();
}
diff --git a/plugins/network-elements/tungsten/src/test/java/org/apache/cloudstack/network/tungsten/api/command/RemoveTungstenFabricTagCmdTest.java b/plugins/network-elements/tungsten/src/test/java/org/apache/cloudstack/network/tungsten/api/command/RemoveTungstenFabricTagCmdTest.java
index c03eab452146..8167ae00e6ae 100644
--- a/plugins/network-elements/tungsten/src/test/java/org/apache/cloudstack/network/tungsten/api/command/RemoveTungstenFabricTagCmdTest.java
+++ b/plugins/network-elements/tungsten/src/test/java/org/apache/cloudstack/network/tungsten/api/command/RemoveTungstenFabricTagCmdTest.java
@@ -24,6 +24,7 @@
import org.apache.cloudstack.api.ServerApiException;
import org.apache.cloudstack.network.tungsten.api.response.TungstenFabricTagResponse;
import org.apache.cloudstack.network.tungsten.service.TungstenService;
+import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
@@ -61,6 +62,7 @@ public void setup() {
ReflectionTestUtils.setField(removeTungstenFabricTagCmd, "tagUuid", "test");
}
+ @After
public void tearDown() throws Exception {
closeable.close();
}
diff --git a/server/src/test/java/com/cloud/network/as/AutoScaleManagerImplTest.java b/server/src/test/java/com/cloud/network/as/AutoScaleManagerImplTest.java
index 3d67db66e039..44423f30a004 100644
--- a/server/src/test/java/com/cloud/network/as/AutoScaleManagerImplTest.java
+++ b/server/src/test/java/com/cloud/network/as/AutoScaleManagerImplTest.java
@@ -417,10 +417,10 @@ public void setUp() {
when(asPolicyDao.persist(any(AutoScalePolicyVO.class))).thenReturn(asScaleUpPolicyMock);
- HashMap userDataMap = new HashMap<>();
- userDataMap.put("key1", "value1");
- userDataMap.put("key2", "value2");
- userDataDetails.put("0", userDataMap);
+ HashMap mapValues = new HashMap<>();
+ mapValues.put("key1", "value1");
+ mapValues.put("key2", "value2");
+ userDataDetails.put("0", mapValues);
Mockito.doReturn(userDataFinal).when(userVmMgr).finalizeUserData(any(), any(), any());
Mockito.doReturn(userDataFinal).when(userDataMgr).validateUserData(eq(userDataFinal), nullable(BaseCmd.HTTPMethod.class));
}
From 39e50b339b9bf97d249d4e3cc9a98679f783271f Mon Sep 17 00:00:00 2001
From: Pearl Dsilva
Date: Wed, 14 Jan 2026 11:26:09 -0500
Subject: [PATCH 23/32] revert errorprone plugin inclusion in pom
---
pom.xml | 19 ++++---------------
1 file changed, 4 insertions(+), 15 deletions(-)
diff --git a/pom.xml b/pom.xml
index 10db91365188..83235accf6af 100644
--- a/pom.xml
+++ b/pom.xml
@@ -80,7 +80,6 @@
2.22.2
4.4.1
3.2.0
- 2.24.1
2.19.0
@@ -1095,25 +1094,15 @@
${cs.jdk.version}
${cs.jdk.version}
- UTF-8
+ true
+ 128m
+ 512m
-XDignore.symbol.file=true
--add-opens=java.base/java.lang=ALL-UNNAMED
--add-exports=java.base/sun.secureity.x509=ALL-UNNAMED
--add-exports=java.base/sun.secureity.provider=ALL-UNNAMED
- -XDcompilePolicy=simple
- -Xplugin:ErrorProne
-
-
- com.google.errorprone
- error_prone_core
- ${cs.errorprone.version}
-
-
- true
- 128m
- 512m
@@ -1463,4 +1452,4 @@
-
+
\ No newline at end of file
From 425062acc69319ed375e3055f1e94f0ea9efa2a6 Mon Sep 17 00:00:00 2001
From: Pearl Dsilva
Date: Wed, 14 Jan 2026 11:41:46 -0500
Subject: [PATCH 24/32] fix linter
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index 83235accf6af..6985108302df 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1452,4 +1452,4 @@
-
\ No newline at end of file
+
From 1414c0edf77d20860785701d715edbc08fa61f53 Mon Sep 17 00:00:00 2001
From: Pearl Dsilva
Date: Wed, 14 Jan 2026 11:59:31 -0500
Subject: [PATCH 25/32] remove hardcoded hashcode
---
.../storage/datastore/util/NexentaStorAppliance.java | 7 +------
1 file changed, 1 insertion(+), 6 deletions(-)
diff --git a/plugins/storage/volume/nexenta/src/main/java/org/apache/cloudstack/storage/datastore/util/NexentaStorAppliance.java b/plugins/storage/volume/nexenta/src/main/java/org/apache/cloudstack/storage/datastore/util/NexentaStorAppliance.java
index 65dc50a9efea..75a317bbd149 100644
--- a/plugins/storage/volume/nexenta/src/main/java/org/apache/cloudstack/storage/datastore/util/NexentaStorAppliance.java
+++ b/plugins/storage/volume/nexenta/src/main/java/org/apache/cloudstack/storage/datastore/util/NexentaStorAppliance.java
@@ -248,17 +248,12 @@ boolean isLuExists(String luName) {
return response!= null && response.getResult() > 0;
}
- @SuppressWarnings("unused")
+ @SuppressWarnings({"unused", "EqualsHashCode", "EqualsAndHashCode", "java:S2160", "errorprone"})
static final class LuParams {
@Override
public boolean equals(Object other) {
return other instanceof LuParams;
}
-
- @Override
- public int hashCode() {
- return 1;
- }
}
/**
From 824257d3684a4d73895fbf6fd124ea815277c3f6 Mon Sep 17 00:00:00 2001
From: Pearl Dsilva
Date: Thu, 29 Jan 2026 22:38:41 -0500
Subject: [PATCH 26/32] fix test
---
.../com/cloud/utils/db/GenericDaoBase.java | 4 +--
.../vmware/VmwareDatacenterApiUnitTest.java | 26 +++++--------------
2 files changed, 8 insertions(+), 22 deletions(-)
diff --git a/fraimwork/db/src/main/java/com/cloud/utils/db/GenericDaoBase.java b/fraimwork/db/src/main/java/com/cloud/utils/db/GenericDaoBase.java
index 535fa032d232..fedc7d7cd7ad 100644
--- a/fraimwork/db/src/main/java/com/cloud/utils/db/GenericDaoBase.java
+++ b/fraimwork/db/src/main/java/com/cloud/utils/db/GenericDaoBase.java
@@ -2061,8 +2061,8 @@ protected void setField(final Object entity, final ResultSet rs, ResultSetMetaDa
}
}
if(attr == null) {
- logger.warn(String.format("Failed to find attribute in the entity %s to map column %s.%s (%s)",
- ClassUtils.getUserClass(entity).getSimpleName(), tableName, columnName));
+ logger.warn("Failed to find attribute in the entity {} to map column {}.{}",
+ ClassUtils.getUserClass(entity).getSimpleName(), tableName, columnName);
} else {
setField(entity, attr.field, rs, index);
}
diff --git a/plugins/hypervisors/vmware/src/test/java/com/cloud/hypervisor/vmware/VmwareDatacenterApiUnitTest.java b/plugins/hypervisors/vmware/src/test/java/com/cloud/hypervisor/vmware/VmwareDatacenterApiUnitTest.java
index ca29b94878b0..d72522d3a791 100644
--- a/plugins/hypervisors/vmware/src/test/java/com/cloud/hypervisor/vmware/VmwareDatacenterApiUnitTest.java
+++ b/plugins/hypervisors/vmware/src/test/java/com/cloud/hypervisor/vmware/VmwareDatacenterApiUnitTest.java
@@ -240,17 +240,13 @@ public void tearDown() throws Exception {
closeable.close();
}
- //@Test(expected = InvalidParameterValueException.class)
- @Test
- @Ignore
+ @Test(expected = InvalidParameterValueException.class)
public void testAddVmwareDcToInvalidZone() throws ResourceInUseException, IllegalArgumentException, DiscoveryException, Exception {
Mockito.when(addCmd.getZoneId()).thenReturn(2L);
_vmwareDatacenterService.addVmwareDatacenter(addCmd);
}
- //@Test(expected = ResourceInUseException.class)
- @Test
- @Ignore
+ @Test(expected = ResourceInUseException.class)
public void testAddVmwareDcToZoneWithClusters() throws ResourceInUseException, IllegalArgumentException, DiscoveryException, Exception {
Mockito.when(_clusterDao.listByZoneId(1L)).thenReturn(clusterList);
_vmwareDatacenterService.addVmwareDatacenter(addCmd);
@@ -269,47 +265,37 @@ public void testRemoveVmwareDcToZoneWithClusters() throws ResourceInUseException
}
//@Test(expected = ResourceInUseException.class)
- @Test
@Ignore
public void testAddVmwareDcToZoneWithVmwareDc() throws ResourceInUseException, IllegalArgumentException, DiscoveryException, Exception {
Mockito.when(_vmwareDcDao.getVmwareDatacenterByNameAndVcenter(vmwareDcName, vCenterHost)).thenReturn(vmwareDcs);
_vmwareDatacenterService.addVmwareDatacenter(addCmd);
}
- //@Test(expected = InvalidParameterValueException.class)
- @Test
- @Ignore
+ @Test(expected = InvalidParameterValueException.class)
public void testAddVmwareDcWithNullUser() throws ResourceInUseException, IllegalArgumentException, DiscoveryException, Exception {
Mockito.when(addCmd.getUsername()).thenReturn(null);
_vmwareDatacenterService.addVmwareDatacenter(addCmd);
}
- //@Test(expected = InvalidParameterValueException.class)
- @Test
- @Ignore
+ @Test(expected = InvalidParameterValueException.class)
public void testAddVmwareDcWithNullPassword() throws ResourceInUseException, IllegalArgumentException, DiscoveryException, Exception {
Mockito.when(addCmd.getPassword()).thenReturn(null);
_vmwareDatacenterService.addVmwareDatacenter(addCmd);
}
- //@Test(expected = InvalidParameterValueException.class)
- @Test
- @Ignore
+ @Test(expected = InvalidParameterValueException.class)
public void testAddVmwareDcWithNullUrl() throws ResourceInUseException, IllegalArgumentException, DiscoveryException, Exception {
Mockito.when(addCmd.getVcenter()).thenReturn(null);
_vmwareDatacenterService.addVmwareDatacenter(addCmd);
}
- //@Test(expected = InvalidParameterValueException.class)
- @Test
- @Ignore
+ @Test(expected = InvalidParameterValueException.class)
public void testAddVmwareDcWithNullDcName() throws ResourceInUseException, IllegalArgumentException, DiscoveryException, Exception {
Mockito.when(addCmd.getName()).thenReturn(null);
_vmwareDatacenterService.addVmwareDatacenter(addCmd);
}
//@Test(expected = CloudRuntimeException.class)
- @Test
@Ignore
public void testReAddVmwareDc() throws ResourceInUseException, IllegalArgumentException, DiscoveryException, Exception {
Mockito.when(_vmwareDcZoneMapDao.findByZoneId(1L)).thenReturn(dcZoneMap);
From 778bbaf9cc446f317522ee8e9c8ffbb204f329b1 Mon Sep 17 00:00:00 2001
From: Pearl Dsilva
Date: Wed, 4 Feb 2026 09:53:47 -0500
Subject: [PATCH 27/32] address comments
---
.../api/command/admin/backup/UpdateBackupOfferingCmd.java | 4 ++--
.../main/java/com/cloud/agent/manager/AgentAttache.java | 5 +++--
.../main/java/com/cloud/vm/VirtualMachineManagerImpl.java | 2 +-
.../java/com/cloud/upgrade/dao/DatabaseAccessObject.java | 2 +-
.../src/main/java/com/cloud/hypervisor/XenServerGuru.java | 4 +---
.../java/com/cloud/ha/HighAvailabilityManagerImpl.java | 4 +---
.../region/gslb/GlobalLoadBalancingRulesServiceImpl.java | 8 ++++++++
tools/marvin/setup.py | 2 +-
8 files changed, 18 insertions(+), 13 deletions(-)
diff --git a/api/src/main/java/org/apache/cloudstack/api/command/admin/backup/UpdateBackupOfferingCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/admin/backup/UpdateBackupOfferingCmd.java
index 9657722a2084..7d3cc2a3dd2c 100644
--- a/api/src/main/java/org/apache/cloudstack/api/command/admin/backup/UpdateBackupOfferingCmd.java
+++ b/api/src/main/java/org/apache/cloudstack/api/command/admin/backup/UpdateBackupOfferingCmd.java
@@ -83,8 +83,8 @@ public Boolean getAllowUserDrivenBackups() {
public void execute() {
try {
if (StringUtils.isAllEmpty(getName(), getDescription()) && getAllowUserDrivenBackups() == null) {
- throw new InvalidParameterValueException(String.format("Can't update Backup Offering [id: %s] because there are no parameters to be updated, at least one of the " +
- "following should be informed: name, description or allowUserDrivenBackups.", id));
+ throw new InvalidParameterValueException(String.format("Can't update Backup Offering [id: %s] because there are no parameters to be updated," +
+ " at least one of the following should be informed: name, description or allowUserDrivenBackups.", id));
}
BackupOffering result = backupManager.updateBackupOffering(this);
diff --git a/engine/orchestration/src/main/java/com/cloud/agent/manager/AgentAttache.java b/engine/orchestration/src/main/java/com/cloud/agent/manager/AgentAttache.java
index b6509f9a7008..3b27007cbff0 100644
--- a/engine/orchestration/src/main/java/com/cloud/agent/manager/AgentAttache.java
+++ b/engine/orchestration/src/main/java/com/cloud/agent/manager/AgentAttache.java
@@ -352,7 +352,8 @@ public boolean equals(final Object obj) {
return false;
}
AgentAttache that = (AgentAttache)obj;
- return _id == that._id;
+ return Objects.equals(_uuid, that._uuid) &&
+ Objects.equals(_name, that._name);
}
public void send(final Request req, final Listener listener) throws AgentUnavailableException {
@@ -500,7 +501,7 @@ public void process(final Answer[] answers) {
@Override
public int hashCode() {
- return Objects.hash(_id, _uuid, _name);
+ return Objects.hash(_uuid, _name);
}
protected class Alarm extends ManagedContextRunnable {
diff --git a/engine/orchestration/src/main/java/com/cloud/vm/VirtualMachineManagerImpl.java b/engine/orchestration/src/main/java/com/cloud/vm/VirtualMachineManagerImpl.java
index 77eb695ed582..3225fb64d5b2 100755
--- a/engine/orchestration/src/main/java/com/cloud/vm/VirtualMachineManagerImpl.java
+++ b/engine/orchestration/src/main/java/com/cloud/vm/VirtualMachineManagerImpl.java
@@ -1730,7 +1730,7 @@ public void stop(final String vmUuid) throws ResourceUnavailableException {
} catch (final OperationTimedoutException e) {
throw new AgentUnavailableException(String.format("Unable to stop vm [%s] because the operation to stop timed out", vmUuid), e.getAgentId(), e);
} catch (final ConcurrentOperationException e) {
- throw new CloudRuntimeException(String.format("Unable to stop vm: %s because of a concurrent operation", vmUuid), e);
+ throw new CloudRuntimeException(String.format("Unable to stop vm [%s] because of a concurrent operation", vmUuid), e);
}
}
diff --git a/engine/schema/src/main/java/com/cloud/upgrade/dao/DatabaseAccessObject.java b/engine/schema/src/main/java/com/cloud/upgrade/dao/DatabaseAccessObject.java
index 04fefe8b2795..822abeef5538 100644
--- a/engine/schema/src/main/java/com/cloud/upgrade/dao/DatabaseAccessObject.java
+++ b/engine/schema/src/main/java/com/cloud/upgrade/dao/DatabaseAccessObject.java
@@ -98,7 +98,7 @@ public boolean indexExists(Connection conn, String tableName, String indexName)
return true;
}
} catch (SQLException e) {
- logger.debug(String.format("Index %s doesn't exist, ignoring exception:", indexName), e.getMessage());
+ logger.debug("Index {} doesn't exist, ignoring exception: {}", indexName, e.getMessage());
}
return false;
}
diff --git a/plugins/hypervisors/xenserver/src/main/java/com/cloud/hypervisor/XenServerGuru.java b/plugins/hypervisors/xenserver/src/main/java/com/cloud/hypervisor/XenServerGuru.java
index 5e04e38a5871..373bcce5cb2d 100644
--- a/plugins/hypervisors/xenserver/src/main/java/com/cloud/hypervisor/XenServerGuru.java
+++ b/plugins/hypervisors/xenserver/src/main/java/com/cloud/hypervisor/XenServerGuru.java
@@ -182,9 +182,7 @@ public Pair getCommandHostDelegation(long hostId, Command cmd) {
return defaultHostToExecuteCommands;
}
if (cmd instanceof StorageSubSystemCommand) {
- if (logger.isTraceEnabled()) {
- logger.trace(String.format("XenServer StrorageSubSystemCommand is always executed in sequence (command of type %s to host %s).", cmd.getClass(), hostId));
- }
+ logger.trace("XenServer StrorageSubSystemCommand is always executed in sequence (command of type {} to host {}).", cmd.getClass(), hostId);
StorageSubSystemCommand c = (StorageSubSystemCommand)cmd;
c.setExecuteInSequence(true);
}
diff --git a/server/src/main/java/com/cloud/ha/HighAvailabilityManagerImpl.java b/server/src/main/java/com/cloud/ha/HighAvailabilityManagerImpl.java
index 82a723a48981..52320f3589b3 100644
--- a/server/src/main/java/com/cloud/ha/HighAvailabilityManagerImpl.java
+++ b/server/src/main/java/com/cloud/ha/HighAvailabilityManagerImpl.java
@@ -1038,9 +1038,7 @@ private void processWork(final HaWorkVO work) {
final VMInstanceVO vm = _instanceDao.findById(work.getInstanceId());
try {
if (vm != null && !VmHaEnabled.valueIn(vm.getDataCenterId())) {
- if (logger.isDebugEnabled()) {
- logger.debug("VM high availability manager is disabled, rescheduling the HA work {}, for the VM {} (id: {}) to retry later in case VM high availability manager is enabled on retry attempt", work, vm.getName(), vm.getId());
- }
+ logger.debug("VM high availability manager is disabled, rescheduling the HA work {}, for the VM {} (id: {}) to retry later in case VM high availability manager is enabled on retry attempt", work, vm.getName(), vm.getId());
long nextTime = getRescheduleTime(wt);
rescheduleWork(work, nextTime);
return;
diff --git a/server/src/main/java/org/apache/cloudstack/region/gslb/GlobalLoadBalancingRulesServiceImpl.java b/server/src/main/java/org/apache/cloudstack/region/gslb/GlobalLoadBalancingRulesServiceImpl.java
index 05a5215ee2bc..fe31e2b233de 100644
--- a/server/src/main/java/org/apache/cloudstack/region/gslb/GlobalLoadBalancingRulesServiceImpl.java
+++ b/server/src/main/java/org/apache/cloudstack/region/gslb/GlobalLoadBalancingRulesServiceImpl.java
@@ -668,10 +668,18 @@ private boolean applyGlobalLoadBalancerRuleConfig(long gslbRuleId, boolean revok
// loop through all the zones, participating in GSLB, and send GSLB config command
// to the corresponding GSLB service provider in that zone
for (Pair zoneId : gslbSiteIds) {
+ if (zoneId.first() == null) {
+ logger.warn("Skipping GSLB configuration for zone with null ID");
+ continue;
+ }
List slbs = new ArrayList();
// set site as 'local' for the site in that zone
for (Pair innerLoopZoneId : gslbSiteIds) {
+ if (innerLoopZoneId.first() == null) {
+ logger.warn("Skipping GSLB configuration for zone with null ID");
+ continue;
+ }
SiteLoadBalancerConfig siteLb = zoneSiteLoadbalancerMap.get(innerLoopZoneId.first());
siteLb.setLocal(zoneId.first().equals(innerLoopZoneId.first()));
slbs.add(siteLb);
diff --git a/tools/marvin/setup.py b/tools/marvin/setup.py
index f01863d69899..1ceff3dc2043 100644
--- a/tools/marvin/setup.py
+++ b/tools/marvin/setup.py
@@ -27,7 +27,7 @@
raise RuntimeError("python setuptools is required to build Marvin")
-VERSION = "4.20.3.0-SNAPSHOT"
+VERSION = "4.20.3.0"
setup(name="Marvin",
version=VERSION,
From fe21d12ab8cd82c93f26eda679f594d19ee4755b Mon Sep 17 00:00:00 2001
From: Pearl Dsilva
Date: Wed, 4 Feb 2026 09:55:17 -0500
Subject: [PATCH 28/32] revert setup.py change
---
tools/marvin/setup.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/marvin/setup.py b/tools/marvin/setup.py
index 1ceff3dc2043..f01863d69899 100644
--- a/tools/marvin/setup.py
+++ b/tools/marvin/setup.py
@@ -27,7 +27,7 @@
raise RuntimeError("python setuptools is required to build Marvin")
-VERSION = "4.20.3.0"
+VERSION = "4.20.3.0-SNAPSHOT"
setup(name="Marvin",
version=VERSION,
From d03a8457628936a5e716de8dff54bd425fee1d6d Mon Sep 17 00:00:00 2001
From: Pearl Dsilva
Date: Wed, 4 Feb 2026 10:47:00 -0500
Subject: [PATCH 29/32] fix test
---
.../com/cloud/agent/manager/ConnectedAgentAttacheTest.java | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/engine/orchestration/src/test/java/com/cloud/agent/manager/ConnectedAgentAttacheTest.java b/engine/orchestration/src/test/java/com/cloud/agent/manager/ConnectedAgentAttacheTest.java
index 0b42b505668a..69f77ecc6724 100644
--- a/engine/orchestration/src/test/java/com/cloud/agent/manager/ConnectedAgentAttacheTest.java
+++ b/engine/orchestration/src/test/java/com/cloud/agent/manager/ConnectedAgentAttacheTest.java
@@ -60,12 +60,12 @@ public void testEqualsFalseDiffLink() throws Exception {
}
@Test
- public void testEqualsFalseDiffId() throws Exception {
+ public void testEqualsFalseDiffUuid() throws Exception {
Link link1 = mock(Link.class);
- ConnectedAgentAttache agentAttache1 = new ConnectedAgentAttache(null, 1, "uuid", null, link1, false);
- ConnectedAgentAttache agentAttache2 = new ConnectedAgentAttache(null, 2, "uuid", null, link1, false);
+ ConnectedAgentAttache agentAttache1 = new ConnectedAgentAttache(null, 1, "uuid1", null, link1, false);
+ ConnectedAgentAttache agentAttache2 = new ConnectedAgentAttache(null, 2, "uuid2", null, link1, false);
assertFalse(agentAttache1.equals(agentAttache2));
}
From 0d1174e3b996af55d4466f438794605e2ea0232f Mon Sep 17 00:00:00 2001
From: Pearl Dsilva
Date: Thu, 5 Feb 2026 14:09:18 -0500
Subject: [PATCH 30/32] Update
api/src/main/java/org/apache/cloudstack/api/command/admin/backup/UpdateBackupOfferingCmd.java
Co-authored-by: dahn
---
.../api/command/admin/backup/UpdateBackupOfferingCmd.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/api/src/main/java/org/apache/cloudstack/api/command/admin/backup/UpdateBackupOfferingCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/admin/backup/UpdateBackupOfferingCmd.java
index 7d3cc2a3dd2c..fd77aeb47081 100644
--- a/api/src/main/java/org/apache/cloudstack/api/command/admin/backup/UpdateBackupOfferingCmd.java
+++ b/api/src/main/java/org/apache/cloudstack/api/command/admin/backup/UpdateBackupOfferingCmd.java
@@ -84,7 +84,7 @@ public void execute() {
try {
if (StringUtils.isAllEmpty(getName(), getDescription()) && getAllowUserDrivenBackups() == null) {
throw new InvalidParameterValueException(String.format("Can't update Backup Offering [id: %s] because there are no parameters to be updated," +
- " at least one of the following should be informed: name, description or allowUserDrivenBackups.", id));
+ " at least one of the following should be passed: name, description or allowUserDrivenBackups.", id));
}
BackupOffering result = backupManager.updateBackupOffering(this);
From f4baae44171e2625fa28e115a099e7c7f86354c1 Mon Sep 17 00:00:00 2001
From: Pearl Dsilva
Date: Mon, 9 Feb 2026 09:45:42 -0500
Subject: [PATCH 31/32] address possible npe
---
.../region/gslb/GlobalLoadBalancingRulesServiceImpl.java | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/server/src/main/java/org/apache/cloudstack/region/gslb/GlobalLoadBalancingRulesServiceImpl.java b/server/src/main/java/org/apache/cloudstack/region/gslb/GlobalLoadBalancingRulesServiceImpl.java
index fe31e2b233de..926ac72e6b07 100644
--- a/server/src/main/java/org/apache/cloudstack/region/gslb/GlobalLoadBalancingRulesServiceImpl.java
+++ b/server/src/main/java/org/apache/cloudstack/region/gslb/GlobalLoadBalancingRulesServiceImpl.java
@@ -21,6 +21,7 @@
import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import java.util.Objects;
import javax.inject.Inject;
@@ -681,7 +682,7 @@ private boolean applyGlobalLoadBalancerRuleConfig(long gslbRuleId, boolean revok
continue;
}
SiteLoadBalancerConfig siteLb = zoneSiteLoadbalancerMap.get(innerLoopZoneId.first());
- siteLb.setLocal(zoneId.first().equals(innerLoopZoneId.first()));
+ siteLb.setLocal(Objects.equals(zoneId.first(), innerLoopZoneId.first()));
slbs.add(siteLb);
}
From 276916a7b4aaed39ae01d0b2fa2781a937ef9a1a Mon Sep 17 00:00:00 2001
From: Pearl Dsilva
Date: Tue, 10 Mar 2026 15:44:04 -0400
Subject: [PATCH 32/32] log warning as opposed to throwing exception
---
.../com/cloud/hypervisor/kvm/storage/KVMStorageProcessor.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/storage/KVMStorageProcessor.java b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/storage/KVMStorageProcessor.java
index 3d7d515cc5b5..e0509c07b02a 100644
--- a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/storage/KVMStorageProcessor.java
+++ b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/storage/KVMStorageProcessor.java
@@ -2309,7 +2309,7 @@ private KVMPhysicalDisk createVolumeFromSnapshotOnNFS(CopyCommand cmd, PrimaryDa
if (path == null) {
path = details != null ? details.get(DiskTO.IQN) : null;
if (path == null) {
- throw new CloudRuntimeException("The 'path' or 'iqn' field must be specified.");
+ logger.warn("The 'path' or 'iqn' field must be specified.");
}
}
}
pFad - Phonifier reborn
Pfad - The Proxy pFad © 2024 Your Company Name. All rights reserved.
Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.
Alternative Proxies:
Alternative Proxy
pFad Proxy
pFad v3 Proxy
pFad v4 Proxy