From 58804bbe50ee0eda7048c17eff588982d3484296 Mon Sep 17 00:00:00 2001 From: Bryant He Date: Mon, 7 Aug 2023 17:11:46 +0800 Subject: [PATCH] fix: grafana error 8 (#31) --- .../chassis-agent/metric-configs/grafana.json.mako | 11 ++++++++--- namekoplus/command.py | 5 +++++ setup.py | 2 +- 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/namekoplus/chassis-agent/metric-configs/grafana.json.mako b/namekoplus/chassis-agent/metric-configs/grafana.json.mako index 99cfcdb..1c819d6 100644 --- a/namekoplus/chassis-agent/metric-configs/grafana.json.mako +++ b/namekoplus/chassis-agent/metric-configs/grafana.json.mako @@ -28,14 +28,14 @@ "links": [], "liveNow": false, "panels": [ - % for grafana_dict in grafana_list: +% for grafana_dict in grafana_list: { "aliasColors": {}, "bars": false, "dashLength": 10, "dashes": false, "datasource": { - "type": "statsd", + "type": "statsd" }, "fill": 1, "fillGradient": 0, @@ -115,8 +115,13 @@ "yaxis": { "align": false } + + % if grafana_dict['is_last'] == 1: }, - % endfor + % else: + } + % endif +% endfor ], "refresh": "3s", "schemaVersion": 36, diff --git a/namekoplus/command.py b/namekoplus/command.py index 366e5c5..3d7c92e 100644 --- a/namekoplus/command.py +++ b/namekoplus/command.py @@ -367,6 +367,11 @@ def metric_config_gen(module, class_name_str): for config in config_list: if config['class_name'] == class_name: grafana_list.append(config) + for idx, grafana_dict in enumerate(grafana_list): + if idx + 1 == len(grafana_list): + grafana_dict['is_last'] = 1 + else: + grafana_dict['is_last'] = 0 grafana_configs_dir = os.path.join(get_directory('chassis-agent'), 'metric-configs') grafana_file_path = os.path.join(grafana_configs_dir, 'grafana.json.mako') output_file = os.path.join('grafana_dashboards', f'{class_name}_Grafana.json') diff --git a/setup.py b/setup.py index 7811a52..4897452 100644 --- a/setup.py +++ b/setup.py @@ -9,7 +9,7 @@ with open(path.join(here, 'README.md'), encoding='utf-8') as f: setup( name='namekoplus', - version='0.4.22', + version='0.4.23', description='A lightweight Python distributed microservice solution', long_description=long_description, long_description_content_type='text/markdown',