From eee6aaff2ca3e2d2bb25173f4b56cd70ac270075 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Legrand?= Date: Mon, 15 Jan 2024 14:28:17 +0100 Subject: [PATCH] =?UTF-8?q?Network=20dashboard=20-=20fixing=202=20bugs:=20?= =?UTF-8?q?overriden=20variable=20and=20page=20token=20=E2=80=A6=20(#1976)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Network dashboard - fixing 2 bugs: overriden variable and page token not handled properly * changing pageToken in the regexp --- .../src/plugins/core-discover-cai-nodes.py | 6 +++--- .../network-quota-monitoring/src/plugins/utils.py | 8 +++++--- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/blueprints/cloud-operations/network-quota-monitoring/src/plugins/core-discover-cai-nodes.py b/blueprints/cloud-operations/network-quota-monitoring/src/plugins/core-discover-cai-nodes.py index 30082a8d5..240ca3164 100644 --- a/blueprints/cloud-operations/network-quota-monitoring/src/plugins/core-discover-cai-nodes.py +++ b/blueprints/cloud-operations/network-quota-monitoring/src/plugins/core-discover-cai-nodes.py @@ -43,9 +43,9 @@ def _handle_discovery(resources, response, data): yield Resource('folders', name, {'name': result['displayName']}) elif asset_type == 'Project': number = result['project'].split('/')[1] - data = {'number': number, 'project_id': name} - yield Resource('projects', name, data) - yield Resource('projects:number', number, data) + data_proj = {'number': number, 'project_id': name} + yield Resource('projects', name, data_proj) + yield Resource('projects:number', number, data_proj) else: LOGGER.info(f'unknown resource {name}') next_url = parse_page_token(data, response.request.url) diff --git a/blueprints/cloud-operations/network-quota-monitoring/src/plugins/utils.py b/blueprints/cloud-operations/network-quota-monitoring/src/plugins/utils.py index b4feb1cc3..24f845880 100644 --- a/blueprints/cloud-operations/network-quota-monitoring/src/plugins/utils.py +++ b/blueprints/cloud-operations/network-quota-monitoring/src/plugins/utils.py @@ -34,7 +34,7 @@ Accept-Encoding: gzip, deflate Host: compute.googleapis.com ''' -RE_URL = re.compile(r'nextPageToken=[^&]+&?') +RE_URL = re.compile(r'pageToken=[^&]+&?') def batched(iterable, n): @@ -65,8 +65,10 @@ def parse_page_token(data, url): page_token = data.get('nextPageToken') if page_token: logging.info(f'page token {page_token}') - if page_token: - return RE_URL.sub(f'pageToken={page_token}&', url) + if 'pageToken' in url: + return RE_URL.sub(f'pageToken={page_token}', url) + else: + return f'{url}&pageToken={page_token}' def poor_man_mp_request(urls, boundary='1234567890'):