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