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
58
59
60
61
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
|
heat_template_version: 2015-10-15
description: Configure hieradata for all MidoNet nodes
parameters:
# Parameters passed from the parent template
controller_servers:
type: json
compute_servers:
type: json
blockstorage_servers:
type: json
objectstorage_servers:
type: json
cephstorage_servers:
type: json
EnableZookeeperOnController:
label: Enable Zookeeper On Controller
description: 'Whether enable Zookeeper cluster on Controller'
type: boolean
default: false
EnableCassandraOnController:
label: Enable Cassandra On Controller
description: 'Whether enable Cassandra cluster on Controller'
type: boolean
default: false
CassandraStoragePort:
label: Cassandra Storage Port
description: 'The Cassandra port for inter-node communication'
type: string
default: '7000'
CassandraSslStoragePort:
label: Cassandra SSL Storage Port
description: 'The SSL port for encrypted communication. Unused unless enabled in encryption_options'
type: string
default: '7001'
CassandraClientPort:
label: Cassandra Client Port
description: 'Native Transport Port'
type: string
default: '9042'
CassandraClientPortThrift:
label: Cassandra Client Thrift Port
description: 'The port for the Thrift RPC service, which is used for client connections'
type: string
default: '9160'
TunnelZoneName:
label: Name of the Tunnelzone
description: 'Name of the tunnel zone used to tunnel packages'
type: string
default: 'tunnelzone_tripleo'
TunnelZoneType:
label: Type of the Tunnel
description: 'Type of the tunnels on the overlay. Choose between `gre` and `vxlan`'
type: string
default: 'vxlan'
resources:
NetworkMidoNetConfig:
type: OS::Heat::StructuredConfig
properties:
group: os-apply-config
config:
hiera:
datafiles:
midonet_data:
mapped_data:
enable_zookeeper_on_controller: {get_param: EnableZookeeperOnController}
enable_cassandra_on_controller: {get_param: EnableCassandraOnController}
midonet_tunnelzone_name: {get_param: TunnelZoneName}
midonet_tunnelzone_type: {get_param: TunnelZoneType}
midonet_libvirt_qemu_data: |
user = "root"
group = "root"
cgroup_device_acl = [
"/dev/null", "/dev/full", "/dev/zero",
"/dev/random", "/dev/urandom",
"/dev/ptmx", "/dev/kvm", "/dev/kqemu",
"/dev/rtc","/dev/hpet", "/dev/vfio/vfio",
"/dev/net/tun"
]
tripleo::cluster::cassandra::storage_port: {get_param: CassandraStoragePort}
tripleo::cluster::cassandra::ssl_storage_port: {get_param: CassandraSslStoragePort}
tripleo::cluster::cassandra::client_port: {get_param: CassandraClientPort}
tripleo::cluster::cassandra::client_port_thrift: {get_param: CassandraClientPortThrift}
tripleo::haproxy::midonet_api: true
# Missed Neutron Puppet data
neutron::agents::dhcp::interface_driver: 'neutron.agent.linux.interface.MidonetInterfaceDriver'
neutron::agents::dhcp::dhcp_driver: 'midonet.neutron.agent.midonet_driver.DhcpNoOpDriver'
neutron::plugins::midonet::midonet_api_port: 8081
neutron::params::midonet_server_package: 'python-networking-midonet'
# Make sure the l3 agent does not run
l3_agent_service: false
neutron::agents::l3::manage_service: false
neutron::agents::l3::enabled: false
NetworkMidonetDeploymentControllers:
type: OS::Heat::StructuredDeploymentGroup
properties:
config: {get_resource: NetworkMidoNetConfig}
servers: {get_param: controller_servers}
NetworkMidonetDeploymentComputes:
type: OS::Heat::StructuredDeploymentGroup
properties:
config: {get_resource: NetworkMidoNetConfig}
servers: {get_param: compute_servers}
outputs:
config_identifier:
value:
list_join:
- ' '
- - {get_attr: [NetworkMidonetDeploymentControllers, deploy_stdouts]}
- {get_attr: [NetworkMidonetDeploymentComputes, deploy_stdouts]}
|