{"repo":"kronos-openstack/kronos","free":true,"listed":false,"github":"https://github.com/kronos-openstack/kronos","clone":"git clone https://github.com/kronos-openstack/kronos.git","description":"PromQL-driven VM placement optimization engine for OpenStack: policies are raw Prometheus queries; the engine plans Nova live migrations to balance or pack host aggregates.","language":"Python","stars":16,"topics":["live-migration","nova","openstack","prometheus","rabbitmq","resource-optimization","load-balancing","promql","scheduler"],"license":"Apache-2.0","category":"analytics","readme_excerpt":"Kronos PromQL-driven VM placement optimization engine for OpenStack Kronos evaluates Prometheus metrics per Nova host aggregate and plans live migrations to balance (spread) or consolidate (pack) workloads. Multiple policies on the same aggregate are combined into a single weighted score, so the planner can trade off memory and CPU (or any other PromQL-driven dimensions) simultaneously. When dry-run is disabled, the engine casts migration tasks to a per-aggregate RPC topic via oslo.messaging. A dedicated executor daemon consumes the tasks and carries them out through the Nova live-migrate API. Features - Combined multi-policy scoring - every policy contributes a weighted PromQL-driven imbalance score; one simulation plans across all dimensions at once instead of fighting itself one metric at a time. - Spread and pack modes - balance load across hosts, or consolidate onto as few hosts as possible with per-policy capacity ceilings. - Server-group awareness - all four Nova placement policies (affinity, anti-affinity, and their soft variants, including the max server per host rule) both constrain new plans and get actively repaired by an optional enforcement pass. - Disabled-host evacuation - optionally drain VMs off administratively disabled (but still up) compute hosts before any rebalancing happens. - Safety rails everywhere - dry-run mode, per-cycle migration budgets, host liveness gate on Nova os-services , Placement claims gate (both fail closed), aggregate and instance coo","default_branch":null,"files":null,"tree":[],"storefront":"/r/kronos-openstack","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/kronos-openstack/kronos/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}