krkn-lib 5.1.10__tar.gz → 5.1.12__tar.gz

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.
Files changed (63) hide show
  1. {krkn_lib-5.1.10 → krkn_lib-5.1.12}/PKG-INFO +3 -3
  2. {krkn_lib-5.1.10 → krkn_lib-5.1.12}/pyproject.toml +3 -3
  3. {krkn_lib-5.1.10 → krkn_lib-5.1.12}/src/krkn_lib/models/elastic/models.py +23 -1
  4. {krkn_lib-5.1.10 → krkn_lib-5.1.12}/src/krkn_lib/models/telemetry/models.py +9 -0
  5. {krkn_lib-5.1.10 → krkn_lib-5.1.12}/src/krkn_lib/tests/base_test.py +13 -0
  6. {krkn_lib-5.1.10 → krkn_lib-5.1.12}/src/krkn_lib/tests/test_krkn_elastic_models.py +21 -0
  7. {krkn_lib-5.1.10 → krkn_lib-5.1.12}/LICENSE +0 -0
  8. {krkn_lib-5.1.10 → krkn_lib-5.1.12}/README.md +0 -0
  9. {krkn_lib-5.1.10 → krkn_lib-5.1.12}/src/krkn_lib/__init__.py +0 -0
  10. {krkn_lib-5.1.10 → krkn_lib-5.1.12}/src/krkn_lib/aws_tests/__init__.py +0 -0
  11. {krkn_lib-5.1.10 → krkn_lib-5.1.12}/src/krkn_lib/aws_tests/test_krkn_telemetry_kubernetes.py +0 -0
  12. {krkn_lib-5.1.10 → krkn_lib-5.1.12}/src/krkn_lib/aws_tests/test_krkn_telemetry_openshift.py +0 -0
  13. {krkn_lib-5.1.10 → krkn_lib-5.1.12}/src/krkn_lib/elastic/__init__.py +0 -0
  14. {krkn_lib-5.1.10 → krkn_lib-5.1.12}/src/krkn_lib/elastic/krkn_elastic.py +0 -0
  15. {krkn_lib-5.1.10 → krkn_lib-5.1.12}/src/krkn_lib/k8s/__init__.py +0 -0
  16. {krkn_lib-5.1.10 → krkn_lib-5.1.12}/src/krkn_lib/k8s/krkn_kubernetes.py +0 -0
  17. {krkn_lib-5.1.10 → krkn_lib-5.1.12}/src/krkn_lib/k8s/pod_monitor/__init__.py +0 -0
  18. {krkn_lib-5.1.10 → krkn_lib-5.1.12}/src/krkn_lib/k8s/pod_monitor/pod_monitor.py +0 -0
  19. {krkn_lib-5.1.10 → krkn_lib-5.1.12}/src/krkn_lib/k8s/templates/hog_pod.j2 +0 -0
  20. {krkn_lib-5.1.10 → krkn_lib-5.1.12}/src/krkn_lib/k8s/templates/node_exec_pod.j2 +0 -0
  21. {krkn_lib-5.1.10 → krkn_lib-5.1.12}/src/krkn_lib/k8s/templates/service_hijacking_config_map.j2 +0 -0
  22. {krkn_lib-5.1.10 → krkn_lib-5.1.12}/src/krkn_lib/k8s/templates/service_hijacking_pod.j2 +0 -0
  23. {krkn_lib-5.1.10 → krkn_lib-5.1.12}/src/krkn_lib/k8s/templates/syn_flood_pod.j2 +0 -0
  24. {krkn_lib-5.1.10 → krkn_lib-5.1.12}/src/krkn_lib/models/__init__.py +0 -0
  25. {krkn_lib-5.1.10 → krkn_lib-5.1.12}/src/krkn_lib/models/elastic/__init__.py +0 -0
  26. {krkn_lib-5.1.10 → krkn_lib-5.1.12}/src/krkn_lib/models/k8s/__init__.py +0 -0
  27. {krkn_lib-5.1.10 → krkn_lib-5.1.12}/src/krkn_lib/models/k8s/models.py +0 -0
  28. {krkn_lib-5.1.10 → krkn_lib-5.1.12}/src/krkn_lib/models/krkn/__init__.py +0 -0
  29. {krkn_lib-5.1.10 → krkn_lib-5.1.12}/src/krkn_lib/models/krkn/models.py +0 -0
  30. {krkn_lib-5.1.10 → krkn_lib-5.1.12}/src/krkn_lib/models/pod_monitor/__init__.py +0 -0
  31. {krkn_lib-5.1.10 → krkn_lib-5.1.12}/src/krkn_lib/models/pod_monitor/models.py +0 -0
  32. {krkn_lib-5.1.10 → krkn_lib-5.1.12}/src/krkn_lib/models/telemetry/__init__.py +0 -0
  33. {krkn_lib-5.1.10 → krkn_lib-5.1.12}/src/krkn_lib/ocp/__init__.py +0 -0
  34. {krkn_lib-5.1.10 → krkn_lib-5.1.12}/src/krkn_lib/ocp/krkn_openshift.py +0 -0
  35. {krkn_lib-5.1.10 → krkn_lib-5.1.12}/src/krkn_lib/prometheus/__init__.py +0 -0
  36. {krkn_lib-5.1.10 → krkn_lib-5.1.12}/src/krkn_lib/prometheus/krkn_prometheus.py +0 -0
  37. {krkn_lib-5.1.10 → krkn_lib-5.1.12}/src/krkn_lib/telemetry/__init__.py +0 -0
  38. {krkn_lib-5.1.10 → krkn_lib-5.1.12}/src/krkn_lib/telemetry/k8s/__init__.py +0 -0
  39. {krkn_lib-5.1.10 → krkn_lib-5.1.12}/src/krkn_lib/telemetry/k8s/krkn_telemetry_kubernetes.py +0 -0
  40. {krkn_lib-5.1.10 → krkn_lib-5.1.12}/src/krkn_lib/telemetry/ocp/__init__.py +0 -0
  41. {krkn_lib-5.1.10 → krkn_lib-5.1.12}/src/krkn_lib/telemetry/ocp/krkn_telemetry_openshift.py +0 -0
  42. {krkn_lib-5.1.10 → krkn_lib-5.1.12}/src/krkn_lib/tests/__init__.py +0 -0
  43. {krkn_lib-5.1.10 → krkn_lib-5.1.12}/src/krkn_lib/tests/test_krkn_elastic.py +0 -0
  44. {krkn_lib-5.1.10 → krkn_lib-5.1.12}/src/krkn_lib/tests/test_krkn_kubernetes_check.py +0 -0
  45. {krkn_lib-5.1.10 → krkn_lib-5.1.12}/src/krkn_lib/tests/test_krkn_kubernetes_create.py +0 -0
  46. {krkn_lib-5.1.10 → krkn_lib-5.1.12}/src/krkn_lib/tests/test_krkn_kubernetes_delete.py +0 -0
  47. {krkn_lib-5.1.10 → krkn_lib-5.1.12}/src/krkn_lib/tests/test_krkn_kubernetes_exec.py +0 -0
  48. {krkn_lib-5.1.10 → krkn_lib-5.1.12}/src/krkn_lib/tests/test_krkn_kubernetes_get.py +0 -0
  49. {krkn_lib-5.1.10 → krkn_lib-5.1.12}/src/krkn_lib/tests/test_krkn_kubernetes_list.py +0 -0
  50. {krkn_lib-5.1.10 → krkn_lib-5.1.12}/src/krkn_lib/tests/test_krkn_kubernetes_misc.py +0 -0
  51. {krkn_lib-5.1.10 → krkn_lib-5.1.12}/src/krkn_lib/tests/test_krkn_kubernetes_models.py +0 -0
  52. {krkn_lib-5.1.10 → krkn_lib-5.1.12}/src/krkn_lib/tests/test_krkn_kubernetes_pods_monitor.py +0 -0
  53. {krkn_lib-5.1.10 → krkn_lib-5.1.12}/src/krkn_lib/tests/test_krkn_kubernetes_pods_monitor_models.py +0 -0
  54. {krkn_lib-5.1.10 → krkn_lib-5.1.12}/src/krkn_lib/tests/test_krkn_openshift.py +0 -0
  55. {krkn_lib-5.1.10 → krkn_lib-5.1.12}/src/krkn_lib/tests/test_krkn_prometheus.py +0 -0
  56. {krkn_lib-5.1.10 → krkn_lib-5.1.12}/src/krkn_lib/tests/test_krkn_telemetry_models.py +0 -0
  57. {krkn_lib-5.1.10 → krkn_lib-5.1.12}/src/krkn_lib/tests/test_utils.py +0 -0
  58. {krkn_lib-5.1.10 → krkn_lib-5.1.12}/src/krkn_lib/tests/test_version.py +0 -0
  59. {krkn_lib-5.1.10 → krkn_lib-5.1.12}/src/krkn_lib/utils/__init__.py +0 -0
  60. {krkn_lib-5.1.10 → krkn_lib-5.1.12}/src/krkn_lib/utils/functions.py +0 -0
  61. {krkn_lib-5.1.10 → krkn_lib-5.1.12}/src/krkn_lib/utils/safe_logger.py +0 -0
  62. {krkn_lib-5.1.10 → krkn_lib-5.1.12}/src/krkn_lib/version/__init__.py +0 -0
  63. {krkn_lib-5.1.10 → krkn_lib-5.1.12}/src/krkn_lib/version/version.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: krkn-lib
