I'm using the Azure SDK for Python to access the REST API, and I'm finding that the get_hosted_service_properties method returns inconsistent results. I've worked around the problem with some try/except blocks, but I thought some information would be helpful in case the powers that be would like to fix it.
In the log below from our deployment tool, we are periodically querying to see if our newly created instance is up. A DEBUG message (made by hooking into _perform_get) logs the URL we're using... you
can see it is the same for all requests. However, one of the requests comes back as a BadRequest, for no apparent good reason. Logs (UUID and hostname have been changed):
DEBUG: management.core.windows.net/cc3e316d-b844-4ce8-8afe-4d74d04d2ede/services/hostedservices/our-bad-tester?embed-detail=true
2014-05-30 12:25:30,195 [Provisioning:DEBUG] Instance not ready: our-bad-tester-api-0
DEBUG: management.core.windows.net/cc3e316d-b844-4ce8-8afe-4d74d04d2ede/services/hostedservices/our-bad-tester?embed-detail=true
2014-05-30 12:25:41,484 [Provisioning:DEBUG] Instance not ready: our-bad-tester-api-0
DEBUG: management.core.windows.net/cc3e316d-b844-4ce8-8afe-4d74d04d2ede/services/hostedservices/our-bad-tester?embed-detail=true
2014-05-30 12:25:53,619 [Provisioning:DEBUG] Instance not ready: our-bad-tester-api-0
DEBUG: management.core.windows.net/cc3e316d-b844-4ce8-8afe-4d74d04d2ede/services/hostedservices/our-bad-tester?embed-detail=true
2014-05-30 12:26:04,970 [Provisioning:DEBUG] Instance not ready: our-bad-tester-api-0
DEBUG: management.core.windows.net/cc3e316d-b844-4ce8-8afe-4d74d04d2ede/services/hostedservices/our-bad-tester?embed-detail=true
2014-05-30 12:26:17,762 [Provisioning:DEBUG] Instance not ready: our-bad-tester-api-0
DEBUG: management.core.windows.net/cc3e316d-b844-4ce8-8afe-4d74d04d2ede/services/hostedservices/our-bad-tester?embed-detail=true
2014-05-30 12:26:28,616 [Provisioning:DEBUG] Instance not ready: our-bad-tester-api-0
DEBUG: management.core.windows.net/cc3e316d-b844-4ce8-8afe-4d74d04d2ede/services/hostedservices/our-bad-tester?embed-detail=true
2014-05-30 12:26:39,459 [Provisioning:DEBUG] Instance not ready: our-bad-tester-api-0
DEBUG: management.core.windows.net/cc3e316d-b844-4ce8-8afe-4d74d04d2ede/services/hostedservices/our-bad-tester?embed-detail=true
2014-05-30 12:26:50,206 [Provisioning:DEBUG] Instance not ready: our-bad-tester-api-0
DEBUG: management.core.windows.net/cc3e316d-b844-4ce8-8afe-4d74d04d2ede/services/hostedservices/our-bad-tester?embed-detail=true
DEBUG: Caught unexpected WindowsAzureError: Unknown error (Bad Request)
<Error xmlns="http://schemas.microsoft.com/windowsazure" xmlns:i="http://www.w3.org/2001/XMLSchema-instance"><Code>MissingOrInvalidRequiredQueryParameter</Code><Message>A required query parameter was not specified
for this request or was specified incorrectly.</Message></Error>
DEBUG: ... retrying.
DEBUG: management.core.windows.net/cc3e316d-b844-4ce8-8afe-4d74d04d2ede/services/hostedservices/our-bad-tester?embed-detail=true
2014-05-30 12:27:02,116 [Provisioning:DEBUG] Instance not ready: our-bad-tester-api-0
DEBUG: management.core.windows.net/cc3e316d-b844-4ce8-8afe-4d74d04d2ede/services/hostedservices/our-bad-tester?embed-detail=true
2014-05-30 12:27:12,823 [Provisioning:DEBUG] Instance not ready: our-bad-tester-api-0
DEBUG: management.core.windows.net/cc3e316d-b844-4ce8-8afe-4d74d04d2ede/services/hostedservices/our-bad-tester?embed-detail=true
2014-05-30 12:27:23,498 [Provisioning:DEBUG] All ready
So what's going on here? Is one of the endpoints servicing these requests out of sync with the others? I would say the spurious error comes up around every 1 in 10 requests.