-
Notifications
You must be signed in to change notification settings - Fork 45
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
List Grafana dashboard UIDs, enforce them, and use them in MetalK8s UI links #3483
List Grafana dashboard UIDs, enforce them, and use them in MetalK8s UI links #3483
Conversation
Hello gdemonet,My role is to assist you with the merge of this Status report is not available. |
ConflictA conflict has been raised during the creation of I have not created the integration branch. Here are the steps to resolve this conflict: $ git fetch
$ git checkout -B w/2.11/bugfix/3475-use-dashboard-uids-in-links origin/development/2.11
$ git merge origin/bugfix/3475-use-dashboard-uids-in-links
$ # <intense conflict resolution>
$ git commit
$ git push -u origin w/2.11/bugfix/3475-use-dashboard-uids-in-links |
The dashboards we provision with MetalK8s have (or should have, which is why some of this commit's changes are setting some UIDs) a UID. Starting with Grafana v8.0, linking dashboards using their slug is not available anymore (see https://grafana.com/docs/grafana/latest/release-notes/release-notes-8-0-0/#breaking-changes ). To make sure we can use these UIDs safely in links (mostly from MetalK8s UI), we start by listing all of them in a JSON file, and enforce that they are correct when rendering Helm charts. Verifying the final deployed dashboards will be done in a subsequent commit, through a post-install E2E test. See: #3475
TODO: add a simple unit-test to verify the UIDs are aligned with `charts/grafana_dashboard_uids.json` Fixes: #3475
We add a test which compares the deployed Grafana dashboards with what is declared in `charts/grafana_dashboard_uids.json`. It will detect: - missing and extra dashboards - UID mismatches This will ensure we can trust the listing in this file, and use it for documenation and/or UI links. See: #3475
cb690ff
to
18aff8e
Compare
Waiting for approvalThe following approvals are needed before I can proceed with the merge:
Peer approvals must include at least 1 approval from the following list:
|
/approve |
In the queueThe changeset has received all authorizations and has been added to the The changeset will be merged in:
The following branches will NOT be impacted:
There is no action required on your side. You will be notified here once IMPORTANT Please do not attempt to modify this pull request.
If you need this pull request to be removed from the queue, please contact a The following options are set: approve |
I have successfully merged the changeset of this pull request
The following branches have NOT changed:
Please check the status of the associated issue None. Goodbye gdemonet. |
In the previous approach (see #3483), we used `charts/grafana_dashboard_uids.json` as a way to patch and check UIDs (both at render-time and run-time). The new approach distinguishes between patching and checking: - `charts/grafana_dashboard_patches.json` stores a map of patches to apply to some dashboards included in charts - `tests/post/steps/files/grafana_dashboard_uids.json` contain the full map of dashboard UIDs for run-time validation We lose the render-time check, but clarify the role of each file.
In the previous approach (see #3483), we used `charts/grafana_dashboard_uids.json` as a way to patch and check UIDs (both at render-time and run-time). The new approach distinguishes between patching and checking: - `charts/grafana_dashboard_patches.json` stores a map of patches to apply to some dashboards included in charts - `tests/post/steps/files/grafana_dashboard_uids.json` contain the full map of dashboard UIDs for run-time validation We lose the render-time check, but clarify the role of each file.
In the previous approach (see #3483), we used `charts/grafana_dashboard_uids.json` as a way to patch and check UIDs (both at render-time and run-time). The new approach distinguishes between patching and checking: - `charts/grafana_dashboard_patches.json` stores a map of patches to apply to some dashboards included in charts - `tests/post/steps/files/grafana_dashboard_uids.json` contain the full map of dashboard UIDs for run-time validation We lose the render-time check, but clarify the role of each file.
In the previous approach (see #3483), we used `charts/grafana_dashboard_uids.json` as a way to patch and check UIDs (both at render-time and run-time). The new approach distinguishes between patching and checking: - `charts/grafana_dashboard_patches.json` stores a map of patches to apply to some dashboards included in charts - `tests/post/steps/files/grafana_dashboard_uids.json` contain the full map of dashboard UIDs for run-time validation We lose the render-time check, but clarify the role of each file.
What does this PR change?
charts/grafana_dashboard_uids.json
), which maps dashboard titles to their UIDcharts/
is always up-to-date with what we deploy, through a post-install E2E testWhat's missing?:
charts/
(will be tackled in a later PR)Closes: #3475
Closes: #2820