Puppet Class: neutron::keystone::auth
- Defined in:
- manifests/keystone/auth.pp
Overview
Class: neutron::keystone::auth
Configures Neutron user, service and endpoint in Keystone.
Parameters
- password
-
(required) Password for Neutron user.
- auth_name
-
Username for Neutron service. Defaults to ‘neutron’.
-
Email for Neutron user. Defaults to ‘neutron@localhost’.
- tenant
-
Tenant for Neutron user. Defaults to ‘services’.
- configure_endpoint
-
Should Neutron endpoint be configured? Defaults to ‘true’.
- configure_user
-
Should the Neutron service user be configured? Defaults to ‘true’.
- configure_user_role
-
Should the admin role be configured for the service user? Defaults to ‘true’.
- service_name
-
Name of the service. Defaults to the value of auth_name.
- service_type
-
Type of service. Defaults to ‘network’.
- public_protocol
-
Protocol for public endpoint. Defaults to ‘http’.
- public_address
-
Public address for endpoint. Defaults to ‘127.0.0.1’.
- admin_protocol
-
Protocol for admin endpoint. Defaults to ‘http’.
- admin_address
-
Admin address for endpoint. Defaults to ‘127.0.0.1’.
- internal_protocol
-
Protocol for internal endpoint. Defaults to ‘http’.
- internal_address
-
Internal address for endpoint. Defaults to ‘127.0.0.1’.
- port
-
Port for endpoint. Defaults to ‘9696’.
- public_port
-
Port for public endpoint. Defaults to $port.
- region
-
Region for endpoint. Defaults to ‘RegionOne’.
62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 |
# File 'manifests/keystone/auth.pp', line 62
class neutron::keystone::auth (
$password,
$auth_name = 'neutron',
$email = 'neutron@localhost',
$tenant = 'services',
$configure_endpoint = true,
$configure_user = true,
$configure_user_role = true,
$service_name = undef,
$service_type = 'network',
$public_protocol = 'http',
$public_address = '127.0.0.1',
$admin_protocol = 'http',
$admin_address = '127.0.0.1',
$internal_protocol = 'http',
$internal_address = '127.0.0.1',
$port = '9696',
$public_port = undef,
$region = 'RegionOne'
) {
if $service_name == undef {
$real_service_name = $auth_name
} else {
$real_service_name = $service_name
}
if ! $public_port {
$real_public_port = $port
} else {
$real_public_port = $public_port
}
Keystone_endpoint["${region}/${real_service_name}"] ~> Service <| name == 'neutron-server' |>
if $configure_user {
keystone_user { $auth_name:
ensure => present,
password => $password,
email => $email,
tenant => $tenant,
}
}
if $configure_user_role {
Keystone_user_role["${auth_name}@${tenant}"] ~> Service <| name == 'neutron-server' |>
keystone_user_role { "${auth_name}@${tenant}":
ensure => present,
roles => 'admin',
}
}
keystone_service { $real_service_name:
ensure => present,
type => $service_type,
description => 'Neutron Networking Service',
}
if $configure_endpoint {
keystone_endpoint { "${region}/${real_service_name}":
ensure => present,
public_url => "${public_protocol}://${public_address}:${real_public_port}/",
internal_url => "${internal_protocol}://${internal_address}:${port}/",
admin_url => "${admin_protocol}://${admin_address}:${port}/",
}
}
}
|