Skip to content

Commit 454f5aa

Browse files
committed
server: verify global setting if account setting is invalid
1 parent a39c3e6 commit 454f5aa

1 file changed

Lines changed: 16 additions & 6 deletions

File tree

server/src/main/java/org/cloud/network/router/deployment/RouterDeploymentDefinition.java

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -392,13 +392,23 @@ protected void findDefaultServiceOfferingId() {
392392

393393
protected void findAccountServiceOfferingId(long accountId) {
394394
String accountRouterOffering = VirtualNetworkApplianceManager.VirtualRouterServiceOffering.valueIn(accountId);
395+
String globalRouterOffering = VirtualNetworkApplianceManager.VirtualRouterServiceOffering.value();
395396
if (accountRouterOffering != null) {
396-
ServiceOfferingVO serviceOffering = serviceOfferingDao.findByUuid(accountRouterOffering);
397-
if (serviceOffering != null && serviceOffering.isSystemUse()) {
398-
boolean isLocalStorage = ConfigurationManagerImpl.SystemVMUseLocalStorage.valueIn(dest.getDataCenter().getId());
399-
if (isLocalStorage == serviceOffering.isUseLocalStorage()) {
400-
serviceOfferingId = serviceOffering.getId();
401-
}
397+
verifyServiceOfferingByUuid(accountRouterOffering);
398+
}
399+
if (serviceOfferingId == null && globalRouterOffering != accountRouterOffering) {
400+
verifyServiceOfferingByUuid(globalRouterOffering);
401+
}
402+
}
403+
404+
private void verifyServiceOfferingByUuid(String offeringUuid) {
405+
logger.debug("Verifying router service offering with uuid : " + offeringUuid);
406+
ServiceOfferingVO serviceOffering = serviceOfferingDao.findByUuid(offeringUuid);
407+
if (serviceOffering != null && serviceOffering.isSystemUse()) {
408+
boolean isLocalStorage = ConfigurationManagerImpl.SystemVMUseLocalStorage.valueIn(dest.getDataCenter().getId());
409+
if (isLocalStorage == serviceOffering.isUseLocalStorage()) {
410+
logger.debug("service offering " + serviceOffering.getId() + " will be used on virtual router");
411+
serviceOfferingId = serviceOffering.getId();
402412
}
403413
}
404414
}

0 commit comments

Comments
 (0)