diff --git a/brian_dashboard_manager/grafana/organization.py b/brian_dashboard_manager/grafana/organization.py index 9fbfb33a84cfbf9b6e659cbc4de89a192747921a..a6408039a9c761d1c4a372a507ea17cc072ab6e7 100644 --- a/brian_dashboard_manager/grafana/organization.py +++ b/brian_dashboard_manager/grafana/organization.py @@ -160,15 +160,12 @@ def get_or_create_service_account(request: AdminRequest, org_id): raise e # create a service account for provisioning - try: - result = request.post( - 'api/serviceaccounts', json={ - 'name': 'provision', - 'role': 'Admin', - 'isDisabled': False, - }).json() - except HTTPError as e: - print(e) + result = request.post( + 'api/serviceaccounts', json={ + 'name': 'provision', + 'role': 'Admin', + 'isDisabled': False, + }).json() logger.info(f'Created provision service account for organization #{org_id}') return result diff --git a/brian_dashboard_manager/grafana/provision.py b/brian_dashboard_manager/grafana/provision.py index d7519c06924a8d75a5b56eae2f73eac2357cf4a8..308bd2436ba11497c2397095000e87c3c022f598 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: diff --git a/brian_dashboard_manager/templating/helpers.py b/brian_dashboard_manager/templating/helpers.py index 0996d0759668b302c5a4fd929f3b15ec761ad3b4..efcf8ff0e48107eadd8dd0397df75b9f6d13650a 100644 --- a/brian_dashboard_manager/templating/helpers.py +++ b/brian_dashboard_manager/templating/helpers.py @@ -989,7 +989,7 @@ def get_dashboard_data( ): yield dash finally: - executor.shutdown(wait=False, cancel_futures=True) + executor.shutdown(wait=False) def create_aggregate_panel(title, gridpos, targets, datasource): diff --git a/setup.py b/setup.py index 762753b6ec4345406120e82fdf9a441f74a32a52..f872bfd99cdf8c91266abac5f7c7d80f39ad039a 100644 --- a/setup.py +++ b/setup.py @@ -2,7 +2,7 @@ from setuptools import setup, find_packages setup( name='brian-dashboard-manager', - version="0.69", + version="0.70", author='GEANT', author_email='swd@geant.org', description='',