From 6b99d637742ab6e2c30d482467dbcaf41fc38de3 Mon Sep 17 00:00:00 2001
From: SamSu <sam.su@huawei.com>
Date: Mon, 7 Apr 2014 18:29:51 -0700
Subject: [PATCH] fixed a bug in binding ip of keystone when HA enable

Change-Id: I3fa77233d69c7ebcd4c4adba7b354411280cd860
---
 chef/cookbooks/openstack-identity/recipes/server.rb         | 6 +++++-
 .../openstack-identity/templates/default/keystone.conf.erb  | 3 +--
 2 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/chef/cookbooks/openstack-identity/recipes/server.rb b/chef/cookbooks/openstack-identity/recipes/server.rb
index 6c246a6..e8b713c 100644
--- a/chef/cookbooks/openstack-identity/recipes/server.rb
+++ b/chef/cookbooks/openstack-identity/recipes/server.rb
@@ -120,7 +120,11 @@ sql_connection = db_uri("identity", db_user, db_pass)
 
 bootstrap_token = secret "secrets", "#{node['openstack']['identity']['admin_token']}"
 
-ip_address = address_for node["openstack"]["identity"]["bind_interface"]
+if node["openstack"]["ha"]["status"].eql?('enable')
+  ip_address = address_for node["openstack"]["identity"]["bind_interface"]
+else
+  ip_address = node['openstack']['endpoints']['identity-api']['host']
+end
 
 # If the search role is set, we search for memcache
 # servers via a Chef search. If not, we look at the
diff --git a/chef/cookbooks/openstack-identity/templates/default/keystone.conf.erb b/chef/cookbooks/openstack-identity/templates/default/keystone.conf.erb
index 236fa00..73f2ff9 100644
--- a/chef/cookbooks/openstack-identity/templates/default/keystone.conf.erb
+++ b/chef/cookbooks/openstack-identity/templates/default/keystone.conf.erb
@@ -4,8 +4,7 @@
 public_port = <%= node["openstack"]["identity"]["service_port"] %>
 admin_port = <%= node["openstack"]["identity"]["admin_port"] %>
 admin_token = <%= @bootstrap_token %>
-#bind_host = <%= @ip_address %>
-bind_host = <%= node['openstack']['endpoints']['identity-api']['host'] %>
+bind_host = <%= @ip_address %>
 compute_port = 8774
 verbose = <%= node["openstack"]["identity"]["verbose"] %>
 debug = <%= node["openstack"]["identity"]["debug"] %>