42 lines
1.2 KiB
Puppet
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'],
|
|
}
|
|
}
|