Skip to content

[CONTP-1437] Migrate CSI driver check to be a core check#48596

Open
adel121 wants to merge 6 commits intomainfrom
adelhajhassan/migrate_csi_check_to_go
Open

[CONTP-1437] Migrate CSI driver check to be a core check#48596
adel121 wants to merge 6 commits intomainfrom
adelhajhassan/migrate_csi_check_to_go

Conversation

@adel121
Copy link
Copy Markdown
Contributor

@adel121 adel121 commented Mar 30, 2026

What does this PR do?

Migrates the datadog_csi_driver check from a Python OpenMetrics integration (in integrations-core) to a native Go core check, and adds a COAT (Cross-Org Agent Telemetry) profile so that CSI driver metrics are collected as internal agent telemetry.

Changes:

  • New Go core check (pkg/collector/corechecks/containers/csi_driver/): Scrapes the CSI driver's Prometheus endpoint (/metrics) and submits datadog.csi_driver.node_publish_volume_attempts.count and datadog.csi_driver.node_unpublish_volume_attempts.count as MonotonicCount metrics. Handles both with and without the _total suffix that Prometheus client libraries may append to counter names.
  • COAT integration: Each scraped metric is also fed into comp/core/telemetry counters, enabling Datadog to observe CSI driver adoption and health across all agent deployments without requiring customers to configure anything.
  • COAT profile (comp/core/agenttelemetry/impl/config.go): A csi-driver profile is added to defaultProfiles, collecting node_publish_volume_attempts (aggregated by status, type) and node_unpublish_volume_attempts (aggregated by status). Zero-valued metrics are excluded. Collection starts 60s after agent boot and repeats every 15 minutes.
  • Registration: The check factory is registered in pkg/commonchecks/corechecks.go and the config directory is added to AGENT_CORECHECKS in tasks/agent.py so conf.yaml.default ships with the agent.
  • Autodiscovery config (cmd/agent/dist/conf.d/datadog_csi_driver.d/conf.yaml.default): Discovers the CSI driver container via the csi-driver AD identifier and targets http://%%host%%:5000/metrics.

Motivation

The Python datadog_csi_driver integration in integrations-core collects metrics over OpenMetrics but cannot participate in COAT because COAT only collects from the agent's internal telemetry registry (comp/core/telemetry). Python checks run in the rtloader and have no access to register Go-side telemetry counters.

Migrating to a Go core check enables:

  1. COAT visibility: Datadog can observe CSI driver usage (volume mount/unmount success and failure rates) across all customer deployments, without requiring customers to opt in.
  2. Reduced overhead: No Python interpreter involvement; the check is a simple HTTP GET + text parse.
  3. Simpler dependency chain: The check ships with the agent binary itself rather than as a separately versioned wheel.

Backwards compatibility

This migration is backwards compatible and can ship in the same release that drops the Python integration:

  • Same check name (datadog_csi_driver): The Go core check loader takes priority over the Python wheel loader. When both are present, the Go check wins automatically.
  • Same metric names: datadog.csi_driver.node_publish_volume_attempts.count and datadog.csi_driver.node_unpublish_volume_attempts.count are identical to the Python integration's output.
  • Same autodiscovery identifiers: The csi-driver AD identifier is unchanged, so existing Kubernetes annotations and Helm chart configurations continue to work without modification.
  • Same service check: datadog.csi_driver.openmetrics.health reports OK/Critical.
  • No customer-facing configuration changes: The openmetrics_endpoint instance config key is preserved.
  • Integration is new and internal: The CSI driver integration was recently introduced and is managed by Datadog (deployed via the Datadog Operator / Helm chart), so there is no established external user base relying on Python-specific behavior.

Describe how you validated your changes

Local Kind cluster testing:

  1. Deploy agent image with the Go core check and deployed it alongside the Datadog CSI driver in a Kind cluster.
    Sample
datadog:
  apiKeyExistingSecret: datadog-secret
  appKeyExistingSecret: datadog-secret

  csi:
    enabled: true

agents:
  enabled: true
  1. Deployed baseline pods with CSI volumes (DSDSocketDirectory type) to trigger NodePublishVolume / NodeUnpublishVolume calls.
    Sample:
apiVersion: apps/v1
kind: Deployment
metadata:
  name: baseline-datadogpy
