mirror of
https://github.com/grafana/grafana.git
synced 2025-07-31 20:32:19 +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 origin_name.String != "" {
|
||||||
// if the reader cannot be found, it may be an orphaned provisioned dashboard
|
meta.SetSourceProperties(utils.SourceProperties{
|
||||||
resolvedPath := a.provisioning.GetDashboardProvisionerResolvedPath(origin_name.String)
|
Path: origin_path.String,
|
||||||
if resolvedPath != "" {
|
Checksum: origin_hash.String,
|
||||||
meta.SetSourceProperties(utils.SourceProperties{
|
TimestampMillis: origin_ts.Int64,
|
||||||
Path: origin_path.String,
|
})
|
||||||
Checksum: origin_hash.String,
|
meta.SetManagerProperties(utils.ManagerProperties{
|
||||||
TimestampMillis: origin_ts.Int64,
|
Kind: utils.ManagerKindClassicFP, // nolint:staticcheck
|
||||||
})
|
Identity: origin_name.String,
|
||||||
meta.SetManagerProperties(utils.ManagerProperties{
|
})
|
||||||
Kind: utils.ManagerKindClassicFP, // nolint:staticcheck
|
|
||||||
Identity: origin_name.String,
|
|
||||||
})
|
|
||||||
}
|
|
||||||
} else if plugin_id.String != "" {
|
} else if plugin_id.String != "" {
|
||||||
meta.SetManagerProperties(utils.ManagerProperties{
|
meta.SetManagerProperties(utils.ManagerProperties{
|
||||||
Kind: utils.ManagerKindPlugin,
|
Kind: utils.ManagerKindPlugin,
|
||||||
|
@ -1161,8 +1161,11 @@ func (dr *DashboardServiceImpl) UnprovisionDashboard(ctx context.Context, dashbo
|
|||||||
UpdatedAt: time.Now(),
|
UpdatedAt: time.Now(),
|
||||||
Dashboard: dash.Data,
|
Dashboard: dash.Data,
|
||||||
}, nil, true)
|
}, nil, true)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
return err
|
return dr.dashboardStore.UnprovisionDashboard(ctx, dashboardId)
|
||||||
}
|
}
|
||||||
|
|
||||||
return dashboards.ErrDashboardNotFound
|
return dashboards.ErrDashboardNotFound
|
||||||
|
@ -1119,6 +1119,7 @@ func TestUnprovisionDashboard(t *testing.T) {
|
|||||||
},
|
},
|
||||||
"spec": map[string]any{},
|
"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)
|
k8sCliMock.On("Get", mock.Anything, mock.Anything, mock.Anything, mock.Anything, mock.Anything).Return(dash, nil)
|
||||||
dashWithoutAnnotations := &unstructured.Unstructured{Object: map[string]any{
|
dashWithoutAnnotations := &unstructured.Unstructured{Object: map[string]any{
|
||||||
"apiVersion": dashboardv0.APIVERSION,
|
"apiVersion": dashboardv0.APIVERSION,
|
||||||
@ -1169,6 +1170,7 @@ func TestUnprovisionDashboard(t *testing.T) {
|
|||||||
err := service.UnprovisionDashboard(ctx, 1)
|
err := service.UnprovisionDashboard(ctx, 1)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
k8sCliMock.AssertExpectations(t)
|
k8sCliMock.AssertExpectations(t)
|
||||||
|
fakeStore.AssertExpectations(t)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user