22
22
23
23
24
24
class KrknTelemetryKubernetes :
25
- kubecli : KrknKubernetes = None
25
+ __kubecli : KrknKubernetes = None
26
+ __krkn_telemetry_config : dict [str , any ] = None
27
+ __telemetry_request_id : str = ""
26
28
safe_logger : SafeLogger = None
27
29
default_telemetry_group = "default"
28
- krkn_telemetry_config : dict [str , any ] = None
29
30
30
31
def __init__ (
31
32
self ,
32
33
safe_logger : SafeLogger ,
33
34
lib_kubernetes : KrknKubernetes ,
34
35
krkn_telemetry_config : dict [str , any ] = None ,
36
+ telemetry_request_id : str = "" ,
35
37
):
36
38
urllib3 .disable_warnings (urllib3 .exceptions .InsecureRequestWarning )
37
39
urllib3 .disable_warnings (DeprecationWarning )
38
40
warnings .filterwarnings (
39
41
action = "ignore" , message = "unclosed" , category = ResourceWarning
40
42
)
41
- self .kubecli = lib_kubernetes
43
+ self .__kubecli = lib_kubernetes
42
44
self .safe_logger = safe_logger
45
+ self .__telemetry_request_id = telemetry_request_id
43
46
if not krkn_telemetry_config :
44
- self .krkn_telemetry_config = {}
47
+ self .__krkn_telemetry_config = {}
45
48
else :
46
- self .krkn_telemetry_config = krkn_telemetry_config
49
+ self .__krkn_telemetry_config = krkn_telemetry_config
50
+
51
+ def get_lib_kubernetes (self ) -> KrknKubernetes :
52
+ """
53
+ Returns the instance of KrknKubernetes
54
+
55
+ :return: a KrknKubernetes instance
56
+ """
57
+ return self .__kubecli
58
+
59
+ def get_telemetry_config (self ) -> dict [str , any ]:
60
+ """
61
+ Returns the telemetry config section from config.yaml
62
+
63
+ :return: the telemetry config section
64
+ """
65
+ return self .__krkn_telemetry_config
66
+
67
+ def get_telemetry_request_id (self ) -> str :
68
+ """
69
+ Gets the telemetry request id that represents the path
70
+ on S3 where the telemetry data is uploaded
71
+
72
+ :return: the krkn telemetry id
73
+ """
74
+ return self .__telemetry_request_id
47
75
48
76
def collect_cluster_metadata (self , chaos_telemetry : ChaosRunTelemetry ):
49
77
"""
@@ -61,7 +89,7 @@ def collect_cluster_metadata(self, chaos_telemetry: ChaosRunTelemetry):
61
89
self .safe_logger .info ("collecting telemetry data, please wait...." )
62
90
63
91
chaos_telemetry .kubernetes_objects_count = (
64
- self .kubecli .get_all_kubernetes_object_count (
92
+ self .__kubecli .get_all_kubernetes_object_count (
65
93
[
66
94
"Deployment" ,
67
95
"Pod" ,
@@ -72,9 +100,9 @@ def collect_cluster_metadata(self, chaos_telemetry: ChaosRunTelemetry):
72
100
]
73
101
)
74
102
)
75
- node_infos , taints = self .kubecli .get_nodes_infos ()
103
+ node_infos , taints = self .__kubecli .get_nodes_infos ()
76
104
chaos_telemetry .node_summary_infos = node_infos
77
- chaos_telemetry .cluster_version = self .kubecli .get_version ()
105
+ chaos_telemetry .cluster_version = self .__kubecli .get_version ()
78
106
chaos_telemetry .node_taints = taints
79
107
for info in node_infos :
80
108
chaos_telemetry .total_node_count += info .count
@@ -217,7 +245,7 @@ def get_prometheus_pod_data(
217
245
if not prometheus_backup :
218
246
return file_list
219
247
220
- prometheus_pod = self .kubecli .get_pod_info (
248
+ prometheus_pod = self .__kubecli .get_pod_info (
221
249
prometheus_pod_name , prometheus_namespace
222
250
)
223
251
if not prometheus_pod :
@@ -234,7 +262,7 @@ def get_prometheus_pod_data(
234
262
target_path = "/prometheus/wal"
235
263
236
264
try :
237
- file_list = self .kubecli .archive_and_get_path_from_pod (
265
+ file_list = self .__kubecli .archive_and_get_path_from_pod (
238
266
prometheus_pod_name ,
239
267
prometheus_container_name ,
240
268
prometheus_namespace ,
@@ -591,7 +619,7 @@ def put_cluster_events(
591
619
if len (exceptions ) > 0 :
592
620
raise Exception (", " .join (exceptions ))
593
621
594
- events_file = self .kubecli .collect_cluster_events (
622
+ events_file = self .__kubecli .collect_cluster_events (
595
623
start_timestamp ,
596
624
end_timestamp ,
597
625
str (get_localzone ()),
0 commit comments