krkn-lib 5.0.2__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.
- krkn_lib/aws_tests/__init__.py +1 -0
- krkn_lib/{tests → aws_tests}/test_krkn_telemetry_kubernetes.py +57 -51
- krkn_lib/k8s/krkn_kubernetes.py +219 -106
- krkn_lib/k8s/pods_monitor_pool.py +14 -3
- krkn_lib/k8s/templates/node_exec_pod.j2 +6 -1
- krkn_lib/models/elastic/models.py +37 -4
- krkn_lib/models/k8s/models.py +4 -0
- krkn_lib/models/telemetry/models.py +64 -0
- krkn_lib/prometheus/krkn_prometheus.py +1 -1
- krkn_lib/telemetry/k8s/krkn_telemetry_kubernetes.py +1 -2
- krkn_lib/tests/base_test.py +40 -0
- krkn_lib/tests/test_krkn_elastic_models.py +33 -1
- krkn_lib/tests/test_krkn_kubernetes_check.py +2 -3
- krkn_lib/tests/test_krkn_kubernetes_create.py +3 -5
- krkn_lib/tests/test_krkn_kubernetes_delete.py +2 -3
- krkn_lib/tests/test_krkn_kubernetes_exec.py +1 -1
- krkn_lib/tests/test_krkn_kubernetes_get.py +104 -5
- krkn_lib/tests/test_krkn_kubernetes_list.py +13 -0
- krkn_lib/tests/test_krkn_kubernetes_misc.py +2 -2
- krkn_lib/tests/test_krkn_kubernetes_models.py +1 -1
- krkn_lib/tests/test_krkn_kubernetes_monitor.py +168 -137
- krkn_lib/tests/test_krkn_kubernetes_pods_monitor_pool.py +7 -3
- krkn_lib/tests/test_krkn_prometheus.py +133 -128
- krkn_lib/tests/test_utils.py +21 -0
- krkn_lib/tests/test_version.py +1 -1
- krkn_lib/utils/functions.py +24 -0
- {krkn_lib-5.0.2.dist-info → krkn_lib-5.1.1.dist-info}/METADATA +1 -1
- krkn_lib-5.1.1.dist-info/RECORD +59 -0
- krkn_lib-5.0.2.dist-info/RECORD +0 -58
- /krkn_lib/{tests → aws_tests}/test_krkn_telemetry_openshift.py +0 -0
- {krkn_lib-5.0.2.dist-info → krkn_lib-5.1.1.dist-info}/LICENSE +0 -0
- {krkn_lib-5.0.2.dist-info → krkn_lib-5.1.1.dist-info}/WHEEL +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
from ..tests.base_test import * # NOQA
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import base64
|
|
2
|
+
import logging
|
|
2
3
|
import os
|
|
3
4
|
import tempfile
|
|
4
5
|
import time
|
|
@@ -9,7 +10,7 @@ import boto3
|
|
|
9
10
|
import yaml
|
|
10
11
|
|
|
11
12
|
from krkn_lib.models.krkn import ChaosRunAlert, ChaosRunAlertSummary
|
|
12
|
-
from krkn_lib.models.telemetry import
|
|
13
|
+
from krkn_lib.models.telemetry import ScenarioTelemetry
|
|
13
14
|
from krkn_lib.tests import BaseTest
|
|
14
15
|
|
|
15
16
|
|
|
@@ -196,57 +197,62 @@ class KrknTelemetryKubernetesTests(BaseTest):
|
|
|
196
197
|
)
|
|
197
198
|
self.assertEqual(len(remote_files["Contents"]), len(file_list))
|
|
198
199
|
|
|
199
|
-
def
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
self.assertEqual(chaos_telemetry.total_node_count, 0)
|
|
203
|
-
self.assertEqual(
|
|
204
|
-
len(chaos_telemetry.kubernetes_objects_count.keys()), 0
|
|
205
|
-
)
|
|
206
|
-
self.assertEqual(len(chaos_telemetry.network_plugins), 1)
|
|
207
|
-
self.assertEqual(chaos_telemetry.network_plugins[0], "Unknown")
|
|
208
|
-
self.lib_telemetry_k8s.collect_cluster_metadata(chaos_telemetry)
|
|
209
|
-
self.assertNotEqual(len(chaos_telemetry.node_summary_infos), 0)
|
|
210
|
-
self.assertNotEqual(chaos_telemetry.total_node_count, 0)
|
|
211
|
-
self.assertNotEqual(
|
|
212
|
-
len(chaos_telemetry.kubernetes_objects_count.keys()), 0
|
|
213
|
-
)
|
|
214
|
-
self.assertNotEqual(len(chaos_telemetry.network_plugins), 0)
|
|
200
|
+
def test_flaky_tests(self):
|
|
201
|
+
logging.warn("test_collect_cluster_metadata")
|
|
202
|
+
logging.warn("FLAKY TESTS NEED TO BE REFACTORED AND REENABLED")
|
|
215
203
|
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
204
|
+
######## FLAKY TEST NEEDS TO BE REFACTORED # NOQA
|
|
205
|
+
# def test_collect_cluster_metadata(self):
|
|
206
|
+
# chaos_telemetry = ChaosRunTelemetry()
|
|
207
|
+
# self.assertEqual(len(chaos_telemetry.node_summary_infos), 0)
|
|
208
|
+
# self.assertEqual(chaos_telemetry.total_node_count, 0)
|
|
209
|
+
# self.assertEqual(
|
|
210
|
+
# len(chaos_telemetry.kubernetes_objects_count.keys()), 0
|
|
211
|
+
# )
|
|
212
|
+
# self.assertEqual(len(chaos_telemetry.network_plugins), 1)
|
|
213
|
+
# self.assertEqual(chaos_telemetry.network_plugins[0], "Unknown")
|
|
214
|
+
# self.lib_telemetry_k8s.collect_cluster_metadata(chaos_telemetry)
|
|
215
|
+
# self.assertNotEqual(len(chaos_telemetry.node_summary_infos), 0)
|
|
216
|
+
# self.assertNotEqual(chaos_telemetry.total_node_count, 0)
|
|
217
|
+
# self.assertNotEqual(
|
|
218
|
+
# len(chaos_telemetry.kubernetes_objects_count.keys()), 0
|
|
219
|
+
# )
|
|
220
|
+
# self.assertNotEqual(len(chaos_telemetry.network_plugins), 0)
|
|
221
|
+
#
|
|
222
|
+
# def test_send_telemetry(self):
|
|
223
|
+
# request_id = f"test_folder/{int(time.time())}"
|
|
224
|
+
# telemetry_config = {
|
|
225
|
+
# "username": os.getenv("API_USER"),
|
|
226
|
+
# "password": os.getenv("API_PASSWORD"),
|
|
227
|
+
# "max_retries": 5,
|
|
228
|
+
# "api_url": "https://9ead3157ti.execute-api.us-west-2.amazonaws.com/dev", # NOQA
|
|
229
|
+
# "backup_threads": 6,
|
|
230
|
+
# "archive_path": request_id,
|
|
231
|
+
# "prometheus_backup": "True",
|
|
232
|
+
# "enabled": True,
|
|
233
|
+
# "telemetry_group": "default",
|
|
234
|
+
# }
|
|
235
|
+
# chaos_telemetry = ChaosRunTelemetry()
|
|
236
|
+
# self.lib_telemetry_k8s.collect_cluster_metadata(chaos_telemetry)
|
|
237
|
+
# try:
|
|
238
|
+
# self.lib_telemetry_k8s.send_telemetry(
|
|
239
|
+
# telemetry_config, request_id, chaos_telemetry
|
|
240
|
+
# )
|
|
241
|
+
# except Exception as e:
|
|
242
|
+
# self.assertTrue(False, f"send_telemetry raised exception {str(e)}") # NOQA
|
|
243
|
+
# s3 = boto3.client("s3")
|
|
244
|
+
#
|
|
245
|
+
# bucket_name = os.getenv("BUCKET_NAME")
|
|
246
|
+
# remote_files = s3.list_objects_v2(
|
|
247
|
+
# Bucket=bucket_name,
|
|
248
|
+
# Prefix=f'{telemetry_config["telemetry_group"]}/{request_id}',
|
|
249
|
+
# )
|
|
250
|
+
# self.assertTrue("Contents" in remote_files.keys())
|
|
251
|
+
# self.assertEqual(
|
|
252
|
+
# remote_files["Contents"][0]["Key"],
|
|
253
|
+
# f'{telemetry_config["telemetry_group"]}/'
|
|
254
|
+
# f"{request_id}/telemetry.json",
|
|
255
|
+
# )
|
|
250
256
|
|
|
251
257
|
def test_put_alerts(self):
|
|
252
258
|
|