krkn-lib 5.1.0__py3-none-any.whl → 5.1.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ from ..tests.base_test import * # NOQA
@@ -1513,7 +1513,7 @@ class KrknKubernetes:
1513
1513
  logging.error("Error trying to apply_yaml" + str(e))
1514
1514
 
1515
1515
  def get_pod_info(
1516
- self, name: str, namespace: str = "default"
1516
+ self, name: str, namespace: str = "default", delete_expected: bool = False
1517
1517
  ) -> Optional[Pod]:
1518
1518
  """
1519
1519
  Retrieve information about a specific pod
@@ -1583,9 +1583,14 @@ class KrknKubernetes:
1583
1583
  creation_timestamp=response.metadata.creation_timestamp,
1584
1584
  )
1585
1585
  except Exception:
1586
- logging.error(
1587
- "Pod '%s' doesn't exist in namespace '%s'", name, namespace
1588
- )
1586
+ if not delete_expected:
1587
+ logging.error(
1588
+ "Pod '%s' doesn't exist in namespace '%s'", name, namespace
1589
+ )
1590
+ else:
1591
+ logging.info(
1592
+ "Pod '%s' doesn't exist in namespace '%s'", name, namespace
1593
+ )
1589
1594
  return None
1590
1595
  return pod_info
1591
1596
 
@@ -2384,9 +2389,7 @@ class KrknKubernetes:
2384
2389
  # due to pipes and scripts the command is executed in
2385
2390
 
2386
2391
  if not os.path.isdir(download_path):
2387
- raise Exception(
2388
- f"download path {download_path} does not exist"
2389
- )
2392
+ os.mkdir(download_path)
2390
2393
  if not self.path_exists_in_pod(
2391
2394
  pod_name, container_name, namespace, remote_archive_path
2392
2395
  ):
@@ -2992,9 +2995,8 @@ class KrknKubernetes:
2992
2995
  return pods_status
2993
2996
 
2994
2997
  while time.time() - start_time <= max_timeout:
2995
- if event:
2996
- if event.is_set():
2997
- return pods_status
2998
+ if event and event.is_set():
2999
+ return pods_status
2998
3000
 
2999
3001
  time_offset = time.time() - start_time
3000
3002
  remaining_time = max_timeout - time_offset
@@ -3004,7 +3006,7 @@ class KrknKubernetes:
3004
3006
  if set(pods_and_namespaces) == set(current_pods_and_namespaces):
3005
3007
  for pod in current_pods_and_namespaces:
3006
3008
 
3007
- pod_info = self.get_pod_info(pod[0], pod[1])
3009
+ pod_info = self.get_pod_info(pod[0], pod[1], delete_expected=True)
3008
3010
  # for pod_info in pod_list_info:
3009
3011
  if pod_info:
3010
3012
  pod_creation_timestamp = (
@@ -94,7 +94,7 @@ class ElasticNodeInfo(InnerDoc):
94
94
  count = Integer()
95
95
  architecture = Text()
96
96
  instance_type = Text()
97
- node_type = Text()
97
+ nodes_type = Text()
98
98
  kernel_version = Text()
99
99
  kubelet_version = Text()
100
100
  os_version = Text()
@@ -114,6 +114,15 @@ class ElasticHealthChecks(InnerDoc):
114
114
  end_timestamp = Date()
115
115
  duration = Float()
116
116
 
117
+ class ElasticVirtChecks(InnerDoc):
118
+ vm_name = Text()
119
+ ip_address = Text()
120
+ namespace = Text()
121
+ node_name = Text()
122
+ status = Boolean()
123
+ start_timestamp = Date()
124
+ end_timestamp = Date()
125
+ duration = Float()
117
126
 
118
127
  class ElasticChaosRunTelemetry(Document):
119
128
  scenarios = Nested(ElasticScenarioTelemetry, multi=True)
@@ -127,10 +136,11 @@ class ElasticChaosRunTelemetry(Document):
127
136
  cloud_type = Text()
128
137
  cluster_version = Text()
129
138
  major_version = Text()
139
+ build_url = Text()
130
140
  job_status = Boolean()
131
141
  run_uuid = Text(fields={"keyword": Keyword()})
132
142
  health_checks = Nested(ElasticHealthChecks, multi=True)
133
-
143
+ virt_checks = Nested(ElasticVirtChecks, multi=True)
134
144
  class Index:
135
145
  name = "chaos_run_telemetry"
136
146
 
@@ -188,6 +198,7 @@ class ElasticChaosRunTelemetry(Document):
188
198
  self.node_summary_infos = [
189
199
  ElasticNodeInfo(
190
200
  count=info.count,
201
+ nodes_type=info.nodes_type,
191
202
  architecture=info.architecture,
192
203
  instance_type=info.instance_type,
193
204
  kernel_version=info.kernel_version,
@@ -204,7 +215,7 @@ class ElasticChaosRunTelemetry(Document):
204
215
  chaos_run_telemetry.kubernetes_objects_count
205
216
  )
206
217
  self.network_plugins = chaos_run_telemetry.network_plugins
207
-
218
+
208
219
  if chaos_run_telemetry.health_checks:
209
220
  self.health_checks = [
210
221
  ElasticHealthChecks(
@@ -223,6 +234,27 @@ class ElasticChaosRunTelemetry(Document):
223
234
  ]
224
235
  else:
225
236
  self.health_checks = None
237
+
238
+ if chaos_run_telemetry.virt_checks:
239
+ self.virt_checks = [
240
+ ElasticVirtChecks(
241
+ vm_name=info.vm_name,
242
+ ip_address=info.ip_address,
243
+ namespace=info.namespace,
244
+ node_name=info.node_name,
245
+ status=info.status,
246
+ start_timestamp=datetime.datetime.fromisoformat(
247
+ str(info.start_timestamp)
248
+ ),
249
+ end_timestamp=datetime.datetime.fromisoformat(
250
+ str(info.end_timestamp)
251
+ ),
252
+ duration=info.duration,
253
+ )
254
+ for info in chaos_run_telemetry.virt_checks
255
+ ]
256
+ else:
257
+ self.virt_checks = None
226
258
 
227
259
  self.timestamp = chaos_run_telemetry.timestamp
228
260
  self.total_node_count = chaos_run_telemetry.total_node_count
@@ -232,3 +264,4 @@ class ElasticChaosRunTelemetry(Document):
232
264
  self.run_uuid = chaos_run_telemetry.run_uuid
233
265
  self.job_status = chaos_run_telemetry.job_status
234
266
  self.major_version = chaos_run_telemetry.major_version
267
+ self.build_url = chaos_run_telemetry.build_url
@@ -421,6 +421,55 @@ class HealthCheck:
421
421
  self.end_timestamp = json_dict["end_timestamp"]
422
422
  self.duration = json_dict["duration"]
423
423
 
424
+ @dataclass(order=False)
425
+ class VirtCheck:
426
+ """
427
+ Virt checks Response for VMI endpoints
428
+ """
429
+
430
+ vm_name: str
431
+ """
432
+ Vm name
433
+ """
434
+ ip_address: str
435
+ """
436
+ Vm ip address
437
+ """
438
+ namespace: str
439
+ """
440
+ Namespace
441
+ """
442
+ node_name: str
443
+ """
444
+ Node Name
445
+ """
446
+ status: bool
447
+ """
448
+ Status of VMI ssh connection
449
+ """
450
+ start_timestamp: str
451
+ """
452
+ start time stamp of virt check
453
+ """
454
+ end_timestamp: str
455
+ """
456
+ end time stamp of virt check
457
+ """
458
+ duration: float
459
+ """
460
+ Denotes the time between start time and end time
461
+ """
462
+
463
+ def __init__(self, json_dict: dict = None):
464
+ if json_dict is not None:
465
+ self.node_name = json_dict["node_name"]
466
+ self.ip_address = json_dict["ip_address"]
467
+ self.namespace = json_dict["namespace"]
468
+ self.vm_name = json_dict["vm_name"]
469
+ self.status = json_dict.get("status",True)
470
+ self.start_timestamp = json_dict.get("start_timestamp","")
471
+ self.end_timestamp = json_dict.get("end_timestamp","")
472
+ self.duration = json_dict.get("duration","")
424
473
 
425
474
  @dataclass(order=False)
426
475
  class ChaosRunTelemetry:
@@ -485,10 +534,18 @@ class ChaosRunTelemetry:
485
534
  """
