3030import java .util .HashMap ;
3131import java .util .HashSet ;
3232import java .util .Iterator ;
33- import java .util .LinkedList ;
3433import java .util .List ;
3534import java .util .Map ;
3635import java .util .Set ;
5453import com .cloud .agent .api .storage .CopyVolumeCommand ;
5554import com .cloud .agent .manager .allocator .HostAllocator ;
5655import com .cloud .alert .Alert ;
56+ import com .cloud .alert .AlertManager ;
5757import com .cloud .alert .AlertVO ;
5858import com .cloud .alert .dao .AlertDao ;
5959import com .cloud .api .ApiConstants ;
126126import com .cloud .dc .DataCenterVO ;
127127import com .cloud .dc .HostPodVO ;
128128import com .cloud .dc .PodVlanMapVO ;
129- import com .cloud .dc .Vlan .VlanType ;
130129import com .cloud .dc .VlanVO ;
130+ import com .cloud .dc .Vlan .VlanType ;
131131import com .cloud .dc .dao .AccountVlanMapDao ;
132132import com .cloud .dc .dao .ClusterDao ;
133133import com .cloud .dc .dao .DataCenterDao ;
153153import com .cloud .exception .StorageUnavailableException ;
154154import com .cloud .host .DetailVO ;
155155import com .cloud .host .Host ;
156- import com .cloud .host .Host .Type ;
157156import com .cloud .host .HostVO ;
157+ import com .cloud .host .Host .Type ;
158158import com .cloud .host .dao .HostDao ;
159159import com .cloud .host .dao .HostDetailsDao ;
160- import com .cloud .hypervisor .Hypervisor .HypervisorType ;
161160import com .cloud .hypervisor .HypervisorCapabilities ;
162161import com .cloud .hypervisor .HypervisorCapabilitiesVO ;
162+ import com .cloud .hypervisor .Hypervisor .HypervisorType ;
163163import com .cloud .hypervisor .dao .HypervisorCapabilitiesDao ;
164164import com .cloud .info .ConsoleProxyInfo ;
165165import com .cloud .keystore .KeystoreManager ;
178178import com .cloud .storage .GuestOSVO ;
179179import com .cloud .storage .LaunchPermissionVO ;
180180import com .cloud .storage .Storage ;
181- import com .cloud .storage .Storage .ImageFormat ;
182181import com .cloud .storage .StorageManager ;
183182import com .cloud .storage .StoragePoolVO ;
184183import com .cloud .storage .Upload ;
185- import com .cloud .storage .Upload .Mode ;
186184import com .cloud .storage .UploadVO ;
187185import com .cloud .storage .VMTemplateVO ;
188186import com .cloud .storage .Volume ;
189187import com .cloud .storage .VolumeVO ;
188+ import com .cloud .storage .Storage .ImageFormat ;
189+ import com .cloud .storage .Upload .Mode ;
190190import com .cloud .storage .dao .DiskOfferingDao ;
191191import com .cloud .storage .dao .GuestOSCategoryDao ;
192192import com .cloud .storage .dao .GuestOSDao ;
224224import com .cloud .utils .db .Filter ;
225225import com .cloud .utils .db .GlobalLock ;
226226import com .cloud .utils .db .JoinBuilder ;
227- import com .cloud .utils .db .JoinBuilder .JoinType ;
228227import com .cloud .utils .db .SearchBuilder ;
229228import com .cloud .utils .db .SearchCriteria ;
230229import com .cloud .utils .db .Transaction ;
230+ import com .cloud .utils .db .JoinBuilder .JoinType ;
231231import com .cloud .utils .exception .CloudRuntimeException ;
232232import com .cloud .utils .net .MacAddress ;
233233import com .cloud .utils .net .NetUtils ;
241241import com .cloud .vm .UserVmVO ;
242242import com .cloud .vm .VMInstanceVO ;
243243import com .cloud .vm .VirtualMachine ;
244- import com .cloud .vm .VirtualMachine .State ;
245244import com .cloud .vm .VirtualMachineManager ;
246245import com .cloud .vm .VirtualMachineProfile ;
247246import com .cloud .vm .VirtualMachineProfileImpl ;
247+ import com .cloud .vm .VirtualMachine .State ;
248248import com .cloud .vm .dao .ConsoleProxyDao ;
249249import com .cloud .vm .dao .DomainRouterDao ;
250250import com .cloud .vm .dao .InstanceGroupDao ;
@@ -260,6 +260,7 @@ public class ManagementServerImpl implements ManagementServer {
260260
261261 private final AccountManager _accountMgr ;
262262 private final AgentManager _agentMgr ;
263+ private final AlertManager _alertMgr ;
263264 private final IPAddressDao _publicIpAddressDao ;
264265 private final DomainRouterDao _routerDao ;
265266 private final ConsoleProxyDao _consoleProxyDao ;
@@ -342,6 +343,7 @@ protected ManagementServerImpl() {
342343
343344 _accountMgr = locator .getManager (AccountManager .class );
344345 _agentMgr = locator .getManager (AgentManager .class );
346+ _alertMgr = locator .getManager (AlertManager .class );
345347 _vmMgr = locator .getManager (UserVmManager .class );
346348 _consoleProxyMgr = locator .getManager (ConsoleProxyManager .class );
347349 _secStorageVmMgr = locator .getManager (SecondaryStorageVmManager .class );
@@ -2468,8 +2470,12 @@ public List<CapacityVO> listCapacities(ListCapacityCmd cmd) {
24682470 Long zoneId = cmd .getZoneId ();
24692471 Long podId = cmd .getPodId ();
24702472 Long clusterId = cmd .getClusterId ();
2473+ Boolean fetchLatest = cmd .getFetchLatest ();
24712474
24722475 zoneId = _accountMgr .checkAccessAndSpecifyAuthority (UserContext .current ().getCaller (), zoneId );
2476+ if (fetchLatest != null && fetchLatest ){
2477+ _alertMgr .recalculateCapacity ();
2478+ }
24732479 List <SummedCapacity > summedCapacities = _capacityDao .findCapacityBy (capacityType , zoneId , podId , clusterId );
24742480 List <CapacityVO > capacities = new ArrayList <CapacityVO >();
24752481
0 commit comments