mirror of
https://github.com/grafana/grafana.git
synced 2025-07-30 23:22:16 +08:00
K8s: Dashboards: Fix provisioned dashboard cleanup (#104504)
This commit is contained in:

committed by
GitHub

parent
ebf3a8d205
commit
b5281c923f
@ -303,19 +303,15 @@ func (a *dashboardSqlAccess) scanRow(rows *sql.Rows, history bool) (*dashboardRo
|
||||
}
|
||||
|
||||
if origin_name.String != "" {
|
||||
// if the reader cannot be found, it may be an orphaned provisioned dashboard
|
||||
resolvedPath := a.provisioning.GetDashboardProvisionerResolvedPath(origin_name.String)
|
||||
if resolvedPath != "" {
|
||||
meta.SetSourceProperties(utils.SourceProperties{
|
||||
Path: origin_path.String,
|
||||
Checksum: origin_hash.String,
|
||||
TimestampMillis: origin_ts.Int64,
|
||||
})
|
||||
meta.SetManagerProperties(utils.ManagerProperties{
|
||||
Kind: utils.ManagerKindClassicFP, // nolint:staticcheck
|
||||
Identity: origin_name.String,
|
||||
})
|
||||
}
|
||||
meta.SetSourceProperties(utils.SourceProperties{
|
||||
Path: origin_path.String,
|
||||
Checksum: origin_hash.String,
|
||||
TimestampMillis: origin_ts.Int64,
|
||||
})
|
||||
meta.SetManagerProperties(utils.ManagerProperties{
|
||||
Kind: utils.ManagerKindClassicFP, // nolint:staticcheck
|
||||
Identity: origin_name.String,
|
||||
})
|
||||
} else if plugin_id.String != "" {
|
||||
meta.SetManagerProperties(utils.ManagerProperties{
|
||||
Kind: utils.ManagerKindPlugin,
|
||||
|
@ -1161,8 +1161,11 @@ func (dr *DashboardServiceImpl) UnprovisionDashboard(ctx context.Context, dashbo
|
||||
UpdatedAt: time.Now(),
|
||||
Dashboard: dash.Data,
|
||||
}, nil, true)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return err
|
||||
return dr.dashboardStore.UnprovisionDashboard(ctx, dashboardId)
|
||||
}
|
||||
|
||||
return dashboards.ErrDashboardNotFound
|
||||
|
@ -1119,6 +1119,7 @@ func TestUnprovisionDashboard(t *testing.T) {
|
||||
},
|
||||
"spec": map[string]any{},
|
||||
}}
|
||||
fakeStore.On("UnprovisionDashboard", mock.Anything, int64(1)).Return(nil).Once()
|
||||
k8sCliMock.On("Get", mock.Anything, mock.Anything, mock.Anything, mock.Anything, mock.Anything).Return(dash, nil)
|
||||
dashWithoutAnnotations := &unstructured.Unstructured{Object: map[string]any{
|
||||
"apiVersion": dashboardv0.APIVERSION,
|
||||
@ -1169,6 +1170,7 @@ func TestUnprovisionDashboard(t *testing.T) {
|
||||
err := service.UnprovisionDashboard(ctx, 1)
|
||||
require.NoError(t, err)
|
||||
k8sCliMock.AssertExpectations(t)
|
||||
fakeStore.AssertExpectations(t)
|
||||
})
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user