Merge "Missing CephClientKey parameter in puppet-ceph-devel and storage-environment"
[apex-tripleo-heat-templates.git] / puppet / manifests / overcloud_controller.pp
1 # Copyright 2014 Red Hat, Inc.
2 # All Rights Reserved.
3 #
4 # Licensed under the Apache License, Version 2.0 (the "License"); you may
5 # not use this file except in compliance with the License. You may obtain
6 # a copy of the License at
7 #
8 #     http://www.apache.org/licenses/LICENSE-2.0
9 #
10 # Unless required by applicable law or agreed to in writing, software
11 # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12 # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13 # License for the specific language governing permissions and limitations
14 # under the License.
15
16 include ::tripleo::packages
17 include ::tripleo::firewall
18
19 $enable_load_balancer = hiera('enable_load_balancer', true)
20
21 if hiera('step') >= 2 {
22   # FIXME: this should only occur on the bootstrap host (ditto for db syncs)
23   # Create all the database schemas
24   include ::aodh::db::mysql
25
26 } #END STEP 2
27
28 if hiera('step') >= 4 {
29
30   $nova_ipv6 = hiera('nova::use_ipv6', false)
31   if $nova_ipv6 {
32     $memcached_servers = suffix(hiera('memcache_node_ips_v6'), ':11211')
33   } else {
34     $memcached_servers = suffix(hiera('memcache_node_ips'), ':11211')
35   }
36
37   class { '::nova' :
38     memcached_servers => $memcached_servers
39   }
40   include ::nova::config
41
42   # Aodh
43   class { '::aodh' :
44     database_connection => hiera('aodh_mysql_conn_string'),
45   }
46   include ::aodh::db::sync
47   include ::aodh::auth
48   include ::aodh::api
49   include ::aodh::wsgi::apache
50   include ::aodh::evaluator
51   include ::aodh::notifier
52   include ::aodh::listener
53   include ::aodh::client
54
55   hiera_include('controller_classes')
56
57 } #END STEP 4
58
59 if hiera('step') >= 5 {
60   $nova_enable_db_purge = hiera('nova_enable_db_purge', true)
61
62   if $nova_enable_db_purge {
63     include ::nova::cron::archive_deleted_rows
64   }
65 } #END STEP 5
66
67 $package_manifest_name = join(['/var/lib/tripleo/installed-packages/overcloud_controller', hiera('step')])
68 package_manifest{$package_manifest_name: ensure => present}