In tiered allocation, cut non-promising shrinking tries
In tiered allocation, cut non-promising shrinking tries

The heuristics for tiered allocation has been improved in that it
chooses to shrink such a resource next where by shrinking only this
resource a valid allocation can be made, if such a resource exists.
In order to decide whether such a resource exists, all potential
sizes of this resource are verified. We can improve performance by
cutting, as soon a potential allocation of an instance is no longer
blocked on this resource.

Signed-off-by: Klaus Aehlig <4ce51de36d9068cd7db2eec1151e0f3f95419008@google.com>
Reviewed-by: Guido Trotter <f62ca4d5358bdaeef0e50e57f9f7e231de63727e@google.com>

onponomarev/ganeti,apyrgio/ganeti,grnet/snf-ganeti,onponomarev/ganeti,grnet/snf-ganeti,dimara/ganeti,mbakke/ganeti,apyrgio/ganeti,apyrgio/snf-ganeti,andir/ganeti,yiannist/ganeti,ganeti/ganeti,yiannist/ganeti,bitemyapp/ganeti,ganeti-github-testing/ganeti-test-1,leshchevds/ganeti,ganeti/ganeti,ganeti-github-testing/ganeti-test-1,bitemyapp/ganeti,ganeti/ganeti,apyrgio/snf-ganeti,leshchevds/ganeti,leshchevds/ganeti,mbakke/ganeti,yiannist/ganeti,mbakke/ganeti,andir/ganeti,andir/ganeti,dimara/ganeti