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
Branches
Tags 0.30
No related merge requests found
......@@ -70,17 +70,16 @@ def create_api_token(request: AdminRequest, org_id: int, key_data=None):
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
switch_active_organization(request, org_id)
if org_id:
switch_active_organization(request, org_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
def delete_expired_api_tokens(request: AdminRequest, org_id: int) -> bool:
assert org_id
def delete_expired_api_tokens(request: AdminRequest) -> bool:
tokens = request.get('api/auth/keys', params={'includeExpired': True})
......@@ -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)]
for token in expired_tokens:
delete_api_token(request, org_id, token['id'])
delete_api_token(request, token['id'])
return True
......
......@@ -534,6 +534,7 @@ def provision(config):
tokens = []
all_orgs = _provision_orgs(config)
request = AdminRequest(**config)
delete_expired_api_tokens(request)
def _find_org_config(org):
orgs_to_provision = config.get('organizations', DEFAULT_ORGANIZATIONS)
......@@ -551,17 +552,16 @@ def provision(config):
logger.info(
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)
if not org_config:
# message logged from _find_org_config
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_dashboard_uids = {
d['uid'] for d in all_original_dashboards}
......@@ -599,9 +599,7 @@ def provision(config):
delete_dashboard(token_request, {'uid': uid})
_delete_unknown_folders(config, token_request)
for org_id, token in tokens:
delete_api_token(request, org_id, token)
delete_api_token(request, token['id'], org_id=org_id)
logger.info(f'Time to complete: {time.time() - start}')
......
......@@ -2,6 +2,9 @@
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
- Fix error with *8 multiplier also being performed on errors/discard fields
......
......@@ -2,7 +2,7 @@ from setuptools import setup, find_packages
setup(
name='brian-dashboard-manager',
version="0.30",
version="0.31",
author='GEANT',
author_email='swd@geant.org',
description='',
......
......@@ -75,7 +75,7 @@ def test_delete_expired_api_tokens(data_config):
json={
"message": "API key deleted"})
provision.delete_expired_api_tokens(request, ORG_ID)
provision.delete_expired_api_tokens(request)
@responses.activate
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment