diff --git a/plugins/hypervisors/kvm/src/main/java/com/cloud/ha/KVMInvestigator.java b/plugins/hypervisors/kvm/src/main/java/com/cloud/ha/KVMInvestigator.java index eb64f4bc439..ce9fbe6c232 100644 --- a/plugins/hypervisors/kvm/src/main/java/com/cloud/ha/KVMInvestigator.java +++ b/plugins/hypervisors/kvm/src/main/java/com/cloud/ha/KVMInvestigator.java @@ -38,6 +38,7 @@ import org.apache.cloudstack.storage.datastore.db.PrimaryDataStoreDao; import org.apache.cloudstack.storage.datastore.db.StoragePoolVO; import javax.inject.Inject; +import java.util.Arrays; import java.util.List; public class KVMInvestigator extends AdapterBase implements Investigator { @@ -81,7 +82,7 @@ public class KVMInvestigator extends AdapterBase implements Investigator { return haManager.getHostStatus(agent); } - List clusterPools = _storagePoolDao.listPoolsByCluster(agent.getClusterId()); + List clusterPools = _storagePoolDao.findPoolsInClusters(Arrays.asList(agent.getClusterId()), null); boolean storageSupportHA = storageSupportHa(clusterPools); if (!storageSupportHA) { List zonePools = _storagePoolDao.findZoneWideStoragePoolsByHypervisor(agent.getDataCenterId(), agent.getHypervisorType()); @@ -89,7 +90,7 @@ public class KVMInvestigator extends AdapterBase implements Investigator { } if (!storageSupportHA) { logger.warn("Agent investigation was requested on host {}, but host does not support investigation because it has no NFS storage. Skipping investigation.", agent); - return Status.Disconnected; + return null; } Status hostStatus = null; diff --git a/plugins/integrations/prometheus/src/main/java/org/apache/cloudstack/metrics/PrometheusExporterImpl.java b/plugins/integrations/prometheus/src/main/java/org/apache/cloudstack/metrics/PrometheusExporterImpl.java index e5dc0b29171..32ec2f53211 100644 --- a/plugins/integrations/prometheus/src/main/java/org/apache/cloudstack/metrics/PrometheusExporterImpl.java +++ b/plugins/integrations/prometheus/src/main/java/org/apache/cloudstack/metrics/PrometheusExporterImpl.java @@ -19,6 +19,7 @@ package org.apache.cloudstack.metrics; import java.math.BigDecimal; import java.util.ArrayList; import java.util.HashMap; +import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -302,7 +303,7 @@ public class PrometheusExporterImpl extends ManagerBase implements PrometheusExp .flatMap( h -> _hostTagsDao.getHostTags(h).stream()) .distinct() .collect(Collectors.toList()); - List allHostTags = new ArrayList<>(); + HashSet allHostTags = new HashSet<>(); allHostTagVOS.forEach(hostTagVO -> allHostTags.add(hostTagVO.getTag())); for (final State state : State.values()) { diff --git a/server/src/main/java/com/cloud/network/NetworkServiceImpl.java b/server/src/main/java/com/cloud/network/NetworkServiceImpl.java index f3ecd100275..feab5f7ea67 100644 --- a/server/src/main/java/com/cloud/network/NetworkServiceImpl.java +++ b/server/src/main/java/com/cloud/network/NetworkServiceImpl.java @@ -1784,7 +1784,7 @@ public class NetworkServiceImpl extends ManagerBase implements NetworkService, C } Pair interfaceMTUs = validateMtuConfig(publicMtu, privateMtu, zone.getId()); - mtuCheckForVpcNetwork(vpcId, interfaceMTUs, publicMtu, privateMtu); + mtuCheckForVpcNetwork(vpcId, interfaceMTUs, publicMtu); Network associatedNetwork = null; if (associatedNetworkId != null) { @@ -2079,7 +2079,7 @@ public class NetworkServiceImpl extends ManagerBase implements NetworkService, C return ntwkOff; } - protected void mtuCheckForVpcNetwork(Long vpcId, Pair interfaceMTUs, Integer publicMtu, Integer privateMtu) { + protected void mtuCheckForVpcNetwork(Long vpcId, Pair interfaceMTUs, Integer publicMtu) { if (vpcId != null && publicMtu != null) { VpcVO vpc = _vpcDao.findById(vpcId); if (vpc == null) { @@ -2087,7 +2087,7 @@ public class NetworkServiceImpl extends ManagerBase implements NetworkService, C } logger.warn(String.format("VPC public MTU already set at VPC creation phase to: %s. Ignoring public MTU " + "passed during VPC network tier creation ", vpc.getPublicMtu())); - interfaceMTUs.set(vpc.getPublicMtu(), privateMtu); + interfaceMTUs.set(vpc.getPublicMtu(), interfaceMTUs.second()); } } diff --git a/server/src/test/java/com/cloud/network/NetworkServiceImplTest.java b/server/src/test/java/com/cloud/network/NetworkServiceImplTest.java index 30998308070..376b0bc767d 100644 --- a/server/src/test/java/com/cloud/network/NetworkServiceImplTest.java +++ b/server/src/test/java/com/cloud/network/NetworkServiceImplTest.java @@ -555,7 +555,7 @@ public class NetworkServiceImplTest { Mockito.when(vpcVO.getPublicMtu()).thenReturn(vpcMtu); Pair updatedMtus = service.validateMtuConfig(publicMtu, privateMtu, zoneId); - service.mtuCheckForVpcNetwork(vpcId, updatedMtus, publicMtu, privateMtu); + service.mtuCheckForVpcNetwork(vpcId, updatedMtus, publicMtu); Assert.assertEquals(vpcMtu, updatedMtus.first()); Assert.assertEquals(privateMtu, updatedMtus.second()); } diff --git a/ui/public/config.json b/ui/public/config.json index 774e414af0a..38d1fd9bbe7 100644 --- a/ui/public/config.json +++ b/ui/public/config.json @@ -13,6 +13,7 @@ "loginTitle": "CloudStack", "loginFavicon": "assets/logo.svg", "loginFooter": "", + "resetPasswordFooter": "", "logo": "assets/logo.svg", "minilogo": "assets/mini-logo.svg", "banner": "assets/banner.svg", diff --git a/ui/src/layouts/UserLayout.vue b/ui/src/layouts/UserLayout.vue index 6c81c858bd2..52fe94c7f5d 100644 --- a/ui/src/layouts/UserLayout.vue +++ b/ui/src/layouts/UserLayout.vue @@ -37,8 +37,9 @@ -