Merge "Wait for cluster to settle in yum_update.sh"
[apex-tripleo-heat-templates.git] / puppet / extraconfig / all_nodes / neutron-midonet-all-nodes.yaml
1 heat_template_version: 2015-10-15
2
3 description: Configure hieradata for all MidoNet nodes
4
5 parameters:
6   # Parameters passed from the parent template
7   controller_servers:
8     type: json
9   compute_servers:
10     type: json
11   blockstorage_servers:
12     type: json
13   objectstorage_servers:
14     type: json
15   cephstorage_servers:
16     type: json
17
18   EnableZookeeperOnController:
19     label: Enable Zookeeper On Controller
20     description: 'Whether enable Zookeeper cluster on Controller'
21     type: boolean
22     default: false
23   EnableCassandraOnController:
24     label: Enable Cassandra On Controller
25     description: 'Whether enable Cassandra cluster on Controller'
26     type: boolean
27     default: false
28   CassandraStoragePort:
29     label: Cassandra Storage Port
30     description: 'The Cassandra port for inter-node communication'
31     type: string
32     default: '7000'
33   CassandraSslStoragePort:
34     label: Cassandra SSL Storage Port
35     description: 'The SSL port for encrypted communication. Unused unless enabled in encryption_options'
36     type: string
37     default: '7001'
38   CassandraClientPort:
39     label: Cassandra Client Port
40     description: 'Native Transport Port'
41     type: string
42     default: '9042'
43   CassandraClientPortThrift:
44     label: Cassandra Client Thrift Port
45     description: 'The port for the Thrift RPC service, which is used for client connections'
46     type: string
47     default: '9160'
48   TunnelZoneName:
49     label: Name of the Tunnelzone
50     description: 'Name of the tunnel zone used to tunnel packages'
51     type: string
52     default: 'tunnelzone_tripleo'
53   TunnelZoneType:
54     label: Type of the Tunnel
55     description: 'Type of the tunnels on the overlay. Choose between `gre` and `vxlan`'
56     type: string
57     default: 'vxlan'
58
59 resources:
60
61   NetworkMidoNetConfig:
62     type: OS::Heat::StructuredConfig
63     properties:
64       group: os-apply-config
65       config:
66         hiera:
67           datafiles:
68             midonet_data:
69               mapped_data:
70                 enable_zookeeper_on_controller: {get_param: EnableZookeeperOnController}
71                 enable_cassandra_on_controller: {get_param: EnableCassandraOnController}
72                 midonet_tunnelzone_name: {get_param: TunnelZoneName}
73                 midonet_tunnelzone_type: {get_param: TunnelZoneType}
74                 midonet_libvirt_qemu_data: |
75                     user = "root"
76                     group = "root"
77                     cgroup_device_acl = [
78                         "/dev/null", "/dev/full", "/dev/zero",
79                         "/dev/random", "/dev/urandom",
80                         "/dev/ptmx", "/dev/kvm", "/dev/kqemu",
81                         "/dev/rtc","/dev/hpet", "/dev/vfio/vfio",
82                         "/dev/net/tun"
83                     ]
84                 tripleo::cluster::cassandra::storage_port: {get_param: CassandraStoragePort}
85                 tripleo::cluster::cassandra::ssl_storage_port: {get_param: CassandraSslStoragePort}
86                 tripleo::cluster::cassandra::client_port: {get_param: CassandraClientPort}
87                 tripleo::cluster::cassandra::client_port_thrift: {get_param: CassandraClientPortThrift}
88                 tripleo::loadbalancer::midonet_api: true
89                 # Missed Neutron Puppet data
90                 neutron::agents::dhcp::interface_driver: 'neutron.agent.linux.interface.MidonetInterfaceDriver'
91                 neutron::agents::dhcp::dhcp_driver: 'midonet.neutron.agent.midonet_driver.DhcpNoOpDriver'
92                 neutron::plugins::midonet::midonet_api_port: 8081
93                 neutron::params::midonet_server_package: 'python-networking-midonet'
94
95                 # Make sure the l3 agent does not run
96                 l3_agent_service: false
97                 neutron::agents::l3::manage_service: false
98                 neutron::agents::l3::enabled: false
99
100
101   NetworkMidonetDeploymentControllers:
102     type: OS::Heat::StructuredDeploymentGroup
103     properties:
104       config: {get_resource: NetworkMidoNetConfig}
105       servers: {get_param: controller_servers}
106
107   NetworkMidonetDeploymentComputes:
108     type: OS::Heat::StructuredDeploymentGroup
109     properties:
110       config: {get_resource: NetworkMidoNetConfig}
111       servers: {get_param: compute_servers}
112
113 outputs:
114   config_identifier:
115     value:
116       list_join:
117         - ' '
118         - - {get_attr: [NetworkMidonetDeploymentControllers, deploy_stdouts]}
119           - {get_attr: [NetworkMidonetDeploymentComputes, deploy_stdouts]}