puppet-nova/manifests/api.pp

42 lines
1.2 KiB
Puppet

class nova::api(
$enabled = false,
$ensure_package = 'present',
$auth_strategy = 'keystone',
$auth_host = '127.0.0.1',
$auth_port = 35357,
$auth_protocol = 'http',
$admin_tenant_name = 'services',
$admin_user = 'nova',
$admin_password = 'passw0rd'
) {
include nova::params
$auth_uri = "${auth_protocol}://${auth_host}:${auth_port}/v2.0"
exec { 'initial-db-sync':
command => '/usr/bin/nova-manage db sync',
refreshonly => true,
require => [Package[$::nova::params::common_package_name], Nova_config['sql_connection']],
}
Package<| title == 'nova-api' |> -> Exec['initial-db-sync']
Package<| title == 'nova-api' |> -> File['/etc/nova/api-paste.ini']
nova::generic_service { 'api':
enabled => $enabled,
ensure_package => $ensure_package,
package_name => $::nova::params::api_package_name,
service_name => $::nova::params::api_service_name,
}
nova_config { 'api_paste_config': value => '/etc/nova/api-paste.ini'; }
file { '/etc/nova/api-paste.ini':
content => template('nova/api-paste.ini.erb'),
require => Class['nova'],
notify => Service['nova-api'],
}
}