spec:
  replicas: 3
  selector:
    matchLabels:
      app: baseline-datadogpy
  template:
    metadata:
      labels:
        app: baseline-datadogpy
    spec:
      containers:
        - name: datadogpy
          image: adelhajhassan918/datadogpy-uds-udp
          imagePullPolicy: Always
          volumeMounts:
            - name: datadog-dsd
              mountPath: "/var/run/tmp"
          env:
            - name: USER
              value: "adel"
            - name: DD_DOGSTATSD_URL
              value: unix:///var/run/datadog/dsd/dsd.socket

      volumes:
        - csi:
            driver: k8s.csi.datadoghq.com
            readOnly: true
            volumeAttributes:
              type: DSDSocketDirectory
          name: datadog-dsd

  1. Verified the check is running and collecting metrics:
    $ agent status
    datadog_csi_driver
    ------------------
      Instance ID: datadog_csi_driver [OK]
      Total Runs: 34
      Metric Samples: Last Run: 1, Total: 4
      Service Checks: Last Run: 1, Total: 34
    
  2. Confirmed the Go check is loaded (not the Python integration) via agent configcheck, verifying configuration source and check loader.
  3. Verified metrics appear in the Datadog UI under datadog.csi_driver.node_publish_volume_attempts.count with the expected tags (status, type, path).

COAT validation:

  1. Queried the agent telemetry debug endpoint:
    $ curl -sk -H "Authorization: Bearer $(cat /etc/datadog-agent/auth_token)" \
        https://localhost:5001/metadata/agent-telemetry
    
    Confirmed the csi-driver profile payload contains:
    "datadog_csi_driver.node_publish_volume_attempts": {
      "tags": { "status": "success", "type": "DSDSocketDirectory" },
      "type": "counter",
      "value": 12
    },
    "datadog_csi_driver.node_unpublish_volume_attempts": {
      "tags": { "status": "success", "type": "" },
      "type": "counter",
      "value": 9
    }

Additional Notes

  • The check handles the Prometheus _total counter suffix normalization defensively. Current CSI driver versions expose counters without _total, but the OpenMetrics spec mandates it and future Prometheus client library upgrades may add it.
  • The COAT profile excludes zero-valued metrics (zero_metric: true), so the csi-driver profile only produces payloads after at least one volume operation has occurred.
  • Unit tests (check_test.go) cover configuration parsing, successful metric submission, _total suffix handling, and error scenarios (endpoint down, empty response).
  • A follow-up PR in integrations-core should deprecate or remove the Python datadog_csi_driver integration.

@dd-octo-sts dd-octo-sts bot added the internal Identify a non-fork PR label Mar 30, 2026
@github-actions github-actions bot added the medium review PR review might take time label Mar 30, 2026
@agent-platform-auto-pr
Copy link
Copy Markdown
Contributor

agent-platform-auto-pr bot commented Mar 30, 2026

Go Package Import Differences

Baseline: 3f2c64a
Comparison: 376ea45

binaryosarchchange
agentlinuxamd64
+1, -0
+github.com/DataDog/datadog-agent/pkg/collector/corechecks/containers/csi_driver
agentlinuxarm64
+1, -0
+github.com/DataDog/datadog-agent/pkg/collector/corechecks/containers/csi_driver
agentwindowsamd64
+1, -0
+github.com/DataDog/datadog-agent/pkg/collector/corechecks/containers/csi_driver
agentdarwinamd64
+1, -0
+github.com/DataDog/datadog-agent/pkg/collector/corechecks/containers/csi_driver
agentdarwinarm64
+1, -0
+github.com/DataDog/datadog-agent/pkg/collector/corechecks/containers/csi_driver
iot-agentlinuxamd64
+1, -0
+github.com/DataDog/datadog-agent/pkg/collector/corechecks/containers/csi_driver
iot-agentlinuxarm64
+1, -0
+github.com/DataDog/datadog-agent/pkg/collector/corechecks/containers/csi_driver
heroku-agentlinuxamd64
+1, -0
+github.com/DataDog/datadog-agent/pkg/collector/corechecks/containers/csi_driver

@adel121 adel121 force-pushed the adelhajhassan/migrate_csi_check_to_go branch from 07823bf to 4e4a241 Compare March 30, 2026 15:20
@agent-platform-auto-pr
Copy link
Copy Markdown
Contributor

agent-platform-auto-pr bot commented Mar 30, 2026

