mirror of
https://github.com/apache/cloudstack.git
synced 2025-10-26 08:42:29 +01:00
Merge branch '4.20' of https://github.com/apache/cloudstack
This commit is contained in:
commit
b387bc1664
@ -38,6 +38,7 @@ import org.apache.cloudstack.storage.datastore.db.PrimaryDataStoreDao;
|
|||||||
import org.apache.cloudstack.storage.datastore.db.StoragePoolVO;
|
import org.apache.cloudstack.storage.datastore.db.StoragePoolVO;
|
||||||
|
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public class KVMInvestigator extends AdapterBase implements Investigator {
|
public class KVMInvestigator extends AdapterBase implements Investigator {
|
||||||
@ -81,7 +82,7 @@ public class KVMInvestigator extends AdapterBase implements Investigator {
|
|||||||
return haManager.getHostStatus(agent);
|
return haManager.getHostStatus(agent);
|
||||||
}
|
}
|
||||||
|
|
||||||
List<StoragePoolVO> clusterPools = _storagePoolDao.listPoolsByCluster(agent.getClusterId());
|
List<StoragePoolVO> clusterPools = _storagePoolDao.findPoolsInClusters(Arrays.asList(agent.getClusterId()), null);
|
||||||
boolean storageSupportHA = storageSupportHa(clusterPools);
|
boolean storageSupportHA = storageSupportHa(clusterPools);
|
||||||
if (!storageSupportHA) {
|
if (!storageSupportHA) {
|
||||||
List<StoragePoolVO> zonePools = _storagePoolDao.findZoneWideStoragePoolsByHypervisor(agent.getDataCenterId(), agent.getHypervisorType());
|
List<StoragePoolVO> zonePools = _storagePoolDao.findZoneWideStoragePoolsByHypervisor(agent.getDataCenterId(), agent.getHypervisorType());
|
||||||
@ -89,7 +90,7 @@ public class KVMInvestigator extends AdapterBase implements Investigator {
|
|||||||
}
|
}
|
||||||
if (!storageSupportHA) {
|
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);
|
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;
|
Status hostStatus = null;
|
||||||
|
|||||||
@ -19,6 +19,7 @@ package org.apache.cloudstack.metrics;
|
|||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
import java.util.HashSet;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
@ -302,7 +303,7 @@ public class PrometheusExporterImpl extends ManagerBase implements PrometheusExp
|
|||||||
.flatMap( h -> _hostTagsDao.getHostTags(h).stream())
|
.flatMap( h -> _hostTagsDao.getHostTags(h).stream())
|
||||||
.distinct()
|
.distinct()
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
List<String> allHostTags = new ArrayList<>();
|
HashSet<String> allHostTags = new HashSet<>();
|
||||||
allHostTagVOS.forEach(hostTagVO -> allHostTags.add(hostTagVO.getTag()));
|
allHostTagVOS.forEach(hostTagVO -> allHostTags.add(hostTagVO.getTag()));
|
||||||
|
|
||||||
for (final State state : State.values()) {
|
for (final State state : State.values()) {
|
||||||
|
|||||||
@ -1784,7 +1784,7 @@ public class NetworkServiceImpl extends ManagerBase implements NetworkService, C
|
|||||||
}
|
}
|
||||||
|
|
||||||
Pair<Integer, Integer> interfaceMTUs = validateMtuConfig(publicMtu, privateMtu, zone.getId());
|
Pair<Integer, Integer> interfaceMTUs = validateMtuConfig(publicMtu, privateMtu, zone.getId());
|
||||||
mtuCheckForVpcNetwork(vpcId, interfaceMTUs, publicMtu, privateMtu);
|
mtuCheckForVpcNetwork(vpcId, interfaceMTUs, publicMtu);
|
||||||
|
|
||||||
Network associatedNetwork = null;
|
Network associatedNetwork = null;
|
||||||
if (associatedNetworkId != null) {
|
if (associatedNetworkId != null) {
|
||||||
@ -2079,7 +2079,7 @@ public class NetworkServiceImpl extends ManagerBase implements NetworkService, C
|
|||||||
return ntwkOff;
|
return ntwkOff;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void mtuCheckForVpcNetwork(Long vpcId, Pair<Integer, Integer> interfaceMTUs, Integer publicMtu, Integer privateMtu) {
|
protected void mtuCheckForVpcNetwork(Long vpcId, Pair<Integer, Integer> interfaceMTUs, Integer publicMtu) {
|
||||||
if (vpcId != null && publicMtu != null) {
|
if (vpcId != null && publicMtu != null) {
|
||||||
VpcVO vpc = _vpcDao.findById(vpcId);
|
VpcVO vpc = _vpcDao.findById(vpcId);
|
||||||
if (vpc == null) {
|
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 " +
|
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()));
|
"passed during VPC network tier creation ", vpc.getPublicMtu()));
|
||||||
interfaceMTUs.set(vpc.getPublicMtu(), privateMtu);
|
interfaceMTUs.set(vpc.getPublicMtu(), interfaceMTUs.second());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -555,7 +555,7 @@ public class NetworkServiceImplTest {
|
|||||||
Mockito.when(vpcVO.getPublicMtu()).thenReturn(vpcMtu);
|
Mockito.when(vpcVO.getPublicMtu()).thenReturn(vpcMtu);
|
||||||
|
|
||||||
Pair<Integer, Integer> updatedMtus = service.validateMtuConfig(publicMtu, privateMtu, zoneId);
|
Pair<Integer, Integer> updatedMtus = service.validateMtuConfig(publicMtu, privateMtu, zoneId);
|
||||||
service.mtuCheckForVpcNetwork(vpcId, updatedMtus, publicMtu, privateMtu);
|
service.mtuCheckForVpcNetwork(vpcId, updatedMtus, publicMtu);
|
||||||
Assert.assertEquals(vpcMtu, updatedMtus.first());
|
Assert.assertEquals(vpcMtu, updatedMtus.first());
|
||||||
Assert.assertEquals(privateMtu, updatedMtus.second());
|
Assert.assertEquals(privateMtu, updatedMtus.second());
|
||||||
}
|
}
|
||||||
|
|||||||
1
ui/public/config.json
vendored
1
ui/public/config.json
vendored
@ -13,6 +13,7 @@
|
|||||||
"loginTitle": "CloudStack",
|
"loginTitle": "CloudStack",
|
||||||
"loginFavicon": "assets/logo.svg",
|
"loginFavicon": "assets/logo.svg",
|
||||||
"loginFooter": "",
|
"loginFooter": "",
|
||||||
|
"resetPasswordFooter": "",
|
||||||
"logo": "assets/logo.svg",
|
"logo": "assets/logo.svg",
|
||||||
"minilogo": "assets/mini-logo.svg",
|
"minilogo": "assets/mini-logo.svg",
|
||||||
"banner": "assets/banner.svg",
|
"banner": "assets/banner.svg",
|
||||||
|
|||||||
@ -37,8 +37,9 @@
|
|||||||
</div>
|
</div>
|
||||||
<route-view></route-view>
|
<route-view></route-view>
|
||||||
</div>
|
</div>
|
||||||
<div class="user-layout-footer" v-if="$config.loginFooter">
|
<div class="user-layout-footer" v-if="$config.loginFooter || $config.resetPasswordFooter">
|
||||||
<label v-html="$config.loginFooter"></label>
|
<label v-if="$route.name === 'resetPassword' && $config.resetPasswordFooter" v-html="$config.resetPasswordFooter"></label>
|
||||||
|
<label v-else v-html="$config.loginFooter"></label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user