3
- Version: 5.1.10
3
+ Version: 5.1.12
4
4
  Summary: Foundation library for Kraken
5
5
  License: Apache-2.0
6
6
  License-File: LICENSE
@@ -19,8 +19,8 @@ Requires-Dist: base64io (>=1.0.3,<2.0.0)
19
19
  Requires-Dist: coverage (>=7.6.12,<8.0.0)
20
20
  Requires-Dist: cython (==3.0)
21
21
  Requires-Dist: deprecation (==2.1.0)
22
- Requires-Dist: elasticsearch (==8.19.1)
23
- Requires-Dist: elasticsearch-dsl (==8.18.0)
22
+ Requires-Dist: elasticsearch (==7.13.4)
23
+ Requires-Dist: elasticsearch-dsl (==7.4.1)
24
24
  Requires-Dist: kubeconfig (>=1.1.1,<2.0.0)
25
25
  Requires-Dist: kubernetes (==34.1.0)
26
26
  Requires-Dist: numpy (==1.26.4)
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "krkn-lib"
3
- version = "5.1.10"
3
+ version = "5.1.12"
4
4
  description = "Foundation library for Kraken"
5
5
  authors = ["Red Hat Chaos Team"]
6
6
  license = "Apache-2.0"
@@ -20,8 +20,8 @@ tzlocal = "5.1"
20
20
  pytz = "^2023.3"