Files inventory check summary

File checks results against ancestor 3f2c64a2:

Results for datadog-agent_7.79.0~devel.git.272.376ea45.pipeline.105250456-1_amd64.deb:

Detected file changes:

1 Added files:

  • etc/datadog-agent/conf.d/datadog_csi_driver.d/conf.yaml.default (110.0 B)

@agent-platform-auto-pr
Copy link
Copy Markdown
Contributor

agent-platform-auto-pr bot commented Mar 30, 2026

Static quality checks

❌ Please find below the results from static quality gates
Comparison made with ancestor 3f2c64a
📊 Static Quality Gates Dashboard
🔗 SQG Job

Error

Quality gate Change Size (prev → curr → max)
iot_agent_deb_amd64 (on disk) +20.03 KiB (0.05% increase) 43.289 → 43.309 → 43.290
iot_agent_deb_armhf (on disk) +20.02 KiB (0.05% increase) 41.084 → 41.103 → 41.100
iot_agent_rpm_amd64 (on disk) +20.03 KiB (0.05% increase) 43.290 → 43.309 → 43.290
iot_agent_suse_amd64 (on disk) +20.03 KiB (0.05% increase) 43.290 → 43.309 → 43.290
Gate failure full details
Quality gate Error type Error message
iot_agent_deb_amd64 StaticQualityGateFailed static_quality_gate_iot_agent_deb_amd64 failed!
Disk size 43.3 MB exceeds limit of 43.3 MB by 19.3 KB
iot_agent_deb_armhf StaticQualityGateFailed static_quality_gate_iot_agent_deb_armhf failed!
Disk size 41.1 MB exceeds limit of 41.1 MB by 3.3 KB
iot_agent_rpm_amd64 StaticQualityGateFailed static_quality_gate_iot_agent_rpm_amd64 failed!
Disk size 43.3 MB exceeds limit of 43.3 MB by 19.8 KB
iot_agent_suse_amd64 StaticQualityGateFailed static_quality_gate_iot_agent_suse_amd64 failed!
Disk size 43.3 MB exceeds limit of 43.3 MB by 19.8 KB

Static quality gates prevent the PR to merge!
You can check the static quality gates confluence page for guidance. We also have a toolbox page available to list tools useful to debug the size increase.

Successful checks

Info

