Newer
Older
class iaas::profile::nova::controller (
$password = undef,
$public_interface = hiera('iaas::public_interface', undef),
$admin_interface = hiera('iaas::admin_interface', undef),
$neutron_secret = hiera('iaas::profile::neutron::secret', undef),
$neutron_password = hiera('iaas::profile::neutron::password', undef),
$region = hiera('iaas::region', undef),
#VIP1
$endpoint_main = hiera('iaas::main_address', undef),
#VIP2
$endpoint_admin = hiera('iaas::admin_address', undef),
) {
include iaas::resources::connectors
##Leave commented if DB is not controller
# iaas::resources::database { 'nova': }
Quentin MACHU
committed
include iaas::profile::nova::common
Alessandro Costantini
committed
if $endpoint_admin == '' {
$real_endpoint_admin = $endpoint_main
}else{
$real_endpoint_admin = $endpoint_admin
}
class { '::nova::keystone::auth':
password => $password,
Alessandro Costantini
committed
admin_address => $real_endpoint_admin,
internal_address => $real_endpoint_admin,
region => $region,
}
class { '::nova::api':
enabled => true,
admin_password => $password,
auth_host => $endpoint_main,
auth_uri => "http://${endpoint_main}:5000/v2.0",
##identity_uri planned to be implemented in kilo
Alessandro Costantini
committed
# identity_uri => "http://${real_endpoint_admin}:35357",
neutron_metadata_proxy_shared_secret => $neutron_secret,
api_bind_address => $::facts["ipaddress_${admin_interface}"],
metadata_listen => $::facts["ipaddress_${admin_interface}"],
#keystone_ec2_url
keystone_ec2_url => $endpoint_main,
}
class { '::nova::vncproxy':
enabled => true,
host => $::facts["ipaddress_${admin_interface}"],
}
Alessandro Costantini
committed
# Set VNC-server variables
nova_config {
'DEFAULT/vncserver_listen' : value =>$::facts["ipaddress_${admin_interface}"];
'DEFAULT/vncserver_proxyclient_address' : value =>$::facts["ipaddress_${admin_interface}"];
}
#Set memcached variables for VNC console
class { '::memcached':
listen_ip => $::facts["ipaddress_${admin_interface}"],
}
class { [ 'nova::scheduler', 'nova::consoleauth', 'nova::conductor', 'nova::cert']:
enabled => true,
}
}