-
Notifications
You must be signed in to change notification settings - Fork 94
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
fix(dependency_resolution): Dashboard-Share-Settings can no longer be referenced from dashboards. #1614
base: main
Are you sure you want to change the base?
Conversation
E2E Test Results 4 files - 1 268 suites - 133 26m 58s ⏱️ - 40m 41s Results for commit ce27955. ± Comparison against base commit 2298653. This pull request removes 2 and adds 2 tests. Note that renamed tests count towards both.
♻️ This comment has been updated with latest results. |
1ba5f2d
to
ce27955
Compare
ce27955
to
139edc0
Compare
… referenced from dashboards. Dashboard share settings are a bit special. One dashboard always has exactly 1 dashbaord share setting connected to it. This share setting has the same ID as the dashboard itself. This is were the issues arise. Dashboards can't depend on other dashboards, as we ignore those references. They are usually only included in the markdown of the tiles, not the dashboards themselves. Since the dashboard share settings have the same ID as the dashboards, what means that instead of ignoring dashboard->dashboard references, we get unwanted dashboard->dashboard-share-settings references. What is more, the references are not within the same config, but some random dashboards can suddenly depend on the dashboard-share-settings. Since dashboard-share settings do depend on their parent dashboard, it can happen that we suddenly introduce unwanted cyclic dependencies. This fix ignores dashboard-share-settings completely as nothing can actually reference them.
139edc0
to
4e643dc
Compare
Quality Gate passedIssues Measures |
What this PR does / Why we need it:
Dashboard share settings are a bit special. One dashboard always has exactly 1 dashboard-share config connected to it. This share setting has the same ID as the dashboard itself. This is where the issues arise.
Dashboards can't depend on other dashboards, as we ignore those references. The references are usually only included in the markdown of the tiles, not the dashboards themselves. Since the dashboard share settings have the same ID as the dashboards, what means that instead of ignoring
dashboard->dashboard
references, we get unwanteddashboard->dashboard-share-setting
references. What is more, the references are not within the same config, but some random dashboards can suddenly depend on the dashboard-share-settings.Since dashboard-share settings do depend on their parent dashboard, it can happen that we suddenly introduce cyclic dependencies where there are actually none.
This fix ignores
dashboard-share-settings
completely as nothing can actually reference them. They just exist as the children ofdashboards
.Special notes for your reviewer:
Changeset contains a small refactoring in extracting common code to
shared.go
Does this PR introduce a user-facing change?
Yes, users will have a more stable experiencing when downloading/uploading dynatrace environments