krkn-lib 5.1.8__py3-none-any.whl → 5.1.9__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.
@@ -3141,3 +3141,36 @@ class KrknKubernetes:
3141
3141
  pids_list = list(filter(None, pids_list))
3142
3142
  return pids_list
3143
3143
  return None
3144
+
3145
+ def list_pod_network_interfaces(
3146
+ self, pod_name: str, namespace: str, container_name: str = None
3147
+ ) -> list[str]:
3148
+ """
3149
+ Lists the network interfaces of a pod (Linux only)
3150
+ :param pod_name: the name of the pod
3151
+ :param namespace: the namespaces of the pod
3152
+ :param container_name: the container of the pod where the interfaces
3153
+ will be listed, if None the first will be picked
3154
+ :return: the list of the interfaces
3155
+ """
3156
+
3157
+ if not self.check_if_pod_exists(pod_name, namespace):
3158
+ raise Exception(
3159
+ f"target pod {pod_name} does not exist in "
3160
+ f"namespace {namespace}"
3161
+ )
3162
+
3163
+ cmd = "ls /sys/class/net"
3164
+ nics_str = self.exec_cmd_in_pod(
3165
+ [cmd],
3166
+ pod_name,
3167
+ namespace,
3168
+ container_name,
3169
+ )
3170
+ nics = nics_str.split("\n")
3171
+ try:
3172
+ nics.remove("lo")
3173
+ nics.remove("")
3174
+ except ValueError:
3175
+ pass
3176
+ return nics
@@ -173,6 +173,19 @@ class KrknKubernetesTestsList(BaseTest):
173
173
  len(schedulable_nodes), len(schedulable_nodes_empty_selector)
174
174
  )
175
175
 
176
+ def test_list_pod_network_interfaces(self):
177
+ namespace = "test-cid-" + self.get_random_string(10)
178
+ base_pod_name = "test-name-" + self.get_random_string(10)
179
+ self.deploy_namespace(namespace, [])
180
+ self.deploy_fedtools(namespace=namespace, name=base_pod_name)
181
+ self.wait_pod(base_pod_name, namespace)
182
+
183
+ nics = self.lib_k8s.list_pod_network_interfaces(
184
+ base_pod_name, namespace
185
+ )
186
+ self.assertGreater(len(nics), 0)
187
+ self.assertTrue("eth0" in nics)
188
+
176
189
 
177
190
  if __name__ == "__main__":
178
191
  unittest.main()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: krkn-lib
3
- Version: 5.1.8
3
+ Version: 5.1.9
4
4
  Summary: Foundation library for Kraken
5
5
  License: Apache-2.0
6
6
  License-File: LICENSE
@@ -5,7 +5,7 @@ krkn_lib/aws_tests/test_krkn_telemetry_openshift.py,sha256=AE6nwWi2c2WqjU4mQ2Kr1
5
5
  krkn_lib/elastic/__init__.py,sha256=ApLS0O18jzfu1Oe6Ym7XYlC1bFl9JTYO6VjFQflDlA0,36
6
6
  krkn_lib/elastic/krkn_elastic.py,sha256=YeZqEV61-icQTVrgA_0hDgD5L0zFmM3vmX_m7hXYOJU,8954
7
7
  krkn_lib/k8s/__init__.py,sha256=umPTRrPgLUdtHf9epWNcQaA7p9d3gZFtFiXQw36Pqug,39
8
- krkn_lib/k8s/krkn_kubernetes.py,sha256=ISrJa7PLQ9c-F93UI7W6TvQKMU98gbD_H79QqgZ3QxQ,112165
8
+ krkn_lib/k8s/krkn_kubernetes.py,sha256=vdoGvHSM1e5OYbckzBTdnkqspucXN3pv9DDliDqMQx8,113213
9
9
  krkn_lib/k8s/pod_monitor/__init__.py,sha256=QTdgv_mOqlB8ViVMRYWCPN0FxG5abxZoCeFUNqGfM3A,351
10
10
  krkn_lib/k8s/pod_monitor/pod_monitor.py,sha256=ICWsbLtgBfqjJy-oUGDdEJKp66rq6DjOv1xUPcaay3A,10693
