@@ -313,26 +313,29 @@ func resourceVcdVAppDelete(d *schema.ResourceData, meta interface{}) error {
313313 vapp , err := vcdClient .OrgVdc .FindVAppByName (d .Id ())
314314
315315 if err != nil {
316- return fmt .Errorf ("error finding vdc : %s" , err )
316+ return fmt .Errorf ("error finding vapp : %s" , err )
317317 }
318318
319- task , err := vapp .Undeploy ()
320- if err != nil {
321- return fmt .Errorf ("Error Powering Off: %#v" , err )
322- }
323- err = task .WaitTaskCompletion ()
324- if err != nil {
325- return fmt .Errorf ("Error completing tasks: %#v" , err )
326- }
319+ err = retryCall (4 , func () error {
320+ task , err := vapp .Undeploy ()
321+ if err != nil {
322+ return fmt .Errorf ("Error undeploying: %#v" , err )
323+ }
327324
328- task , err = vapp .Delete ()
329- if err != nil {
330- return fmt .Errorf ("Error Powering Off: %#v" , err )
331- }
332- err = task .WaitTaskCompletion ()
325+ return task .WaitTaskCompletion ()
326+ })
333327 if err != nil {
334- return fmt . Errorf ( "Error completing tasks: %#v" , err )
328+ return err
335329 }
336330
337- return nil
331+ err = retryCall (4 , func () error {
332+ task , err := vapp .Delete ()
333+ if err != nil {
334+ return fmt .Errorf ("Error deleting: %#v" , err )
335+ }
336+
337+ return task .WaitTaskCompletion ()
338+ })
339+
340+ return err
338341}
0 commit comments