When waiting for an app to become ready, we simply try to resolve it's hostname and report it ready as soon as we can resolve it.
Apparently there's a cache for DNS resolution that holds entries (successful/unsuccessful resolution) that prevents immediate feedback. The immediate feedback is provided by a RESTful resource on the broker:
GET https://host/broker/rest/domains/<id>/applications/<id>/dns_resolvable
Quote from rally
1. Who is it for? (e.g. all users, serious developers, paid tier)
All users2. What product does it apply to? (Online, Enterprise, Origin)
All3. What is it? What does it do?
A simple broker API check to see if DNS is created via an actual DNS nameserver lookup that is not subject to caching.4. How do you use it? What is the user impact?
Request:
GET https://host/broker/rest/domains/<id>/applications/<id>/dns_resolvable
Response:->If DNS is resolvable
HTTP status:200
Body:Unknown macro: {"supported_api_versions"}->If DNS is not resolvable
HTTP status:4045. Why is it important?
The problem is when a client tool checks to see if DNS is available or not, that value gets cached for a solid 30 seconds. To avoid the cache, queries can be run directly against DYN's DNS servers.
This broker API check to see if DNS is created by querying DNS servers directly.6. What version number of software, package, client tools, etc?
NA7. When is it available for GA? (OSE 1.2, Online Sprint #)
Spring 198. What tools / software does the docs team need to test it? (if applicable)
NA - already been tested by QE9. Are there any blog or wiki posts on the subject? (Provide links)
No10. Any other notes or details that users should know that will help the docs team?