Skip to content
Snippets Groups Projects
Commit c1407b62 authored by Release Webservice's avatar Release Webservice
Browse files

Finished release 0.31.

parents 8a8ece27 9bd5030b
No related branches found
Tags 0.31
No related merge requests found
...@@ -70,17 +70,16 @@ def create_api_token(request: AdminRequest, org_id: int, key_data=None): ...@@ -70,17 +70,16 @@ def create_api_token(request: AdminRequest, org_id: int, key_data=None):
return result return result
def delete_api_token(request: AdminRequest, org_id: int, token_id: int): def delete_api_token(request: AdminRequest, token_id: int, org_id=None):
assert token_id assert token_id
if org_id:
switch_active_organization(request, org_id) switch_active_organization(request, org_id)
result = request.delete(f'api/auth/keys/{token_id}') result = request.delete(f'api/auth/keys/{token_id}')
logger.debug(f'Deleted API token #{token_id} for organization #{org_id}') logger.debug(f'Deleted API token #{token_id}')
return result return result
def delete_expired_api_tokens(request: AdminRequest, org_id: int) -> bool: def delete_expired_api_tokens(request: AdminRequest) -> bool:
assert org_id
tokens = request.get('api/auth/keys', params={'includeExpired': True}) tokens = request.get('api/auth/keys', params={'includeExpired': True})
...@@ -93,7 +92,7 @@ def delete_expired_api_tokens(request: AdminRequest, org_id: int) -> bool: ...@@ -93,7 +92,7 @@ def delete_expired_api_tokens(request: AdminRequest, org_id: int) -> bool:
expired_tokens = [t for t in tokens if 'expiration' in t and is_expired(t)] expired_tokens = [t for t in tokens if 'expiration' in t and is_expired(t)]
for token in expired_tokens: for token in expired_tokens:
delete_api_token(request, org_id, token['id']) delete_api_token(request, token['id'])
return True return True
......
...@@ -534,6 +534,7 @@ def provision(config): ...@@ -534,6 +534,7 @@ def provision(config):
tokens = [] tokens = []
all_orgs = _provision_orgs(config) all_orgs = _provision_orgs(config)
request = AdminRequest(**config) request = AdminRequest(**config)
delete_expired_api_tokens(request)
def _find_org_config(org): def _find_org_config(org):
orgs_to_provision = config.get('organizations', DEFAULT_ORGANIZATIONS) orgs_to_provision = config.get('organizations', DEFAULT_ORGANIZATIONS)
...@@ -551,17 +552,16 @@ def provision(config): ...@@ -551,17 +552,16 @@ def provision(config):
logger.info( logger.info(
f'--- Provisioning org {org["name"]} (ID #{org_id}) ---') f'--- Provisioning org {org["name"]} (ID #{org_id}) ---')
delete_expired_api_tokens(request, org_id)
token = create_api_token(request, org_id)
token_request = TokenRequest(token=token['key'], **config)
tokens.append((org_id, token['id']))
org_config = _find_org_config(org) org_config = _find_org_config(org)
if not org_config: if not org_config:
# message logged from _find_org_config # message logged from _find_org_config
continue continue
token = create_api_token(request, org_id)
token_request = TokenRequest(token=token['key'], **config)
tokens.append((org_id, token['id']))
logger.debug(tokens)
all_original_dashboards = find_dashboard(token_request) or [] all_original_dashboards = find_dashboard(token_request) or []
all_original_dashboard_uids = { all_original_dashboard_uids = {
d['uid'] for d in all_original_dashboards} d['uid'] for d in all_original_dashboards}
...@@ -599,9 +599,7 @@ def provision(config): ...@@ -599,9 +599,7 @@ def provision(config):
delete_dashboard(token_request, {'uid': uid}) delete_dashboard(token_request, {'uid': uid})
_delete_unknown_folders(config, token_request) _delete_unknown_folders(config, token_request)
delete_api_token(request, token['id'], org_id=org_id)
for org_id, token in tokens:
delete_api_token(request, org_id, token)
logger.info(f'Time to complete: {time.time() - start}') logger.info(f'Time to complete: {time.time() - start}')
......
...@@ -2,6 +2,9 @@ ...@@ -2,6 +2,9 @@
All notable changes to this project will be documented in this file. All notable changes to this project will be documented in this file.
## [0.30] - 2021-11-24
- Update API key handling to support Grafana 8.2
## [0.30] - 2021-11-24 ## [0.30] - 2021-11-24
- Fix error with *8 multiplier also being performed on errors/discard fields - Fix error with *8 multiplier also being performed on errors/discard fields
......
...@@ -2,7 +2,7 @@ from setuptools import setup, find_packages ...@@ -2,7 +2,7 @@ from setuptools import setup, find_packages
setup( setup(
name='brian-dashboard-manager', name='brian-dashboard-manager',
version="0.30", version="0.31",
author='GEANT', author='GEANT',
author_email='swd@geant.org', author_email='swd@geant.org',
description='', description='',
......
...@@ -75,7 +75,7 @@ def test_delete_expired_api_tokens(data_config): ...@@ -75,7 +75,7 @@ def test_delete_expired_api_tokens(data_config):
json={ json={
"message": "API key deleted"}) "message": "API key deleted"})
provision.delete_expired_api_tokens(request, ORG_ID) provision.delete_expired_api_tokens(request)
@responses.activate @responses.activate
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment