Add example file
To facilitate testing of openstack deployments
This commit is contained in:
parent
e6fe889a50
commit
b812305416
168
examples/site.pp
Normal file
168
examples/site.pp
Normal file
@ -0,0 +1,168 @@
|
||||
$db_host = 'db'
|
||||
$db_username = 'nova'
|
||||
$db_name = 'nova'
|
||||
$db_password = 'password'
|
||||
|
||||
$rabbit_user = 'nova'
|
||||
$rabbit_password = 'nova'
|
||||
$rabbit_vhost = '/'
|
||||
$rabbit_host = 'rabbitmq'
|
||||
$rabbit_port = '5672'
|
||||
|
||||
$glance_api_servers = 'glance:9292'
|
||||
$glance_host = 'glance'
|
||||
$glance_port = '9292'
|
||||
|
||||
$api_server = 'controller'
|
||||
|
||||
resources { 'nova_config':
|
||||
purge => true,
|
||||
}
|
||||
|
||||
node db {
|
||||
class { 'mysql::server':
|
||||
config_hash => {
|
||||
'bind_address' => '0.0.0.0'
|
||||
#'root_password' => 'foo',
|
||||
#'etc_root_password' => true
|
||||
}
|
||||
}
|
||||
class { 'mysql::ruby': }
|
||||
class { 'nova::db':
|
||||
password => $db_password,
|
||||
dbname => $db_name,
|
||||
user => $db_username,
|
||||
host => $clientcert,
|
||||
# does glance need access?
|
||||
allowed_hosts => ['controller', 'glance', 'compute'],
|
||||
}
|
||||
}
|
||||
|
||||
node controller {
|
||||
class { 'nova::controller':
|
||||
db_password => $db_password,
|
||||
db_name => $db_name,
|
||||
db_user => $db_username,
|
||||
db_host => $db_host,
|
||||
|
||||
rabbit_password => $rabbit_password,
|
||||
rabbit_port => $rabbit_port,
|
||||
rabbit_userid => $rabbit_user,
|
||||
rabbit_virtual_host => $rabbit_vhost,
|
||||
rabbit_host => $rabbit_host,
|
||||
|
||||
image_service => 'nova.image.glance.GlanceImageService',
|
||||
|
||||
glance_api_servers => $glance_api_servers,
|
||||
glance_host => $glance_host,
|
||||
glance_port => $glance_port,
|
||||
|
||||
libvirt_type => 'qemu',
|
||||
}
|
||||
}
|
||||
|
||||
node compute {
|
||||
class { 'nova::compute':
|
||||
api_server => $api_server,
|
||||
enabled => true,
|
||||
api_port => 8773,
|
||||
aws_address => '169.254.169.254',
|
||||
}
|
||||
class { 'nova::compute::libvirt':
|
||||
libvirt_type => 'qemu',
|
||||
flat_network_bridge => 'br100',
|
||||
flat_network_bridge_ip => '11.0.0.1',
|
||||
flat_network_bridge_netmask => '255.255.255.0',
|
||||
}
|
||||
class { "nova":
|
||||
verbose => $verbose,
|
||||
sql_connection => "mysql://${db_username}:${db_password}@${db_host}/${db_name}",
|
||||
image_service => 'nova.image.glance.GlanceImageService',
|
||||
glance_api_servers => $glance_api_servers,
|
||||
glance_host => $glance_host,
|
||||
glance_port => $glance_port,
|
||||
rabbit_host => $rabbit_host,
|
||||
rabbit_port => $rabbit_port,
|
||||
rabbit_userid => $rabbit_user,
|
||||
rabbit_password => $rabbit_password,
|
||||
rabbit_virtual_host => $rabbit_virtual_host,
|
||||
}
|
||||
}
|
||||
|
||||
node glance {
|
||||
# set up glance server
|
||||
class { 'glance::api':
|
||||
swift_store_user => 'foo_user',
|
||||
swift_store_key => 'foo_pass',
|
||||
}
|
||||
|
||||
class { 'glance::registry': }
|
||||
|
||||
}
|
||||
|
||||
node rabbitmq {
|
||||
class { 'nova::rabbitmq':
|
||||
userid => $rabbit_user,
|
||||
password => $rabbit_password,
|
||||
port => $rabbit_port,
|
||||
virtual_host => $rabbit_vhost,
|
||||
}
|
||||
}
|
||||
|
||||
node puppetmaster {
|
||||
class { 'concat::setup': }
|
||||
class { 'mysql::server':
|
||||
config_hash => {'bind_address' => '127.0.0.1'}
|
||||
}
|
||||
class { 'mysql::ruby': }
|
||||
package { 'activerecord':
|
||||
ensure => '2.3.5',
|
||||
provider => 'gem',
|
||||
}
|
||||
class { 'puppet::master':
|
||||
modulepath => '/vagrant/modules',
|
||||
manifest => '/vagrant/manifests/site.pp',
|
||||
storeconfigs => true,
|
||||
storeconfigs_dbuser => 'dan',
|
||||
storeconfigs_dbpassword => 'foo',
|
||||
storeconfigs_dbadapter => 'mysql',
|
||||
storeconfigs_dbserver => 'localhost',
|
||||
storeconfigs_dbsocket => '/var/run/mysqld/mysqld.sock',
|
||||
version => installed,
|
||||
puppet_master_package => 'puppet',
|
||||
package_provider => 'gem',
|
||||
autosign => 'true',
|
||||
certname => $clientcert,
|
||||
}
|
||||
}
|
||||
|
||||
node all {
|
||||
#
|
||||
# This manifest installs all of the nova
|
||||
# components on one node.
|
||||
class { 'mysql::server': }
|
||||
class { 'nova::all':
|
||||
db_password => 'password',
|
||||
db_name => 'nova',
|
||||
db_user => 'nova',
|
||||
db_host => 'localhost',
|
||||
|
||||
rabbit_password => 'rabbitpassword',
|
||||
rabbit_port => '5672',
|
||||
rabbit_userid => 'rabbit_user',
|
||||
rabbit_virtual_host => '/',
|
||||
rabbit_host => 'localhost',
|
||||
|
||||
image_service => 'nova.image.glance.GlanceImageService',
|
||||
|
||||
glance_host => 'localhost',
|
||||
glance_port => '9292',
|
||||
|
||||
libvirt_type => 'qemu',
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
node default {
|
||||
fail("could not find a matching node entry for ${clientcert}")
|
||||
}
|
Loading…
Reference in New Issue
Block a user