diff --git a/brian_dashboard_manager/grafana/provision.py b/brian_dashboard_manager/grafana/provision.py index d7519c06924a8d75a5b56eae2f73eac2357cf4a8..d5f9a2974beb3b11dd11ce64dafd5f0639e3f3d3 100644 --- a/brian_dashboard_manager/grafana/provision.py +++ b/brian_dashboard_manager/grafana/provision.py @@ -839,9 +839,10 @@ def provision(config, raise_exceptions=False): all_orgs = _provision_orgs(config) request = AdminRequest(**config) try: + # needed for older versions of grafana (<11.0) delete_expired_api_tokens(request) except Exception: - pass # needed for older versions of grafana + pass def _find_org_config(org): orgs_to_provision = config.get('organizations', DEFAULT_ORGANIZATIONS) @@ -865,13 +866,14 @@ def provision(config, raise_exceptions=False): continue try: - token = create_api_token(request, org_id) - accounts.append((org_id, token)) - except Exception: # create a service account for provisioning (>grafana 11.0) account = get_or_create_service_account(request, org_id) token = create_service_account_token(request, account['id']) accounts.append((org_id, account)) + except Exception: + # we're on a older version of grafana + token = create_api_token(request, org_id) + accounts.append((org_id, token)) token_request = TokenRequest(token=token['key'], **config) logger.debug(accounts) @@ -938,10 +940,10 @@ def provision(config, raise_exceptions=False): delete_unknown_folders(token_request, folders_to_keep) try: - delete_api_token(request, token['id'], org_id=org_id) - except Exception: - # we're on a newer version of grafana delete_service_account(request, account['id']) + except Exception: + # we're on a older version of grafana + delete_api_token(request, token['id'], org_id=org_id) except Exception: logger.exception(f'Error when provisioning org {org["name"]}') if raise_exceptions: