Add ability to specify api host/port in config file
Add the ability to override the default listen IP/port for the api service in the config file. Use the ['telemetry-api-bind'] namespace to derive these values Implements blueprint increase-ip-binding-flexibility Change-Id: Ia51bd1b760563f06ed36ec8190f36f4e03a79695
This commit is contained in:
parent
1468086891
commit
0d04a07734
@ -63,6 +63,14 @@ Attributes
|
|||||||
TODO: Add DB2 support on other platforms
|
TODO: Add DB2 support on other platforms
|
||||||
* `openstack['telemetry']['platform']['db2_python_packages']` - Array of DB2 python packages, only available on redhat platform
|
* `openstack['telemetry']['platform']['db2_python_packages']` - Array of DB2 python packages, only available on redhat platform
|
||||||
|
|
||||||
|
The following attributes are defined in attributes/default.rb of the common cookbook, but are documented here due to their relevance:
|
||||||
|
|
||||||
|
* `openstack['endpoints']['telemetry-api-bind']['host']` - The IP address to bind the api service to
|
||||||
|
* `openstack['endpoints']['telemetry-api-bind']['port']` - The port to bind the api service to
|
||||||
|
* `openstack['endpoints']['telemetry-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 telemetry service will be bound to the first IP address on that interface. If the value of the 'bind_interface' attribute is nil, then the telemetry service will be bound to the IP address specifie
|
||||||
|
|
||||||
Testing
|
Testing
|
||||||
=====
|
=====
|
||||||
|
|
||||||
|
@ -62,6 +62,7 @@ service_tenant = node['openstack']['telemetry']['service_tenant_name']
|
|||||||
identity_endpoint = endpoint 'identity-api'
|
identity_endpoint = endpoint 'identity-api'
|
||||||
identity_admin_endpoint = endpoint 'identity-admin'
|
identity_admin_endpoint = endpoint 'identity-admin'
|
||||||
image_endpoint = endpoint 'image-api'
|
image_endpoint = endpoint 'image-api'
|
||||||
|
telemetry_api_bind = endpoint 'telemetry-api-bind'
|
||||||
|
|
||||||
auth_uri = auth_uri_transform identity_endpoint.to_s, node['openstack']['telemetry']['api']['auth']['version']
|
auth_uri = auth_uri_transform identity_endpoint.to_s, node['openstack']['telemetry']['api']['auth']['version']
|
||||||
|
|
||||||
@ -96,7 +97,9 @@ template node['openstack']['telemetry']['conf'] do
|
|||||||
service_pass: service_pass,
|
service_pass: service_pass,
|
||||||
service_tenant_name: service_tenant,
|
service_tenant_name: service_tenant,
|
||||||
service_user: service_user,
|
service_user: service_user,
|
||||||
metering_secret: metering_secret
|
metering_secret: metering_secret,
|
||||||
|
api_bind_host: telemetry_api_bind.host,
|
||||||
|
api_bind_port: telemetry_api_bind.port
|
||||||
)
|
)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -164,6 +164,18 @@ describe 'openstack-telemetry::common' do
|
|||||||
r = /^hypervisor_inspector = libvirt$/
|
r = /^hypervisor_inspector = libvirt$/
|
||||||
expect(chef_run).to render_file(file.name).with_content(r)
|
expect(chef_run).to render_file(file.name).with_content(r)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
it 'has bind_host set' do
|
||||||
|
node.set['openstack']['endpoints']['telemetry-api-bind']['host'] = '1.1.1.1'
|
||||||
|
expect(chef_run).to render_file(file.name).with_content(
|
||||||
|
/^host = 1.1.1.1$/)
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'has bind_port set' do
|
||||||
|
node.set['openstack']['endpoints']['telemetry-api-bind']['port'] = '9999'
|
||||||
|
expect(chef_run).to render_file(file.name).with_content(
|
||||||
|
/^port = 9999$/)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
describe 'policy.json' do
|
describe 'policy.json' do
|
||||||
|
@ -1,7 +1,4 @@
|
|||||||
[DEFAULT]
|
[DEFAULT]
|
||||||
<% if node["openstack"]["telemetry"]["host"] %>
|
|
||||||
host = <%= node["openstack"]["telemetry"]["host"] %>
|
|
||||||
<% end %>
|
|
||||||
os_auth_url = <%= @auth_uri %>
|
os_auth_url = <%= @auth_uri %>
|
||||||
os_tenant_name = <%= @service_tenant_name %>
|
os_tenant_name = <%= @service_tenant_name %>
|
||||||
os_password = <%= @service_pass %>
|
os_password = <%= @service_pass %>
|
||||||
@ -57,6 +54,10 @@ periodic_interval = <%= node["openstack"]["telemetry"]["periodic_interval"] %>
|
|||||||
[database]
|
[database]
|
||||||
connection=<%= @database_connection %>
|
connection=<%= @database_connection %>
|
||||||
|
|
||||||
|
[api]
|
||||||
|
host = <%= @api_bind_host %>
|
||||||
|
port = <%= @api_bind_port %>
|
||||||
|
|
||||||
[keystone_authtoken]
|
[keystone_authtoken]
|
||||||
paste.filter_factory = keystoneclient.middleware.auth_token:filter_factory
|
paste.filter_factory = keystoneclient.middleware.auth_token:filter_factory
|
||||||
auth_uri = <%= @auth_uri %>
|
auth_uri = <%= @auth_uri %>
|
||||||
|
Loading…
Reference in New Issue
Block a user