From 0f1deedd7ce5c0fee002d1019d58a6b2916e7535 Mon Sep 17 00:00:00 2001 From: Emilien Macchi Date: Wed, 8 Jan 2014 14:19:48 +0100 Subject: [PATCH] identity: different network full support Signed-off-by: Emilien Macchi --- manifests/identity.pp | 132 ++++++++++++++++----- spec/classes/privatecloud_identity_spec.rb | 29 +++-- 2 files changed, 121 insertions(+), 40 deletions(-) diff --git a/manifests/identity.pp b/manifests/identity.pp index 9a51f003..2f887091 100644 --- a/manifests/identity.pp +++ b/manifests/identity.pp @@ -211,6 +211,10 @@ # (optional) TCP port to connect to Ceilometer API from public network # Default value in params # +# [*ks_ceilometer_admin_port*] +# (optional) TCP port to connect to Ceilometer API from admin network +# Default value in params +# # [*ks_ceilometer_internal_port*] # (optional) TCP port to connect to Ceilometer API from internal network # Default value in params @@ -227,14 +231,74 @@ # (optional) TCP port to connect to Keystone API from admin network # Default value in params # -# [*ks_swift_internal_port*] -# (optional) TCP port to connect to Swift API from internal network -# Default value in params -# # [*ks_swift_public_port*] # (optional) TCP port to connect to Swift API from public network # Default value in params # +# [*ks_nova_internal_port*] +# (optional) TCP port to connect to Nova API from internal network +# Default value in params +# +# [*ks_nova_public_port*] +# (optional) TCP port to connect to Nova API from public network +# Default value in params +# +# [*ks_ec2_public_port*] +# (optional) TCP port to connect to EC2 API from public network +# Default value in params +# +# [*ks_nova_admin_port*] +# (optional) TCP port to connect to Nova API from admin network +# Default value in params +# +# [*ks_cinder_internal_port*] +# (optional) TCP port to connect to Cinder API from internal network +# Default value in params +# +# [*ks_cinder_public_port*] +# (optional) TCP port to connect to Cinder API from public network +# Default value in params +# +# [*ks_cinder_admin_port*] +# (optional) TCP port to connect to Cinder API from admin network +# Default value in params +# +# [*ks_neutron_internal_port*] +# (optional) TCP port to connect to Neutron API from internal network +# Default value in params +# +# [*ks_neutron_public_port*] +# (optional) TCP port to connect to Neutron API from public network +# Default value in params +# +# [*ks_neutron_admin_port*] +# (optional) TCP port to connect to Neutron API from admin network +# Default value in params +# +# [*ks_heat_internal_port*] +# (optional) TCP port to connect to Heat API from internal network +# Default value in params +# +# [*ks_heat_public_port*] +# (optional) TCP port to connect to Heat API from public network +# Default value in params +# +# [*ks_heat_admin_port*] +# (optional) TCP port to connect to Heat API from admin network +# Default value in params +# +# [*ks_glance_internal_port*] +# (optional) TCP port to connect to Glance API from internal network +# Default value in params +# +# [*ks_glance_public_port*] +# (optional) TCP port to connect to Glance API from public network +# Default value in params +# +# [*ks_glance_admin_port*] +# (optional) TCP port to connect to Glance API from admin network +# Default value in params +# # [*api_eth*] # (optional) Which interface we bind the Keystone server. # Default value in params @@ -273,6 +337,7 @@ class privatecloud::identity ( $ks_cinder_password = $os_params::ks_cinder_password, $ks_cinder_public_host = $os_params::ks_cinder_public_host, $ks_cinder_public_proto = $os_params::ks_cinder_public_proto, + $ks_cinder_public_port = $os_params::ks_cinder_public_port, $ks_glance_admin_host = $os_params::ks_glance_admin_host, $ks_glance_internal_host = $os_params::ks_glance_internal_host, $ks_glance_password = $os_params::ks_glance_password, @@ -283,7 +348,9 @@ class privatecloud::identity ( $ks_heat_password = $os_params::ks_heat_password, $ks_heat_public_host = $os_params::ks_heat_public_host, $ks_heat_public_proto = $os_params::ks_heat_public_proto, - $ks_internal_ceilometer_port = $os_params::ks_internal_ceilometer_port, + $ks_heat_public_port = $os_params::ks_heat_public_port, + $ks_heat_cfn_public_port = $os_params::ks_heat_cfn_public_port, + $ks_ceilometer_public_port = $os_params::ks_ceilometer_public_port, $ks_keystone_admin_host = $os_params::ks_keystone_admin_host, $ks_keystone_admin_port = $os_params::ks_keystone_admin_port, $ks_keystone_internal_host = $os_params::ks_keystone_internal_host, @@ -296,15 +363,17 @@ class privatecloud::identity ( $ks_neutron_password = $os_params::ks_neutron_password, $ks_neutron_public_host = $os_params::ks_neutron_public_host, $ks_neutron_public_proto = $os_params::ks_neutron_public_proto, + $ks_neutron_public_port = $os_params::ks_neutron_public_port, $ks_nova_admin_host = $os_params::ks_nova_admin_host, $ks_nova_internal_host = $os_params::ks_nova_internal_host, $ks_nova_password = $os_params::ks_nova_password, $ks_nova_public_host = $os_params::ks_nova_public_host, $ks_nova_public_proto = $os_params::ks_nova_public_proto, $ks_nova_public_port = $os_params::ks_nova_public_port, + $ks_ec2_public_port = $os_params::ks_ec2_public_port, $ks_swift_dispersion_password = $os_params::ks_swift_dispersion_password, $ks_swift_internal_host = $os_params::ks_swift_internal_host, - $ks_swift_internal_port = $os_params::ks_swift_internal_port, + $ks_swift_admin_host = $os_params::ks_swift_admin_host, $ks_swift_password = $os_params::ks_swift_password, $ks_swift_public_host = $os_params::ks_swift_public_host, $ks_swift_public_port = $os_params::ks_swift_public_port, @@ -372,17 +441,18 @@ class privatecloud::identity ( public_port => $ks_keystone_public_port, # TODO(EmilienM) not sure workers is useful when using WSGI backend workers => $::processorcount, - ssl => false, + ssl => false } class {'swift::keystone::auth': address => $ks_swift_internal_host, password => $ks_swift_password, - port => $ks_swift_internal_port, public_address => $ks_swift_public_host, public_port => $ks_swift_public_port, public_protocol => $ks_swift_public_proto, - region => $region, + admin_address => $ks_swift_admin_host, + internal_address => $ks_swift_internal_host, + region => $region } class {'swift::keystone::dispersion': @@ -392,66 +462,66 @@ class privatecloud::identity ( class {'ceilometer::keystone::auth': admin_address => $ks_ceilometer_admin_host, internal_address => $ks_ceilometer_internal_host, - password => $ks_ceilometer_password, - port => $ks_internal_ceilometer_port, public_address => $ks_ceilometer_public_host, - public_protocol => $ks_ceilometer_public_proto, + port => $ks_ceilometer_public_port, region => $region, + password => $ks_ceilometer_password } class { 'nova::keystone::auth': - admin_address => $ks_nova_admin_host, cinder => true, + admin_address => $ks_nova_admin_host, internal_address => $ks_nova_internal_host, - password => $ks_nova_password, public_address => $ks_nova_public_host, - public_protocol => $ks_nova_public_proto, - region => $region + compute_port => $ks_nova_public_port, + ec2_port => $ks_ec2_public_port, + region => $region, + password => $ks_nova_password } class { 'neutron::keystone::auth': admin_address => $ks_neutron_admin_host, internal_address => $ks_neutron_internal_host, - password => $ks_neutron_password, public_address => $ks_neutron_public_host, - public_protocol => $ks_neutron_public_proto, - region => $region + port => $ks_neutron_public_port, + region => $region, + password => $ks_neutron_password } class { 'cinder::keystone::auth': admin_address => $ks_cinder_admin_host, internal_address => $ks_cinder_internal_host, - password => $ks_cinder_password, public_address => $ks_cinder_public_host, - public_protocol => $ks_cinder_public_proto, - region => $region + port => $ks_cinder_public_port, + region => $region, + password => $ks_cinder_password } class { 'glance::keystone::auth': admin_address => $ks_glance_admin_host, internal_address => $ks_glance_internal_host, - password => $ks_glance_password, public_address => $ks_glance_public_host, - public_protocol => $ks_glance_public_proto, - region => $region + port => $ks_glance_public_port, + region => $region, + password => $ks_glance_password } class { 'heat::keystone::auth': admin_address => $ks_heat_admin_host, internal_address => $ks_heat_internal_host, - password => $ks_heat_password, public_address => $ks_heat_public_host, - public_protocol => $ks_heat_public_proto, - region => $region + port => $ks_heat_public_port, + region => $region, + password => $ks_heat_password } class { 'heat::keystone::auth_cfn': admin_address => $ks_heat_admin_host, internal_address => $ks_heat_internal_host, - password => $ks_heat_password, public_address => $ks_heat_public_host, - public_protocol => $ks_heat_public_proto, - region => $region + port => $ks_heat_cfn_public_port, + region => $region, + password => $ks_heat_password } diff --git a/spec/classes/privatecloud_identity_spec.rb b/spec/classes/privatecloud_identity_spec.rb index 077fdd4b..3cc5f101 100644 --- a/spec/classes/privatecloud_identity_spec.rb +++ b/spec/classes/privatecloud_identity_spec.rb @@ -43,6 +43,7 @@ describe 'privatecloud::identity' do :ks_cinder_password => 'secrete', :ks_cinder_public_host => '10.0.0.1', :ks_cinder_public_proto => 'http', + :ks_cinder_public_port => '8776', :ks_glance_admin_host => '10.0.0.1', :ks_glance_internal_host => '10.0.0.1', :ks_glance_password => 'secrete', @@ -53,7 +54,8 @@ describe 'privatecloud::identity' do :ks_heat_password => 'secrete', :ks_heat_public_host => '10.0.0.1', :ks_heat_public_proto => 'http', - :ks_internal_ceilometer_port => '8777', + :ks_heat_public_port => '8004', + :ks_heat_cfn_public_port => '8000', :ks_keystone_admin_host => '10.0.0.1', :ks_keystone_admin_port => '35357', :ks_keystone_internal_host => '10.0.0.1', @@ -66,19 +68,21 @@ describe 'privatecloud::identity' do :ks_neutron_password => 'secrete', :ks_neutron_public_host => '10.0.0.1', :ks_neutron_public_proto => 'http', + :ks_neutron_public_port => '9696', :ks_nova_admin_host => '10.0.0.1', :ks_nova_internal_host => '10.0.0.1', :ks_nova_password => 'secrete', :ks_nova_public_host => '10.0.0.1', :ks_nova_public_proto => 'http', :ks_nova_public_port => '8774', + :ks_ec2_public_port => '8773', :ks_swift_dispersion_password => 'secrete', :ks_swift_internal_host => '10.0.0.1', - :ks_swift_internal_port => '8080', :ks_swift_password => 'secrete', :ks_swift_public_host => '10.0.0.1', :ks_swift_public_port => '8080', :ks_swift_public_proto => 'http', + :ks_swift_admin_host => '10.0.0.1', :region => 'BigCloud', :verbose => true, :debug => true, @@ -139,13 +143,14 @@ describe 'privatecloud::identity' do it 'configure swift endpoints' do should contain_class('swift::keystone::auth').with( - :address => '10.0.0.1', - :password => 'secrete', - :port => '8080', - :public_address => '10.0.0.1', - :public_port => '8080', - :public_protocol => 'http', - :region => 'BigCloud' + :address => '10.0.0.1', + :password => 'secrete', + :public_address => '10.0.0.1', + :public_port => '8080', + :public_protocol => 'http', + :admin_address => '10.0.0.1', + :internal_address => '10.0.0.1', + :region => 'BigCloud' ) end @@ -173,6 +178,8 @@ describe 'privatecloud::identity' do :password => 'secrete', :public_address => '10.0.0.1', :public_protocol => 'http', + :compute_port => '8774', + :ec2_port => '8773', :region => 'BigCloud' ) end @@ -184,6 +191,7 @@ describe 'privatecloud::identity' do :password => 'secrete', :public_address => '10.0.0.1', :public_protocol => 'http', + :port => '9696', :region => 'BigCloud' ) end @@ -206,6 +214,7 @@ describe 'privatecloud::identity' do :password => 'secrete', :public_address => '10.0.0.1', :public_protocol => 'http', + :port => '9292', :region => 'BigCloud' ) end @@ -217,6 +226,7 @@ describe 'privatecloud::identity' do :password => 'secrete', :public_address => '10.0.0.1', :public_protocol => 'http', + :port => '8004', :region => 'BigCloud' ) end @@ -228,6 +238,7 @@ describe 'privatecloud::identity' do :password => 'secrete', :public_address => '10.0.0.1', :public_protocol => 'http', + :port => '8000', :region => 'BigCloud' ) end