Skip to content

Commit 29dfc43

Browse files
author
Brett Mack
committed
Add retry calls to protect against api rate limiting
1 parent c8dfecc commit 29dfc43

1 file changed

Lines changed: 19 additions & 16 deletions

File tree

builtin/providers/vcd/resource_vcd_vapp.go

Lines changed: 19 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)