diff --git a/brian_dashboard_manager/grafana/datasource.py b/brian_dashboard_manager/grafana/datasource.py index 31dfa3e5b13f4963e94b067cc2a6a47c9218ffaf..32f40cf36d61e9c12e4da4e37cb8918794410e83 100644 --- a/brian_dashboard_manager/grafana/datasource.py +++ b/brian_dashboard_manager/grafana/datasource.py @@ -40,8 +40,14 @@ def get_missing_datasource_definitions(request: Request, dir=None): def check_provisioned(request: TokenRequest, datasource): - existing_datasources = get_datasources(request) - return _datasource_provisioned(datasource, existing_datasources) + existing = get_datasources(request) + exists = _datasource_provisioned(datasource, existing) + name = datasource.get('name') + if not exists and any([ds['name'] == name for ds in existing]): + # delete datasource + delete_datasource(request, name) + return False + return exists def get_datasources(request: Request):