Commit Graph

3748 Commits

Author SHA1 Message Date
Grot (@grafanabot) 314b932ab8 Alerting: Fix bug where state did not change between Alerting and Error (#52204) (#52209)
This commit fixes a bug where the state did not change from Alerting to Error if the evaluation result returned an error, or from Error to Alerting if evaluations stopped returning errors.

(cherry picked from commit 34d45977ca)

Co-authored-by: George Robinson <george.robinson@grafana.com>
2022-07-14 06:10:39 -04:00
Alexander Weaver f4e7d0d261 Alerting: Provisioning API respects global rule quota (#52190)
* Alerting: Provisioning API respects global rule quota (#52180)

* Inject interface for quota service and create mock

* Check quota and return 403 if limit exceeded

* Implement tests for quota being exceeded

(cherry picked from commit 2d7389c34d)

* backport error check

Co-authored-by: Jean-Philippe Quémémer <jeanphilippe.quemener@grafana.com>
2022-07-14 10:59:04 +02:00
Grot (@grafanabot) 4652401964 SQLstore: Fix fetching an inexistent playlist response (#51962) (#52139)
* SQLstore: Fix fetching and deleting an inexistent playlist

xorm's session.Get() does not return an error if the raw does not exist.
It returns a boolean instead.
The playlist `sqlstore.GetPlaylist()` used to check only the error and in case
of inexistent UID didn't return an error.

(cherry picked from commit 4ff0f006dd)

Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
2022-07-13 06:13:38 -04:00
Grot (@grafanabot) f3f66f6325 API: Do not validate/save legacy alerts when saving a dashboard if legacy alerting is disabled (#51883) (#52137)
* API: Do not validate/save legacy alerts if legacy alerting is disabled

Co-authored-by: Ida Furjesova <ida.furjesova@grafana.com>
(cherry picked from commit b3992df988)

Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
2022-07-13 05:52:32 -04:00
Grot (@grafanabot) 82f7490f7e Alerting: Allow filtering of contact points by name (#51933) (#52070)
* Define query param and regenerate

* Add query struct for contact points

* Filter contact points by name in query

* Document that name filter is optional

(cherry picked from commit 0e066dd5f8)

Co-authored-by: Alexander Weaver <weaver.alex.d@gmail.com>
2022-07-11 18:26:35 -04:00
Grot (@grafanabot) 7e5a7fc7fc Alerting: Add method to reset notification policy tree back to the default (#51934) (#52004)
* Define route and run codegen

* Wire up HTTP layer

* Update API layer and test fakes

* Implement reset of policy tree

* Implement service layer test and authorization bindings

* API layer testing

* Be more specific when injecting settings

(cherry picked from commit fce283d73e)

Co-authored-by: Alexander Weaver <weaver.alex.d@gmail.com>
2022-07-08 16:39:49 -05:00
Grot (@grafanabot) 48f1752e43 FeatureFlags: omit metric when grafana cant run the feature (#51856) (#51981)
(cherry picked from commit 704a602d8c)

Co-authored-by: Stephanie Hingtgen <stephanie.hingtgen@grafana.com>
2022-07-08 10:52:07 -06:00
Alexander Weaver 2b23445b42 Fix consistency errors and regenerate (#51935) (#51985)
(cherry picked from commit d77731646c)
2022-07-08 11:00:33 -05:00
Grot (@grafanabot) 2a25dc7ab8 Rendering: Fix user information when using render key (#50879) (#51920)
* Rendering: Fix user information when using render key

* fix when render user ID is 0

* update fix

* improve fix

* add comment

(cherry picked from commit ca80865bf1)

Co-authored-by: Agnès Toulet <35176601+AgnesToulet@users.noreply.github.com>
2022-07-07 19:02:09 +02:00
Alexander Weaver 96c7f6e9ed Alerting: Add method to provisioning API for obtaining a group and its rules (#51398) (#51761)
* Generate shell for new route

* Propagate path parameters

* Implement route logic

* Add a couple simple tests

* Use NotFound error for not found, avoid returning pointer

* Regenerate

(cherry picked from commit b9c7eb1380)
2022-07-05 12:47:41 -05:00
Grot (@grafanabot) 7955efc62f Altering: validate that the mute time intervals exist when updating routing tree (#51573) (#51762)
* validate that the mute time intervals exist when updating routing tree

* run lint

* add tests

(cherry picked from commit 4a76436be2)

Co-authored-by: Jean-Philippe Quéméner <JohnnyQQQQ@users.noreply.github.com>
2022-07-05 13:26:38 -04:00
Grot (@grafanabot) 7f5dec12bd Alerting: validate that the receiver exist when updating routing tree (#51561) (#51758)
* Alerting: validate that the receiver exist when updating routing tree

* rename interface

* add missing file

* change constructor

* fix e2e tests

* only import package once

* add unit test for bug

* wording

* close response body

* Update pkg/services/ngalert/api/tooling/definitions/alertmanager_validation.go

* refactor to remove database roundtrip

(cherry picked from commit e64cde8727)

Co-authored-by: Jean-Philippe Quéméner <JohnnyQQQQ@users.noreply.github.com>
2022-07-05 12:47:11 -04:00
Grot (@grafanabot) 964adae477 Alerting: Remove withStoredImage and change forEachFunc (#51384) (#51641)
(cherry picked from commit 7fea330dc1)

Co-authored-by: George Robinson <george.robinson@grafana.com>
2022-07-01 10:18:21 +02:00
Grot (@grafanabot) 517627a94d Alerting: Better metrics and renamed BrowserScreenshotService (#51564) (#51649)
(cherry picked from commit d59db0b8e6)

Co-authored-by: George Robinson <george.robinson@grafana.com>
2022-06-30 18:36:20 +01:00
Grot (@grafanabot) f7ff12bf64 Alerting: Improvements to image package (#51576) (#51598)
This commit makes a number of improvements to the image package:

- Improved comments
- Return the correct error when a dashboard does not exist
- Set a timeout in context.Context

(cherry picked from commit fe797dcfdc)

Co-authored-by: George Robinson <george.robinson@grafana.com>
2022-06-30 07:11:53 +01:00
Grot (@grafanabot) 53a3dca76c LibraryElements: Delete invalid connections before deleting element (#50519) (#51550)
(cherry picked from commit 189b7f9c0b)

Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>
2022-06-29 16:19:01 +01:00
Grot (@grafanabot) 169646b780 Alerting: Remove duplicate error message (#51515) (#51540)
(cherry picked from commit ed56755dd7)

Co-authored-by: George Robinson <george.robinson@grafana.com>
2022-06-29 10:21:24 +01:00
Grot (@grafanabot) bc294261f9 Alerting: Add support for images in Telegram (#51433) (#51482)
(cherry picked from commit 5053468c65)

Co-authored-by: George Robinson <george.robinson@grafana.com>
2022-06-28 10:06:52 +01:00
Grot (@grafanabot) c9cd00c1be Alerting: Add support for images in Pushover alerts (#51372) (#51483)
(cherry picked from commit f04dfc589c)

Co-authored-by: George Robinson <george.robinson@grafana.com>
2022-06-28 10:06:44 +01:00
Eric Leijonmarck 5735f6c88b [v9.0.x] Auth: Case insensitive ids duplicate usagestats (#51240)
* merged and backport to 9.0

* implement the missing method GetDialect for sqlStore

* Add back mockstore missing methods
2022-06-28 11:03:53 +02:00
Grot (@grafanabot) 5e8c61b979 Alerting: change optimistic lock to use proper insert select (#51461) (#51466)
* Alerting: change optimistic lock to proper insert select

* remove debug logging

* fix postgres

* fix mysql

* remove empty line for go-lint

* add some docs

* use constants

(cherry picked from commit cd0fefec5b)

Co-authored-by: Jean-Philippe Quéméner <JohnnyQQQQ@users.noreply.github.com>
2022-06-27 18:34:50 -04:00
Grot (@grafanabot) 1cb7a6fcb0 Optional custom title and description for OpsGenie (#50131) (#51427)
* optional custom description for OpsGenie

* custom title and message, tests

* update changelog

* check for empty / whitespace only strings

* truncate the title to 130 characters if needed

* unnecessary validation removed

* truncate title to 127 characters and add three dots

(cherry picked from commit 9dc7e752b7)

Co-authored-by: Santiago <santiagohernandez.1997@gmail.com>
2022-06-27 22:48:40 +03:00
Grot (@grafanabot) 3cd7eac137 Alerting: prevent the use of the same uid across all contact points (#51440) (#51458)
* Alerting: prevent the use of the same uid across all contact points

* Update pkg/services/ngalert/provisioning/contactpoints.go

Co-authored-by: Yuriy Tseretyan <yuriy.tseretyan@grafana.com>

Co-authored-by: Yuriy Tseretyan <yuriy.tseretyan@grafana.com>
(cherry picked from commit bf255965a2)

Co-authored-by: Jean-Philippe Quéméner <JohnnyQQQQ@users.noreply.github.com>
2022-06-27 13:11:41 -04:00
Grot (@grafanabot) c54f381570 [v9.0.x] Alerting: Remove fmt.Println from Threema (#51382)
Co-authored-by: George Robinson <george.robinson@grafana.com>
2022-06-24 16:05:31 +02:00
Alexander Weaver 40ff163fde Alerting: Code-gen parsing of URL parameters and fix related bugs (#50731) (#51353)
* Extend template and generate

* Generate and fix up alertmanager endpoints

* Prometheus routes

* fix up Testing endpoints

* touch up ruler API

* Update provisioning and fix 500

* Drop dead code

* Remove more dead code

* Resolve merge conflicts

(cherry picked from commit 0d9389e1f4)
2022-06-23 16:51:01 -04:00
gotjosh d1c45321f7 Alerting: Don't stop the migration when alert rule tags are invalid (#51253) (#51341)
* Alerting: Don't stop the migration when alert rule tags are invalid

As we migrate we expect the `alertRuleTags` on a dashboard alert to be a JSON object. However, it seems this is not really validated by Grafana and an user can change the format to something else that the JSON parser is not able to marshal into a `map[string]string`.

Let's do a bit better by "attempting" to parse the tags and if we can't we'll simple return an empty map. The data is still there so if the user wishes they can go back, fix the data and attemp the migration again.

(cherry picked from commit 90646e7f41)
2022-06-23 19:51:22 +02:00
Grot (@grafanabot) bacb7893d6 Encryption: Stop decrypting EE encrypted secrets with legacy encryption (#50090) (#51309)
(cherry picked from commit 7a614fd8a1)

Co-authored-by: Tania <yalyna.ts@gmail.com>
2022-06-23 14:09:06 +02:00
Grot (@grafanabot) 7d537849b3 Alerting: Add support for images in Kafka alerts (#50758) (#51231)
(cherry picked from commit 6e44b36a30)

Co-authored-by: George Robinson <george.robinson@grafana.com>
2022-06-22 11:16:08 +01:00
Grot (@grafanabot) beeefd36f5 Alerting: Add support for images in VictorOps alerts (#50759) (#51228)
(cherry picked from commit 99516360c9)

Co-authored-by: George Robinson <george.robinson@grafana.com>
2022-06-22 10:27:46 +01:00
Serge Zaitsev 72c6512e3f [v9.0.x] Chore: Remove global bus variable (#51126)
* Chore: Remove global bus variable (#50765)

* Chore: Remove global bus variable

* fix bus in tests

(cherry picked from commit 0b55c41d05)

* fix the imports
2022-06-21 11:40:44 +02:00
Grot (@grafanabot) fd4c0ac83a Alerting: Add support for image annotation in Alertmanager alerts (#50686) (#51145)
(cherry picked from commit c8466d285c)

Co-authored-by: George Robinson <george.robinson@grafana.com>
2022-06-21 09:36:35 +01:00
Grot (@grafanabot) ca14dc2288 Alerting: Add support for images in Threema alerts (#50734) (#51127)
(cherry picked from commit 67046c5e79)

Co-authored-by: George Robinson <george.robinson@grafana.com>
2022-06-20 16:01:53 +01:00
Grot (@grafanabot) 5a1842635d Alerting: Use ErrImagesDone in Discord and SensuGo (#51106) (#51125)
(cherry picked from commit 7235480be5)

Co-authored-by: George Robinson <george.robinson@grafana.com>
2022-06-20 15:11:46 +01:00
Grot (@grafanabot) d6f2ebb9ae Alerting: Support up to N fake images (#51111) (#51119)
(cherry picked from commit 18c3456d13)

Co-authored-by: George Robinson <george.robinson@grafana.com>
2022-06-20 14:53:08 +01:00
Grot (@grafanabot) 51344afeaf [v9.0.x] Alerting: Adds Mimir to Alertmanager data source implementation (#51109)
Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2022-06-20 13:14:09 +02:00
Grot (@grafanabot) 35d6b46cc8 Alerting: Add ErrImagesDone to return from withStoredImages (#51098) (#51104)
(cherry picked from commit 62c2b1ec78)

Co-authored-by: George Robinson <george.robinson@grafana.com>
2022-06-20 11:11:25 +01:00
Grot (@grafanabot) 828c4d4926 Alerting: Update test funcs for notifications (#51013) (#51095)
(cherry picked from commit 2dbaf259a7)

Co-authored-by: George Robinson <george.robinson@grafana.com>
2022-06-20 09:30:32 +01:00
Grot (@grafanabot) 49aaa5c955 Search: fix anonymous user access (#51045) (#51055)
(cherry picked from commit 40b152e813)

Co-authored-by: Artur Wierzbicki <wierzbicki.artur.94@gmail.com>
2022-06-17 18:53:38 +02:00
Grot (@grafanabot) a24941f718 Alerting: Create algorithm to process receiver changes and keep them consistent internally (#50738) (#51050)
* Algorithm to fix up receivers

* Extract for tests

* Add tests, fix bug

* Add test which demonstrates how it fixes up broken groups

* Fix package prefix

(cherry picked from commit 9bbfeedadf)

Co-authored-by: Alexander Weaver <weaver.alex.d@gmail.com>
2022-06-17 10:31:41 -05:00
Grot (@grafanabot) 75501eac48 Previews: use ETag header (#51008) (#51041)
* use etag header for previews

* use unix millis rather than tz-dependant string

(cherry picked from commit 644503f5e6)

Co-authored-by: Artur Wierzbicki <wierzbicki.artur.94@gmail.com>
2022-06-17 16:16:24 +02:00
Ashley Harrison 87a325e6df Chore: Remove newNavigation feature toggle and old navbar code (#50872) (#50932)
* Remove newNavigation feature toggle + old code

* fix unit tests

* remove buildCreateNavLinks

(cherry picked from commit d0fa326798)
2022-06-16 11:26:46 +01:00
Grot (@grafanabot) efc29caf67 Alerting: Add support for images in SensuGo alerts (#50718) (#50853) 2022-06-15 11:30:35 +02:00
Dimitris Sotirakis d543bb242f Grafana 9: Sync release-v9.0.0 branch to v9.0.x (#50844)
* Docs: Manual backport of alert list panel docs rewrite (#50512)

* Updating migration docs to include most relevant breaking changes (#50356) (#50515)

(cherry picked from commit cd01eb541a)

Co-authored-by: Timur Olzhabayev <timur.olzhabayev@grafana.com>

* ReleaseNotes: Updated changelog and release notes for 9.0.0-beta2 (#50398) (#50521)

Co-authored-by: Timur Olzhabayev <timur.olzhabayev@grafana.com>
(cherry picked from commit a6943cb399)

* Alerting: Fix force_migration when alerting is disabled (#50431) (#50481) (#50565)

This pull request fixes a bug where force_migration must be set to true when both unified and legacy alerting is disabled.

(cherry picked from commit c312188cb2)

* [release-v9.0.0] Grafana UI: Fix nonexistent indexof module for plugin tests (#50573)

* Grafana UI: Fix nonexistent indexof module for plugin tests (#50529)

* fix(grafana-ui): prevent module resolution failure where component-indexof appears as indexof

* chore(grafana-ui): update comment explaining need for alias plugin

(cherry picked from commit 6a4906ef7e)

* chore: refresh yarn.lock

Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>

* [release-v9.0.0] Grafana UI: Put back production build in rollup config (#50581)

* Grafana UI: Put back production build in rollup config (#50575)

(cherry picked from commit 2d1ab27636)

* chore: refresh yarn.lock

Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>

* [release-v9.0.0] Alerting: use "find" to wait for expression editor to load (#50604)

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>

* Docs: Backport 49739 to v9.0.x (#50123) (#50614)

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
(cherry picked from commit 49b20ad76c)

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>

* Alerting: improve provisioning docs (#50347) (#50619)

* Alerting: improve provisioning docs

* add new provisioning page

* add api docs

* fix formatting and add better descriptions

* fix typo

(cherry picked from commit 862f51216b)

Co-authored-by: Jean-Philippe Quéméner <JohnnyQQQQ@users.noreply.github.com>

* Backport docs changes for Grafana Alerting (#50620)

* doc fix (#50624) (#50627)

(cherry picked from commit 336c9fd513)

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>

* RBAC: Inheritance permission migration should handle empty managed roles (#50611) (#50622)

* Make inheritance permission migration more robust

* Better fix

* Add more tests to the migration

* Add removed test case

* Add test case for empty role in empty org

* Handling the role.ID 0 case with a log

Co-authored-by: Jguer <joao.guerreiro@grafana.com>

Co-authored-by: Jguer <joao.guerreiro@grafana.com>
(cherry picked from commit 307a0d4538)

Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>

* "Release: Updated versions in package to 9.0.0" (#369)

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
Co-authored-by: Grot (@grafanabot) <43478413+grafanabot@users.noreply.github.com>
Co-authored-by: Timur Olzhabayev <timur.olzhabayev@grafana.com>
Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
Co-authored-by: Jean-Philippe Quéméner <JohnnyQQQQ@users.noreply.github.com>
Co-authored-by: Armand Grillet <2117580+armandgrillet@users.noreply.github.com>
Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
2022-06-15 12:13:14 +03:00
Grot (@grafanabot) 8ef7fd3859 backend: add PlaylistUIDs to Playlist; remove playlist IDs from API (#49609) (#50828)
* backend/api: refactor PlaylistId to PlaylistUid
* Add org_id to Get and Update playlist functions
Fix migration - no longer pad the uid; fix mysql syntax

The relevant tests are passing using postgres, mysql and the default sqllite backends, but there are a number of other failing tests when using postgres and myself so I'm not entirely confident with those results.

* fix bad query in GetPlaylistItem and add a test that would have caught the mistake in the first place. Reverted the playlist_uid column addition in playlist_item; it became unnecessary after this PR.

Added default value to the new UID column based on PR feedback.

* break this PRs migration into its own function

* Playlists: Update UI to use the updated API

Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
(cherry picked from commit a33a023629)

Co-authored-by: Kristin Laemmert <mildwonkey@users.noreply.github.com>
2022-06-14 15:48:44 -04:00
Grot (@grafanabot) 57300f6b6d Metrics: Expose functions to initialize counters at zero (#50122) (#50750)
(cherry picked from commit 97baa6911d)

Co-authored-by: Joan López de la Franca Beltran <5459617+joanlopez@users.noreply.github.com>
2022-06-14 18:07:35 +02:00
Grot (@grafanabot) 88188d63c8 rm debug log when publishing live message (#50774) (#50779)
(cherry picked from commit c581f6d945)

Co-authored-by: Alexander Emelin <frvzmb@gmail.com>
2022-06-14 14:27:11 +02:00
Grot (@grafanabot) c62ccbd988 Alerting: Fix rendering issues in OpenAPI docs (#50630) (#50725)
* Clean up status codes

* Missing consumes tag

* Regenerate

* Fix incorrect documented responses and missing UI elements

* Fix response docs

* Fix wrong response copy paste

* Regenerate

* Temporarily revert

(cherry picked from commit 17e76b06ff)

Co-authored-by: Alexander Weaver <weaver.alex.d@gmail.com>
2022-06-13 15:05:59 -05:00
Grot (@grafanabot) da9dca03ea Alerting: add right provenance when creating mute timings (#50707) (#50714)
(cherry picked from commit 1ed7280363)

Co-authored-by: Jean-Philippe Quéméner <JohnnyQQQQ@users.noreply.github.com>
2022-06-13 18:18:10 +02:00
Grot (@grafanabot) d5eb7cc42a Alerting: remove unused function in alert rule store (#50696) (#50705)
(cherry picked from commit ed6a887737)

Co-authored-by: Jean-Philippe Quéméner <JohnnyQQQQ@users.noreply.github.com>
2022-06-13 18:06:47 +02:00
Grot (@grafanabot) de0b107188 Never set gridPos to null (#50400) (#50709)
(cherry picked from commit 759e3ec4fa)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-06-13 17:55:47 +02:00