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'
|
$openstack_controller = '172.16.0.3'
|
||||||
#### controller/compute mode settings ####
|
#### 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/ {
|
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/ {
|
node /compute/ {
|
||||||
|
|
||||||
# TODO not sure why this is required
|
# TODO not sure why this is required
|
||||||
|
|||||||
Reference in New Issue
Block a user