Skip to content

Commit 8b1d4f2

Browse files
committed
fix smoke tests
1 parent 3753ede commit 8b1d4f2

2 files changed

Lines changed: 27 additions & 25 deletions

File tree

tests/templates/kuttl/smoke/test_jmx_metrics.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,9 +65,9 @@ def check_datanode_metrics(
6565
# Kind "FSDatasetState"
6666
'hadoop_datanode_capacity{fsdatasetid=".+",kind="FSDatasetState",role="DataNode",service="HDFS"}',
6767
# Kind "DataNodeActivity" suffixed with "_info"
68-
'hadoop_datanode_blocks_get_local_path_info_{host="hdfs-datanode-default-0\\.hdfs-datanode-default-headless\\..+\\.svc\\.cluster\\.local",kind="DataNodeActivity",port="9866",role="DataNode",service="HDFS"}',
68+
'hadoop_datanode_blocks_get_local_path_info_{host="hdfs-datanode-default-\\d+\\.hdfs-datanode-default-headless\\..+\\.svc\\.cluster\\.local",kind="DataNodeActivity",port="9866",role="DataNode",service="HDFS"}',
6969
# Kind "DataNodeActivity"
70-
'hadoop_datanode_blocks_read{host="hdfs-datanode-default-0\\.hdfs-datanode-default-headless\\..+\\.svc\\.cluster\\.local",kind="DataNodeActivity",port="9866",role="DataNode",service="HDFS"}',
70+
'hadoop_datanode_blocks_read{host="hdfs-datanode-default-\\d+\\.hdfs-datanode-default-headless\\..+\\.svc\\.cluster\\.local",kind="DataNodeActivity",port="9866",role="DataNode",service="HDFS"}',
7171
# Counter suffixed with "_total"
7272
'hadoop_datanode_estimated_capacity_lost_total{kind="FSDatasetState",role="DataNode",service="HDFS"}',
7373
# Boolean metric

tests/templates/kuttl/smoke/test_native_metrics.py

Lines changed: 25 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
# Every rule in the JMX configuration is covered by one expected metric.
1+
# Native Prometheus metrics test
2+
# We use a raw string for "expected_metrics" but still have to escape special regex characters "[", "]", "{" and "}"
3+
# that we expect to be in the metrics string.
24

35
import re
46
import sys
@@ -8,28 +10,28 @@
810

911

1012
def check_metrics(
11-
namespace: str, role: str, port: int, expected_metrics: list[str]
13+
namespace: str,
14+
role: str,
15+
port: int,
16+
expected_metrics: list[str]
1217
) -> None:
13-
response: requests.Response = requests.get(
18+
response = requests.get(
1419
f"http://hdfs-{role}-default-metrics.{namespace}.svc.cluster.local:{port}/prom",
1520
timeout=10,
1621
)
17-
assert response.ok, "Requesting metrics failed"
22+
assert response.ok, "Requesting metrics failed for {role}."
1823

1924
for metric in expected_metrics:
20-
assert re.search(f"^{metric}", response.text, re.MULTILINE) is not None, (
21-
f"Metric '{metric}' not found for {role}"
22-
)
25+
regex = re.compile(metric, re.MULTILINE)
26+
assert regex.search(response.text) is not None, f"Metric '{metric}' not found for {role}"
2327

2428

25-
def check_namenode_metrics(
26-
namespace: str,
27-
) -> None:
28-
expected_metrics: list[str] = [
29-
'metrics_system_num_active_sources{context="metricssystem",hostname="hdfs-namenode-default-',
30-
'namenode_total_file_ops{processname="NameNode",sessionid="null",context="dfs",hostname="hdfs-namenode-default',
31-
'namenode_files_created{processname="NameNode",sessionid="null",context="dfs",hostname="hdfs-namenode-default-',
32-
'namenode_files_deleted{processname="NameNode",sessionid="null",context="dfs",hostname="hdfs-namenode-default-',
29+
def check_namenode_metrics(namespace: str) -> None:
30+
expected_metrics = [
31+
r'metrics_system_num_active_sources\{context="metricssystem",hostname="hdfs-namenode-default-\d+"\}',
32+
r'namenode_total_file_ops\{processname="NameNode",sessionid="null",context="dfs",hostname="hdfs-namenode-default-\d+"\}',
33+
r'namenode_files_created\{processname="NameNode",sessionid="null",context="dfs",hostname="hdfs-namenode-default-\d+"\}',
34+
r'namenode_files_deleted\{processname="NameNode",sessionid="null",context="dfs",hostname="hdfs-namenode-default-\d+"\}',
3335
]
3436

3537
check_metrics(namespace, "namenode", 9870, expected_metrics)
@@ -39,12 +41,12 @@ def check_datanode_metrics(
3941
namespace: str,
4042
) -> None:
4143
expected_metrics: list[str] = [
42-
'metrics_system_num_active_sources{context="metricssystem",hostname="hdfs-datanode-default-0"}',
43-
'org_apache_hadoop_hdfs_server_datanode_fsdataset_impl_fs_dataset_impl_capacity{context="FSDatasetState",storageinfo="FSDataset{dirpath=\'[/stackable/data/data/datanode]\'}",hostname="hdfs-datanode-default-0"}',
44-
'org_apache_hadoop_hdfs_server_datanode_fsdataset_impl_fs_dataset_impl_estimated_capacity_lost_total{context="FSDatasetState",storageinfo="FSDataset{dirpath=\'[/stackable/data/data/datanode]\'}",hostname="hdfs-datanode-default-0"}',
45-
'datanode_blocks_get_local_path_info{sessionid="null",context="dfs",hostname="hdfs-datanode-default-0"}',
46-
'datanode_blocks_read{sessionid="null",context="dfs",hostname="hdfs-datanode-default-0"}',
47-
'jvm_metrics_gc_count{context="jvm",processname="DataNode",sessionid="null",hostname="hdfs-datanode-default-0"}',
44+
r'metrics_system_num_active_sources\{context="metricssystem",hostname="hdfs-datanode-default-\d+',
45+
r'org_apache_hadoop_hdfs_server_datanode_fsdataset_impl_fs_dataset_impl_capacity\{context="FSDatasetState",storageinfo="FSDataset\{dirpath=\'\[/stackable/data/data/datanode]\'\}",hostname="hdfs-datanode-default-\d+"\}',
46+
r'org_apache_hadoop_hdfs_server_datanode_fsdataset_impl_fs_dataset_impl_estimated_capacity_lost_total\{context="FSDatasetState",storageinfo="FSDataset\{dirpath=\'\[/stackable/data/data/datanode]\'\}",hostname="hdfs-datanode-default-\d+"\}',
47+
r'datanode_blocks_get_local_path_info\{sessionid="null",context="dfs",hostname="hdfs-datanode-default-\d+"\}',
48+
r'datanode_blocks_read\{sessionid="null",context="dfs",hostname="hdfs-datanode-default-\d+"\}',
49+
r'jvm_metrics_gc_count\{context="jvm",processname="DataNode",sessionid="null",hostname="hdfs-datanode-default-\d+"\}',
4850
]
4951

5052
check_metrics(namespace, "datanode", 9864, expected_metrics)
@@ -54,8 +56,8 @@ def check_journalnode_metrics(
5456
namespace: str,
5557
) -> None:
5658
expected_metrics: list[str] = [
57-
'metrics_system_num_active_sources{context="metricssystem",hostname="hdfs-journalnode-default-0"}',
58-
'journal_node_bytes_written{context="dfs",journalid="hdfs",hostname="hdfs-journalnode-default-0"}',
59+
r'metrics_system_num_active_sources\{context="metricssystem",hostname="hdfs-journalnode-default-\d+"\}',
60+
r'journal_node_bytes_written\{context="dfs",journalid="hdfs",hostname="hdfs-journalnode-default-\d+"\}',
5961
]
6062

6163
check_metrics(namespace, "journalnode", 8480, expected_metrics)

0 commit comments

Comments
 (0)