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 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/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 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 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/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/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..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 @@ -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(_id, _uuid, _name); + } + 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..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 @@ -148,6 +148,11 @@ private synchronized void scheduleFromQueue() { } } + @Override + public int hashCode() { + return super.hashCode(); + } + 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/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<>(); 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/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 3cc643956e93..93f5e0f9b5c0 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 OnwireClassRegistry(String packageName) { } public OnwireClassRegistry(List packages) { - packages.addAll(packages); + this.packages.addAll(packages); } public List getPackages() { diff --git a/framework/spring/module/src/test/java/org/apache/cloudstack/spring/module/factory/ModuleBasedContextFactoryTest.java b/framework/spring/module/src/test/java/org/apache/cloudstack/spring/module/factory/ModuleBasedContextFactoryTest.java index d8d109f65758..1b3a634c9931 100644 --- a/framework/spring/module/src/test/java/org/apache/cloudstack/spring/module/factory/ModuleBasedContextFactoryTest.java +++ b/framework/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/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/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/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/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/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/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/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/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/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.security.x509=ALL-UNNAMED --add-exports=java.base/sun.security.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, 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/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/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() { 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..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,6 +62,7 @@ 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, b << 32); 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 areDVSSecurityPoliciesDifferent(DVSSecurityPolicy currentSecurityPolicy, DVSSecurityPolicy newSecurityPolicy) { @@ -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()))); }