Description
I've been receiving occasional errors from the Mashery Proxy in front of the GoGrid API. I have modified the GoGrid driver to do the following:
1. Use POSTs in place of GETs for API calls with the potential to provision, destroy or reboot servers. These aren't actually used in the fix I eventually settled on, but should probably be used in any case.
2. When checking for the success of a request, check for headers indicating a proxy error and raise an exception specific to this error.
3. Implement a counter to retry requests up to 20 times, once every 10 seconds, when these errors occur. I haven't spent too much time tuning this, but with 10 retries I was still getting occasional failures.
I'll be attaching the patch momentarily, or these changes (among others) have been applied to my github fork at: http://github.com/russellhaering/libcloud