Skip to content

Commit 8c31e64

Browse files
hmahmoodclaude
andcommitted
VULN-92045 add release note
Add a Cluster Agent release note covering the behavior change: the namespace part of a datadogmetric@<namespace>:<name> reference is now ignored and the DatadogMetric is resolved in the namespace of the referencing autoscaler. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
1 parent ac44278 commit 8c31e64

1 file changed

Lines changed: 30 additions & 0 deletions

File tree

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
---
2+
upgrade:
3+
- |
4+
The ``<namespace>`` part of a ``datadogmetric@<namespace>:<name>`` external metric
5+
reference is now ignored. The referenced ``DatadogMetric`` is always looked up in the
6+
namespace of the ``HorizontalPodAutoscaler`` or ``WatermarkPodAutoscaler`` that holds
7+
the reference, so referencing a ``DatadogMetric`` owned by another namespace is no
8+
longer supported. Such a reference now resolves to a ``DatadogMetric`` that does not
9+
exist, which leaves the autoscaler without a metric value and unable to scale.
10+
11+
To find out whether you are affected, list every external metric reference that carries
12+
an explicit namespace:
13+
14+
.. code-block:: shell
15+
16+
kubectl get hpa --all-namespaces -o yaml | grep -E 'datadogmetric@[a-z0-9-]+:'
17+
kubectl get wpa --all-namespaces -o yaml | grep -E 'datadogmetric@[a-z0-9-]+:'
18+
19+
References whose namespace is the namespace of the autoscaler holding them keep working
20+
unchanged. For every reference pointing at another namespace, create a ``DatadogMetric``
21+
with the same query in the autoscaler's own namespace and point the autoscaler at it.
22+
The namespace can now be left out entirely, ``datadogmetric@<name>`` is a valid
23+
reference that resolves in the autoscaler's namespace.
24+
security:
25+
- |
26+
The Cluster Agent external metrics provider now resolves ``datadogmetric@`` references
27+
in the namespace of the requesting object rather than the namespace embedded in the
28+
metric name. Previously, a workload could read the value of a ``DatadogMetric`` owned by
29+
another namespace, and keep that ``DatadogMetric`` active so that its Datadog queries
30+
kept running.

0 commit comments

Comments
 (0)