Conversation
There was a problem hiding this comment.
Pull request overview
Adds support for monitoring Google Cloud NetApp Volumes (GCNV) in ONTAP mode by introducing a poller config flag, adapting REST request/response handling for GCNV’s API quirks, and updating docs + Grafana dashboards/tags to work in that environment.
Changes:
- Add
gcnv_ontap_modepoller configuration and ensure it’s preserved during config merging. - Update REST tooling client to (a) rewrite
fieldsquery params and (b) unwrap GCNV{ "body": ... }response envelopes; adjust poller TCP ping hostname handling for resource-pathaddr. - Add documentation + mkdocs nav entry and tag/update relevant Grafana dashboards for GCNV ONTAP mode.
Reviewed changes
Copilot reviewed 13 out of 13 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
| pkg/conf/conf.go | Adds GCNVOntapMode poller field, union preservation, and node-based parsing. |
| cmd/tools/rest/client.go | Implements GCNV-specific fields param rewrite and response-body unwrapping for GET. |
| cmd/poller/poller.go | Strips path from addr for TCP ping when in GCNV ONTAP mode. |
| docs/gcnv-ontap-mode.md | New setup/limitations guide for GCNV ONTAP mode. |
| docs/configure-harvest-basic.md | Documents new gcnv_ontap_mode poller parameter. |
| mkdocs.yml | Adds docs nav entry for the new GCNV ONTAP mode page. |
| grafana/dashboards/cmode/volume.json | Updates table queries/transforms (adds unique_id) and tags dashboard for GCNV ONTAP mode. |
| grafana/dashboards/cmode/lun.json | Updates table queries/transforms (adds unique_id) and tags dashboard for GCNV ONTAP mode. |
| grafana/dashboards/cmode/svm.json | Tags dashboard for GCNV ONTAP mode. |
| grafana/dashboards/cmode/security.json | Tags dashboard for GCNV ONTAP mode. |
| grafana/dashboards/cmode-details/volumeDeepDive.json | Tags dashboard for GCNV ONTAP mode. |
| grafana/dashboards/cmode-details/volumeBySVM.json | Tags dashboard for GCNV ONTAP mode. |
| cmd/tools/grafana/dashboard_test.go | Allows gcnv-ontap-mode as a valid dashboard tag in tests. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 14 out of 14 changed files in this pull request and generated 1 comment.
Comments suppressed due to low confidence (1)
grafana/dashboards/cmode/volume.json:996
- This PromQL sum is likely to return no data because the two operands won’t have matching label sets: the
volume_sis_compress_savedterm is joined withvolume_labelsusinggroup_left(node), but thevolume_sis_dedup_savedterm is not. In PromQL, vector addition matches on all labels by default, so the extranodelabel on one side prevents matches. Apply the same label-join (or an expliciton(...)/ignoring(...)match) to both operands before adding, then do the finallabel_join.
"expr": "label_join(\n volume_sis_dedup_saved{cluster=~\"$Cluster\",datacenter=~\"$Datacenter\",style!=\"flexgroup_constituent\",svm=~\"$SVM\",volume=~\"$Volume\"}\n +\n volume_sis_compress_saved{cluster=~\"$Cluster\",datacenter=~\"$Datacenter\",style!=\"flexgroup_constituent\",svm=~\"$SVM\",volume=~\"$Volume\"}\n * on (datacenter, cluster, svm, volume) group_left (node)\n volume_labels{cluster=~\"$Cluster\",datacenter=~\"$Datacenter\",junction_path=~\"$Junction\",svm=~\"$SVM\",tags=~\".*$Tag.*\",volume=~\"$Volume\"},\n \"unique_id\",\n \"-\",\n \"datacenter\",\n \"cluster\",\n \"svm\",\n \"volume\"\n)",
"format": "table",
"hide": false,
"instant": true,
"interval": "",
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 14 out of 14 changed files in this pull request and generated 2 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
No description provided.