class my_openstack::controller_node { include my_openstack::base_node package {'rubygems': ensure => present, } package {'selinux': ensure => present, } package {'lvm2': ensure => present, } physical_volume { '/dev/sdb': ensure => present, require => Package['lvm2'], } physical_volume { '/dev/sdc': ensure => present, require => Package['lvm2'], } volume_group { 'cinder-volumes': ensure => present, require => [Physical_volume['/dev/sdb'], Physical_volume['/dev/sdc']], physical_volumes => ['/dev/sdb', '/dev/sdc'], } class { 'openstack::controller': require => [ Class['my_openstack::base_node'], Volume_group['cinder-volumes'], Package['rubygems'], Package['selinux'] ], public_address => $ipaddress_eth0, public_interface => 'eth0', private_interface => 'eth1', internal_address => $ipaddress_eth0, floating_range => '192.168.1.192/26', fixed_range => '10.10.0.0/16', multi_host => false, network_manager => 'nova.network.manager.FlatDHCPManager', admin_email => 'some_email@gmail.com', admin_password => 'password', cinder_db_password => 'password', cinder_user_password => 'password', keystone_admin_token => 'password', keystone_db_password => 'password', glance_user_password => 'password', glance_db_password => 'password', nova_db_password => 'password', nova_user_password => 'password', rabbit_password => 'password', rabbit_user => 'openstack', secret_key => '67891', neutron => false, mysql_root_password => 'password', local_settings_template => 'my_openstack/local_settings.py.erb', } class { 'openstack::auth_file': admin_password => 'password', controller_node => 'controller.mydomain.com', keystone_admin_token => 'password', } include openstack::test_file file { '/var/lib/keystone/keystone.db': ensure => absent, } }