Releases: Netflix/Fenzo
New optimal resource shortfall analysis
New optimal resource shortfall analyzer that can be optionally chosen when building scheduling service.
This works with existing task constraints, fitness functions, and autoscale rules to determine the right number of VMs to add for each autoscale group to satisfy the resource demands from tasks that failed assignments in the recent scheduling iteration.
Cluster scale down plugins
This release introduces plugins for optimizing the picking of VMs to down scale from among the available ones. One plugin creates partitioned VMs and another set of plugins orders the VMs within each partition. The first plugin also filters out VMs that are not to be scaled down. The plugins are optional, in the absence of which Fenzo will default to current behavior.
Unit test fix
Merge pull request #129 from spodila/fixUnitTest unit test fix
Tier Quotas
Introducing tier quotas: quotas (minimum capacity guarantees) can be optionally set on buckets within a tier for guaranteed capacity. Buckets can use more resources than quota if tier capacity allows all other buckets' quotas to be satisfied.
DRF is used to select next bucket to pick task from for resource assignment. The quotas are used to determine the weighted share for each bucket.
Quotas work well with cluster autoscaler as well, not scaling up the cluster for tasks that fail quotas.
Use immutable attributes collection in VirtualMachineLease
The underlying attribute map for a VM may change over time. Without this isolation concurrency issue may happen.
Fix inactive VM purging
Explicitly exclude VMs with resource assignments from current scheduling iteration when purging VMs.
Scaling factor for shortfall based cluster scale up
Introduce scaling factor for shortfall analysis based cluster scale up instead of defaulting to 1 VM per task.
Fix sortedBuckets that have errors
Fix the list of buckets in SortedBuckets when it has a problem. This helps scheduler proceed until root cause for the incorrect sorting is found and fixed.
Fix VM active check
Fix for active check on AssignableVirtualMachine to avoid race condition with removing inactive VMs.
Fix VM active check
Fix for active check on AssignableVirtualMachine to avoid race condition with removing inactive VMs.