Configure haproxy keystone backend before keystone service
Configure haproxy keystone backend before keystone service starts. This will fix ordering problem when we have keystone resources created before keystone is available. Service is already started before resources creation, so that puppet provider will receive a couple of 503|504 HTTP errors in the worst case and handle them. Closes-bug: #1357386 Change-Id: I906fb01f678b0407e421a5db7f617901fed80f79
This commit is contained in:
@@ -54,7 +54,7 @@ class Puppet::Provider::Keystone < Puppet::Provider
|
||||
rv = keystone('--os-token', admin_token, '--os-endpoint', admin_endpoint, args)
|
||||
break
|
||||
rescue Exception => e
|
||||
if e.message =~ /(\(HTTP\s+400\))|(\[Errno 111\]\s+Connection\s+refused)|(503\s+Service\s+Unavailable)|(Max\s+retries\s+exceeded)|(Unable\sto\sestablish\sconnection\sto)/
|
||||
if e.message =~ /(\(HTTP\s+400\))|(\[Errno 111\]\s+Connection\s+refused)|(503\s+Service\s+Unavailable)|(Max\s+retries\s+exceeded)|(Unable\sto\sestablish\sconnection\sto)|\(HTTP\s+50[34]\)/
|
||||
notice("Can't connect to keystone backend. Waiting for retry...")
|
||||
retries -= 1
|
||||
sleep 2
|
||||
|
||||
@@ -5,13 +5,12 @@ class openstack::ha::keystone {
|
||||
order => '020',
|
||||
listen_port => 5000,
|
||||
public => true,
|
||||
require_service => 'keystone',
|
||||
}
|
||||
|
||||
openstack::ha::haproxy_service { 'keystone-2':
|
||||
order => '030',
|
||||
listen_port => 35357,
|
||||
public => true,
|
||||
require_service => 'keystone',
|
||||
}
|
||||
Openstack::Ha::Haproxy_service['keystone-1', 'keystone-2']->Service<| title=='keystone' |>
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user