Add global bind-interface attribute like the existing bind-host one
To make environment config easier add a bind-interface, very similar to the existing bind-host attribuite. Cleanup endpoint recipe to skip parent override keys. Change-Id: Ic830a8bae71a690682ceaf876eaff40540e28b5f Closes-Bug: #1411840
This commit is contained in:
parent
987e0e1338
commit
0aeb4fc7ea
@ -17,6 +17,7 @@ This file is used to list changes made in each version of cookbook-openstack-com
|
||||
* Allow different URLs for internal, public, admin endpoints (bug 1412919)
|
||||
* Cleanup CHEF-3694 warnings
|
||||
* Allow disabling GnuPG signature check for RDO repo
|
||||
* Add global bind_interface attribute like the existing bind-host one
|
||||
|
||||
## 10.1.0
|
||||
* Adding identity admin bind host endpoint to allow flexibility and consistency
|
||||
|
@ -178,8 +178,10 @@ default['openstack']['endpoints']['family'] = 'inet'
|
||||
|
||||
# Note: The ['<service-name>-bind'] for each service exist so that a user can
|
||||
# have a service bind to a local IP per API node, that is different to the
|
||||
# actual endpoint for that service, which may be a load balanced IP
|
||||
# actual endpoint for that service, which may be a load balanced IP.
|
||||
default['openstack']['endpoints']['bind-host'] = '127.0.0.1'
|
||||
# Also allow a common bind interface for easier configuration.
|
||||
default['openstack']['endpoints']['bind_interface'] = nil
|
||||
|
||||
# The OpenStack Identity (Keystone) API endpoint. This is commonly called
|
||||
# the Keystone Service endpoint...
|
||||
@ -189,7 +191,7 @@ default['openstack']['endpoints']['bind-host'] = '127.0.0.1'
|
||||
# This is because keystone presents two ports but only a single service,
|
||||
# that can only be bound to a single IP.
|
||||
default['openstack']['endpoints']['identity-bind']['host'] = node['openstack']['endpoints']['bind-host']
|
||||
default['openstack']['endpoints']['identity-bind']['bind_interface'] = nil
|
||||
default['openstack']['endpoints']['identity-bind']['bind_interface'] = node['openstack']['endpoints']['bind_interface']
|
||||
|
||||
default['openstack']['endpoints']['identity-api']['host'] = node['openstack']['endpoints']['host']
|
||||
default['openstack']['endpoints']['identity-api']['scheme'] = 'http'
|
||||
@ -215,7 +217,7 @@ default['openstack']['endpoints']['identity-internal']['bind_interface'] = nil
|
||||
# The OpenStack Identity (Keystone) Admin API endpoint
|
||||
default['openstack']['endpoints']['identity-admin-bind']['host'] = node['openstack']['endpoints']['bind-host']
|
||||
default['openstack']['endpoints']['identity-admin-bind']['port'] = '35357'
|
||||
default['openstack']['endpoints']['identity-admin-bind']['bind_interface'] = nil
|
||||
default['openstack']['endpoints']['identity-admin-bind']['bind_interface'] = node['openstack']['endpoints']['bind_interface']
|
||||
|
||||
default['openstack']['endpoints']['identity-admin']['host'] = node['openstack']['endpoints']['host']
|
||||
default['openstack']['endpoints']['identity-admin']['scheme'] = 'http'
|
||||
@ -228,7 +230,7 @@ default['openstack']['endpoints']['identity-admin']['bind_interface'] = nil
|
||||
# The OpenStack Compute (Nova) Native API endpoint
|
||||
default['openstack']['endpoints']['compute-api-bind']['host'] = node['openstack']['endpoints']['bind-host']
|
||||
default['openstack']['endpoints']['compute-api-bind']['port'] = '8774'
|
||||
default['openstack']['endpoints']['compute-api-bind']['bind_interface'] = nil
|
||||
default['openstack']['endpoints']['compute-api-bind']['bind_interface'] = node['openstack']['endpoints']['bind_interface']
|
||||
|
||||
default['openstack']['endpoints']['compute-api']['host'] = node['openstack']['endpoints']['host']
|
||||
default['openstack']['endpoints']['compute-api']['scheme'] = 'http'
|
||||
@ -239,7 +241,7 @@ default['openstack']['endpoints']['compute-api']['bind_interface'] = nil
|
||||
# The OpenStack Compute (Nova) EC2 API endpoint
|
||||
default['openstack']['endpoints']['compute-ec2-api-bind']['host'] = node['openstack']['endpoints']['bind-host']
|
||||
default['openstack']['endpoints']['compute-ec2-api-bind']['port'] = '8773'
|
||||
default['openstack']['endpoints']['compute-ec2-api-bind']['bind_interface'] = nil
|
||||
default['openstack']['endpoints']['compute-ec2-api-bind']['bind_interface'] = node['openstack']['endpoints']['bind_interface']
|
||||
|
||||
default['openstack']['endpoints']['compute-ec2-api']['host'] = node['openstack']['endpoints']['host']
|
||||
default['openstack']['endpoints']['compute-ec2-api']['scheme'] = 'http'
|
||||
@ -250,7 +252,7 @@ default['openstack']['endpoints']['compute-ec2-api']['bind_interface'] = nil
|
||||
# The OpenStack Compute (Nova) EC2 Admin API endpoint
|
||||
default['openstack']['endpoints']['compute-ec2-admin-bind']['host'] = node['openstack']['endpoints']['bind-host']
|
||||
default['openstack']['endpoints']['compute-ec2-admin-bind']['port'] = '8773'
|
||||
default['openstack']['endpoints']['compute-ec2-admin-bind']['bind_interface'] = nil
|
||||
default['openstack']['endpoints']['compute-ec2-admin-bind']['bind_interface'] = node['openstack']['endpoints']['bind_interface']
|
||||
|
||||
default['openstack']['endpoints']['compute-ec2-admin']['host'] = node['openstack']['endpoints']['host']
|
||||
default['openstack']['endpoints']['compute-ec2-admin']['scheme'] = 'http'
|
||||
@ -261,7 +263,7 @@ default['openstack']['endpoints']['compute-ec2-admin']['bind_interface'] = nil
|
||||
# The OpenStack Compute (Nova) XVPvnc endpoint
|
||||
default['openstack']['endpoints']['compute-xvpvnc-bind']['host'] = node['openstack']['endpoints']['bind-host']
|
||||
default['openstack']['endpoints']['compute-xvpvnc-bind']['port'] = '6081'
|
||||
default['openstack']['endpoints']['compute-xvpvnc-bind']['bind_interface'] = nil
|
||||
default['openstack']['endpoints']['compute-xvpvnc-bind']['bind_interface'] = node['openstack']['endpoints']['bind_interface']
|
||||
|
||||
default['openstack']['endpoints']['compute-xvpvnc']['host'] = node['openstack']['endpoints']['host']
|
||||
default['openstack']['endpoints']['compute-xvpvnc']['scheme'] = 'http'
|
||||
@ -272,7 +274,7 @@ default['openstack']['endpoints']['compute-xvpvnc']['bind_interface'] = nil
|
||||
# The OpenStack Compute (Nova) novnc endpoint
|
||||
default['openstack']['endpoints']['compute-novnc-bind']['host'] = node['openstack']['endpoints']['bind-host']
|
||||
default['openstack']['endpoints']['compute-novnc-bind']['port'] = '6080'
|
||||
default['openstack']['endpoints']['compute-novnc-bind']['bind_interface'] = nil
|
||||
default['openstack']['endpoints']['compute-novnc-bind']['bind_interface'] = node['openstack']['endpoints']['bind_interface']
|
||||
|
||||
default['openstack']['endpoints']['compute-novnc']['host'] = node['openstack']['endpoints']['host']
|
||||
default['openstack']['endpoints']['compute-novnc']['scheme'] = 'http'
|
||||
@ -282,7 +284,7 @@ default['openstack']['endpoints']['compute-novnc']['bind_interface'] = nil
|
||||
|
||||
# The OpenStack Compute (Nova) vnc endpoint
|
||||
default['openstack']['endpoints']['compute-vnc-bind']['host'] = node['openstack']['endpoints']['bind-host']
|
||||
default['openstack']['endpoints']['compute-vnc-bind']['bind_interface'] = nil
|
||||
default['openstack']['endpoints']['compute-vnc-bind']['bind_interface'] = node['openstack']['endpoints']['bind_interface']
|
||||
|
||||
default['openstack']['endpoints']['compute-vnc']['host'] = node['openstack']['endpoints']['host']
|
||||
default['openstack']['endpoints']['compute-vnc']['scheme'] = nil
|
||||
@ -299,7 +301,7 @@ default['openstack']['endpoints']['compute-vnc-proxy-bind']['bind_interface'] =
|
||||
# The OpenStack Network (Neutron) API endpoint.
|
||||
default['openstack']['endpoints']['network-api-bind']['host'] = node['openstack']['endpoints']['bind-host']
|
||||
default['openstack']['endpoints']['network-api-bind']['port'] = '9696'
|
||||
default['openstack']['endpoints']['network-api-bind']['bind_interface'] = nil
|
||||
default['openstack']['endpoints']['network-api-bind']['bind_interface'] = node['openstack']['endpoints']['bind_interface']
|
||||
|
||||
default['openstack']['endpoints']['network-api']['host'] = node['openstack']['endpoints']['host']
|
||||
default['openstack']['endpoints']['network-api']['scheme'] = 'http'
|
||||
@ -328,7 +330,7 @@ default['openstack']['endpoints']['network-openvswitch']['bind_interface'] = nil
|
||||
# The OpenStack Image (Glance) API endpoint
|
||||
default['openstack']['endpoints']['image-api-bind']['host'] = node['openstack']['endpoints']['bind-host']
|
||||
default['openstack']['endpoints']['image-api-bind']['port'] = '9292'
|
||||
default['openstack']['endpoints']['image-api-bind']['bind_interface'] = nil
|
||||
default['openstack']['endpoints']['image-api-bind']['bind_interface'] = node['openstack']['endpoints']['bind_interface']
|
||||
|
||||
default['openstack']['endpoints']['image-api']['host'] = node['openstack']['endpoints']['host']
|
||||
default['openstack']['endpoints']['image-api']['scheme'] = 'http'
|
||||
@ -341,7 +343,7 @@ default['openstack']['endpoints']['image-api']['bind_interface'] = nil
|
||||
# The OpenStack Image (Glance) Registry API endpoint
|
||||
default['openstack']['endpoints']['image-registry-bind']['host'] = node['openstack']['endpoints']['bind-host']
|
||||
default['openstack']['endpoints']['image-registry-bind']['port'] = '9191'
|
||||
default['openstack']['endpoints']['image-registry-bind']['bind_interface'] = nil
|
||||
default['openstack']['endpoints']['image-registry-bind']['bind_interface'] = node['openstack']['endpoints']['bind_interface']
|
||||
|
||||
default['openstack']['endpoints']['image-registry']['host'] = node['openstack']['endpoints']['host']
|
||||
default['openstack']['endpoints']['image-registry']['scheme'] = 'http'
|
||||
@ -354,7 +356,7 @@ default['openstack']['endpoints']['image-registry']['bind_interface'] = nil
|
||||
# The OpenStack Volume (Cinder) API endpoint
|
||||
default['openstack']['endpoints']['block-storage-api-bind']['host'] = node['openstack']['endpoints']['bind-host']
|
||||
default['openstack']['endpoints']['block-storage-api-bind']['port'] = '8776'
|
||||
default['openstack']['endpoints']['block-storage-api-bind']['bind_interface'] = nil
|
||||
default['openstack']['endpoints']['block-storage-api-bind']['bind_interface'] = node['openstack']['endpoints']['bind_interface']
|
||||
|
||||
default['openstack']['endpoints']['block-storage-api']['host'] = node['openstack']['endpoints']['host']
|
||||
default['openstack']['endpoints']['block-storage-api']['scheme'] = 'http'
|
||||
@ -367,7 +369,7 @@ default['openstack']['endpoints']['block-storage-api']['bind_interface'] = nil
|
||||
# The OpenStack Object Storage (Swift) API endpoint
|
||||
default['openstack']['endpoints']['object-storage-api-bind']['host'] = node['openstack']['endpoints']['bind-host']
|
||||
default['openstack']['endpoints']['object-storage-api-bind']['port'] = '8080'
|
||||
default['openstack']['endpoints']['object-storage-api-bind']['bind_interface'] = nil
|
||||
default['openstack']['endpoints']['object-storage-api-bind']['bind_interface'] = node['openstack']['endpoints']['bind_interface']
|
||||
|
||||
default['openstack']['endpoints']['object-storage-api']['host'] = node['openstack']['endpoints']['host']
|
||||
default['openstack']['endpoints']['object-storage-api']['scheme'] = 'http'
|
||||
@ -380,7 +382,7 @@ default['openstack']['endpoints']['object-storage-api']['bind_interface'] = nil
|
||||
# The OpenStack Metering (Ceilometer) API endpoint
|
||||
default['openstack']['endpoints']['telemetry-api-bind']['host'] = node['openstack']['endpoints']['bind-host']
|
||||
default['openstack']['endpoints']['telemetry-api-bind']['port'] = '8777'
|
||||
default['openstack']['endpoints']['telemetry-api-bind']['bind_interface'] = nil
|
||||
default['openstack']['endpoints']['telemetry-api-bind']['bind_interface'] = node['openstack']['endpoints']['bind_interface']
|
||||
|
||||
default['openstack']['endpoints']['telemetry-api']['host'] = node['openstack']['endpoints']['host']
|
||||
default['openstack']['endpoints']['telemetry-api']['scheme'] = 'http'
|
||||
@ -395,7 +397,7 @@ default['openstack']['endpoints']['telemetry-api']['bind_interface'] = nil
|
||||
# The OpenStack Orchestration (Heat) API endpoint
|
||||
default['openstack']['endpoints']['orchestration-api-bind']['host'] = node['openstack']['endpoints']['bind-host']
|
||||
default['openstack']['endpoints']['orchestration-api-bind']['port'] = '8004'
|
||||
default['openstack']['endpoints']['orchestration-api-bind']['bind_interface'] = nil
|
||||
default['openstack']['endpoints']['orchestration-api-bind']['bind_interface'] = node['openstack']['endpoints']['bind_interface']
|
||||
|
||||
default['openstack']['endpoints']['orchestration-api']['host'] = node['openstack']['endpoints']['host']
|
||||
default['openstack']['endpoints']['orchestration-api']['scheme'] = 'http'
|
||||
@ -406,7 +408,7 @@ default['openstack']['endpoints']['orchestration-api']['bind_interface'] = nil
|
||||
# The OpenStack Orchestration (Heat) CloudFormation API endpoint
|
||||
default['openstack']['endpoints']['orchestration-api-cfn-bind']['host'] = node['openstack']['endpoints']['bind-host']
|
||||
default['openstack']['endpoints']['orchestration-api-cfn-bind']['port'] = '8000'
|
||||
default['openstack']['endpoints']['orchestration-api-cfn-bind']['bind_interface'] = nil
|
||||
default['openstack']['endpoints']['orchestration-api-cfn-bind']['bind_interface'] = node['openstack']['endpoints']['bind_interface']
|
||||
|
||||
default['openstack']['endpoints']['orchestration-api-cfn']['host'] = node['openstack']['endpoints']['host']
|
||||
default['openstack']['endpoints']['orchestration-api-cfn']['scheme'] = 'http'
|
||||
@ -417,7 +419,7 @@ default['openstack']['endpoints']['orchestration-api-cfn']['bind_interface'] = n
|
||||
# The OpenStack Orchestration (Heat) CloudWatch API endpoint
|
||||
default['openstack']['endpoints']['orchestration-api-cloudwatch-bind']['host'] = node['openstack']['endpoints']['bind-host']
|
||||
default['openstack']['endpoints']['orchestration-api-cloudwatch-bind']['port'] = '8003'
|
||||
default['openstack']['endpoints']['orchestration-api-cloudwatch-bind']['bind_interface'] = nil
|
||||
default['openstack']['endpoints']['orchestration-api-cloudwatch-bind']['bind_interface'] = node['openstack']['endpoints']['bind_interface']
|
||||
|
||||
default['openstack']['endpoints']['orchestration-api-cloudwatch']['host'] = node['openstack']['endpoints']['host']
|
||||
default['openstack']['endpoints']['orchestration-api-cloudwatch']['scheme'] = 'http'
|
||||
@ -425,10 +427,12 @@ default['openstack']['endpoints']['orchestration-api-cloudwatch']['port'] = '800
|
||||
default['openstack']['endpoints']['orchestration-api-cloudwatch']['path'] = '/v1'
|
||||
default['openstack']['endpoints']['orchestration-api-cloudwatch']['bind_interface'] = nil
|
||||
|
||||
# ******************** OpenStack Database Endpoints ***************************
|
||||
|
||||
# The OpenStack Database (Trove) API endpoint
|
||||
default['openstack']['endpoints']['database-api-bind']['host'] = node['openstack']['endpoints']['bind-host']
|
||||
default['openstack']['endpoints']['database-api-bind']['port'] = '8779'
|
||||
default['openstack']['endpoints']['database-api-bind']['bind_interface'] = nil
|
||||
default['openstack']['endpoints']['database-api-bind']['bind_interface'] = node['openstack']['endpoints']['bind_interface']
|
||||
|
||||
default['openstack']['endpoints']['database-api']['host'] = node['openstack']['endpoints']['host']
|
||||
default['openstack']['endpoints']['database-api']['scheme'] = 'http'
|
||||
|
@ -24,8 +24,11 @@ end
|
||||
|
||||
# iterate over the endpoints, look for bind_interface to set the host
|
||||
node['openstack']['endpoints'].keys.each do |component|
|
||||
unless node['openstack']['endpoints'][component]['bind_interface'].nil?
|
||||
ip_address = address node['openstack']['endpoints'][component]
|
||||
node.default['openstack']['endpoints'][component]['host'] = ip_address
|
||||
# Skip the overrides at the parent level
|
||||
unless %w(host, family, bind-host, bind_interface).include? component
|
||||
unless node['openstack']['endpoints'][component]['bind_interface'].nil?
|
||||
ip_address = address node['openstack']['endpoints'][component]
|
||||
node.default['openstack']['endpoints'][component]['host'] = ip_address
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -56,5 +56,16 @@ describe 'openstack-common::default' do
|
||||
expect(chef_run.node['openstack']['mq'][svc]['rabbit']['ha']).to eq(true)
|
||||
end
|
||||
end
|
||||
|
||||
it 'allows bind_interface override for all bind endpoints' do
|
||||
node.set['openstack']['endpoints']['bind_interface'] = 'eth1'
|
||||
%w{identity-bind identity-admin-bind compute-api-bind compute-ec2-api-bind compute-ec2-admin-bind
|
||||
compute-xvpvnc-bind compute-novnc-bind compute-vnc-bind compute-vnc-proxy-bind
|
||||
network-api-bind image-api-bind image-registry-bind block-storage-api-bind object-storage-api-bind
|
||||
telemetry-api-bind orchestration-api-bind orchestration-api-cfn-bind orchestration-api-cloudwatch-bind
|
||||
database-api-bind}.each do |endpoint|
|
||||
expect(chef_run.node['openstack']['endpoints'][endpoint]['bind_interface']).to eq('eth1')
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
Loading…
x
Reference in New Issue
Block a user