Quality gate Change Size (prev → curr → max)
agent_deb_amd64 +27.85 KiB (0.00% increase) 752.713 → 752.740 → 753.380
agent_deb_amd64_fips +19.85 KiB (0.00% increase) 709.656 → 709.675 → 713.900
agent_heroku_amd64 +20.14 KiB (0.01% increase) 313.318 → 313.338 → 320.580
agent_msi +23.61 KiB (0.00% increase) 604.874 → 604.897 → 651.440
agent_rpm_amd64 +27.85 KiB (0.00% increase) 752.696 → 752.724 → 753.350
agent_rpm_amd64_fips +19.85 KiB (0.00% increase) 709.639 → 709.659 → 713.880
agent_rpm_arm64 +20.17 KiB (0.00% increase) 731.115 → 731.135 → 735.290
agent_rpm_arm64_fips +20.17 KiB (0.00% increase) 691.087 → 691.107 → 696.840
agent_suse_amd64 +27.85 KiB (0.00% increase) 752.696 → 752.724 → 753.350
agent_suse_amd64_fips +19.85 KiB (0.00% increase) 709.639 → 709.659 → 713.880
agent_suse_arm64 +20.17 KiB (0.00% increase) 731.115 → 731.135 → 735.290
agent_suse_arm64_fips +20.17 KiB (0.00% increase) 691.087 → 691.107 → 696.840
docker_agent_amd64 +27.85 KiB (0.00% increase) 813.011 → 813.038 → 815.700
docker_agent_arm64 +20.17 KiB (0.00% increase) 816.204 → 816.224 → 821.970
docker_agent_jmx_amd64 +27.87 KiB (0.00% increase) 1003.927 → 1003.954 → 1006.580
docker_agent_jmx_arm64 +20.17 KiB (0.00% increase) 995.898 → 995.918 → 1001.570
iot_agent_deb_arm64 +20.03 KiB (0.05% increase) 40.336 → 40.356 → 40.920
10 successful checks with minimal change (< 2 KiB)
Quality gate Current Size
docker_cluster_agent_amd64 203.941 MiB
docker_cluster_agent_arm64 218.419 MiB
docker_cws_instrumentation_amd64 7.142 MiB
docker_cws_instrumentation_arm64 6.689 MiB
docker_dogstatsd_amd64 39.238 MiB
docker_dogstatsd_arm64 37.445 MiB
dogstatsd_deb_amd64 29.881 MiB
dogstatsd_deb_arm64 28.034 MiB
dogstatsd_rpm_amd64 29.881 MiB
dogstatsd_suse_amd64 29.881 MiB
On-wire sizes (compressed)
Quality gate Change Size (prev → curr → max)
iot_agent_deb_amd64 +4.52 KiB (0.04% increase) 11.406 → 11.410 → 12.040
iot_agent_deb_armhf +5.42 KiB (0.05% increase) 9.940 → 9.946 → 10.620
iot_agent_rpm_amd64 +6.04 KiB (0.05% increase) 11.419 → 11.425 → 12.060
iot_agent_suse_amd64 +6.04 KiB (0.05% increase) 11.419 → 11.425 → 12.060
agent_deb_amd64 neutral 174.788 MiB → 178.360
agent_deb_amd64_fips -34.24 KiB (0.02% reduction) 165.365 → 165.332 → 172.790
agent_heroku_amd64 +13.05 KiB (0.02% increase) 75.002 → 75.015 → 79.970
agent_msi +32.0 KiB (0.02% increase) 138.363 → 138.395 → 146.220
agent_rpm_amd64 -22.08 KiB (0.01% reduction) 177.623 → 177.602 → 181.830
agent_rpm_amd64_fips -30.95 KiB (0.02% reduction) 167.616 → 167.586 → 173.370
agent_rpm_arm64 +11.78 KiB (0.01% increase) 159.529 → 159.540 → 163.060
agent_rpm_arm64_fips -11.2 KiB (0.01% reduction) 151.396 → 151.385 → 156.170
agent_suse_amd64 -22.08 KiB (0.01% reduction) 177.623 → 177.602 → 181.830
agent_suse_amd64_fips -30.95 KiB (0.02% reduction) 167.616 → 167.586 → 173.370
agent_suse_arm64 +11.78 KiB (0.01% increase) 159.529 → 159.540 → 163.060
agent_suse_arm64_fips -11.2 KiB (0.01% reduction) 151.396 → 151.385 → 156.170
docker_agent_amd64 neutral 268.150 MiB → 272.480
docker_agent_arm64 neutral 255.336 MiB → 261.060
docker_agent_jmx_amd64 +2.03 KiB (0.00% increase) 336.799 → 336.801 → 341.100
docker_agent_jmx_arm64 -2.92 KiB (0.00% reduction) 319.977 → 319.974 → 325.620
docker_cluster_agent_amd64 neutral 71.372 MiB → 72.920
docker_cluster_agent_arm64 neutral 67.000 MiB → 68.220
docker_cws_instrumentation_amd64 neutral 2.999 MiB → 3.330
docker_cws_instrumentation_arm64 neutral 2.729 MiB → 3.090
docker_dogstatsd_amd64 neutral 15.175 MiB → 15.820
docker_dogstatsd_arm64 neutral 14.487 MiB → 14.830
dogstatsd_deb_amd64 neutral 7.892 MiB → 8.790
dogstatsd_deb_arm64 neutral 6.780 MiB → 7.710
dogstatsd_rpm_amd64 neutral 7.903 MiB → 8.800
dogstatsd_suse_amd64 neutral 7.903 MiB → 8.800
iot_agent_deb_arm64 +22.26 KiB (0.22% increase) 9.704 → 9.726 → 10.450

@cit-pr-commenter-54b7da
Copy link
Copy Markdown

cit-pr-commenter-54b7da bot commented Mar 30, 2026

Regression Detector

Regression Detector Results

Metrics dashboard
Target profiles
Run ID: 1df4b9fa-a78f-4bc6-8157-c0c8240fb167

Baseline: 3f2c64a
Comparison: 376ea45
Diff

Optimization Goals: ✅ No significant changes detected

Experiments ignored for regressions

Regressions in experiments with settings containing erratic: true are ignored.

perf experiment goal Δ mean % Δ mean % CI trials links
docker_containers_cpu % cpu utilization -1.17 [-4.10, +1.75] 1 Logs

