From 37b211687304157cf44130b5e28a19a62595eef2 Mon Sep 17 00:00:00 2001 From: Tim Kuhlman Date: Wed, 4 Jun 2014 15:53:03 -0600 Subject: [PATCH] Added a retry on the keystone user as in some cases keystone is not yet up. --- cookbooks/mini-mon/metadata.rb | 2 +- cookbooks/mini-mon/recipes/keystone.rb | 12 ++++++++++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/cookbooks/mini-mon/metadata.rb b/cookbooks/mini-mon/metadata.rb index bd375da..53cbfa9 100644 --- a/cookbooks/mini-mon/metadata.rb +++ b/cookbooks/mini-mon/metadata.rb @@ -4,5 +4,5 @@ maintainer_email "hpcs-mon@hp.com" license "All rights reserved" description "Base setup for all vagrant boxes" long_description IO.read(File.join(File.dirname(__FILE__), 'README.md')) -version "0.0.5" +version "0.0.6" depends "apt" diff --git a/cookbooks/mini-mon/recipes/keystone.rb b/cookbooks/mini-mon/recipes/keystone.rb index 34d9f9c..cacf3ae 100644 --- a/cookbooks/mini-mon/recipes/keystone.rb +++ b/cookbooks/mini-mon/recipes/keystone.rb @@ -14,10 +14,18 @@ end python 'make default keystone user' do action :run code <<-EOH +import keystoneclient from keystoneclient.v2_0 import client import sys -key = client.Client(token='ADMIN', endpoint='http://127.0.0.1:35357/v2.0/') -for user in key.users.list(): +try: + key = client.Client(token='ADMIN', endpoint='http://127.0.0.1:35357/v2.0/') + user_list = key.users.list() +except keystoneclient.exceptions: + time.sleep(2) # Sometimes chef is too fast and the service is not yet up + key = client.Client(token='ADMIN', endpoint='http://127.0.0.1:35357/v2.0/') + user_list = key.users.list() + +for user in user_list: if user.name == 'mini-mon': sys.exit(0)