What's New in v0.1.30
v0.1.30 waits for CPU samples before it derives memory from memoryFromCpuRatio. When a metrics query fails, the policy retries on the short data-collection interval instead of waiting a full cooldown.
Highlights
- Policies that set
memory.memoryFromCpuRationo longer treat Prometheus memory gauges or a VPA memory target as the memory recommendation while CPU samples are still missing. - Ready
MetricsUnavailablenow requeues atmin(cooldown, queryStep)with no extra jitter, the same intervalInsufficientDataalready used.
memoryFromCpuRatio
-
Memory recommendations could come from usage gauges while CPU samples were still missing. A valid
memoryFromCpuRationow waits for a CPU recommendation. Ready staysInsufficientDataand retries atmin(cooldown, queryStep). TheCollecting data: X/Ymessage counts CPU samples only. Auto does not apply during that wait (#820, #822). -
A brief CPU gap could drop a good derived rec and leave a leftover usage rec. Under a valid ratio, Attune keeps only a prior rec whose memory explanation names
memoryFromCpuRatio. A leftover usage rec is dropped. When explanations are stripped from status, a ratio origin note is kept so the next CPU gap can still reuse that rec (#823). -
An invalid ratio (
abc,0,NaN, or above 1000) could stall the wait path. Those values are ignored and Attune uses the memory signal. The webhook still rejects them when admission is enabled (#823).
MetricsUnavailable
- A metrics query error waited a full cooldown (default 1h, plus up to 2m jitter) before retrying. Ready
MetricsUnavailablenow uses the same short requeue asInsufficientData. A policy withcooldown: 2hand the default 5m step retries every 5 minutes. Resize spacing is unchanged once Ready isMonitoring(#823).
Compatibility
| Surface | Requires |
|---|---|
Existing policies without memoryFromCpuRatio
| Unchanged, except the MetricsUnavailable retry interval |
memoryFromCpuRatio
| Waits for CPU; no fallback to memory gauges or a VPA memory target |
| Tested Kubernetes versions | 1.32 through 1.36 (1.37 experimental) |
Upgrade notes
- Upgrade the chart to 0.1.30, or set
image.tagto0.1.30orv0.1.30. - Pull
ghcr.io/attune-io/attune:v0.1.30orghcr.io/attune-io/attune:0.1.30. Both tags point at the same digest. - CRDs are unchanged for this release. Helm still does not upgrade CRDs on
helm upgrade; apply them only if you skipped a previous release that added CEL rules. - If you set
memoryFromCpuRatioand loweredminimumDataPoints, first recommendations wait until CPU samples exist (typically two cAdvisor scrapes). Ready staysInsufficientDataduring that wait instead of showing a usage-based memory rec. - Scripts that treated
MetricsUnavailableas a full-cooldown pause will see retries atqueryStep(default 5m).
See Upgrading for this section and earlier releases.