Fine details of change detection per experiment

perf experiment goal Δ mean % Δ mean % CI trials links
tcp_syslog_to_blackhole ingress throughput +2.35 [+2.20, +2.50] 1 Logs
quality_gate_metrics_logs memory utilization +0.40 [+0.16, +0.65] 1 Logs bounds checks dashboard
uds_dogstatsd_20mb_12k_contexts_20_senders memory utilization +0.29 [+0.23, +0.36] 1 Logs
ddot_metrics_sum_cumulative memory utilization +0.25 [+0.11, +0.40] 1 Logs
quality_gate_idle_all_features memory utilization +0.18 [+0.15, +0.22] 1 Logs bounds checks dashboard
ddot_logs memory utilization +0.12 [+0.05, +0.19] 1 Logs
file_to_blackhole_100ms_latency egress throughput +0.01 [-0.07, +0.09] 1 Logs
tcp_dd_logs_filter_exclude ingress throughput +0.01 [-0.10, +0.11] 1 Logs
uds_dogstatsd_to_api ingress throughput +0.00 [-0.20, +0.21] 1 Logs
uds_dogstatsd_to_api_v3 ingress throughput +0.00 [-0.19, +0.19] 1 Logs
file_to_blackhole_500ms_latency egress throughput -0.00 [-0.39, +0.39] 1 Logs
otlp_ingest_metrics memory utilization -0.02 [-0.18, +0.14] 1 Logs
file_to_blackhole_1000ms_latency egress throughput -0.02 [-0.46, +0.41] 1 Logs
file_to_blackhole_0ms_latency egress throughput -0.08 [-0.61, +0.45] 1 Logs
docker_containers_memory memory utilization -0.08 [-0.15, -0.01] 1 Logs
ddot_metrics_sum_delta memory utilization -0.11 [-0.28, +0.06] 1 Logs
ddot_metrics memory utilization -0.26 [-0.43, -0.08] 1 Logs
quality_gate_idle memory utilization -0.26 [-0.31, -0.21] 1 Logs bounds checks dashboard
ddot_metrics_sum_cumulativetodelta_exporter memory utilization -0.30 [-0.53, -0.08] 1 Logs
quality_gate_logs % cpu utilization -0.33 [-1.88, +1.23] 1 Logs bounds checks dashboard
file_tree memory utilization -0.54 [-0.60, -0.49] 1 Logs
otlp_ingest_logs memory utilization -1.03 [-1.14, -0.93] 1 Logs
docker_containers_cpu % cpu utilization -1.17 [-4.10, +1.75] 1 Logs

Bounds Checks: ✅ Passed

perf experiment bounds_check_name replicates_passed observed_value links
docker_containers_cpu simple_check_run 10/10 691 ≥ 26
docker_containers_memory memory_usage 10/10 272.23MiB ≤ 370MiB
docker_containers_memory simple_check_run 10/10 697 ≥ 26
file_to_blackhole_0ms_latency memory_usage 10/10 0.19GiB ≤ 1.20GiB
file_to_blackhole_0ms_latency missed_bytes 10/10 0B = 0B
file_to_blackhole_1000ms_latency memory_usage 10/10 0.23GiB ≤ 1.20GiB
file_to_blackhole_1000ms_latency missed_bytes 10/10 0B = 0B
file_to_blackhole_100ms_latency memory_usage 10/10 0.19GiB ≤ 1.20GiB
file_to_blackhole_100ms_latency missed_bytes 10/10 0B = 0B
file_to_blackhole_500ms_latency memory_usage 10/10 0.22GiB ≤ 1.20GiB
file_to_blackhole_500ms_latency missed_bytes 10/10 0B = 0B
quality_gate_idle intake_connections 10/10 3 = 3 bounds checks dashboard
quality_gate_idle memory_usage 10/10 174.64MiB ≤ 175MiB bounds checks dashboard
quality_gate_idle_all_features intake_connections 10/10 3 = 3 bounds checks dashboard
quality_gate_idle_all_features memory_usage 10/10 490.68MiB ≤ 550MiB bounds checks dashboard
quality_gate_logs intake_connections 10/10 3 ≤ 6 bounds checks dashboard
quality_gate_logs memory_usage 10/10 202.98MiB ≤ 220MiB bounds checks dashboard
quality_gate_logs missed_bytes 10/10 0B = 0B bounds checks dashboard
quality_gate_metrics_logs cpu_usage 10/10 355.69 ≤ 2000 bounds checks dashboard
quality_gate_metrics_logs intake_connections 10/10 4 ≤ 6 bounds checks dashboard
quality_gate_metrics_logs memory_usage 10/10 410.08MiB ≤ 475MiB bounds checks dashboard
quality_gate_metrics_logs missed_bytes 10/10 0B = 0B bounds checks dashboard