486
535
  Health checks of application endpoint
487
536
  """
537
+ virt_checks: list[VirtCheck] = None
538
+ """
539
+ Virt checks of VMIs
540
+ """
488
541
  job_status: bool = True
489
542
  """
490
543
  Overall job status, will take all scenario's exit status
491
544
  """
545
+ build_url: str = "manual"
546
+ """
547
+ Build url if run in CI
548
+ """
492
549
 
493
550
  def __init__(self, json_dict: any = None):
494
551
  self.scenarios = list[ScenarioTelemetry]()
@@ -500,6 +557,7 @@ class ChaosRunTelemetry:
500
557
  "%Y-%m-%dT%H:%M:%SZ"
501
558
  )
502
559
  self.health_checks = list[HealthCheck]()
560
+ self.virt_checks = list[VirtCheck]()
503
561
  if json_dict is not None:
504
562
  scenarios = json_dict.get("scenarios")
505
563
  if scenarios is None or isinstance(scenarios, list) is False:
@@ -527,7 +585,13 @@ class ChaosRunTelemetry:
527
585
  if json_dict.get("health_checks")
528
586
  else None
529
587
  )
588
+ self.virt_checks = (
589
+ [VirtCheck(k) for k in json_dict.get("virt_checks")]
590
+ if json_dict.get("virt_checks")
591
+ else None
592
+ )
530
593
  self.job_status = json_dict.get("job_status")
594
+ self.build_url = json_dict.get("build_url")
531
595
 
532
596
  def to_json(self) -> str:
533
597
  return json.dumps(self, default=lambda o: o.__dict__, indent=4)
@@ -102,6 +102,7 @@ class KrknTelemetryKubernetes:
102
102
  chaos_telemetry.cluster_version = self.__kubecli.get_version()
103
103
  chaos_telemetry.major_version = chaos_telemetry.cluster_version[1:5]
104
104
  chaos_telemetry.node_taints = taints
105
+ chaos_telemetry.build_url = utils.get_ci_job_url()
105
106
  for info in node_infos:
106
107
  chaos_telemetry.total_node_count += info.count
107
108
  chaos_telemetry.job_status = True
@@ -549,6 +549,7 @@ class BaseTest(unittest.TestCase):
549
549
  "kernel_version": "5.4.0-66-generic",
550
550
  "kubelet_version": "v2.1.2",
551
551
  "os_version": "Linux",
552
+ "nodes_type": "master"
552
553
  }
553
554
  ],
554
555
  "node_taints": [
@@ -571,6 +572,37 @@ class BaseTest(unittest.TestCase):
571
572
  "duration": 259.113742,
572
573
  }
573
574
  ],
575
+ "virt_checks": [
576
+ {
577
+ "node_name": "h03-r660",
578
+ "namespace": "benchmark-runner",
579
+ "ip_address": "0.0.0.0",
580
+ "vm_name": "windows-vm-50",
581
+ "status": True,
582
+ "start_timestamp": "2025-03-12T14:57:34.555878",
583
+ "end_timestamp": "2025-03-12T14:57:54.904352",
584
+ "duration": 20.348474
585
+ },
586
+ {
587
+ "node_name": "h27-r660",
588
+ "namespace": "benchmark-runner",
589
+ "vm_name": "windows-vm-51",
590
+ "ip_address": "0.0.0.1",
591
+ "status": True,
592
+ "start_timestamp": "2025-03-12T14:57:34.759105",
593
+ "end_timestamp": "2025-03-12T14:57:54.904352",
594
+ "duration": 20.145247
595
+ },
596
+ {
597
+ "node_name": "h10-r660",
598
+ "namespace": "benchmark-runner",
599
+ "vm_name": "windows-vm-52",
600
+ "ip_address": "0.0.0.2",
601
+ "status": False,
602
+ "start_timestamp": "2025-03-12T14:57:35.308957",
603
+ "end_timestamp": "2025-03-12T14:57:54.904352",
604
+ "duration": 19.595395
605
+ }],
574
606
  "total_node_count": 3,
575
607
  "cloud_infrastructure": "AWS",
576
608
  "cloud_type": "EC2",
@@ -578,5 +610,6 @@ class BaseTest(unittest.TestCase):
578
610
  "cluster_version": "4.18.0-0.nightly-202491014",
579
611
  "major_verison": "4.18",
580
612
  "job_status": True,
613
+ "build_url": "https://github.com/krkn-chaos/krkn-lib/actions/runs/16724993547", # NOQA
581
614
  }
582
615
  return example_data
@@ -149,6 +149,9 @@ class TestKrknElasticModels(BaseTest):
149
149
  self.assertEqual(
150
150
  elastic_telemetry.node_summary_infos[0].instance_type, "m2i.xlarge"
151
151
  )
152
+ self.assertEqual(
153
+ elastic_telemetry.node_summary_infos[0].nodes_type, "master"
154
+ )
152
155
  self.assertEqual(
153
156
  elastic_telemetry.node_summary_infos[0].kernel_version,
154
157
  "5.4.0-66-generic",
@@ -211,10 +214,39 @@ class TestKrknElasticModels(BaseTest):
211
214
  elastic_telemetry.health_checks[0].duration, 259.113742
212
215
  )
213
216
 
217
+ # virt_checks
218
+ self.assertEqual(len(elastic_telemetry.virt_checks), 3)
219
+ self.assertEqual(
220
+ elastic_telemetry.virt_checks[0].vm_name, "windows-vm-50"
221
+ )
222
+ self.assertEqual(
223
+ elastic_telemetry.virt_checks[0].ip_address, "0.0.0.0"
224
+ )
225
+ self.assertEqual(
226
+ elastic_telemetry.virt_checks[0].namespace, "benchmark-runner"
227
+ )
228
+ self.assertEqual(
229
+ elastic_telemetry.virt_checks[0].node_name, "h03-r660"
230
+ )
231
+
232
+ self.assertEqual(elastic_telemetry.virt_checks[0].status, True)
233
+ self.assertEqual(
234
+ elastic_telemetry.virt_checks[0].start_timestamp,
235
+ datetime.datetime.fromisoformat("2025-03-12T14:57:34.555878"),
236
+ )
237
+ self.assertEqual(
238
+ elastic_telemetry.virt_checks[0].end_timestamp,
239
+ datetime.datetime.fromisoformat("2025-03-12T14:57:54.904352"),
240
+ )
241
+ self.assertEqual(
242
+ elastic_telemetry.virt_checks[0].duration, 20.348474
243
+ )
244
+
214
245
  self.assertEqual(elastic_telemetry.total_node_count, 3)
215
246
  self.assertEqual(elastic_telemetry.cloud_infrastructure, "AWS")
216
247
  self.assertEqual(elastic_telemetry.cloud_type, "EC2")
217
248
  self.assertEqual(elastic_telemetry.run_uuid, run_uuid)
249
+ self.assertEqual(elastic_telemetry.build_url, "https://github.com/krkn-chaos/krkn-lib/actions/runs/16724993547")
218
250
 
219
251
  def test_ElasticChaosRunTelemetry(self):
220
252
  run_uuid = str(uuid.uuid4())
@@ -124,7 +124,7 @@ class KrknKubernetesTestsExec(BaseTest):
124
124
  self.fail(f"exception on node command execution: {e}")
125
125
 
126
126
  def test_download_folder_from_pod_as_archive(self):
127
- workdir_basepath = os.getenv("TEST_WORKDIR")
127
+ workdir_basepath = os.getenv("TEST_WORKDIR", "/tmp")
128
128
  workdir = self.get_random_string(10)
129
129
  test_workdir = os.path.join(workdir_basepath, workdir)
130
130
  os.mkdir(test_workdir)
@@ -410,3 +410,24 @@ class UtilFunctionTests(BaseTest):
410
410
  success_output_not_test_version, success_test_not_test_version
411
411
  )
412
412
  self.assertEqual(failure_output, failure_test)
413
+
414
+ def test_get_ci_job_url(self):
415
+
416
+ ci_job_url = utils.get_ci_job_url()
417
+ print('ci job url' + str(ci_job_url))
418
+ self.assertNotEqual(ci_job_url, "manual")
419
+
420
+ github_run_id = os.getenv("GITHUB_RUN_ID","")
421
+ os.environ["GITHUB_RUN_ID"] = ""
422
+ os.environ["PROW_JOB_ID"] = "1953335493844275200"
423
+ os.environ["BUILD_ID"] = "periodic-ci-redhat-chaos-prow-scripts-main-cr-4.19-nightly-krkn-hub-aws" # NOQA
424
+ os.environ["JOB_NAME"] = "1953335493844275200"
425
+ ci_job_url = utils.get_ci_job_url()
426
+ print('ci job url' + str(ci_job_url))
427
+ self.assertIn("prow.ci.openshift.org", ci_job_url)
428
+ os.environ["PROW_JOB_ID"] = ""
429
+ os.environ["BUILD_URL"] = "https://jenkins-csb-openshift-qe-mastern.dno.corp.redhat.com/job/scale-ci/job/e2e-benchmarking-multibranch-pipeline/job/kraken/" # NOQA
430
+ ci_job_url = utils.get_ci_job_url()
431
+ print('ci job url' + str(ci_job_url))
432
+ self.assertEqual(ci_job_url, os.environ["BUILD_URL"])
433
+ os.environ["GITHUB_RUN_ID"] = github_run_id
@@ -457,3 +457,27 @@ def get_junit_test_case(
457
457
  ET.SubElement(test_case, "failure", message="").text = test_stdout
458
458
 
459
459
  return ET.tostring(root, encoding="utf-8").decode("UTF-8")
460
+
461
+
462
+ def get_ci_job_url():
463
+ build_url = "manual"
464
+ if os.getenv("GITHUB_RUN_ID", ""):
465
+ # github actions build url
466
+ github_run_id = os.getenv("GITHUB_RUN_ID")
467
+ github_repo = os.getenv("GITHUB_REPOSITORY")
468
+ build_url = (
469
+ f"https://github.com/{github_repo}/actions/runs/{github_run_id}"
470
+ )
471
+ elif os.getenv("PROW_JOB_ID", ""):
472
+ prow_base_url = (
473
+ "https://prow.ci.openshift.org/view/gs/origin-ci-test/logs"
474
+ )
475
+ task_id = os.getenv("BUILD_ID")
476
+ job_id = os.getenv("JOB_NAME")
477
+
478
+ build_url = f"{prow_base_url}/{job_id}/{task_id}"
479
+
480
+ elif os.getenv("BUILD_URL", ""):
481
+ # Jenkins build url
482
+ build_url = os.getenv("BUILD_URL")
483
+ return build_url
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: krkn-lib
3
- Version: 5.1.0
3
+ Version: 5.1.1
4
4
  Summary: Foundation library for Kraken
5
5
  License: Apache-2.0
6
6
  Author: Red Hat Chaos Team
@@ -1,7 +1,10 @@
1
+ krkn_lib/aws_tests/__init__.py,sha256=vAyS1U3V-MTOqLgwlAK5W_gIT3VDxDrNzMRpaYe9fME,39
2
+ krkn_lib/aws_tests/test_krkn_telemetry_kubernetes.py,sha256=VxE0MMo6pTVJj2iTJYs0Ei_jbVxOVXpupFLXrnlf02M,12633
3
+ krkn_lib/aws_tests/test_krkn_telemetry_openshift.py,sha256=AE6nwWi2c2WqjU4mQ2Kr1XGr5FcmFbvaZALDDHpaEMQ,2151
1
4
  krkn_lib/elastic/__init__.py,sha256=ApLS0O18jzfu1Oe6Ym7XYlC1bFl9JTYO6VjFQflDlA0,36
2
5
  krkn_lib/elastic/krkn_elastic.py,sha256=YeZqEV61-icQTVrgA_0hDgD5L0zFmM3vmX_m7hXYOJU,8954
3
6
  krkn_lib/k8s/__init__.py,sha256=umPTRrPgLUdtHf9epWNcQaA7p9d3gZFtFiXQw36Pqug,39
4
- krkn_lib/k8s/krkn_kubernetes.py,sha256=V4ffVd68A6SgNHBHGEi4eIbgFBiDIEtlPFEfS-QA_qE,127413
7
+ krkn_lib/k8s/krkn_kubernetes.py,sha256=ewEHJw6I9N6VO8pAOyaxJa1NwF8eqKxJD63amUyflW4,127563
5
8
  krkn_lib/k8s/pods_monitor_pool.py,sha256=_wy-Z1CSjUd6PBQ6WIAm52UbE0s4FljEub1Cpygf3c4,8006
6
9
  krkn_lib/k8s/templates/hog_pod.j2,sha256=PloumCIFkLpZCJPwNRf5kwcAfLH12AXNepQjdn942Wc,1650
7
10
  krkn_lib/k8s/templates/node_exec_pod.j2,sha256=hj0yryqooF8eZPdoC7-_4kF5OCvPagfItuRO4PhevaI,558
@@ -10,30 +13,30 @@ krkn_lib/k8s/templates/service_hijacking_pod.j2,sha256=VmGdeR7AEGCxPgBRqdgEhI_ks
10
13
  krkn_lib/k8s/templates/syn_flood_pod.j2,sha256=ANCEhFZP6yzChGK52_01mV2k6cIb0JNR9ocSFHpxPT0,1132
11
14
  krkn_lib/models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
12
15
  krkn_lib/models/elastic/__init__.py,sha256=B5B2XDHj9grxPBwcGm2SCXAyqtJHkywwDUFPvmrh_H4,30
13
- krkn_lib/models/elastic/models.py,sha256=2rKF45_HZuFgyu64ODQqn0TY8xCUCWiKgbkXR9Woz5s,7427
16
+ krkn_lib/models/elastic/models.py,sha256=3-jAjLpZaHtg1Y4csPcyMyOlTS80_hpcPCUKo25z8Fo,8650
14
17
  krkn_lib/models/k8s/__init__.py,sha256=B5B2XDHj9grxPBwcGm2SCXAyqtJHkywwDUFPvmrh_H4,30
15
18
  krkn_lib/models/k8s/models.py,sha256=o1-5_2WA4dCeY_dqJtGSedLt8stqsq7wd_o7bLaeO4A,10632
16
19
  krkn_lib/models/krkn/__init__.py,sha256=B5B2XDHj9grxPBwcGm2SCXAyqtJHkywwDUFPvmrh_H4,30
17
20
  krkn_lib/models/krkn/models.py,sha256=npVBsyog_cPrGVHyDzdkAXhkmGlpsusSM_q9nCyN5rE,6762
18
21
  krkn_lib/models/telemetry/__init__.py,sha256=B5B2XDHj9grxPBwcGm2SCXAyqtJHkywwDUFPvmrh_H4,30
19
- krkn_lib/models/telemetry/models.py,sha256=nTmg7cRv3-WeV67b87VrvrAaUtOS6cZ6tFuY7bB3i58,16948
22
+ krkn_lib/models/telemetry/models.py,sha256=1lIt5NXcQrxtxzzMWggHYpyhpo_VrA8Hs4L6zVGFRPE,18532
20
23
  krkn_lib/ocp/__init__.py,sha256=CmweI-5lweWd8wG3q0y9m2ENAr9xvC7aldoJkjC3PQQ,38
21
24
  krkn_lib/ocp/krkn_openshift.py,sha256=8bUnJlkC1Yy2euWeOAPrXTCE22r6M8b0__g4NLhuaY4,17904
22
25
  krkn_lib/prometheus/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
23
26
  krkn_lib/prometheus/krkn_prometheus.py,sha256=vulbna0FIxcKtt1BlnE4FEU84Zmw31RiQSItm1Xxehs,8894
24
27
  krkn_lib/telemetry/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
25
28
  krkn_lib/telemetry/k8s/__init__.py,sha256=HTC3-41WJaqtHNyRSzUC-SiLnrgshLKEAyFwMdVVTgU,49
26
- krkn_lib/telemetry/k8s/krkn_telemetry_kubernetes.py,sha256=7tlIz3ubM-tszx1ip7CoceI9Yk6c5sp-GZh4yxoI-eY,24576
29
+ krkn_lib/telemetry/k8s/krkn_telemetry_kubernetes.py,sha256=dglDCGwbYc1HjiMCV01qHJuclzty4Y71fFtLOv1y92I,24635
27
30
  krkn_lib/telemetry/ocp/__init__.py,sha256=DgRL7JxW766o2L8m-E94ftgCdWhsgjURz6gAb9J9Rio,48
28
31
  krkn_lib/telemetry/ocp/krkn_telemetry_openshift.py,sha256=rpK-TJfpeJWUEQQgzpeUMhMvv3s1J9FrJtIOTUUPndY,9475
29
32
  krkn_lib/tests/__init__.py,sha256=_-mAJNNBGEod6A8tfckMP9loSOi_Bj4YHvpo93aqHME,33
30
- krkn_lib/tests/base_test.py,sha256=fEzuZ9WmjaKxYNQLW_kteL6rG4WiUzL6fF5qS9q8DvM,20720
33
+ krkn_lib/tests/base_test.py,sha256=8nd4Q3HZvKqIjrFyuUsBPqcvS8-u49V6uDw2qT_dL5c,22100
31
34
  krkn_lib/tests/test_krkn_elastic.py,sha256=VFNu_NQLXEaq2rFR7BLwtynigVLuw8vhBNEUm53vpII,5612
32
- krkn_lib/tests/test_krkn_elastic_models.py,sha256=ILiK5p9WZhLC82FQ1GWX4_HZX0gbxW3GIap8M9gSH78,7825
35
+ krkn_lib/tests/test_krkn_elastic_models.py,sha256=TYwbn9HXNM0c_NpUyyQ-VDXSE7oRhTxKG338Pz1yW8w,9083
33
36
  krkn_lib/tests/test_krkn_kubernetes_check.py,sha256=7ElT--pJd52ql_WBAfWIa_p27bpWOH6gk_EEcCw_tXc,9333
34
37
  krkn_lib/tests/test_krkn_kubernetes_create.py,sha256=QGnO9bwrk_eRyH-4LaEZY6cxu9Qdlcc8CQDxwsnkr5A,2597
35
38
  krkn_lib/tests/test_krkn_kubernetes_delete.py,sha256=VXl-NhWrJejwxRhpeyjPVngggQsHeuJ17UfgdXxSF3k,5021
36
- krkn_lib/tests/test_krkn_kubernetes_exec.py,sha256=yB8vQAVfh1SkLzvt3O40gr4PAXqxJkOK_PBIZIfdUs8,6919
39
+ krkn_lib/tests/test_krkn_kubernetes_exec.py,sha256=BX3x-kSE-HGOZYNEosTDFbeHFBLDhnvyBC9Arai_Bf4,6927
37
40
  krkn_lib/tests/test_krkn_kubernetes_get.py,sha256=psTuDuvTTINPNK6Mnn69g9ZKNHKcWJ2fFvw8Kx4g0wI,13064
38
41
  krkn_lib/tests/test_krkn_kubernetes_list.py,sha256=_qZJux76O_kDehFRcNDqjWX5edTrKY0_BSa-iky4NWA,5065
39
42
  krkn_lib/tests/test_krkn_kubernetes_misc.py,sha256=W-0I5BPIMVO7E3HMh5WsB1hVjq37uNb2YsX2EcN75AQ,13557
@@ -42,17 +45,15 @@ krkn_lib/tests/test_krkn_kubernetes_monitor.py,sha256=xgaAdGKA5Fdf41Oog3OIWnx2xv
42
45
  krkn_lib/tests/test_krkn_kubernetes_pods_monitor_pool.py,sha256=AN4_HjhofVmVYTzC6aTokz_wOH7lJGQrsLheI49LTso,5691
43
46
  krkn_lib/tests/test_krkn_openshift.py,sha256=ZXHQ8VutqWsjfTdjdvfGGXqNnPL9ByfHKYjkQLkwl1w,4108
44
47
  krkn_lib/tests/test_krkn_prometheus.py,sha256=Yh3rHjomZGke6tgfebGyPt_L6di8a7QplPneTVmd70w,9308
45
- krkn_lib/tests/test_krkn_telemetry_kubernetes.py,sha256=VxE0MMo6pTVJj2iTJYs0Ei_jbVxOVXpupFLXrnlf02M,12633
46
48
  krkn_lib/tests/test_krkn_telemetry_models.py,sha256=J2PI4KAfZ7gSKhPC9DTJtlBKtObf69Kh_WbHcKbK8_Q,16219
47
- krkn_lib/tests/test_krkn_telemetry_openshift.py,sha256=AE6nwWi2c2WqjU4mQ2Kr1XGr5FcmFbvaZALDDHpaEMQ,2151
48
- krkn_lib/tests/test_utils.py,sha256=r0b9djwmVb6O_P4xBQn4YG1ioXsDQe7E0a_BWSorUgk,13232
49
+ krkn_lib/tests/test_utils.py,sha256=4c48dCFvRVuACSt-PFrupdWKlgtKcowOwxyXzsn2NfM,14296
49
50
  krkn_lib/tests/test_version.py,sha256=UepvN_1NixumE1mQssrv0G_Fp2bWibtvbDjEgmWoqe0,209
50
51
  krkn_lib/utils/__init__.py,sha256=1U4hxrKaKha2eWTrxyrvjNO3bZNoybQAy8Ne_Oglbxc,68
51
- krkn_lib/utils/functions.py,sha256=RGVde-v7sAH-E1mdtG98gOrzJlwSDmJDkTKxLKzVzQ0,15973
52
+ krkn_lib/utils/functions.py,sha256=idKZNCFllAuHjZDGpT5LJESWeTU580NhLkp5KQL9PZo,16724
52
53
  krkn_lib/utils/safe_logger.py,sha256=NLVy7589hZqrxc-YhkEOhg8GBJ7jxKofAQotiyvyo-4,3687
53
54
  krkn_lib/version/__init__.py,sha256=0MLmj0ik-h9IVeq7zw8Xi5ux99DHfxJQ83Iv9Aqiubc,41
54
55
  krkn_lib/version/version.py,sha256=pdrCTedp-HDIYnG6e-AwN2nMK8vdbNTioqXxJpIZ6b8,80
55
- krkn_lib-5.1.0.dist-info/LICENSE,sha256=DOwG4OVfvD3FzuT8qbYH9my49OTbzzs8ATWU3RVnMuk,10173
56
- krkn_lib-5.1.0.dist-info/METADATA,sha256=YCkObvJzpgwXsC7q7zj8EzAhjZUPUruFVJ2Gp_kg-kE,2710
57
- krkn_lib-5.1.0.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
58
- krkn_lib-5.1.0.dist-info/RECORD,,
56
+ krkn_lib-5.1.1.dist-info/LICENSE,sha256=DOwG4OVfvD3FzuT8qbYH9my49OTbzzs8ATWU3RVnMuk,10173
57
+ krkn_lib-5.1.1.dist-info/METADATA,sha256=3kl5HIsXm978WDQqTaCIpGGHo7FAjFb7cC40sA9uuB8,2710
58
+ krkn_lib-5.1.1.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
59
+ krkn_lib-5.1.1.dist-info/RECORD,,