Commit Graph

36 Commits

Author SHA1 Message Date
Alena Prokharchyk b7f5bc099d bug 14622: introduced ha tagging for host
status 14622: resolved fixed
2012-04-09 15:17:13 -07:00
frank 72d284de7d Switch to Apache license 2012-04-03 04:54:14 -07:00
Nitin Mehta 2e92688b00 Bug 13692: Query was giving cluster id weven when it was pod level information.
Reviewed-By: Kishan
2012-02-16 14:48:28 +05:30
Nitin Mehta faaa7593de Bug 13059: Used and total capacity were not showing in some cases becuae the constructor was not setting it.
Reviewed-By: Kishan
2012-02-09 20:55:51 +05:30
Nitin Mehta e6beb08f1b Bug 13059: Keeping the param name more intuitive Also adding the ciode for listing used and total capacity as well.
Reviewed-By: Kishan
2012-02-08 18:03:22 +05:30
Nitin Mehta cbc47b9021 Bug 13059: For listing top consumed resources only uyse enabled zone for sec storage Also improve the transaction logic.
Reviewed-By: Kishan
2012-02-08 15:34:56 +05:30
Alena Prokharchyk bd765999ba Fixed listTopConsumedResources to work w/o specifying page/pageSize 2012-02-07 14:38:23 -08:00
Nitin Mehta ce26703e5c Bug 13059: Make DB changes to list top consumed resources for enabled resources only. For this introdiuced a new state called capacity state in the op_host_capacity table and would be updated on every operation of zone pod cluster and host
Reviewed-By: Kishan
2012-02-07 20:53:25 +05:30
Nitin Mehta 93b8178f19 Bug 13059: Introduce a new api to list top consumed resources in cloudstack.
Reviewed-By: Kishan
2012-02-06 20:32:40 +05:30
Nitin Mehta 23cfbb6cab Bug 13059: Make zoneId in ListCapacity call optional. When no parameter is passed list capacity for all zones.
Reviewed-By: Kishan
2012-01-23 20:32:50 +05:30
prachi 313e6ca284 Bug 8791 user dispersing allocator
Changes:
- Added a two new deployment planners  'UserDispersingPlanner' and 'UserConcentratedPodPlanner' to the DeploymentPlanners
- Planner can be chosen by setting the global config variable 'vm.allocation.algorithm' to either of the following values:
('random', 'firstfit', 'userdispersing', 'userconcentratedpod')
- By default, the value is 'random'. When the value is 'random', FirstFitPlanner is invoked as before that shuffles the resource lists.
- Now Admin can choose whether the deployment heuristic should be applied starting at cluster or pod level. This can be done by using the
global config variable 'apply.allocation.algorithm.to.pods' which is false by default. Thus by default as earlier, planner starts at clusters directly.

'UserConcentratedPodPlanner' changes:
- Earlier to 3.0, FirstFitPlanner used to reorder the clusters in case this heuristic was chosen.
- Now this is done by a separate planner and is applied only when 'vm.allocation.algorithm' is set to this planner
- It reorders the capacity based clusters/pods such that those pods having more number of Running Vms for the given account are tried first.
- Note that this userconcentration is applied only to pods and clusters. Not to hosts or storagepools within a cluster.

'UserDispersingPlanner' changes:
- 'UserDispersingPlanner' reorders the capacity ordered pods and clusters based on number of 'Running' VMs for the given account in ascending order. Aim is to choose thodes pods/clusters first which have less number of Running VMs for the given account
- Admin can provide weights to capacity and user dispersion so that both parameters get considered in reordering the pods/clusters. This can be done by setting
the global config parameter 'vm.user.dispersion.weight'. Default value is 1. Thus if this planner is chosen, by default, ordering will be done only by number of Running Vms, unless the weight is changed.
- HostAlllocators and StoragePoolAllocators also reorder the hosts and pools by ascending order of number of Running VMS/ Ready Volumes respectively for the given account. Thus try to choose that host or pool within a cluster with less number of VMs for the account.
2011-11-17 18:29:39 -08:00
Nitin bbbfdd52ec bug 10848: Minor fixes. 2011-10-31 17:00:11 +05:30
Nitin 2b370ab535 bug 10657: Introducing cluster level global thresholds for cpu and ram so that these resources do not go beyond these thresholds. The reason for this is because, if the admn needs to provide maintenance, they don't have to add new machines or have ones on standby if the entire zone/pod/cluster is at 100% allocated capacity. Also introducing pool level global thresholds for allocated storage. There are other changes like DB upgrade and introduction of transaction. 2011-10-29 16:51:37 +05:30
Nitin 70aae9666b bug 10774: On removing storage, local storage, cluster handle deletion of corresponding op_host_capacity rows. 2011-10-27 11:23:26 +05:30
Nitin 9ba4b7073e bug 10893: Adding config vlaue conventions. 2011-10-27 11:22:53 +05:30
Nitin 3921421ce5 bug 10848: listCapacity - sum the used and reserved capacities. Also apply overprovisioning factore explicitly 2011-10-27 11:21:32 +05:30
Nitin 9c20c1b1b6 bug 10848: ListCapacity - Full rework. This fixes the pagination logic and the capacities are visible till the cluster level. 2011-10-27 11:18:56 +05:30
Nitin 823b80a92e bug 10848: Change function signatures to accept capacity type as an object.. 2011-10-12 16:07:00 +05:30
prachi 083b458f03 Bug 11617 - Ensure the Deployment planner is choosing clusters based on aggregate capacity
Merge removed this import statement. Adding it back.
2011-10-03 15:46:41 -07:00
prachi e0a179752d Bug 11617: Ensure the Deployment planner is choosing clusters based on aggregate capacity
Changes:
- We were ordering clusters based on capacity of the first-fit host found in each cluster. Due to this, there were cases where we deployed VMs to one cluster instead of balancing off within clusters.
- Now we order the list of clusters by aggregate capacity and choose the ones that have enough capacity for the required VM in this order.
- This should balance the load between clusters instead of bombarding one.