Explanation

Confidence level: 90.00%
Effect size tolerance: |Δ mean %| ≥ 5.00%

Performance changes are noted in the perf column of each table:

  • ✅ = significantly better comparison variant performance
  • ❌ = significantly worse comparison variant performance
  • ➖ = no significant change in performance

A regression test is an A/B test of target performance in a repeatable rig, where "performance" is measured as "comparison variant minus baseline variant" for an optimization goal (e.g., ingress throughput). Due to intrinsic variability in measuring that goal, we can only estimate its mean value for each experiment; we report uncertainty in that value as a 90.00% confidence interval denoted "Δ mean % CI".

For each experiment, we decide whether a change in performance is a "regression" -- a change worth investigating further -- if all of the following criteria are true:

  1. Its estimated |Δ mean %| ≥ 5.00%, indicating the change is big enough to merit a closer look.

  2. Its 90.00% confidence interval "Δ mean % CI" does not contain zero, indicating that if our statistical model is accurate, there is at least a 90.00% chance there is a difference in performance between baseline and comparison variants.

  3. Its configuration does not mark it "erratic".

CI Pass/Fail Decision

Passed. All Quality Gates passed.

  • quality_gate_idle_all_features, bounds check memory_usage: 10/10 replicas passed. Gate passed.
  • quality_gate_idle_all_features, bounds check intake_connections: 10/10 replicas passed. Gate passed.
  • quality_gate_idle, bounds check memory_usage: 10/10 replicas passed. Gate passed.
  • quality_gate_idle, bounds check intake_connections: 10/10 replicas passed. Gate passed.
  • quality_gate_logs, bounds check missed_bytes: 10/10 replicas passed. Gate passed.
  • quality_gate_logs, bounds check intake_connections: 10/10 replicas passed. Gate passed.
  • quality_gate_logs, bounds check memory_usage: 10/10 replicas passed. Gate passed.
  • quality_gate_metrics_logs, bounds check memory_usage: 10/10 replicas passed. Gate passed.
  • quality_gate_metrics_logs, bounds check cpu_usage: 10/10 replicas passed. Gate passed.
  • quality_gate_metrics_logs, bounds check intake_connections: 10/10 replicas passed. Gate passed.
  • quality_gate_metrics_logs, bounds check missed_bytes: 10/10 replicas passed. Gate passed.

@adel121 adel121 force-pushed the adelhajhassan/migrate_csi_check_to_go branch from 4e4a241 to f7574d5 Compare March 31, 2026 11:10
@adel121 adel121 added this to the 7.79.0 milestone Mar 31, 2026
@adel121 adel121 added team/container-platform The Container Platform Team qa/rc-required Only for a PR that requires validation on the Release Candidate and removed team/agent-configuration team/agent-runtimes labels Mar 31, 2026
@adel121 adel121 marked this pull request as ready for review March 31, 2026 11:59
@adel121 adel121 requested review from a team as code owners March 31, 2026 11:59
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: f091ab8e6a

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

@adel121 adel121 added the need-change/agenttelemetry-governance Add this label if your change requires also a change in agent telemetry governance (internal) label Mar 31, 2026
@adel121 adel121 changed the title Migrate CSI driver check to be a core check [CONTP-1437] Migrate CSI driver check to be a core check Mar 31, 2026
@adel121
Copy link
Copy Markdown
Contributor Author

adel121 commented Mar 31, 2026

@codex

@chatgpt-codex-connector
Copy link
Copy Markdown

Codex Review: Didn't find any major issues. More of your lovely PRs please.

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

internal Identify a non-fork PR medium review PR review might take time need-change/agenttelemetry-governance Add this label if your change requires also a change in agent telemetry governance (internal) qa/rc-required Only for a PR that requires validation on the Release Candidate team/agent-configuration team/agent-runtimes team/container-platform The Container Platform Team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants