aws-observability / amazon-managed-grafana-migrator

CLI migration utility to migrate Grafana content to Amazon Managed Grafana
Apache License 2.0
26 stars 7 forks source link

[Question] Support for migration of Library Elements? #26

Open jacktreg opened 8 months ago

jacktreg commented 8 months ago

Please describe your question here

When attempting to use amazon-managed-grafana-migrator v0.1.11 to migrate an AWS Managed Grafana Workspace from one AWS account to another AWS account, we are getting errors relating to connecting Library panels to dashboards in the destination workspace. Although we are running this across AWS accounts, we can also reproduce this when attempting to run the command within the same AWS account.

Here is an example of the command that we are running:

amazon-managed-grafana-migrator migrate --src-url https://<redacted-A>.grafana-workspace.<redacted>.amazonaws.com --src-api-key <redacted> --dst <redacted-B>.grafana-workspace.<redacted>.amazonaws.com --verbose 

Skipping API key creation for https://<redacted-A>.grafana-workspace.<redacted>.amazonaws.com
Creating temporary API key for <redacted-B>

Migrating data sources:
Data source: account-A-source
✔ Migrated 1 data sources

Migrating folders:
Source Grafana folders found: 1
[DEBUG]  [{5 gqxpT0bSk Sites }]
Folder: Sites
[DEBUG]  &{[{5 gqxpT0bSk Sites }] [{1 gqxpT0bSk Sites /dashboards/f/gqxpT0bSk/sites}] [{1 gqxpT0bSk Sites }]}
✔ Migrated 1 folders

Migrating dashboards:
Found 3 dashboards in src
Dashboard: /d/8d1wpnhIk/dashboard-1
searching Folder ID [src folder ID/UID/Title] [5/8d1wpnhIk/Sites]  for dashboard in dst grafana: 1
    error: status: 500, body: {"message":"Error while connecting library panels","traceID":""}
Dashboard: /d/MCfVOxbIk/dashboard-2
searching Folder ID [src folder ID/UID/Title] [5/MCfVOxbIk/Sites]  for dashboard in dst grafana: 1
    error: status: 500, body: {"message":"Error while connecting library panels","traceID":""}
Dashboard: /d/G6vVCxxSz/dashboard-3
searching Folder ID [src folder ID/UID/Title] [5/G6vVCxxSz/Sites]  for dashboard in dst grafana: 1
✔ Migrated 1 dashboards

Skipping alert rules migration

Removing temporary API key for <redacted-B>

It appears that because the Library Elements are not being migrated, and 2/3 of our Dashboard elements have references to Library elements, we are seeing a 500 error occur at some point in the creation of the Dashboard Element in the destination Grafana workspace.

Is this use case supported? If it is known to not be supported, can support for this be added?

Provide link to the example related to the question

For reference, it appears that the Library Elements are simply not being migrated, based on the top level App code: https://github.com/aws-observability/amazon-managed-grafana-migrator/blob/994a90db83708542a1dc2879ec735b39f2adbcd1/internal/pkg/app/app.go#L34

For further reference, it does appear that the Library Element API is well supported on this version of Grafana: https://grafana.com/docs/grafana/v9.4/developers/http_api/library_element/

Additional context

We are using AWS Managed Grafana v9.4.

Please let me know if any further detail is needed.

More

bonclay7 commented 7 months ago

Hey here, yes this was not implemented, thanks for raising this, will add it to the backlog