Skip to content
Snippets Groups Projects
controller.pp 2.1 KiB
Newer Older
  • Learn to ignore specific revisions
  • 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': }
    
      if $endpoint_admin == '' {
        $real_endpoint_admin = $endpoint_main
      }else{
        $real_endpoint_admin = $endpoint_admin
      }
    
    
      class { '::nova::keystone::auth':
        password => $password,
    
        public_address => $endpoint_main,
    
        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
    
    #    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}"],
    
    # 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}"],
      }
    
    
    Quentin MACHU's avatar
    Quentin MACHU committed
      class { [ 'nova::scheduler', 'nova::consoleauth', 'nova::conductor', 'nova::cert']: