@@ -183,26 +183,36 @@ def check_default_persistentvolumeclaim_readwriteonce(k8s_api_instance):
183183 )
184184 return 0
185185
186-
186+ #with TestEnvironment(k8s_core_api, return_code, return_message) as env:
187187class TestEnvironment :
188- def __init__ (self , k8s_api_instance ):
188+ def __init__ (self , kubeconfig ):
189189 self .namespace = NAMESPACE
190190 self .pod_name = POD_NAME
191191 self .pvc_name = PVC_NAME
192- self .k8s_api_instance = k8s_api_instance
193- self .return_code = None
192+ self .k8s_core_api = None
193+ self .return_code = 0
194194 self .return_message = "return_message: FAILED"
195+ self .kubeconfig = kubeconfig
196+
197+
198+ def prepare (self ):
199+ try :
200+ logger .debug ("setup_k8s_client(kubeconfig)" )
201+ self .k8s_core_api , self .k8s_storage_api = setup_k8s_client (self .kubeconfig )
202+ except Exception as exception_message :
203+ logger .info (f"L{ inspect .currentframe ().f_lineno } { exception_message } " )
204+ self .return_message = f"{ exception_message } "
205+ self .return_code = 1
195206
196207
197- def prepare (self , k8s_api_instance ):
198208 logger .debug ("Checking Environment for Leftovers" )
199209 try :
200- pod_list = k8s_api_instance .list_namespaced_pod (namespace = self .namespace )
210+ pod_list = self . k8s_core_api .list_namespaced_pod (namespace = self .namespace )
201211 for pod in pod_list .items :
202212 if pod .metadata .name == self .pod_name :
203213 logger .debug (f"POD '{ self .pod_name } ' exists in namespace '{ self .namespace } '" )
204214 return True
205- pvc_list = k8s_api_instance .list_namespaced_persistent_volume_claim (namespace = self .namespace )
215+ pvc_list = self . k8s_core_api .list_namespaced_persistent_volume_claim (namespace = self .namespace )
206216 for pvc in pvc_list .items :
207217 if pvc .metadata .name == self .pvc_name :
208218 logger .debug (f"PVC '{ self .pvc_name } ' exists in namespace '{ self .namespace } '" )
@@ -217,15 +227,15 @@ def clean(self):
217227 api_response = None
218228 try :
219229 logger .debug (f"delete pod:{ self .pod_name } " )
220- api_response = self .k8s_api_instance .delete_namespaced_pod (
230+ api_response = self .k8s_core_api .delete_namespaced_pod (
221231 self .pod_name , self .namespace
222232 )
223233 except :
224234 logger .debug (f"The pod { self .pod_name } couldn't be deleted." , exc_info = True )
225235 try :
226236 logger .debug (f"delete pvc:{ self .pvc_name } " )
227237 api_response = (
228- self .k8s_api_instance .delete_namespaced_persistent_volume_claim (
238+ self .k8s_core_api .delete_namespaced_persistent_volume_claim (
229239 self .pvc_name , self .namespace
230240 )
231241 )
@@ -236,26 +246,26 @@ def clean(self):
236246 def __enter__ (self ):
237247 retries = 0
238248 while retries <= 2 :
239- if self .prepare (self . k8s_api_instance ):
249+ if self .prepare ():
240250 self .clean ()
241251 logger .debug (f"Deleting Leftovers in namespace { self .namespace } from previous test runs" )
242252 time .sleep (2 )
243253 else :
244- logger .debug (f"Entering the context { self .k8s_api_instance } " )
254+ logger .debug (f"Entering the context { self .k8s_core_api } " )
245255 return self
246256 retries += 1
247257 return self
248258
249259
250260 def __exit__ (self , exc_type , exc_value , traceback ):
251- # self.clean()
261+ self .clean ()
252262 if self .return_code == 0 :
253263 self .return_message = "all tests passed"
254264
255265 logger .debug (f"return_code:{ self .return_code } { self .return_message } " )
256266
257267 gen_sonobuoy_result_file (self .return_code , self .return_message , os .path .basename (__file__ ))
258- print (f"Exiting the context { self .k8s_api_instance } " )
268+ print (f"Exiting the context { self .k8s_core_api } " )
259269 if exc_type :
260270 logger .debug (f"An exception occurred: { exc_value } " )
261271 # Return True if the exception should be suppressed, otherwise False
@@ -264,9 +274,6 @@ def __exit__(self, exc_type, exc_value, traceback):
264274
265275def main (argv ):
266276 initialize_logging ()
267- return_code = 0
268- return_message = "return_message: FAILED"
269-
270277 try :
271278 opts , args = getopt .gnu_getopt (argv , "k:hd:" , ["kubeconfig=" , "help" , "debug" ])
272279 except getopt .GetoptError as exc :
@@ -289,19 +296,24 @@ def main(argv):
289296 return 2
290297
291298 # Setup kubernetes client
292- try :
293- logger .debug ("setup_k8s_client(kubeconfig)" )
294- k8s_core_api , k8s_storage_api = setup_k8s_client (kubeconfig )
295- except Exception as exception_message :
296- logger .info (f"L{ inspect .currentframe ().f_lineno } { exception_message } " )
297- return_message = f"{ exception_message } "
298- return_code = 1
299-
300- with TestEnvironment (k8s_core_api ) as env :
299+ # return_code = 0
300+ # return_message = "return_message: FAILED"
301+ # try:
302+ # logger.debug("setup_k8s_client(kubeconfig)")
303+ # k8s_core_api, k8s_storage_api = setup_k8s_client(kubeconfig)
304+ # except Exception as exception_message:
305+ # logger.info(f"L{inspect.currentframe().f_lineno} {exception_message}")
306+ # return_message = f"{exception_message}"
307+ # return_code = 1
308+
309+ # with TestEnvironment(k8s_core_api, return_code, return_message) as env:
310+ with TestEnvironment (kubeconfig ) as env :
301311 # Check if default storage class is defined (MANDATORY)
312+ k8s_core_api = env .k8s_core_api
313+
302314 try :
303315 logger .info ("check_default_storageclass()" )
304- default_class_name = check_default_storageclass (k8s_storage_api )
316+ default_class_name = check_default_storageclass (env . k8s_storage_api )
305317 except SCSTestException as test_exception :
306318 logger .info (f"L{ inspect .currentframe ().f_lineno } { test_exception } " )
307319 env .return_message = f"{ test_exception } "
@@ -339,7 +351,7 @@ def main(argv):
339351 logger .info (f"{ exception_message } " )
340352 env .return_message = f"{ exception_message } "
341353 env .return_code = 1
342- return return_code
354+ return env . return_code
343355
344356
345357if __name__ == "__main__" :
0 commit comments