Failing to listen to Rancher Primary IP

I’m batteling with Consul on Rancher still.
I’ve got a custom Docker image that will fetch the Rancher primary IP for the container upon startup.
The Consul agents then bind and advertise this address.

However, very often I get the following error:

2016-10-06 06:07:37==> Starting Consul agent...
2016-10-06 06:07:37==> Starting Consul agent RPC...
2016-10-06 06:07:37==> Error starting http servers: Failed to get Listen on listen tcp bind: cannot assign requested address

And the container will restart over and over again, utill it suddenly starts working for who knows what reason.
Is this some sort of race condition? that the primary IP is not quite available for the container just yet when it starts?

So for anyone facing the same issue, this was a race condition.
Adding a sleep 20s in my start up script solved it.

Rancher can correct me if I am wrong but I dont think cattle has a concept of Readiness vs Healthiness. If it takes more time for a container to be ready than it takes for the health check to happen it might think that it is not healthy and shut it down and restart it.

I am hopeful that Cattle will get a Readiness check along with a Healthiness check.