K8s: Dashboards: Fix provisioned dashboard cleanup (#104504)

This commit is contained in:
Stephanie Hingtgen
2025-04-25 05:55:50 -06:00
committed by GitHub
parent ebf3a8d205
commit b5281c923f
3 changed files with 15 additions and 14 deletions

View File

@ -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,

View File

@ -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

View File

@ -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)
}) })
} }