1515from jsonfield import JSONField
1616
1717from deis import __version__ as deis_version
18- from api .models import UuidAuditedModel , log_event , AlreadyExists , \
19- DeisException , ServiceUnavailable
18+ from api .models import UuidAuditedModel , AlreadyExists , DeisException , ServiceUnavailable
2019
2120from api .utils import generate_app_name
2221from api .models .release import Release
@@ -86,7 +85,7 @@ def save(self, *args, **kwargs):
8685 if self ._scheduler ._get_namespace (self .id ).status_code == 200 :
8786 # Namespace already exists
8887 err = "{} already exists as a namespace in this kuberenetes setup" .format (self .id ) # noqa
89- log_event ( self , err , logging .INFO )
88+ self . log ( err , logging .INFO )
9089 raise AlreadyExists (err )
9190 except KubeHTTPException :
9291 pass
@@ -174,7 +173,7 @@ def create(self, *args, **kwargs):
174173 try :
175174 self ._scheduler .create (self .id )
176175 except KubeException as e :
177- raise ServiceUnavailable (str ( e ) ) from e
176+ raise ServiceUnavailable ('Kubernetes resources could not be created' ) from e
178177
179178 # Attach the platform specific application sub domain to the k8s service
180179 # Only attach it on first release in case a customer has remove the app domain
@@ -183,11 +182,12 @@ def create(self, *args, **kwargs):
183182
184183 def delete (self , * args , ** kwargs ):
185184 """Delete this application including all containers"""
185+ self .log ("deleting environment" )
186186 try :
187187 # attempt to remove application from kubernetes
188188 self ._scheduler .destroy (self .id )
189189 except KubeException as e :
190- raise ServiceUnavailable (str ( e )) from e
190+ raise ServiceUnavailable ('Could not delete Kubernetes Namespace {}' . format ( self . id )) from e # noqa
191191
192192 self ._clean_app_logs ()
193193 return super (App , self ).delete (* args , ** kwargs )
@@ -226,7 +226,7 @@ def restart(self, **kwargs): # noqa
226226 self ._scheduler ._delete_pod (self .id , pod ['name' ])
227227 except Exception as e :
228228 err = "warning, some pods failed to stop:\n {}" .format (str (e ))
229- log_event ( self , err , logging .WARNING )
229+ self . log ( err , logging .WARNING )
230230
231231 # Wait for pods to start
232232 try :
@@ -258,7 +258,7 @@ def restart(self, **kwargs): # noqa
258258 time .sleep (5 )
259259 except Exception as e :
260260 err = "warning, some pods failed to start:\n {}" .format (str (e ))
261- log_event ( self , err , logging .WARNING )
261+ self . log ( err , logging .WARNING )
262262
263263 # Return the new pods
264264 pods = self .list_pods (** kwargs )
@@ -274,7 +274,7 @@ def _clean_app_logs(self):
274274 # Ignore errors deleting application logs. An error here should not interfere with
275275 # the overall success of deleting an application, but we should log it.
276276 err = 'Error deleting existing application logs: {}' .format (e )
277- log_event ( self , err , logging .WARNING )
277+ self . log ( err , logging .WARNING )
278278
279279 def scale (self , user , structure ): # noqa
280280 """Scale containers up or down to match requested structure."""
@@ -317,7 +317,7 @@ def scale(self, user, structure): # noqa
317317
318318 msg = '{} scaled pods ' .format (user .username ) + ' ' .join (
319319 "{}={}" .format (k , v ) for k , v in list (structure .items ()))
320- log_event ( self , msg )
320+ self . log ( msg )
321321
322322 return True
323323
@@ -358,7 +358,7 @@ def _scale_pods(self, scale_types):
358358 )
359359 except Exception as e :
360360 err = '{} (scale): {}' .format (self ._get_job_id (scale_type ), e )
361- log_event ( self , err , logging .ERROR )
361+ self . log ( err , logging .ERROR )
362362 raise ServiceUnavailable (e ) from e
363363
364364 def deploy (self , release ):
@@ -423,7 +423,7 @@ def deploy(self, release):
423423
424424 except Exception as e :
425425 err = '{} (app::deploy): {}' .format (self ._get_job_id (scale_type ), e )
426- log_event ( self , err , logging .ERROR )
426+ self . log ( err , logging .ERROR )
427427 raise ServiceUnavailable (err ) from e
428428
429429 # cleanup old releases from kubernetes
@@ -577,7 +577,7 @@ def pod_name(size=5, chars=string.ascii_lowercase + string.digits):
577577 entrypoint , command = self ._get_command_run (command )
578578
579579 name = self ._get_job_id ('run' ) + '-' + pod_name ()
580- log_event ( self , "{} on {} runs '{}'" .format (user .username , name , command ))
580+ self . log ( "{} on {} runs '{}'" .format (user .username , name , command ))
581581
582582 kwargs = {
583583 'memory' : release .config .memory ,
@@ -602,8 +602,7 @@ def pod_name(size=5, chars=string.ascii_lowercase + string.digits):
602602 return exit_code , output
603603 except Exception as e :
604604 err = '{} (run): {}' .format (name , e )
605- log_event (self , err , logging .ERROR )
606- raise ServiceUnavailable (str (e )) from e
605+ raise ServiceUnavailable (err ) from e
607606
608607 def list_pods (self , * args , ** kwargs ):
609608 """Used to list basic information about pods running for a given application"""
@@ -653,7 +652,7 @@ def list_pods(self, *args, **kwargs):
653652 pass
654653 except Exception as e :
655654 err = '(list pods): {}' .format (e )
656- log_event ( self , err , logging .ERROR )
655+ self . log ( err , logging .ERROR )
657656 raise ServiceUnavailable (err ) from e
658657
659658 def _scheduler_filter (self , ** kwargs ):
0 commit comments