Conflicts:

	server/src/com/cloud/capacity/dao/CapacityDao.java
	server/src/com/cloud/capacity/dao/CapacityDaoImpl.java
2011-10-03 15:37:38 -07:00
Nitin da2696b2f6 bug 11051: ListCluster - Apply cpu overprovisioning explicitly as it is not applied when its stored in the db. Also avoid calculating the non shared storage for storage allocated capacity calculation. 2011-09-28 16:16:28 +05:30
Nitin f49578c23a bug 11051: ListZones - Introduce a flag 'showCapacitites'. When its true it will start displaying all the capacitites (as objects in the response) for the respective zone. Also correcting the summation logic for List cluster, pod and zone commands 2011-09-21 16:59:16 +05:30
Nitin 4a5f6faca2 bug 11051: ListClusters - Introduce a flag 'showCapacitites'. When its true it will start displaying all the capacitites (as objects in the response) for the respective cluster. 2011-09-20 14:33:46 +05:30
frank 85f18ff256 fix build, add test rpm back 2011-08-24 13:24:51 -07:00
Nitin d763d809cc bug 10848: Introducing an api - ListCapacityByType. Add the basic DB layer in the command. 2011-08-09 18:12:37 +05:30
Edison Su cd531d7562 bug 10770: don't select cluster if it's removed in firstfitplanner
status 10770: resolved fixed
2011-07-22 15:10:25 -07:00
prachi b84a7477f0 Bug 9539 - cpu.overprovisioning.factor does not work
Changes:
- Changed host allocators/planner  to use cpu.overprovisioning.factor
- Removed following: while adding a new host, we were setting the total_cpu in op_host_capacity to be actual_cpu * cpu.overprovisioning.factor. Now we set it to actual_cpu.
- ListCapacities response now calculates the total CPU as actual * cpu.overprovisioning.factor (This change does not add anything new - listCapacities was pulling total CPU from op_host_capacity DB earlier which had the cpu.overprovisioning.factor applied already. Now we need to apply it over the DB entry.)
- HostResponse has a new field: 'cpuWithOverprovisioning' that returns the cpu after applying the cpu.overprovisioning.factor

- Db Upgrade 222 to 224 now updates the total_cpu in op_host_capacity to be the actual_cpu for each Routing host.
2011-04-22 18:09:31 -07:00
anthony 2bcd7a13d4 hostid and poolid may overlap, fixed deletePoolStats 2011-04-05 15:43:21 -07:00
prachi 92c0b3b82f Bug 9309 - In Manual migration, do not consider 'reserved_capacity' when computing available memory in destination
Changes:
- Now while listing hosts for migration, capacity is calculated as total_capacity -used_capacity
 instead of total_capacity -(used_capacity + reserved_capacity)
- Also, the capacity columns in op_host_capacity are now 'signed' type so that the subtractions in queries does not overflow.
- Added this to DB upgrade 222 to 224 change as well.
2011-04-05 14:06:32 -07:00
prachi ed9a11c6b6 API changes for Bug 3316 - Manual live migration of Virtual Machines
This is a Root admin only functionality
---------------------
Service API changes:
---------------------
- ManagementServer  will expose new API:
   Pair<List<HostVO>, List<Long>> listHostsForMigrationOfVM(UserVm vm, Long
startIndex, Long pageSize)
The API returns list of all hosts in the VM's cluster minus the current host and also a list of hostIds that seem to have enough CPU and RAM capacity to host this VM.
- ListHostsCmd will call this service API if virtualmachineid is present in the request.
- MigrateVmCmd is the new command added that takes in virtualmachineid and destination hostid
- UserVmService  will expose a new API:  UserVm migrateVirtualMachine(UserVm vm, Host destinationHost)

------------------------------------
API throws error in following cases:
------------------------------------
- User is not a root Admin. (‘Permission denied’)
- A VM uses local storage, we cannot migrate it, so ‘listHosts’ will throw error.
- We fail to migrate the VM on the chosen host.
- API will support migration for XenServer only currently. So error is thrown
if hypervisor is not XenServer (e.g KVM, vSphere etc)
- Destination host is not in same cluster as source host.
- VM is not in running state
2011-03-11 17:49:53 -08:00
prachi 889827b63a Bug 7845 - Productize DeploymentPlanner
Bug 7723 - merge or re-write host tagging into master / 2.2
Bug 7627 - Need more logging for Allocators
Bug 8317 - Add better resource allocation failure messages

Changes for Deployment Planner to use host and storagePool allocators to find deployment destination.
Also has the changes for host tag feature.
Improved the logging for allocators.
2011-02-28 13:47:51 -08:00
nit d1aa043aba bug 7525: Cleaning up primary storage stats from op_host_Capacity(reflected on dashboard) when primary storage is deleted.
status 7525 : resolved fixed
2011-01-20 20:38:43 +05:30
edison 3bd089acb5 don't break old code 2010-12-04 16:49:05 -08:00
edison 2e3ef1408c refactor 2010-12-04 14:59:40 -08:00
edison 41fdbfc65e new allocator 2010-12-04 14:59:39 -08:00
Alex Huang d38f7fd56d Moved DAO to server 2010-11-22 07:40:41 -08:00