-
Notifications
You must be signed in to change notification settings - Fork 21
/
provision.pp
57 lines (55 loc) · 2.86 KB
/
provision.pp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
# The puppet module to set up a Contrail Config server
class openstack::profile::provision {
require ::openstack::profile::keystone
$internal_vip = $::contrail::params::internal_vip
$contrail_internal_vip = $::contrail::params::contrail_internal_vip
if ($contrail_internal_vip != "" and $contrail_internal_vip != undef) {
$contrail_controller_address_api = $contrail_internal_vip
$contrail_controller_address_management = $contrail_internal_vip
} elsif ($internal_vip != "" and $internal_vip != undef) {
$contrail_controller_address_api = $::openstack::config::controller_address_api
$contrail_controller_address_management = $::openstack::config::controller_address_management
} else {
$contrail_controller_address_api = $::contrail::params::config_ip_list[0]
$contrail_controller_address_management = $::contrail::params::config_ip_list[0]
}
$tenants = $::openstack::config::keystone_tenants
$users = $::openstack::config::keystone_users
class { 'keystone::endpoint':
public_address => $::openstack::config::controller_address_api,
admin_address => $::openstack::config::controller_address_management,
internal_address => $::openstack::config::controller_address_management,
region => $::openstack::config::region,
} ->
class { '::keystone::roles::admin':
email => $::openstack::config::keystone_admin_email,
password => $::openstack::config::keystone_admin_password,
admin_tenant => 'admin',
} ->
class { '::cinder::keystone::auth':
password => $::openstack::config::cinder_password,
public_address => $::openstack::config::controller_address_api,
admin_address => $::openstack::config::controller_address_management,
internal_address => $::openstack::config::controller_address_management,
region => $::openstack::config::region,
} ->
class { '::openstack::profile::glance::auth':
}
class { '::nova::keystone::auth':
password => $::openstack::config::nova_password,
public_address => $::openstack::config::controller_address_api,
admin_address => $::openstack::config::controller_address_management,
internal_address => $::openstack::config::controller_address_management,
region => $::openstack::config::region,
cinder => true,
}
class { '::neutron::keystone::auth':
password => $::openstack::config::neutron_password,
public_address => $contrail_controller_address_api,
admin_address => $contrail_controller_address_management,
internal_address => $contrail_controller_address_management,
region => $::openstack::config::region,
}
create_resources('openstack::resources::tenant', $tenants)
create_resources('openstack::resources::user', $users)
}