diff --git a/manifests/controller.pp b/manifests/controller.pp index ff5c1bd..b3e86ed 100644 --- a/manifests/controller.pp +++ b/manifests/controller.pp @@ -25,6 +25,10 @@ # Whether unmanaged nova.conf entries should be purged. # (optional) Defaults to false. # +# [nova_bind_address] +# IP address to use for binding Nova API's. +# (optional) Defualts to '0.0.0.0'. +# # [rabbit_password] Rabbit password. # [rabbit_user] Rabbit User. Optional. Defaults to openstack. # [rabbit_virtual_host] Rabbit virtual host path for Nova. Defaults to '/'. @@ -146,6 +150,7 @@ class openstack::controller ( $nova_db_dbname = 'nova', $purge_nova_config = false, $enabled_apis = 'ec2,osapi_compute,metadata', + $nova_bind_address = '0.0.0.0', # Nova Networking $public_interface = false, $private_interface = false, @@ -353,6 +358,7 @@ class openstack::controller ( nova_db_user => $nova_db_user, nova_db_dbname => $nova_db_dbname, enabled_apis => $enabled_apis, + api_bind_address => $nova_bind_address, # Rabbit rabbit_user => $rabbit_user, rabbit_password => $rabbit_password, diff --git a/manifests/nova/controller.pp b/manifests/nova/controller.pp index addfb5b..f252a8b 100644 --- a/manifests/nova/controller.pp +++ b/manifests/nova/controller.pp @@ -11,6 +11,10 @@ # Supply a list of memcached server IP's:Memcached Port. # (optional) Defaults to false. # +# [api_bind_address] +# IP address to use for binding Nova API's. +# (optional) Defaults to '0.0.0.0'. +# # [quantum] # Specifies if nova should be configured to use quantum. # (optional) Defaults to false (indicating nova-networks should be used) @@ -71,6 +75,7 @@ class openstack::nova::controller ( $nova_db_dbname = 'nova', $enabled_apis = 'ec2,osapi_compute,metadata', $memcached_servers = false, + $api_bind_address = '0.0.0.0', # Rabbit $rabbit_user = 'openstack', $rabbit_virtual_host = '/', @@ -144,6 +149,7 @@ class openstack::nova::controller ( admin_user => $nova_admin_user, admin_password => $nova_user_password, enabled_apis => $enabled_apis, + api_bind_address => $api_bind_address, auth_host => $keystone_host, quantum_metadata_proxy_shared_secret => $metadata_shared_secret, } diff --git a/spec/classes/openstack_controller_spec.rb b/spec/classes/openstack_controller_spec.rb index 6939623..62a795c 100644 --- a/spec/classes/openstack_controller_spec.rb +++ b/spec/classes/openstack_controller_spec.rb @@ -17,6 +17,7 @@ describe 'openstack::controller' do :keystone_admin_token => 'keystone_admin_token', :glance_db_password => 'glance_pass', :glance_user_password => 'glance_pass', + :nova_bind_address => '0.0.0.0', :nova_db_password => 'nova_pass', :nova_user_password => 'nova_pass', :cinder_db_password => 'cinder_pass', @@ -394,7 +395,8 @@ describe 'openstack::controller' do :admin_tenant_name => 'services', :admin_user => 'nova', :admin_password => 'nova_pass', - :enabled_apis => 'ec2,osapi_compute,metadata' + :enabled_apis => 'ec2,osapi_compute,metadata', + :api_bind_address => '0.0.0.0' ) should contain_class('nova::cert').with(:enabled => true) should contain_class('nova::consoleauth').with(:enabled => true) diff --git a/spec/classes/openstack_nova_controller_spec.rb b/spec/classes/openstack_nova_controller_spec.rb index 34f30b6..57a3bf1 100644 --- a/spec/classes/openstack_nova_controller_spec.rb +++ b/spec/classes/openstack_nova_controller_spec.rb @@ -6,6 +6,7 @@ describe 'openstack::nova::controller' do { :public_address => '127.0.0.1', :db_host => '127.0.0.1', + :api_bind_address => '0.0.0.0', :rabbit_password => 'rabbit_pass', :nova_user_password => 'nova_user_pass', :quantum_user_password => 'quantum_user_pass', @@ -54,6 +55,7 @@ describe 'openstack::nova::controller' do :admin_user => 'nova', :admin_password => 'nova_user_pass', :enabled_apis => 'ec2,osapi_compute,metadata', + :api_bind_address => '0.0.0.0', :auth_host => '127.0.0.1', :quantum_metadata_proxy_shared_secret => 'secret' )