mirror of
https://github.com/apache/cloudstack.git
synced 2025-11-02 20:02:29 +01:00
bug 8879: Send network usage command for domain routers in Running state only
status 8879: resolved fixed
This commit is contained in:
parent
61cdbd0e1f
commit
675ffe23e8
@ -652,7 +652,7 @@ public class VirtualNetworkApplianceManagerImpl implements VirtualNetworkApplian
|
|||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
|
|
||||||
final List<DomainRouterVO> routers = _routerDao.listVirtualUpByHostId(null);
|
final List<DomainRouterVO> routers = _routerDao.listByStateAndNetworkType(State.Running, GuestIpType.Virtual);
|
||||||
s_logger.debug("Found " + routers.size() + " running routers. ");
|
s_logger.debug("Found " + routers.size() + " running routers. ");
|
||||||
|
|
||||||
for (DomainRouterVO router : routers) {
|
for (DomainRouterVO router : routers) {
|
||||||
|
|||||||
@ -19,9 +19,11 @@ package com.cloud.vm.dao;
|
|||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import com.cloud.network.Network.GuestIpType;
|
||||||
import com.cloud.network.router.VirtualRouter.Role;
|
import com.cloud.network.router.VirtualRouter.Role;
|
||||||
import com.cloud.utils.db.GenericDao;
|
import com.cloud.utils.db.GenericDao;
|
||||||
import com.cloud.vm.DomainRouterVO;
|
import com.cloud.vm.DomainRouterVO;
|
||||||
|
import com.cloud.vm.VirtualMachine.State;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
@ -83,4 +85,10 @@ public interface DomainRouterDao extends GenericDao<DomainRouterVO, Long> {
|
|||||||
List<DomainRouterVO> findByNetworkAndPod(long networkId, long podId);
|
List<DomainRouterVO> findByNetworkAndPod(long networkId, long podId);
|
||||||
|
|
||||||
List<DomainRouterVO> listActive(long networkId);
|
List<DomainRouterVO> listActive(long networkId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* List domain routers by state and network type
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
List<DomainRouterVO> listByStateAndNetworkType(State state, GuestIpType ipType);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -45,6 +45,7 @@ public class DomainRouterDaoImpl extends GenericDaoBase<DomainRouterVO, Long> im
|
|||||||
protected final SearchBuilder<DomainRouterVO> AllFieldsSearch;
|
protected final SearchBuilder<DomainRouterVO> AllFieldsSearch;
|
||||||
protected final SearchBuilder<DomainRouterVO> IdNetworkIdStatesSearch;
|
protected final SearchBuilder<DomainRouterVO> IdNetworkIdStatesSearch;
|
||||||
protected final SearchBuilder<DomainRouterVO> HostUpSearch;
|
protected final SearchBuilder<DomainRouterVO> HostUpSearch;
|
||||||
|
protected final SearchBuilder<DomainRouterVO> StateNetworkTypeSearch;
|
||||||
NetworkDaoImpl _networksDao = ComponentLocator.inject(NetworkDaoImpl.class);
|
NetworkDaoImpl _networksDao = ComponentLocator.inject(NetworkDaoImpl.class);
|
||||||
|
|
||||||
protected DomainRouterDaoImpl() {
|
protected DomainRouterDaoImpl() {
|
||||||
@ -73,6 +74,13 @@ public class DomainRouterDaoImpl extends GenericDaoBase<DomainRouterVO, Long> im
|
|||||||
joinNetwork.and("guestType", joinNetwork.entity().getGuestType(), Op.EQ);
|
joinNetwork.and("guestType", joinNetwork.entity().getGuestType(), Op.EQ);
|
||||||
HostUpSearch.join("network", joinNetwork, joinNetwork.entity().getId(), HostUpSearch.entity().getNetworkId(), JoinType.INNER);
|
HostUpSearch.join("network", joinNetwork, joinNetwork.entity().getId(), HostUpSearch.entity().getNetworkId(), JoinType.INNER);
|
||||||
HostUpSearch.done();
|
HostUpSearch.done();
|
||||||
|
|
||||||
|
StateNetworkTypeSearch = createSearchBuilder();
|
||||||
|
StateNetworkTypeSearch.and("state", StateNetworkTypeSearch.entity().getState(), Op.EQ);
|
||||||
|
SearchBuilder<NetworkVO> joinStateNetwork = _networksDao.createSearchBuilder();
|
||||||
|
joinStateNetwork.and("guestType", joinStateNetwork.entity().getGuestType(), Op.EQ);
|
||||||
|
StateNetworkTypeSearch.join("network", joinStateNetwork, joinStateNetwork.entity().getId(), StateNetworkTypeSearch.entity().getNetworkId(), JoinType.INNER);
|
||||||
|
StateNetworkTypeSearch.done();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -178,4 +186,12 @@ public class DomainRouterDaoImpl extends GenericDaoBase<DomainRouterVO, Long> im
|
|||||||
sc.setParameters("states", State.Running, State.Migrating, State.Stopping, State.Starting);
|
sc.setParameters("states", State.Running, State.Migrating, State.Stopping, State.Starting);
|
||||||
return listBy(sc);
|
return listBy(sc);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<DomainRouterVO> listByStateAndNetworkType(State state, GuestIpType ipType) {
|
||||||
|
SearchCriteria<DomainRouterVO> sc = StateNetworkTypeSearch.create();
|
||||||
|
sc.setParameters("state", state);
|
||||||
|
sc.setJoinParameters("network", "guestType", ipType);
|
||||||
|
return listBy(sc);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user