It essentially does the same thing that the patch propose, but retries the entire post_config instead of the keystone part.
In the ci devenv this does NOT fix anything, this is what happens.
2016-10-26 20:26:33 [overcloud-BlockStorageNodesPostDeployment-szuwqeh4o3xp]: CREATE_COMPLETE Stack CREATE completed successfully
Stack overcloud CREATE_COMPLETE
<class 'keystoneauth1.exceptions.http.ServiceUnavailable'>
postconfig attempt 0 failed. Waiting 30 second
<class 'keystoneauth1.exceptions.http.ServiceUnavailable'>
postconfig attempt 1 failed. Waiting 30 second
<class 'keystoneauth1.exceptions.http.ServiceUnavailable'>
postconfig attempt 2 failed. Waiting 30 second
<class 'keystoneauth1.exceptions.http.ServiceUnavailable'>
postconfig attempt 3 failed. Waiting 30 second
<class 'keystoneauth1.exceptions.http.ServiceUnavailable'>
postconfig attempt 4 failed. Waiting 30 second
<class 'keystoneauth1.exceptions.http.ServiceUnavailable'>
postconfig attempt 5 failed. Waiting 30 second
<class 'keystoneauth1.exceptions.http.ServiceUnavailable'>
postconfig attempt 6 failed. Waiting 30 second
<class 'keystoneauth1.exceptions.http.ServiceUnavailable'>
postconfig attempt 7 failed. Waiting 30 second
<class 'keystoneauth1.exceptions.http.ServiceUnavailable'>
postconfig attempt 8 failed. Waiting 30 second
<class 'keystoneauth1.exceptions.http.ServiceUnavailable'>
postconfig attempt 9 failed. Waiting 30 second
<class 'keystoneauth1.exceptions.http.ServiceUnavailable'>
postconfig attempt 10 failed. Waiting 30 second
<class 'keystoneauth1.exceptions.http.ServiceUnavailable'>
postconfig attempt 11 failed. Waiting 30 second
<class 'keystoneauth1.exceptions.http.ServiceUnavailable'>
postconfig attempt 12 failed. Waiting 30 second
<class 'keystoneauth1.exceptions.http.ServiceUnavailable'>
postconfig attempt 13 failed. Waiting 30 second
<class 'keystoneauth1.exceptions.http.ServiceUnavailable'>
postconfig attempt 14 failed. Waiting 30 second
<class 'keystoneauth1.exceptions.http.ServiceUnavailable'>
postconfig attempt 15 failed. Waiting 30 second
<class 'keystoneauth1.exceptions.http.ServiceUnavailable'>
postconfig attempt 16 failed. Waiting 30 second
<class 'keystoneauth1.exceptions.http.ServiceUnavailable'>
postconfig attempt 17 failed. Waiting 30 second
<class 'keystoneauth1.exceptions.http.ServiceUnavailable'>
postconfig attempt 18 failed. Waiting 30 second
<class 'keystoneauth1.exceptions.http.ServiceUnavailable'>
postconfig attempt 19 failed. Waiting 30 second
But while looping, I tried with a direct command
keystone endpoint-list
and it returns the keystone endpoint, so it means that keystone is really UP.
It also means that maybe some of the object passed to _keystone_init (like stack) are not valid since the beginning, and trying to get informations from there always leads to failures
I tried this patch (before seeing the ones proposed here)
diff --git a/tripleoclient /v1/overcloud_ deploy. py b/tripleoclient /v1/overcloud_ deploy. py /v1/overcloud_ deploy. py /v1/overcloud_ deploy. py (command. Command) :
utils. create_ overcloudrc( stack, parsed_ args.no_ proxy)
utils. create_ tempest_ deployer_ input()
index 11d236a..144ba87 100644
--- a/tripleoclient
+++ b/tripleoclient
@@ -984,8 +984,19 @@ class DeployOvercloud
- if (stack_create or parsed_ args.force_ postconfig) : postconfig( stack, parsed_args) args.force_ postconfig) : postconfig( stack, parsed_args) exc_info( )[0])
- self._deploy_
+ max_retries = 20
+ retries = 0
+ delay = 30
+ while retries < max_retries:
+ try:
+ if (stack_create or parsed_
+ self._deploy_
+ break
+ except Exception:
+ print(sys.
+ print("postconfig attempt {0} failed. Waiting {1} second ".format(retries, delay))
+ retries += 1
+ time.sleep(delay)
It essentially does the same thing that the patch propose, but retries the entire post_config instead of the keystone part.
In the ci devenv this does NOT fix anything, this is what happens.
2016-10-26 20:26:33 [overcloud- BlockStorageNod esPostDeploymen t-szuwqeh4o3xp] : CREATE_COMPLETE Stack CREATE completed successfully exceptions. http.ServiceUna vailable' > exceptions. http.ServiceUna vailable' > exceptions. http.ServiceUna vailable' > exceptions. http.ServiceUna vailable' > exceptions. http.ServiceUna vailable' > exceptions. http.ServiceUna vailable' > exceptions. http.ServiceUna vailable' > exceptions. http.ServiceUna vailable' > exceptions. http.ServiceUna vailable' > exceptions. http.ServiceUna vailable' > exceptions. http.ServiceUna vailable' > exceptions. http.ServiceUna vailable' > exceptions. http.ServiceUna vailable' > exceptions. http.ServiceUna vailable' > exceptions. http.ServiceUna vailable' > exceptions. http.ServiceUna vailable' > exceptions. http.ServiceUna vailable' > exceptions. http.ServiceUna vailable' > exceptions. http.ServiceUna vailable' > exceptions. http.ServiceUna vailable' >
Stack overcloud CREATE_COMPLETE
<class 'keystoneauth1.
postconfig attempt 0 failed. Waiting 30 second
<class 'keystoneauth1.
postconfig attempt 1 failed. Waiting 30 second
<class 'keystoneauth1.
postconfig attempt 2 failed. Waiting 30 second
<class 'keystoneauth1.
postconfig attempt 3 failed. Waiting 30 second
<class 'keystoneauth1.
postconfig attempt 4 failed. Waiting 30 second
<class 'keystoneauth1.
postconfig attempt 5 failed. Waiting 30 second
<class 'keystoneauth1.
postconfig attempt 6 failed. Waiting 30 second
<class 'keystoneauth1.
postconfig attempt 7 failed. Waiting 30 second
<class 'keystoneauth1.
postconfig attempt 8 failed. Waiting 30 second
<class 'keystoneauth1.
postconfig attempt 9 failed. Waiting 30 second
<class 'keystoneauth1.
postconfig attempt 10 failed. Waiting 30 second
<class 'keystoneauth1.
postconfig attempt 11 failed. Waiting 30 second
<class 'keystoneauth1.
postconfig attempt 12 failed. Waiting 30 second
<class 'keystoneauth1.
postconfig attempt 13 failed. Waiting 30 second
<class 'keystoneauth1.
postconfig attempt 14 failed. Waiting 30 second
<class 'keystoneauth1.
postconfig attempt 15 failed. Waiting 30 second
<class 'keystoneauth1.
postconfig attempt 16 failed. Waiting 30 second
<class 'keystoneauth1.
postconfig attempt 17 failed. Waiting 30 second
<class 'keystoneauth1.
postconfig attempt 18 failed. Waiting 30 second
<class 'keystoneauth1.
postconfig attempt 19 failed. Waiting 30 second
But while looping, I tried with a direct command
keystone endpoint-list
and it returns the keystone endpoint, so it means that keystone is really UP.
It also means that maybe some of the object passed to _keystone_init (like stack) are not valid since the beginning, and trying to get informations from there always leads to failures