11
11
  krkn_lib/k8s/templates/hog_pod.j2,sha256=PloumCIFkLpZCJPwNRf5kwcAfLH12AXNepQjdn942Wc,1650
@@ -42,7 +42,7 @@ krkn_lib/tests/test_krkn_kubernetes_create.py,sha256=QGnO9bwrk_eRyH-4LaEZY6cxu9Q
42
42
  krkn_lib/tests/test_krkn_kubernetes_delete.py,sha256=VXl-NhWrJejwxRhpeyjPVngggQsHeuJ17UfgdXxSF3k,5021
43
43
  krkn_lib/tests/test_krkn_kubernetes_exec.py,sha256=BX3x-kSE-HGOZYNEosTDFbeHFBLDhnvyBC9Arai_Bf4,6927
44
44
  krkn_lib/tests/test_krkn_kubernetes_get.py,sha256=psTuDuvTTINPNK6Mnn69g9ZKNHKcWJ2fFvw8Kx4g0wI,13064
45
- krkn_lib/tests/test_krkn_kubernetes_list.py,sha256=ofOK_x_CewHZHU15OGj1-CUQM3-WqM3jkdpDC6NzB-0,6256
45
+ krkn_lib/tests/test_krkn_kubernetes_list.py,sha256=FplPIL-bw5oNaplCsed0tjqlBN7fj2MJN259f1-zjVo,6781
46
46
  krkn_lib/tests/test_krkn_kubernetes_misc.py,sha256=W-0I5BPIMVO7E3HMh5WsB1hVjq37uNb2YsX2EcN75AQ,13557
47
47
  krkn_lib/tests/test_krkn_kubernetes_models.py,sha256=4iUoLz-m2EHFwFOgGx2HBJ-dwRDhv_8wXSZ5TQd72-U,6291
48
48
  krkn_lib/tests/test_krkn_kubernetes_pods_monitor.py,sha256=x4sfBxMWucNTxVJHR89q2ypVIMxt46iR5Mm6t8O7VMg,21149
@@ -57,7 +57,7 @@ krkn_lib/utils/functions.py,sha256=H4xA321fp-MzmKV97_n1FYsmqsm3dUw_hex0qHlKjYU,1
57
57
  krkn_lib/utils/safe_logger.py,sha256=NLVy7589hZqrxc-YhkEOhg8GBJ7jxKofAQotiyvyo-4,3687
58
58
  krkn_lib/version/__init__.py,sha256=0MLmj0ik-h9IVeq7zw8Xi5ux99DHfxJQ83Iv9Aqiubc,41
59
59
  krkn_lib/version/version.py,sha256=pdrCTedp-HDIYnG6e-AwN2nMK8vdbNTioqXxJpIZ6b8,80
60
- krkn_lib-5.1.8.dist-info/METADATA,sha256=X29DEeeEYwrMjQRDSCAfcDkCBReIjw1VtWRESDhbrpg,2782
61
- krkn_lib-5.1.8.dist-info/WHEEL,sha256=zp0Cn7JsFoX2ATtOhtaFYIiE2rmFAD4OcMhtUki8W3U,88
62
- krkn_lib-5.1.8.dist-info/licenses/LICENSE,sha256=DOwG4OVfvD3FzuT8qbYH9my49OTbzzs8ATWU3RVnMuk,10173
63
- krkn_lib-5.1.8.dist-info/RECORD,,
60
+ krkn_lib-5.1.9.dist-info/METADATA,sha256=OC8GvOMtfEDV22tu4A80OVsc6LLkAXj3Rs0HL4BXniY,2782
61
+ krkn_lib-5.1.9.dist-info/WHEEL,sha256=zp0Cn7JsFoX2ATtOhtaFYIiE2rmFAD4OcMhtUki8W3U,88
62
+ krkn_lib-5.1.9.dist-info/licenses/LICENSE,sha256=DOwG4OVfvD3FzuT8qbYH9my49OTbzzs8ATWU3RVnMuk,10173
63
+ krkn_lib-5.1.9.dist-info/RECORD,,