@@ -102,9 +102,10 @@ def delete(self, *args, **kwargs):
102102
103103 def detach (self , * args , ** kwargs ):
104104 try :
105- # We raise an exception when a resource doesn't exist
106- self ._scheduler .svcat .get_instance (self .app .id , self .name )
107- self ._scheduler .svcat .delete_instance (self .app .id , self .name )
105+ resp = self ._scheduler .svcat .get_instance (
106+ self .app .id , self .name , ignore_exception = True )
107+ if resp .status_code != 404 :
108+ self ._scheduler .svcat .delete_instance (self .app .id , self .name )
108109 except KubeException as e :
109110 raise ServiceUnavailable ("Could not delete resource {} for application {}" .format (self .name , self .app_id )) from e # noqa
110111
@@ -178,6 +179,20 @@ def attach_update(self, *args, **kwargs):
178179 '{} for {}' .format (self .name , self .app_id )
179180 raise ServiceUnavailable (msg ) from e
180181
182+ @property
183+ def message (self ):
184+ try :
185+ resp = self ._scheduler .svcat .get_instance (
186+ self .app .id , self .name )
187+ if resp .status_code != 200 :
188+ message = ""
189+ message = resp .json ().get ("status" , {}).get ("conditions" , [{}])[- 1 ].\
190+ get ("message" , "" )
191+ return message
192+ except KubeException as e :
193+ logger .info ("retrieve instance info error: {}" .format (e ))
194+ return ""
195+
181196 def retrieve (self , * args , ** kwargs ):
182197 update_flag = False
183198 if self .status != "Ready" :
0 commit comments