You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by pe...@apache.org on 2026/01/13 21:07:24 UTC
(cloudstack) branch ghi11438-errorprone-fixes created (now 43162bfce8a)
This is an automated email from the ASF dual-hosted git repository.
pearl11594 pushed a change to branch ghi11438-errorprone-fixes
in repository https://gitbox.apache.org/repos/asf/cloudstack.git
at 43162bfce8a Error Prone integration - Added error prone to the build
This branch includes the following new commits:
new 43162bfce8a Error Prone integration - Added error prone to the build
The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
(cloudstack) 01/01: Error Prone integration - Added error prone to the build
Posted by pe...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
pearl11594 pushed a commit to branch ghi11438-errorprone-fixes
in repository https://gitbox.apache.org/repos/asf/cloudstack.git
commit 43162bfce8aa279d59d0e39cdc6cf59c45790761
Author: Pearl Dsilva <pe...@gmail.com>
AuthorDate: Tue Jan 13 16:06:57 2026 -0500
Error Prone integration - Added error prone to the build
---
.../java/com/cloud/agent/mockvm/MockVmMgr.java | 2 +-
.../admin/backup/UpdateBackupOfferingCmd.java | 2 +-
.../facade/AbstractConfigItemFacade.java | 2 +-
.../com/cloud/network/HAProxyConfigurator.java | 2 +-
.../java/com/cloud/resource/RequestWrapper.java | 2 +-
.../directdownload/DirectDownloadCommand.java | 1 -
.../java/com/cloud/agent/manager/AgentAttache.java | 6 ++
.../cloud/agent/manager/DirectAgentAttache.java | 6 ++
.../com/cloud/vm/VirtualMachineManagerImpl.java | 2 +-
.../engine/orchestration/NetworkOrchestrator.java | 2 +-
.../com/cloud/offerings/NetworkOfferingVO.java | 2 +-
.../upgrade/SystemVmTemplateRegistration.java | 59 ++++++++--------
.../cloud/upgrade/dao/DatabaseAccessObject.java | 2 +-
.../com/cloud/upgrade/dao/Upgrade41500to41510.java | 79 ++++++++++------------
.../vmsnapshot/ScaleIOVMSnapshotStrategy.java | 2 +-
.../storage/endpoint/DefaultEndPointSelector.java | 8 +--
.../framework/serializer/OnwireClassRegistry.java | 2 +-
.../cloudstack/ca/provider/RootCAProvider.java | 2 +-
.../main/java/com/cloud/ha/HypervInvestigator.java | 2 +-
.../kvm/resource/LibvirtComputingResource.java | 6 +-
.../kvm/storage/KVMStorageProcessor.java | 4 +-
.../kvm/storage/MultipathSCSIAdapterBase.java | 12 ++--
.../java/com/cloud/hypervisor/XenServerGuru.java | 5 +-
.../driver/redfish/RedfishWrapper.java | 2 +-
.../datastore/util/NexentaStorAppliance.java | 16 +++++
.../driver/StorPoolPrimaryDataStoreDriver.java | 2 +-
.../storage/motion/StorPoolDataMotionStrategy.java | 2 +-
.../cloudstack/ldap/ADLdapUserManagerImpl.java | 1 +
.../cloudstack/ldap/OpenLdapUserManagerImpl.java | 7 +-
pom.xml | 17 ++++-
.../java/com/cloud/api/doc/ApiXmlDocWriter.java | 2 +-
.../src/main/java/com/cloud/api/doc/Argument.java | 12 ++--
.../cloud/api/query/dao/TemplateJoinDaoImpl.java | 3 +-
.../configuration/ConfigurationManagerImpl.java | 2 +-
.../com/cloud/ha/HighAvailabilityManagerImpl.java | 2 +-
.../com/cloud/network/IpAddressManagerImpl.java | 2 +-
.../com/cloud/server/ManagementServerImpl.java | 2 +-
.../com/cloud/storage/VolumeApiServiceImpl.java | 2 +-
.../main/java/com/cloud/vm/UserVmManagerImpl.java | 4 +-
.../cloudstack/network/RoutedIpv4ManagerImpl.java | 8 +--
.../gslb/GlobalLoadBalancingRulesServiceImpl.java | 2 +-
.../rdpclient/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 54fdde3d3d2..d97207c9f30 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 class MockVmMgr implements VmMgr {
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 9de06715ee7..9657722a208 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 class UpdateBackupOfferingCmd extends BaseCmd {
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 83dfa2a62ca..64034e444ea 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 e4b0a7ffff4..6e00e7cdc96 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 @@ public class HAProxyConfigurator implements LoadBalancerConfigurator {
}
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 54d8b289c8d..3c375195239 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 @@ public abstract class RequestWrapper {
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 b6748dca434..c3ee2599393 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 @@ public abstract class DirectDownloadCommand extends StorageSubSystemCommand {
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 30a58d405c9..5ae451a9945 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.Iterator;
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 abstract class AgentAttache {
*/
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 07d5bf80393..af958f48366 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 @@ package com.cloud.agent.manager;
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 @@ public class DirectAgentAttache extends AgentAttache {
}
}
+ @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 c0976fe137e..77eb695ed58 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 class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
} 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 d19a4f1d4a0..5aad4892b0f 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 @@ public class NetworkOrchestrator extends ManagerBase implements NetworkOrchestra
final List<FirewallRuleVO> 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 5cad366945f..db267635ce6 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 class NetworkOfferingVO implements NetworkOffering {
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 a6aecf477f7..cabe16bfdc5 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 class SystemVmTemplateRegistration {
public static final Map<String, MetadataTemplateDetails> NewTemplateMap = new HashMap<>();
- public static final Map<Hypervisor.HypervisorType, String> 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<Hypervisor.HypervisorType, Integer> 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<Hypervisor.HypervisorType, ImageFormat> hypervisorImageFormat = new HashMap<Hypervisor.HypervisorType, ImageFormat>() {
- {
- 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<Hypervisor.HypervisorType, String> 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<Hypervisor.HypervisorType, Integer> 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<Hypervisor.HypervisorType, ImageFormat> 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 0b973d195de..04fefe8b279 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 class DatabaseAccessObject {
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 c7295414326..18d419d29f9 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.Connection;
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 class Upgrade41500to41510 extends DbUpgradeAbstractImpl implements DbUpgr
throw new CloudRuntimeException("updateSystemVmTemplates:Exception while getting hypervisor types from clusters", e);
}
- final Map<Hypervisor.HypervisorType, String> NewTemplateNameList = new HashMap<Hypervisor.HypervisorType, String>() {
- {
- 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<Hypervisor.HypervisorType, String> routerTemplateConfigurationNames = new HashMap<Hypervisor.HypervisorType, String>() {
- {
- 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<Hypervisor.HypervisorType, String> newTemplateUrl = new HashMap<Hypervisor.HypervisorType, String>() {
- {
- 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<Hypervisor.HypervisorType, String> newTemplateChecksum = new HashMap<Hypervisor.HypervisorType, String>() {
- {
- put(KVM, "0e9f9a7d0957c3e0a2088e41b2da2cec");
- put(XenServer, "86373992740b1eca8aff8b08ebf3aea5");
- put(VMware, "4006982765846d373eb3719b2fe4d720");
- put(Hyperv, "0b9514e4b6cba1f636fea2125f0f7a5f");
- put(LXC, "0e9f9a7d0957c3e0a2088e41b2da2cec");
- put(Ovm3, "ae3977e696b3e6c81bdcbb792d514d29");
- }
- };
+ final Map<Hypervisor.HypervisorType, String> 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<Hypervisor.HypervisorType, String> 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<Hypervisor.HypervisorType, String> 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<Hypervisor.HypervisorType, String> newTemplateChecksum = Map.of(
+ KVM, "0e9f9a7d0957c3e0a2088e41b2da2cec",
+ XenServer, "86373992740b1eca8aff8b08ebf3aea5",
+ VMware, "4006982765846d373eb3719b2fe4d720",
+ Hyperv, "0b9514e4b6cba1f636fea2125f0f7a5f",
+ LXC, "0e9f9a7d0957c3e0a2088e41b2da2cec",
+ Ovm3, "ae3977e696b3e6c81bdcbb792d514d29"
+ );
for (final Map.Entry<Hypervisor.HypervisorType, String> 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 667d7ce1d86..98f9161da90 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 class ScaleIOVMSnapshotStrategy extends ManagerBase implements VMSnapshot
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 7e9f65f43b3..40e0410da88 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.ResultSet;
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 @@ public class DefaultEndPointSelector implements EndPointSelector {
Pair<List<DedicatedResourceVO>, Integer> hostIds = dedicatedResourceDao.searchDedicatedHosts(null, null, account.getId(), null, null);
List<DedicatedResourceVO> accountDedicatedHosts = hostIds.first();
for (DedicatedResourceVO accountDedicatedResource: accountDedicatedHosts){
- Iterator<Long> dedicatedHostsIterator = dedicatedHosts.iterator();
- while (dedicatedHostsIterator.hasNext()) {
- if (dedicatedHostsIterator.next() == accountDedicatedResource.getHostId()) {
- dedicatedHostsIterator.remove();
- }
- }
+ dedicatedHosts.removeIf(hostId -> hostId.equals(accountDedicatedResource.getHostId()));
}
}
}
diff --git a/framework/ipc/src/main/java/org/apache/cloudstack/framework/serializer/OnwireClassRegistry.java b/framework/ipc/src/main/java/org/apache/cloudstack/framework/serializer/OnwireClassRegistry.java
index 3cc643956e9..93f5e0f9b5c 100644
--- a/framework/ipc/src/main/java/org/apache/cloudstack/framework/serializer/OnwireClassRegistry.java
+++ b/framework/ipc/src/main/java/org/apache/cloudstack/framework/serializer/OnwireClassRegistry.java
@@ -55,7 +55,7 @@ public class OnwireClassRegistry {
}
public OnwireClassRegistry(List<String> packages) {
- packages.addAll(packages);
+ this.packages.addAll(packages);
}
public List<String> 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 25c45ed2a10..395b637d4d4 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 @@ public final class RootCAProvider extends AdapterBase implements CAProvider, Con
@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 3d79b9efdd1..2666ca0c1f5 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 class HypervInvestigator extends AdapterBase implements Investigator {
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 b66a838a3a5..1bbebfe3ee5 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 @@ public class LibvirtComputingResource extends ServerResourceBase implements Serv
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 class LibvirtComputingResource extends ServerResourceBase implements Serv
}
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 33bd41ee6ba..267dfb67cf3 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 @@ public class KVMStorageProcessor implements StorageProcessor {
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 @@ public class KVMStorageProcessor implements StorageProcessor {
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 7ba29ffc26e..a64390407db 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 @@ public abstract class MultipathSCSIAdapterBase implements StorageAdaptor {
@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 abstract class MultipathSCSIAdapterBase implements StorageAdaptor {
@Override
public boolean disconnectPhysicalDisk(Map<String, String> 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 6f1b600dc66..5e04e38a587 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 class XenServerGuru extends HypervisorGuruBase implements HypervisorGuru,
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 class XenServerGuru extends HypervisorGuruBase implements HypervisorGuru,
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, Long>(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 09cee3b21ae..73a7ec6e263 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 class RedfishWrapper {
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 8c22908c64d..65dc50a9efe 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 @@ package org.apache.cloudstack.storage.datastore.util;
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 @@ public class NexentaStorAppliance {
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 @@ public class NexentaStorAppliance {
public boolean equals(Object other) {
return other instanceof LuParams;
}
+
+ @Override
+ public int hashCode() {
+ return 1;
+ }
}
/**
@@ -309,6 +320,11 @@ public class NexentaStorAppliance {
}
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 6ca67cb5923..ba9a4d97600 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 class StorPoolPrimaryDataStoreDriver implements PrimaryDataStoreDriver {
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 5a4802ab264..7f7f4a074dd 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 class StorPoolDataMotionStrategy implements DataMotionStrategy {
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 e96606dca2f..d2b23b33639 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<LdapUser> 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 d0b6bc4bd34..98d3be2f10c 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 @@ public class OpenLdapUserManagerImpl implements LdapUserManager {
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 class OpenLdapUserManagerImpl implements LdapUserManager {
}
@Override
+ @SuppressWarnings("BanJNDI")
public List<LdapUser> getUsersInGroup(String groupName, LdapContext context, Long domainId) throws NamingException {
String attributeName = _ldapConfiguration.getGroupUniqueMemberAttribute(domainId);
final SearchControls controls = new SearchControls();
@@ -264,6 +264,7 @@ public class OpenLdapUserManagerImpl implements LdapUserManager {
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 @@ public class OpenLdapUserManagerImpl implements LdapUserManager {
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 class OpenLdapUserManagerImpl implements LdapUserManager {
}
@Override
+ @SuppressWarnings("BanJNDI")
public List<LdapUser> 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 6985108302d..10db9136518 100644
--- a/pom.xml
+++ b/pom.xml
@@ -80,6 +80,7 @@
<cs.surefire-plugin.version>2.22.2</cs.surefire-plugin.version>
<cs.clover-maven-plugin.version>4.4.1</cs.clover-maven-plugin.version>
<cs.exec-maven-plugin.version>3.2.0</cs.exec-maven-plugin.version>
+ <cs.errorprone.version>2.24.1</cs.errorprone.version>
<!-- Logging versions -->
<cs.log4j.version>2.19.0</cs.log4j.version>
@@ -1094,15 +1095,25 @@
<configuration>
<source>${cs.jdk.version}</source>
<target>${cs.jdk.version}</target>
- <fork>true</fork>
- <meminitial>128m</meminitial>
- <maxmem>512m</maxmem>
+ <encoding>UTF-8</encoding>
<compilerArgs>
<arg>-XDignore.symbol.file=true</arg>
<arg>--add-opens=java.base/java.lang=ALL-UNNAMED</arg>
<arg>--add-exports=java.base/sun.security.x509=ALL-UNNAMED</arg>
<arg>--add-exports=java.base/sun.security.provider=ALL-UNNAMED</arg>
+ <arg>-XDcompilePolicy=simple</arg>
+ <arg>-Xplugin:ErrorProne</arg>
</compilerArgs>
+ <annotationProcessorPaths>
+ <path>
+ <groupId>com.google.errorprone</groupId>
+ <artifactId>error_prone_core</artifactId>
+ <version>${cs.errorprone.version}</version>
+ </path>
+ </annotationProcessorPaths>
+ <fork>true</fork>
+ <meminitial>128m</meminitial>
+ <maxmem>512m</maxmem>
</configuration>
</plugin>
<plugin>
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 5de5cd03fe1..b1bb316471b 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 @@ public class ApiXmlDocWriter {
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 141f7e6fa54..bfab730002a 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 @@ package com.cloud.api.doc;
import java.io.Serializable;
import java.util.List;
-public class Argument implements Comparable<Object>, Serializable {
+public class Argument implements Comparable<Argument>, Serializable {
private static final long serialVersionUID = 2L;
private String name;
private String description;
@@ -101,11 +101,11 @@ public class Argument implements Comparable<Object>, Serializable {
}
@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 05c024e8f9b..e7da4a2163b 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.VnfTemplateNicVO;
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 class TemplateJoinDaoImpl extends GenericDaoBaseWithTagInformation<Templa
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 62b3c23d27e..e662d154f65 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 class ConfigurationManagerImpl extends ManagerBase implements Configurati
}
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 b0f3e6d8d69..daf1e0faa03 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 @@ public class HighAvailabilityManagerImpl extends ManagerBase implements Configur
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 fe555af9d50..3d99fb573c9 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 class IpAddressManagerImpl extends ManagerBase implements IpAddressManage
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 caf94a1cc85..347b9b26ac4 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 class ManagementServerImpl extends ManagerBase implements ManagementServe
protected boolean zoneWideVolumeRequiresStorageMotion(PrimaryDataStore volumeDataStore,
final Host sourceHost, final Host destinationHost) {
- if (volumeDataStore.isManaged() && sourceHost.getClusterId() != destinationHost.getClusterId()) {
+ if (volumeDataStore.isManaged() && !sourceHost.getClusterId().equals(destinationHost.getClusterId())) {
PrimaryDataStoreDriver driver = (PrimaryDataStoreDriver)volumeDataStore.getDriver();
// Depends on the storage driver. For some storages simply
// changing volume access to host should work: grant access on destination
diff --git a/server/src/main/java/com/cloud/storage/VolumeApiServiceImpl.java b/server/src/main/java/com/cloud/storage/VolumeApiServiceImpl.java
index 4f8b55d16fb..4780a896480 100644
--- a/server/src/main/java/com/cloud/storage/VolumeApiServiceImpl.java
+++ b/server/src/main/java/com/cloud/storage/VolumeApiServiceImpl.java
@@ -3689,7 +3689,7 @@ public class VolumeApiServiceImpl extends ManagerBase implements VolumeApiServic
} else {
result = CollectionUtils.isSubCollection(Arrays.asList(newDiskOfferingTagsAsStringArray), storageTagsList);
}
- logger.debug(String.format("Destination storage pool [{}] accepts tags [{}]? {}", destPool.getUuid(), diskOfferingTags, result));
+ logger.debug("Destination storage pool [{}] accepts tags [{}]? {}", destPool.getUuid(), diskOfferingTags, result);
return result;
}
diff --git a/server/src/main/java/com/cloud/vm/UserVmManagerImpl.java b/server/src/main/java/com/cloud/vm/UserVmManagerImpl.java
index b00358caaa9..0e407d8b628 100644
--- a/server/src/main/java/com/cloud/vm/UserVmManagerImpl.java
+++ b/server/src/main/java/com/cloud/vm/UserVmManagerImpl.java
@@ -2140,7 +2140,7 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Vir
}
protected void validateDiskOfferingChecks(ServiceOfferingVO currentServiceOffering, ServiceOfferingVO newServiceOffering) {
- if (currentServiceOffering.getDiskOfferingStrictness() != newServiceOffering.getDiskOfferingStrictness()) {
+ if (!currentServiceOffering.getDiskOfferingStrictness().equals(newServiceOffering.getDiskOfferingStrictness())) {
throw new InvalidParameterValueException("Unable to Scale VM, since disk offering strictness flag is not same for new service offering and old service offering");
}
@@ -2391,7 +2391,7 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Vir
_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 5174a5d7688..54693492dd7 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 class RoutedIpv4ManagerImpl extends ComponentLifecycleBase implements Rou
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 class RoutedIpv4ManagerImpl extends ComponentLifecycleBase implements Rou
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 class RoutedIpv4ManagerImpl extends ComponentLifecycleBase implements Rou
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 class RoutedIpv4ManagerImpl extends ComponentLifecycleBase implements Rou
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 a448c612ece..05a5215ee2b 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 @@ public class GlobalLoadBalancingRulesServiceImpl implements GlobalLoadBalancingR
// set site as 'local' for the site in that zone
for (Pair<Long, Long> 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 d8cfb4c9594..dbc952be491 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 class ServerNtlmsspChallenge extends OneTimeSwitch implements NtlmConstan
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 b3cde4bbe59..7d88b6ed970 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 class ByteBuffer {
public void extend(int newLength) {
if (data.length < newLength)
- Arrays.copyOf(data, newLength);
+ data = Arrays.copyOf(data, newLength);
}
public void ref() {