mirror of https://github.com/apache/cloudstack.git
parent
c2baed665b
commit
ab37009e90
|
|
@ -215,6 +215,4 @@ public interface NetworkOrchestrationService {
|
|||
DhcpServiceProvider getDhcpServiceProvider(Network network);
|
||||
|
||||
void removeDhcpServiceInSubnet(Nic nic);
|
||||
|
||||
boolean resourceCountNeedsUpdate(NetworkOffering ntwkOff, ACLType aclType);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1650,7 +1650,7 @@ public class NetworkOrchestrator extends ManagerBase implements NetworkOrchestra
|
|||
final boolean updateResourceCount = resourceCountNeedsUpdate(ntwkOff, aclType);
|
||||
//check resource limits
|
||||
if (updateResourceCount) {
|
||||
_resourceLimitMgr.checkResourceLimit(owner, ResourceType.network, isDisplayNetworkEnabled);
|
||||
_resourceLimitMgr.checkResourceLimit(owner, ResourceType.network);
|
||||
}
|
||||
|
||||
// Validate network offering
|
||||
|
|
@ -1928,7 +1928,7 @@ public class NetworkOrchestrator extends ManagerBase implements NetworkOrchestra
|
|||
}
|
||||
|
||||
if (updateResourceCount) {
|
||||
_resourceLimitMgr.incrementResourceCount(owner.getId(), ResourceType.network, isDisplayNetworkEnabled);
|
||||
_resourceLimitMgr.incrementResourceCount(owner.getId(), ResourceType.network);
|
||||
}
|
||||
|
||||
return network;
|
||||
|
|
@ -2217,7 +2217,7 @@ public class NetworkOrchestrator extends ManagerBase implements NetworkOrchestra
|
|||
NetworkOffering ntwkOff = _entityMgr.findById(NetworkOffering.class, networkFinal.getNetworkOfferingId());
|
||||
boolean updateResourceCount = resourceCountNeedsUpdate(ntwkOff, networkFinal.getAclType());
|
||||
if (updateResourceCount) {
|
||||
_resourceLimitMgr.decrementResourceCount(networkFinal.getAccountId(), ResourceType.network, networkFinal.getDisplayNetwork());
|
||||
_resourceLimitMgr.decrementResourceCount(networkFinal.getAccountId(), ResourceType.network);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -2232,8 +2232,7 @@ public class NetworkOrchestrator extends ManagerBase implements NetworkOrchestra
|
|||
return success;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean resourceCountNeedsUpdate(NetworkOffering ntwkOff, ACLType aclType) {
|
||||
private boolean resourceCountNeedsUpdate(NetworkOffering ntwkOff, ACLType aclType) {
|
||||
//Update resource count only for Isolated account specific non-system networks
|
||||
boolean updateResourceCount = (ntwkOff.getGuestType() == GuestType.Isolated && !ntwkOff.isSystemOnly() && aclType == ACLType.Account);
|
||||
return updateResourceCount;
|
||||
|
|
|
|||
|
|
@ -195,7 +195,6 @@ public class NetworkDaoImpl extends GenericDaoBase<NetworkVO, Long> implements N
|
|||
|
||||
NetworksRegularUserCanCreateSearch = createSearchBuilder(Long.class);
|
||||
NetworksRegularUserCanCreateSearch.and("aclType", NetworksRegularUserCanCreateSearch.entity().getAclType(), Op.EQ);
|
||||
NetworksRegularUserCanCreateSearch.and("displayNetwork", NetworksRegularUserCanCreateSearch.entity().getDisplayNetwork(), Op.EQ);
|
||||
NetworksRegularUserCanCreateSearch.select(null, Func.COUNT, NetworksRegularUserCanCreateSearch.entity().getId());
|
||||
SearchBuilder<NetworkAccountVO> join4 = _accountsDao.createSearchBuilder();
|
||||
join4.and("account", join4.entity().getAccountId(), Op.EQ);
|
||||
|
|
@ -550,7 +549,6 @@ public class NetworkDaoImpl extends GenericDaoBase<NetworkVO, Long> implements N
|
|||
public long countNetworksUserCanCreate(long ownerId) {
|
||||
SearchCriteria<Long> sc = NetworksRegularUserCanCreateSearch.create();
|
||||
sc.setParameters("aclType", ACLType.Account);
|
||||
sc.setParameters("displayNetwork", 1);
|
||||
sc.setJoinParameters("accounts", "account", ownerId);
|
||||
sc.setJoinParameters("ntwkOff", "specifyVlan", false);
|
||||
return customSearch(sc, null).get(0);
|
||||
|
|
|
|||
|
|
@ -41,7 +41,6 @@ import javax.ejb.Local;
|
|||
import javax.inject.Inject;
|
||||
import javax.naming.ConfigurationException;
|
||||
|
||||
import com.cloud.configuration.Resource;
|
||||
import org.apache.log4j.Logger;
|
||||
|
||||
import org.apache.cloudstack.acl.ControlledEntity.ACLType;
|
||||
|
|
@ -1999,18 +1998,10 @@ public class NetworkServiceImpl extends ManagerBase implements NetworkService {
|
|||
network.setDisplayText(displayText);
|
||||
}
|
||||
|
||||
// display flag is not null and has changed
|
||||
if (displayNetwork != null && displayNetwork != network.getDisplayNetwork()) {
|
||||
if (displayNetwork != null) {
|
||||
if (!_accountMgr.isRootAdmin(callerAccount.getType())) {
|
||||
throw new PermissionDeniedException("Only admin allowed to update displaynetwork parameter");
|
||||
}
|
||||
|
||||
// Update resource count if it needs to be updated
|
||||
NetworkOffering networkOffering = _networkOfferingDao.findById(network.getNetworkOfferingId());
|
||||
if(_networkMgr.resourceCountNeedsUpdate(networkOffering,network.getAclType())){
|
||||
_resourceLimitMgr.changeResourceCount(network.getAccountId(), Resource.ResourceType.network, displayNetwork);
|
||||
}
|
||||
|
||||
network.setDisplayNetwork(displayNetwork);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue