Commit Graph

5415 Commits

Author SHA1 Message Date
Matthew Jacobson
c364c8dc0b [v10.0.x] Alerting: Fix unique violation when updating rule group with title chains/cycles (#70467)
* Alerting: Fix TestIntegration_GetAlertRulesForScheduling to make sure rules are created in different org (#69088)

make sure rules are created in different org

(cherry picked from commit b57ef1f2c7)

* Alerting: Fix flaky TestIntegrationUpdateAlertRules (#69106)

Prevents duplicate alert rule ids and 0 value for BaseInterval and IntervalSeconds

(cherry picked from commit 97ae6ae6ef)

* Alerting: Fix unique violation when updating rule group with title chains/cycles (#67868)

* Alerting: Fix unique violation when updating rule group with title chains/cycles

The uniqueness constraint for titles within an org+folder is enforced on every update within a transaction instead of on commit (deferred constraint). This means that there could be a set of updates that will throw a unique constraint violation in an intermediate step even though the final state is valid. For example, a chain of updates RuleA -> RuleB -> RuleC could fail if not executed in the correct order, or a swap of titles RuleA <-> RuleB cannot be executed in any order without violating the constraint.

The exact solution to this is complex and requires determining directed paths and cycles in the update graph, adding in temporary updates to break cycles, and then executing the updates in reverse topological order (see first commit in PR if curious).

This is not implemented here.

Instead, we choose a simpler solution that works in all cases but might perform more updates than necessary. This simpler solution makes a determination of whether an intermediate collision could occur and if so, adds a temporary title on all updated rules to break any cycles and remove the need for specific ordering.

In addition, we make sure diffs are executed in the following order: DELETES, UPDATES, INSERTS.

(cherry picked from commit 0c688190f7)

* Linting

---------

Co-authored-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>
2023-06-21 14:38:38 -04:00
grafana-delivery-bot[bot]
dbd7fe1cc7 [v10.0.x] Alerting: Add debug logs when saving instances is finished (#70449)
Alerting: Add debug logs when saving instances is finished (#70447)

(cherry picked from commit 8a13ee3cd4)

Co-authored-by: George Robinson <george.robinson@grafana.com>
2023-06-21 14:17:52 +01:00
Grot (@grafanabot)
a8c52947ae [v10.0.x] Alerting: Add debug logs for EndsAt timestamp (#70366)
Alerting: Add debug logs for EndsAt timestamp (#70336)

This commit adds debug logs for previous_ends_at and next_ends_at
to state.go to help us debug issues where alerts are resolved in
Alertmanager due to expiration. This change is in response to a
support escalation where this information was needed but unavailable.

(cherry picked from commit 815e98ed95)

Co-authored-by: George Robinson <george.robinson@grafana.com>
2023-06-20 12:25:42 +03:00
Jean-Philippe Quéméner
080c56b128 [v10.0.x] Alerting: Rewrite range to instant queries if possible (#70289) 2023-06-19 09:12:45 +02:00
Grot (@grafanabot)
225f6f8298 [v10.0.x] PublicDashboards: Add support for recorded queries used in Mixed ds (#70160) 2023-06-15 17:27:18 +00:00
Grot (@grafanabot)
411a7a9cf7 [v10.0.x] Alerting: Add matchers metrics to Alertmanager (#70125)
Alerting: Add matchers metrics to Alertmanager (#69855)

(cherry picked from commit f085e99d3c)

Co-authored-by: George Robinson <george.robinson@grafana.com>
2023-06-15 09:37:54 +01:00
Grot (@grafanabot)
4184cd09f4 [v10.0.x] Alerting: Add image URI annotation only when there's an image (#69858)
* Alerting: Add image URI annotation only when there's an image (#69825)

* Alerting: Add image URI annotation only when there's an image

* fix function name (changed on main branch)

(cherry picked from commit ff3e028a85)

* Update compat_test.go

---------

Co-authored-by: Santiago <santiagohernandez.1997@gmail.com>
2023-06-09 12:34:00 -03:00
Grot (@grafanabot)
2c7f295cf4 [v10.0.x] Service accounts: API key migration refactoring to parse as json object of the results (#69776)
Service accounts: API key migration refactoring to parse as json object of the results (#69771)

refactoring to parse as json object of the results

(cherry picked from commit 5dceb5dff3)

Co-authored-by: Eric Leijonmarck <eric.leijonmarck@gmail.com>
2023-06-09 11:21:08 +02:00
Alexander Zobnin
5dacbb97e0 [v10.0.x] Authentication UI: Enable by default (#69803) (#69810)
Authentication UI: Enable by default (#69803)

(cherry picked from commit 4e1f69d83f)
2023-06-08 17:23:02 +01:00
Grot (@grafanabot)
0cdb85af0b [v10.0.x] Alerting: Change text on cloud AM email addresses for contact points (#68180)
Alerting: Change text on cloud AM email addresses for contact points (#68143)

(cherry picked from commit e1ff434917)

Co-authored-by: Virginia Cepeda <virginia.cepeda@grafana.com>
2023-06-08 09:43:02 +00:00
Grot (@grafanabot)
665430bafb [v10.0.x] Service accounts: UI migration results (#69760)
Service accounts: UI migration results (#68789)

* ui migration WIP

* merge

* migration tests for api

* revert chagnes to align with main

* revert chagnes to align with main

* revert chagnes to align with main

* remove unused code and comments

* revert gen files

* retry logic inplace

* fix a any

* fixed types

* migraiton results now show only result if no failures

* review comments

* wording to make it more actionable

* add migraiton summary text onyl for failed apikeys

* fixed wording and added a close button to the modal

* made the button close the modal

* moved state into component

* fix based on review, naming and removed unused code

* service account migration state optional

* making migration result undefined

* showing total and migrated numbers for a successful migration

* fix payload const to take the payload

(cherry picked from commit 081f59feba)

Co-authored-by: Eric Leijonmarck <eric.leijonmarck@gmail.com>
2023-06-08 11:37:28 +02:00
Grot (@grafanabot)
02411bc29f [v10.0.x] Dashboards: Variables - Improve slow template variable loading due same variable loaded multiple times on time range change (#69641)
Co-authored-by: Alexa V <239999+axelavargas@users.noreply.github.com>
2023-06-06 16:23:04 +03:00
Grot (@grafanabot)
2b8a416c51 [v10.0.x] Prevent crash while executing concurrent mixed queries (#878)
Prevent crash while executing concurrent mixed queries (#874)

limit parallel query execution to 1 at a time

(cherry picked from commit 96579a60e19e2a9f2d6bdaeba64e0e702211eb73)

Co-authored-by: Michael Mandrus <41969079+mmandrus@users.noreply.github.com>
2023-06-06 13:29:33 +02:00
Grot (@grafanabot)
242f4e04c0 [v10.0.x] Require alert.notifications:write permissions to test receivers and templates (#866)
Require alert.notifications:write permissions to test receivers and templates (#865)

(cherry picked from commit 3c21ab70075256d4ba8e4fbfdcb15f5a394161fa)

Co-authored-by: George Robinson <george.robinson@grafana.com>
2023-06-06 13:29:32 +02:00
Matthew Jacobson
0a6e80c6cf [v10.0.x] Alerting: Fix provisioned templates being ignored by alertmanager (#69488)
Alerting: Fix provisioned templates being ignored by alertmanager (#69485)

* Alerting: Fix provisioned templates being ignored by alertmanager

Template provisioning sets the template in cfg.TemplateFiles while a recent change
made it so that alertmanager reads cfg.AlertmanagerConfig.Templates instead.

This change fixes the issue on both ends, by having provisioning set boths fields and
reverts the change on the alertmanager side so that it uses cfg.TemplateFiles.

(cherry picked from commit c16f1f5e99)
2023-06-02 16:13:48 -04:00
Grot (@grafanabot)
a81452b437 [v10.0.x] SQLStore: Align SQLite IsUniqueConstraintViolation() with other backend implementations (#69227)
SQLStore: Align SQLite IsUniqueConstraintViolation() with other backend implementations (#69224)

* Add integration test for primary key and unique constrain violation

* Align SQLite IsUniqueConstraintViolation implementation with other backends

(cherry picked from commit 74e87ccbbd)

Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
2023-05-29 17:55:35 +03:00
Grot (@grafanabot)
0b9cb47dd7 [v10.0.x] Alerting: Migrate unknown NoData\Error settings to the default (#69010)
Alerting: Migrate unknown NoData\Error settings to the default (#68403)

* use default execution if legacy is not known

* update docs

* Update docs/sources/alerting/migrating-alerts/migrating-legacy-alerts.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/alerting/migrating-alerts/migrating-legacy-alerts.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

---------

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
(cherry picked from commit 3af95bebe1)

Co-authored-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>
2023-05-25 11:56:24 -04:00
Grot (@grafanabot)
085adb57ce [v10.0.x] Alerting: Fix provenance guard checks for Alertmanager configuration to not cause panic when compared nested objects (#69094)
Alerting: Fix provenance guard checks for Alertmanager configuration to not cause panic when compared nested objects (#69009)

* fix current settings parsed as new
* replace map comparison with cmp.Diff and log the diff

(cherry picked from commit e00260465b)

Co-authored-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>
2023-05-25 18:56:01 +03:00
Grot (@grafanabot)
5a6e6624e0 [v10.0.x] AnonymousAuth: Fix concurrent read-write crash (#68803)
AnonymousAuth: Fix concurrent read-write crash (#68637)

clone http req before tagging

(cherry picked from commit 05e71d4c6b)

Co-authored-by: Jo <joao.guerreiro@grafana.com>
Co-authored-by: jguer <me@jguer.space>
2023-05-22 16:40:33 +02:00
Grot (@grafanabot)
d0b45d87fe [v10.0.x] Docs: Fix feature toggle docs generation (#68797)
Docs: Fix feature toggle docs generation (#68733)

(cherry picked from commit a7cec6dd03)

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2023-05-22 14:22:41 +02:00
Grot (@grafanabot)
1e9f73df62 [v10.0.x] Chore: Ignore unique constrain failure when creating the main organization (#68674)
Chore: Ignore unique constrain failure when creating the main organization (#68644)

Chore: Ignore unique constrain failure when creatin the main organization
(cherry picked from commit 633b7875e7)

Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
2023-05-18 10:40:39 +02:00
Grot (@grafanabot)
e2fbb6ef97 [v10.0.x] Remove no-data source screen (#68623)
Dashboards: Remove no-data source screen (#68574)

* Dashboards: Remove non-ds configured landing page

* Remove `datasourceOnboarding` feature toggle

(cherry picked from commit 1505a188eb)

Co-authored-by: Ivan Ortega Alba <ivanortegaalba@gmail.com>
2023-05-17 15:51:31 +03:00
Grot (@grafanabot)
bd533a2246 [v10.0.x] API: Add deprecation notice for updating folder UID (#68567)
API: Add deprecation notice for updating folder UID (#68543)

* API: Add deprecation notice for updating folder UID

(cherry picked from commit 14fb4ff779)

Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
2023-05-17 04:05:38 -05:00
Grot (@grafanabot)
d0cf3d1b48 [v10.0.x] Nested folders: Allow renaming a folder multiple times (#68550)
Nested folders: Allow renaming a folder multiple times (#68379)

Return folder version in response that is required for updating
the entry in the dashboard table.

(cherry picked from commit d458292b66)

Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
2023-05-16 16:52:54 +03:00
Grot (@grafanabot)
1654b7abed [v10.0.x] Add/Edit Panel: Enable new DS picker toggle by default (#68391)
* Add/Edit Panel: Enable new DS picker toggle by default (#68380)

(cherry picked from commit ede8df846e)

---------

Co-authored-by: Ivan Ortega Alba <ivanortegaalba@gmail.com>
2023-05-12 09:31:11 -07:00
Giordano Ricci
c1e8c3b2c4 [v10.0.x] Explore: Promote exploreMixedDatasource to Stable & enable by default (#68353) 2023-05-12 12:44:57 +01:00
Grot (@grafanabot)
783d667968 [v10.0.x] PublicDashboards: change wording and FF to public preview state (#68328)
PublicDashboards: change wording and FF to public preview state (#68262)

(cherry picked from commit 11c388a10f)

Co-authored-by: Ezequiel Victorero <ezequiel.victorero@grafana.com>
2023-05-11 17:29:49 -03:00
Grot (@grafanabot)
fdbe99b48a [v10.0.x] Nested folders: Fix missing URL from folder responses (#68226)
Nested folders: Fix missing URL from folder responses (#68082)

* Nested folders: Set URL in folder responses always

* Apply suggestions from code review

Co-authored-by: Arati R. <33031346+suntala@users.noreply.github.com>
(cherry picked from commit d883404f50)

Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
2023-05-11 12:50:47 +03:00
Grot (@grafanabot)
cc2e352c03 [v10.0.x] Folders: return an error when listing folders if permission guardian returns an error (#68224)
Folders: return an error when listing folders if permission guardian returns an error (#68109)

return an error when listing folders if perm gaurdian returns an error

(cherry picked from commit e51b92991d)

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
2023-05-10 16:20:50 +03:00
Grot (@grafanabot)
85096b0404 [v10.0.x] Alerting: Fix broken integration test (#68181)
Alerting: Fix broken integration test (#68140)

From https://github.com/grafana/grafana/pull/68122

(cherry picked from commit 5422609fb1)

Co-authored-by: Matthew Jacobson <matthew.jacobson@grafana.com>
2023-05-10 12:03:33 +03:00
Grot (@grafanabot)
1a1dc023b6 [v10.0.x] Alerting: Migration to not fail if alert_configuration table is not empty (#67937)
Alerting: Migration to not fail if alert_configuration table is not empty (#67924)

(cherry picked from commit 0ce7f7eaf4)

Co-authored-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>
2023-05-05 16:33:12 +00:00
Grot (@grafanabot)
8a8d796c1f [v10.0.x] Render analytics identifiers (#67926)
Render analytics identifiers (#67860)

* Append analytics identifier upon authenticate session

* Add id and module upon syncing user to identity

* Add authModule & id to `IdentityFromSignedInUser`

* Allow req calls in test to use basic auth

* Add `intercom_secret` to grafana config in tests

* Add test for analytics render in html view

(cherry picked from commit 15e34505e2)

Co-authored-by: linoman <2051016+linoman@users.noreply.github.com>
2023-05-05 17:36:08 +02:00
Grot (@grafanabot)
d05ba80080 [v10.0.x] RBAC: Do not search for parents of the root folder (#67806)
RBAC: Do not search for parents of the root folder (#67746)

do not search for parents of the general folder

(cherry picked from commit b1382ac48e)

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
2023-05-04 08:55:41 +00:00
Torkel Ödegaard
1894440368 [v10.0.x]: Connections: Rename "Your data source" to "Data source" page (#67718)
Connections: Rename "Your data source" to "Data source" page (#67662)

rename "Your data source" to "Data source" page

This page was meant to be named "Data source" in the previous PR [0].
I just made a mistake by naming it wrongly.

[0]: https://github.com/grafana/grafana/pull/66813/files

(cherry picked from commit 76284ed3a6)

Co-authored-by: mikkancso <miklos.tolnai@grafana.com>
2023-05-03 14:00:53 +02:00
Grot (@grafanabot)
b5e8e391a4 [v10.0.x] Connections: Simplify connections nav (#67633)
Connections: Simplify connections nav (#66813)

* Connections: Simplify connections nav

* rename Connections pages everywhere

---------

Co-authored-by: Miklós Tolnai <miklos.tolnai@grafana.com>
(cherry picked from commit 9614dc2446)

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2023-05-03 13:34:37 +02:00
Grot (@grafanabot)
d174427f41 [v10.0.x] fix shadow log in service accounts (#67649)
fix shadow log in service accounts (#67643)

* fix shadow log in service accounts

(cherry picked from commit f9fd15c01e)

Co-authored-by: Jo <joao.guerreiro@grafana.com>
2023-05-02 14:30:25 +02:00
Yuri Tseretyan
61484fa826 Alerting: Mention title of alert rule that caused migration to fail (#67451)
* add debug log for migration of alert rules
* add alert rule name and some information to conversion error
2023-05-01 10:32:16 -04:00
Ezequiel Victorero
b1b6d9e2db PublicDashboards: Return custom meta field (#67538) 2023-04-28 15:03:30 -03:00
Jo
8df54a6daa Users: Enable case insensitive login by default (#66134)
* enable case insensitive by default

* fix missing case-insensitive query

* fix missing case insensitive query

* fix missing case insensitive query in temp_user

* skip integration testing in mysql

* skip integration testing in mysql

* use t.cleanup

* lowercase only once

* aligned to only using sql as that is what we do in other parts

---------

Co-authored-by: Eric Leijonmarck <eric.leijonmarck@gmail.com>
2023-04-28 16:38:58 +01:00
Giordano Ricci
b5a2c3c7f5 Query History: Remove migration (#67470) 2023-04-28 16:03:51 +01:00
Matthew Jacobson
91471ac7ae Alerting: Template Testing API (#67450) 2023-04-28 15:56:59 +01:00
Yuri Tseretyan
9eb10bee1f Alerting: Scheduler use rule fingerprint instead of version (#66531)
* implement calculation of fingerprint for ruleWithFolder
* update scheduler to use fingerprint instead of rule's version
2023-04-28 10:42:16 -04:00
Andres Martinez Gotor
932136807b Chore: Allow to force the download of the public key (#67486) 2023-04-28 16:00:48 +02:00
Carl Bergquist
692bb9ed1a Instrumentation: Add support for instrumenting database queries (#66022)
Signed-off-by: bergquist <carl.bergquist@gmail.com>
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
2023-04-28 15:19:06 +02:00
Marcus Efraimsson
4cbda914bd Plugins: Refactor call resource API handling (#67234)
Moving call resource API stream handling within plugin management as a utility/wrapper. 

Closes #66889

Co-authored-by: Will Browne <wbrowne@users.noreply.github.com>
2023-04-28 14:02:27 +02:00
Ieva
533f8caafd SAML: change the config option for making SAML UI accessible to org Admins (#67399)
* change from role grant overrides to SAML UI specific config option

* update permissions needed to access SAML UI

* PR feedback: change config name, change required perms to write, add a comment
2023-04-28 11:48:26 +01:00
Ryan McKinley
ca1f79b9ba Kindsys: Target k8s style resource definitions (#67008)
Co-authored-by: sam boyer <sdboyer@grafana.com>
2023-04-27 23:32:38 +03:00
Andres Martinez Gotor
aa9838bd25 Chore: Refactor manifest verifier (#67218) 2023-04-27 17:54:28 +02:00
Arati R
a5206a1cda Nested folders: Provide count of all descendant dashboards and folders (#67184)
* Add a method for getting descendant folders
* Include dashboard count for descendant folders
* Return subfolder count
* Replace references to children with descendants
* Update openapi specs
* Add test for descendant counts
* Add logging to GetDescendantCounts
2023-04-27 17:00:09 +02:00
Sofia Papagiannaki
893bf08dcf Nested folders: Fix API response ordering when fetching subfolders (#67258)
* Nested folders: Fix ordering when getting subfolders

* Update endpoint swagger description

* Modify test
2023-04-27 17:24:47 +03:00