21
21
  PyYAML = "6.0.1"
22
22
  prometheus-api-client = "^0.5.4"
23
- elasticsearch = "8.19.1"
24
- elasticsearch-dsl = "8.18.0"
23
+ elasticsearch = "7.13.4"
24
+ elasticsearch-dsl = "7.4.1"
25
25
  wheel = "^0.42.0"
26
26
  cython = "3.0"
27
27
  numpy= "1.26.4"
@@ -126,7 +126,6 @@ class ElasticVirtChecks(InnerDoc):
126
126
  end_timestamp = Date()
127
127
  duration = Float()
128
128
 
129
-
130
129
  class ElasticChaosRunTelemetry(Document):
131
130
  scenarios = Nested(ElasticScenarioTelemetry, multi=True)
132
131
  node_summary_infos = Nested(ElasticNodeInfo, multi=True)
@@ -144,6 +143,7 @@ class ElasticChaosRunTelemetry(Document):
144
143
  run_uuid = Text(fields={"keyword": Keyword()})
145
144
  health_checks = Nested(ElasticHealthChecks, multi=True)
146
145
  virt_checks = Nested(ElasticVirtChecks, multi=True)
146
+ post_virt_checks = Nested(ElasticVirtChecks, multi=True)
147
147
 
148
148
  class Index:
149
149
  name = "chaos_run_telemetry"
@@ -261,6 +261,28 @@ class ElasticChaosRunTelemetry(Document):
261
261
  else:
262
262
  self.virt_checks = None
263
263
 
