Allow binding locally to different IP than endpoint IP
Sometimes you want the actual endpoint IP to be a load balanced IP, but the bind IP to be a local IP (different per node). This change allows that by using attributes from the [block-storage-api-bind] namespace Implements blueprint increase-ip-binding-flexibility Change-Id: I6cf4c5726ce0b12a95c374883c7181ade04b59dd
This commit is contained in:
parent
96f3da5551
commit
33f7ceb488
|
@ -4,19 +4,19 @@
|
|||
"path": "."
|
||||
},
|
||||
"openstack-image": {
|
||||
"locked_version": "8.2.1",
|
||||
"locked_version": "8.2.2",
|
||||
"git": "git://github.com/stackforge/cookbook-openstack-image.git",
|
||||
"ref": "839007218b6da68fda3915a2408da1c8ca77f5fe"
|
||||
"ref": "48749c19e0e0b60061dbc894b09646e3c90d3377"
|
||||
},
|
||||
"openstack-identity": {
|
||||
"locked_version": "8.1.3",
|
||||
"locked_version": "8.1.4",
|
||||
"git": "git://github.com/stackforge/cookbook-openstack-identity.git",
|
||||
"ref": "145a716611dda6414d8458071f8fbccf9e5c978c"
|
||||
"ref": "d3d1e34a63e2fe5f3764149a38378070956e1756"
|
||||
},
|
||||
"openstack-common": {
|
||||
"locked_version": "8.5.0",
|
||||
"git": "git://github.com/stackforge/cookbook-openstack-common.git",
|
||||
"ref": "3e68d2e9bace0adfcc4a4907611c8c3ee573a7ce"
|
||||
"ref": "3e9264d94b0cc0d30705408aa82ae538c482d2bb"
|
||||
},
|
||||
"apt": {
|
||||
"locked_version": "2.3.8"
|
||||
|
|
|
@ -2,6 +2,9 @@ openstack-block-storage Cookbook CHANGELOG
|
|||
==============================
|
||||
This file is used to list changes made in each version of the openstack-block-storage cookbook.
|
||||
|
||||
## 8.4.3
|
||||
* Allow specifying different local bind IP than (load balanced) endpoint IP
|
||||
|
||||
## 8.4.2
|
||||
* Allow specifying api bind IP and port
|
||||
|
||||
|
|
|
@ -163,6 +163,15 @@ Cinder attributes
|
|||
* `openstack['block-storage']['gpfs']['gpfs_max_clone_depth']` - Maximum clone indirections allowed when creating volume file snapshots clones; zero indicates unlimited clone depth (integer, defalut 0)
|
||||
* `openstack['block-storage']['gpfs']['gpfs_storage_pool']` - GPFS storage pool that volumes are assigned to (string value)
|
||||
|
||||
|
||||
The following attributes are defined in attributes/default.rb of the common cookbook, but are documented here due to their relevance:
|
||||
|
||||
* `openstack['endpoints']['block-storage-api-bind']['host']` - The IP address to bind the api service to
|
||||
* `openstack['endpoints']['block-storage-api-bind']['port']` - The port to bind the api service to
|
||||
* `openstack['endpoints']['block-storage-api-bind']['bind_interface']` - The interface name to bind the api service to
|
||||
|
||||
If the value of the 'bind_interface' attribute is non-nil, then the block-storage service will be bound to the first IP address on that interface. If the value of the 'bind_interface' attribute is nil, then the block-storage service will be bound to the IP address specified in the host attribute.
|
||||
|
||||
Testing
|
||||
=====
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@ maintainer_email 'cookbooks@lists.tfoundry.com'
|
|||
license 'Apache 2.0'
|
||||
description 'The OpenStack Advanced Volume Management service Cinder.'
|
||||
long_description IO.read(File.join(File.dirname(__FILE__), 'README.md'))
|
||||
version '8.4.2'
|
||||
version '8.4.3'
|
||||
|
||||
recipe 'openstack-block-storage::api', 'Installs the cinder-api, sets up the cinder database, and cinder service/user/endpoints in keystone'
|
||||
recipe 'openstack-block-storage::client', 'Install packages required for cinder client'
|
||||
|
|
|
@ -50,7 +50,7 @@ if node['openstack']['block-storage']['volume']['driver'] == 'cinder.volume.driv
|
|||
end
|
||||
|
||||
glance_api_endpoint = endpoint 'image-api'
|
||||
cinder_api_endpoint = endpoint 'block-storage-api'
|
||||
cinder_api_bind = endpoint 'block-storage-api-bind'
|
||||
|
||||
directory '/etc/cinder' do
|
||||
group node['openstack']['block-storage']['group']
|
||||
|
@ -72,8 +72,8 @@ template '/etc/cinder/cinder.conf' do
|
|||
glance_host: glance_api_endpoint.host,
|
||||
glance_port: glance_api_endpoint.port,
|
||||
solidfire_pass: solidfire_pass,
|
||||
volume_api_bind_address: cinder_api_endpoint.host,
|
||||
volume_api_bind_port: cinder_api_endpoint.port
|
||||
volume_api_bind_address: cinder_api_bind.host,
|
||||
volume_api_bind_port: cinder_api_bind.port
|
||||
)
|
||||
end
|
||||
|
||||
|
|
|
@ -64,12 +64,12 @@ describe 'openstack-block-storage::cinder-common' do
|
|||
end
|
||||
|
||||
it 'has osapi_volume_listen set' do
|
||||
node.set['openstack']['endpoints']['block-storage-api']['host'] = '1.1.1.1'
|
||||
node.set['openstack']['endpoints']['block-storage-api-bind']['host'] = '1.1.1.1'
|
||||
expect(chef_run).to render_file(file.name).with_content('osapi_volume_listen=1.1.1.1')
|
||||
end
|
||||
|
||||
it 'has osapi_volume_listen_port set' do
|
||||
node.set['openstack']['endpoints']['block-storage-api']['port'] = '9999'
|
||||
node.set['openstack']['endpoints']['block-storage-api-bind']['port'] = '9999'
|
||||
expect(chef_run).to render_file(file.name).with_content('osapi_volume_listen_port=9999')
|
||||
end
|
||||
|
||||
|
|
Loading…
Reference in New Issue