Hi! I'm sorry, but it does not work, While there are hosts with dozens of GB RAM free, the allocator still selects a CLOUDSTACK-7857-full host an the deployment fails.
I did set vm.allocation.algorithm to firstfitleastconsumed and vm.allocation.algorithm to firstfitleastconsumed and restarted the management server. But I get: -------- 2016-02-11 09:31:31,665 WARN [c.c.h.x.r.CitrixResourceBase] (DirectAgent-73:ctx-6fa5171b) (logid:54f88baa) Unable to start VM(i-39-1894-VM) on host(bc07803d-d696-4b27-84c6-7ff20960fb19) due to Task failed! Task record: uuid: 6661aea4-ad0a-1c09-0725-988ca32f715f nameLabel: Async.VM.start_on nameDescription: allowedOperations: [] currentOperations: {} created: Thu Feb 11 09:31:30 CET 2016 finished: Thu Feb 11 09:31:30 CET 2016 status: failure residentOn: com.xensource.xenapi.Host@69af9bad progress: 1.0 type: <none/> result: errorInfo: [HOST_NOT_ENOUGH_FREE_MEMORY, 1086324736, 599031808] otherConfig: {} subtaskOf: com.xensource.xenapi.Task@aaf13f6f subtasks: [] Task failed! Task record: uuid: 6661aea4-ad0a-1c09-0725-988ca32f715f --------- The selected host is alone in its cluster, and indeed has less than 1GB RAM free. That's 99% used, while the disable threshold is set 0.88. So why did ACS chose this cluster/host at all? Did I actually use this new allocator? In the log file, I still see "FirstFitAllocator". Thanks Martin -----Ursprüngliche Nachricht----- Von: Martin Emrich [mailto:martin.emr...@empolis.com] Gesendet: Donnerstag, 11. Februar 2016 09:20 An: users@cloudstack.apache.org Betreff: AW: Still having capacity calculation problems with XenServer. Hi! That sounds similar to my idea :) Looks like it is already part of 4.7.1, I will give it a try... Thanks Martin -----Ursprüngliche Nachricht----- Von: Koushik Das [mailto:koushik....@citrix.com] Gesendet: Donnerstag, 11. Februar 2016 04:43 An: <users@cloudstack.apache.org> Betreff: Re: Still having capacity calculation problems with XenServer. Check if the fix for CLOUDSTACK-8181 helps. > On 10-Feb-2016, at 7:33 PM, Martin Emrich <martin.emr...@empolis.com> wrote: > > Hi! > > I am still/again having issues with the capacity calculation on Cloudstack: > > https://issues.apache.org/jira/browse/CLOUDSTACK-2344 > https://issues.apache.org/jira/browse/CLOUDSTACK-7857 > > As these Issues are still in 4.7.1, I thought about implementing a fix > myself, I thought of a "LeastMemoryUsedAllocator". Used instead of the > FirstFitAllocator, it should always return the host with the most free memory > left, thus "Pushing" the problem to the point where all hosts are nearly > full. (Of course, a "real" fix would be preferred, when Cloudstack would try > the next host instead of returning a deployment error). > > I have the latest source code and Eclipse ready, found the example > "RandomAllocator", but now I am stuck: > > > - How do I get the memory used on each host inside the Allocator? > > - And how do I actually build the plugin? Can I build it, and get > some small .jar file, and just put that in the server and use it in > host.allocators.order? > > Yes, it sounds naïve, but I maybe it could be that simple... As my cloud is > unusable despite having hundreds of gigabytes of RAM available, I'm eager to > dive into cloudstack dev ;) > > Thanks > > Martin >