264
+ if chaos_run_telemetry.post_virt_checks:
265
+ self.post_virt_checks = [
266
+ ElasticVirtChecks(
267
+ vm_name=post_info.vm_name,
268
+ ip_address=post_info.ip_address,
269
+ new_ip_address=post_info.new_ip_address,
270
+ namespace=post_info.namespace,
271
+ node_name=post_info.node_name,
272
+ status=post_info.status,
273
+ start_timestamp=datetime.datetime.fromisoformat(
274
+ str(post_info.start_timestamp)
275
+ ),
276
+ end_timestamp=datetime.datetime.fromisoformat(
277
+ str(post_info.end_timestamp)
278
+ ),
279
+ duration=post_info.duration,
280
+ )
281
+ for post_info in chaos_run_telemetry.post_virt_checks
282
+ ]
283
+ else:
284
+ self.post_virt_checks = None
285
+
264
286
  self.timestamp = chaos_run_telemetry.timestamp
265
287
  self.total_node_count = chaos_run_telemetry.total_node_count
266
288
  self.cloud_infrastructure = chaos_run_telemetry.cloud_infrastructure
@@ -545,6 +545,10 @@ class ChaosRunTelemetry:
545
545
  """
546
546
  Virt checks of VMIs
547
547
  """
548
+ post_virt_checks: list[VirtCheck] = None
549
+ """
550
+ Post Scenario Virt checks of VMIs
551
+ """
548
552
  job_status: bool = True
549
553
  """
550
554
  Overall job status, will take all scenario's exit status
@@ -597,6 +601,11 @@ class ChaosRunTelemetry:
597
601
  if json_dict.get("virt_checks")
598
602
  else None
599
603
  )
604
+ self.post_virt_checks = (
605
+ [VirtCheck(k) for k in json_dict.get("post_virt_checks")]
606
+ if json_dict.get("post_virt_checks")
607
+ else None
608
+ )
600
609
  self.job_status = json_dict.get("job_status")
601
610
  self.build_url = json_dict.get("build_url")
602
611
 
@@ -608,6 +608,19 @@ class BaseTest(unittest.TestCase):
608
608
  "new_ip_address": "0.0.0.3"
609
609
  },
610
610
  ],
611
+ "post_virt_checks": [
612
+ {
613
+ "node_name": "h10-r660",
614
+ "namespace": "benchmark-runner",
615
+ "ip_address": "0.0.0.0",
616
+ "vm_name": "windows-vm-52",
617
+ "status": False,
618
+ "start_timestamp": "2025-03-12T14:57:55.904352",
619
+ "end_timestamp": "2025-03-12T14:57:55.904352",
620
+ "duration": 0.00,
621
+ "new_ip_address": ""
622
+ }
623
+ ],
611
624
  "total_node_count": 3,
612
625
  "cloud_infrastructure": "AWS",
613
626
  "cloud_type": "EC2",
@@ -246,6 +246,27 @@ class TestKrknElasticModels(BaseTest):
246
246
  )
247
247
  self.assertEqual(elastic_telemetry.virt_checks[0].duration, 20.348474)
248
248
 
249
+ # post_virt_checks
250
+ self.assertEqual(len(elastic_telemetry.post_virt_checks), 1)
251
+ self.assertEqual(
252
+ elastic_telemetry.post_virt_checks[0].vm_name, "windows-vm-52"
253
+ )
254
+ self.assertEqual(
255
+ elastic_telemetry.post_virt_checks[0].ip_address, "0.0.0.0"
256
+ )
257
+ self.assertEqual(
258
+ elastic_telemetry.post_virt_checks[0].new_ip_address, ""
259
+ )
260
+
261
+ self.assertEqual(
262
+ elastic_telemetry.post_virt_checks[0].namespace, "benchmark-runner"
263
+ )
264
+ self.assertEqual(
265
+ elastic_telemetry.post_virt_checks[0].node_name, "h10-r660"
266
+ )
267
+
268
+ self.assertEqual(elastic_telemetry.post_virt_checks[0].status, False)
269
+
249
270
  self.assertEqual(elastic_telemetry.total_node_count, 3)
250
271
  self.assertEqual(elastic_telemetry.cloud_infrastructure, "AWS")
251
272
  self.assertEqual(elastic_telemetry.cloud_type, "EC2")
File without changes
File without changes