split out individual roles into multi_role.pp
This commit is contained in:
		
							
								
								
									
										129
									
								
								manifests/scenarios/multi_role.pp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										129
									
								
								manifests/scenarios/multi_role.pp
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,129 @@ | ||||
| # | ||||
| # this file contains instructions for installing | ||||
| # a multi-role deployments | ||||
| # | ||||
|  | ||||
| #### controller/compute mode settings #### | ||||
| $mysql_host    = '172.16.0.8' | ||||
| $keystone_host = '172.16.0.7' | ||||
| $glance_host   = '172.16.0.6' | ||||
| $nova_host     = '172.16.0.5' | ||||
|  | ||||
| node /mysql/ { | ||||
|  | ||||
|   class { 'openstack::db::mysql': | ||||
|     mysql_root_password  => $mysql_root_password, | ||||
|     keystone_db_password => $keystone_db_password, | ||||
|     glance_db_password   => $glance_db_password, | ||||
|     nova_db_password     => $nova_db_password, | ||||
|     cinder_db_password   => $cinder_db_password, | ||||
|     quantum_db_password  => $quantum_db_password, | ||||
|     allowed_hosts        => $allowed_hosts, | ||||
|   } | ||||
|  | ||||
| } | ||||
|  | ||||
| node /keystone/ { | ||||
|  | ||||
|   # TODO keystone logging seems to be totally broken in folsom | ||||
|   # this can be removed once it starts working | ||||
|   keystone_config { | ||||
|     'DEFAULT/log_config': ensure => absent, | ||||
|   } | ||||
|  | ||||
|   class { 'openstack::keystone': | ||||
|     db_host               => $mysql_host, | ||||
|     db_password           => $keystone_db_password, | ||||
|     admin_token           => $admin_token, | ||||
|     admin_email           => $admin_email, | ||||
|     admin_password        => $admin_password, | ||||
|     glance_user_password  => $glance_user_password, | ||||
|     nova_user_password    => $nova_user_password, | ||||
|     cinder_user_password  => $cinder_user_password, | ||||
|     quantum_user_password => $quantum_user_password, | ||||
|     public_address        => $keystone_host, | ||||
|     glance_public_address => $glance_host, | ||||
|     nova_public_address   => $nova_host, | ||||
|     verbose               => $verbose, | ||||
|   } | ||||
| } | ||||
|  | ||||
| node /glance/ { | ||||
|  | ||||
|   class { 'openstack::glance': | ||||
|     db_host               => $mysql_host, | ||||
|     glance_user_password  => $glance_user_password, | ||||
|     glance_db_password    => $glance_db_password, | ||||
|     keystone_host         => $keystone_host, | ||||
|     auth_uri              => "http://${keystone_host}:5000/", | ||||
|     verbose               => $verbose, | ||||
|   } | ||||
|  | ||||
|   class { 'openstack::auth_file': | ||||
|     admin_password       => $admin_password, | ||||
|     keystone_admin_token => $admin_token, | ||||
|     controller_node      => $keystone_host, | ||||
|   } | ||||
| } | ||||
|  | ||||
| node /nova-controller/ { | ||||
|  | ||||
|   # deploy a script that can be used to test nova | ||||
|   class { 'openstack::test_file': } | ||||
|  | ||||
|   class { 'openstack::nova::controller': | ||||
|     public_address     => '172.16.0.5', | ||||
|     public_interface   => $public_interface, | ||||
|     private_interface  => $private_interface, | ||||
|     db_host            => '172.16.0.8', | ||||
|     rabbit_password    => $rabbit_password, | ||||
|     nova_user_password => $nova_user_password, | ||||
|     nova_db_password   => $nova_db_password, | ||||
|     network_manager    => 'nova.network.manager.FlatDHCPManager', | ||||
|     verbose            => $verbose, | ||||
|     multi_host         => true, | ||||
|     glance_api_servers => '172.16.0.6:9292', | ||||
|     keystone_host      => '172.16.0.7', | ||||
|     #floating_range          => $floating_network_range, | ||||
|     #fixed_range             => $fixed_network_range, | ||||
|   } | ||||
|  | ||||
|   class { 'openstack::horizon': | ||||
|     secret_key            => $secret_key, | ||||
|     cache_server_ip       => '127.0.0.1', | ||||
|     cache_server_port     => '11211', | ||||
|     swift                 => false, | ||||
|     quantum               => false, | ||||
|     horizon_app_links     => undef, | ||||
|     keystone_host         => '172.16.0.7', | ||||
|     keystone_default_role => 'Member', | ||||
|   } | ||||
|  | ||||
|   class { 'openstack::auth_file': | ||||
|     admin_password       => $admin_password, | ||||
|     keystone_admin_token => $admin_token, | ||||
|     controller_node      => '172.16.0.7', | ||||
|   } | ||||
|  | ||||
| } | ||||
|  | ||||
| node /nova-compute/ { | ||||
|   fail('nova compute node has not been defined') | ||||
| } | ||||
|  | ||||
| node /cinder/ { | ||||
|   fail('the individual cinder role is not fully tested yet..') | ||||
|  | ||||
|   class { 'cinder': | ||||
|     rabbit_password => $rabbit_password, | ||||
|     # TODO what about the rabbit user? | ||||
|     rabbit_host     => $openstack_controller, | ||||
|     sql_connection  => "mysql://cinder:${cinder_db_password}@${openstack_controller}/cinder?charset=utf8", | ||||
|     verbose         => $verbose, | ||||
|   } | ||||
|  | ||||
|   class { 'cinder::volume': } | ||||
|  | ||||
|   class { 'cinder::volume::iscsi': } | ||||
|  | ||||
| } | ||||
| @@ -52,62 +52,6 @@ $nova_host     = '172.16.0.5' | ||||
| $openstack_controller = '172.16.0.3' | ||||
| #### controller/compute mode settings #### | ||||
|  | ||||
| node /mysql/ { | ||||
|  | ||||
|   class { 'openstack::db::mysql': | ||||
|     mysql_root_password  => $mysql_root_password, | ||||
|     keystone_db_password => $keystone_db_password, | ||||
|     glance_db_password   => $glance_db_password, | ||||
|     nova_db_password     => $nova_db_password, | ||||
|     cinder_db_password   => $cinder_db_password, | ||||
|     quantum_db_password  => $quantum_db_password, | ||||
|     allowed_hosts        => $allowed_hosts, | ||||
|   } | ||||
|  | ||||
| } | ||||
|  | ||||
| node /keystone/ { | ||||
|  | ||||
|   # TODO keystone logging seems to be totally broken in folsom | ||||
|   # this can be removed once it starts working | ||||
|   keystone_config { | ||||
|     'DEFAULT/log_config': ensure => absent, | ||||
|   } | ||||
|  | ||||
|   class { 'openstack::keystone': | ||||
|     db_host               => $mysql_host, | ||||
|     db_password           => $keystone_db_password, | ||||
|     admin_token           => $admin_token, | ||||
|     admin_email           => $admin_email, | ||||
|     admin_password        => $admin_password, | ||||
|     glance_user_password  => $glance_user_password, | ||||
|     nova_user_password    => $nova_user_password, | ||||
|     cinder_user_password  => $cinder_user_password, | ||||
|     quantum_user_password => $quantum_user_password, | ||||
|     public_address        => $keystone_host, | ||||
|     glance_public_address => $glance_host, | ||||
|     nova_public_address   => $nova_host, | ||||
|     verbose               => $verbose, | ||||
|   } | ||||
| } | ||||
|  | ||||
| node /glance/ { | ||||
|  | ||||
|   class { 'openstack::glance': | ||||
|     db_host               => $mysql_host, | ||||
|     glance_user_password  => $glance_user_password, | ||||
|     glance_db_password    => $glance_db_password, | ||||
|     keystone_host         => $keystone_host, | ||||
|     auth_uri              => "http://${keystone_host}:5000/", | ||||
|     verbose               => $verbose, | ||||
|   } | ||||
|  | ||||
|   class { 'openstack::auth_file': | ||||
|     admin_password       => $admin_password, | ||||
|     keystone_admin_token => $admin_token, | ||||
|     controller_node      => $keystone_host, | ||||
|   } | ||||
| } | ||||
|  | ||||
| node /openstack-controller/ { | ||||
|  | ||||
| @@ -221,70 +165,6 @@ node /openstack-controller/ { | ||||
|   } | ||||
| } | ||||
|  | ||||
| node /cinder/ { | ||||
|  | ||||
|  | ||||
|   class { 'cinder': | ||||
|     rabbit_password => $rabbit_password, | ||||
|     # TODO what about the rabbit user? | ||||
|     rabbit_host     => $openstack_controller, | ||||
|     sql_connection  => "mysql://cinder:${cinder_db_password}@${openstack_controller}/cinder?charset=utf8", | ||||
|     verbose         => $verbose, | ||||
|   } | ||||
|  | ||||
|   class { 'cinder::volume': } | ||||
|  | ||||
|   class { 'cinder::volume::iscsi': } | ||||
|  | ||||
| } | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| node /nova-controller/ { | ||||
|  | ||||
|   # deploy a script that can be used to test nova | ||||
|   class { 'openstack::test_file': } | ||||
|  | ||||
| #  class { 'nova::volume': enabled => true } | ||||
| #  class { 'nova::volume::iscsi': } | ||||
|  | ||||
|   class { 'openstack::nova::controller': | ||||
|     public_address     => '172.16.0.5', | ||||
|     public_interface   => $public_interface, | ||||
|     private_interface  => $private_interface, | ||||
|     db_host            => '172.16.0.8', | ||||
|     rabbit_password    => $rabbit_password, | ||||
|     nova_user_password => $nova_user_password, | ||||
|     nova_db_password   => $nova_db_password, | ||||
|     network_manager    => 'nova.network.manager.FlatDHCPManager', | ||||
|     verbose            => $verbose, | ||||
|     multi_host         => true, | ||||
|     glance_api_servers => '172.16.0.6:9292', | ||||
|     keystone_host      => '172.16.0.7', | ||||
|     #floating_range          => $floating_network_range, | ||||
|     #fixed_range             => $fixed_network_range, | ||||
|   } | ||||
|  | ||||
|   class { 'openstack::horizon': | ||||
|     secret_key            => $secret_key, | ||||
|     cache_server_ip       => '127.0.0.1', | ||||
|     cache_server_port     => '11211', | ||||
|     swift                 => false, | ||||
|     quantum               => false, | ||||
|     horizon_app_links     => undef, | ||||
|     keystone_host         => '172.16.0.7', | ||||
|     keystone_default_role => 'Member', | ||||
|   } | ||||
|  | ||||
|   class { 'openstack::auth_file': | ||||
|     admin_password       => $admin_password, | ||||
|     keystone_admin_token => $admin_token, | ||||
|     controller_node      => '172.16.0.7', | ||||
|   } | ||||
|  | ||||
| } | ||||
|  | ||||
| node /compute/ { | ||||
|  | ||||
|   # TODO not sure why this is required | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Dan Bode
					Dan Bode