504ee087ec1dbc4764a2a86af0ce42fc62e0dc8f
[fuel.git] / mcp / reclass / classes / cluster / mcp-common-noha / openstack_control.yml.j2
1 ##############################################################################
2 # Copyright (c) 2018 Mirantis Inc., Enea AB and others.
3 # All rights reserved. This program and the accompanying materials
4 # are made available under the terms of the Apache License, Version 2.0
5 # which accompanies this distribution, and is available at
6 # http://www.apache.org/licenses/LICENSE-2.0
7 ##############################################################################
8 ---
9 classes:
10   - system.linux.system.lowmem
11   - service.nfs.server
12   - system.ceilometer.client
13   - system.ceilometer.client.neutron
14   - system.memcached.server.single
15   - system.rabbitmq.server.single
16   - system.rabbitmq.server.vhost.openstack
17   - system.keystone.server.wsgi
18   - system.keystone.server.single
19   - system.keystone.client.single
20   - system.keystone.client.v3.service.keystone
21   - system.keystone.client.service.nova21
22   - system.keystone.client.service.nova-placement
23   - system.keystone.client.service.cinder3
24   - system.keystone.client.service.ceilometer
25   - system.keystone.client.service.aodh
26   - system.keystone.client.service.gnocchi
27   - system.keystone.client.service.panko
28   - system.keystone.client.service.barbican
29   - system.glance.control.single
30   - system.nova.control.single
31   - system.cinder.control.single
32   - system.cinder.control.backend.lvm
33   - system.heat.server.single
34   - service.mysql.server.single
35   - system.galera.server.database.cinder
36   - system.galera.server.database.glance
37   - system.galera.server.database.neutron
38   - system.galera.server.database.heat
39   - system.galera.server.database.keystone
40   - system.galera.server.database.nova
41   - system.galera.server.database.aodh
42   - system.galera.server.database.gnocchi
43   - system.galera.server.database.panko
44   - system.galera.server.database.barbican
45   - system.barbican.server.single
46   - service.barbican.server.plugin.simple_crypto
47   - service.redis.server.single
48   - service.ceilometer.server.single
49   - system.ceilometer.server.backend.default
50   - system.aodh.server.single
51   - system.gnocchi.server.single
52   - service.panko.server.single
53   - system.apache.server.site.aodh
54   - system.apache.server.site.gnocchi
55   - system.apache.server.site.panko
56   - system.apache.server.site.barbican
57   - system.apache.server.single
58   - system.horizon.server.single
59   - service.haproxy.proxy.single
60 {%- if '-sfc-' in conf.MCP_DEPLOY_SCENARIO %}
61   - system.keystone.client.service.tacker
62   - system.galera.server.database.tacker
63   - service.tacker.server.single
64 {%- endif %}
65   - cluster.all-mcp-arch-common.backports
66   - cluster.mcp-common-noha.haproxy_openstack_api
67   - cluster.mcp-common-noha.openstack_control_pdf
68 parameters:
69   _param:
70     ceilometer_create_gnocchi_resources: 'True'
71     ceilometer_endpoint_status: absent
72     barbican_integration_enabled: 'false'
73   linux:
74     system:
75       package:
76         python-msgpack:
77           version: latest
78       sysfs:
79         transparent_hugepages:
80           kernel/mm/transparent_hugepage/enabled: never
81   keystone:
82     server:
83       admin_email: ${_param:admin_email}
84       openrc_extra:
85         volume_device_name: sdc
86       pkgs:
87         - keystone
88         - python-psycopg2
89         - python-mysqldb
90         - python-openstackclient
91         - python-tornado
92     client:
93       enabled: true
94       resources:
95         v3:
96           enabled: true
97           services:
98             ceilometer:
99               status: absent
100             # required only for Rally validation
101             cinder:
102               type: volume
103               description: OpenStack Volume Service
104       server:
105         identity:
106           admin:
107             api_version: 3
108         admin_identity:
109           admin:
110             api_version: ''
111             user_domain_name: 'Default'
112             project_domain_name: 'Default'
113   glance:
114     server:
115       storage:
116         engine: file
117       images: []
118       workers: 1
119       barbican:
120         enabled: ${_param:barbican_integration_enabled}
121       identity:
122         barbican_endpoint: ${barbican:server:host_href}
123       pkgs:
124         - glance
125       services:
126         - glance-api
127   cinder:
128     controller:
129       barbican:
130         enabled: ${_param:barbican_integration_enabled}
131       pkgs:
132         - cinder-api
133         - cinder-scheduler
134   nova:
135     controller:
136       metadata:
137         password: ${_param:metadata_password}
138       bind:
139         private_address: ${_param:cluster_local_address}
140         public_address: ${_param:cluster_vip_address}
141         novncproxy_port: 6080
142       vncproxy_url: http://${_param:cluster_vip_address}:6080
143       workers: 1
144       barbican:
145         enabled: ${_param:barbican_integration_enabled}
146       pkgs:
147         - nova-api
148         - nova-conductor
149         - nova-consoleauth
150         - nova-scheduler
151         - nova-novncproxy
152         - python3-novaclient
153   horizon:
154     server:
155       # yamllint disable-line rule:truthy
156       secure: False
157   heat:
158     server:
159       bind:
160         api_cfn:
161           address: ${_param:single_address}
162         api_cloudwatch:
163           address: ${_param:single_address}
164   mysql:
165     server:
166       version: '5.7'
167       bind:
168         address: ${_param:cluster_local_address}
169       key_buffer: 8
170       max_allowed_packet: 128
171       max_connections: 2048
172       thread_stack: 512
173       thread_cache_size: 12
174       query_cache_limit: 2
175       query_cache_size: 0
176   ceilometer:
177     server:
178       ~database: ~
179   redis:
180     server:
181       version: 5.0
182       appendfsync: 'no'
183       bind:
184         address: ${_param:single_address}
185   gnocchi:
186     common:
187       storage:
188         driver: redis
189         redis_url: redis://${_param:single_address}:6379
190         incoming:
191           driver: redis
192           redis_url: redis://${_param:single_address}:6379
193   nfs:
194     server:
195       share:
196         nova_instances:
197           path: /srv/nova/instances
198           host:
199             nova:
200               host: ${_param:single_address}/${_param:opnfv_net_mgmt_mask}
201               params:
202                 - rw
203                 - no_root_squash
204                 - async
205   neutron:
206     server:
207       vlan_aware_vms: true
208       root_helper_daemon: false
209       agent_down_time: 300
210       global_physnet_mtu: ${_param:interface_mtu}
211       backend:
212         external_mtu: ${_param:interface_mtu}
213       pkgs:
214         - neutron-server
215 {%- if '-bgpvpn-' in conf.MCP_DEPLOY_SCENARIO %}
216       bgp_vpn:
217         enabled: True
218         driver: opendaylight_v2
219 {%- endif %}
220   apache:
221     server:
222       bind:
223         listen_default_ports: false
224       site:
225         gnocchi: &wsgi_threads
226           wsgi:
227             threads: 1
228         barbican:
229           <<: *wsgi_threads
230         barbican_admin:
231           <<: *wsgi_threads
232       mod_wsgi: libapache2-mod-wsgi-py3
233   barbican:
234     server:
235       ks_notifications_enable: true
236       store:
237         software:
238           crypto_plugin: simple_crypto
239           store_plugin: store_crypto
240           global_default: true
241   rabbitmq:
242     server:
243       env_variables:
244         hostname: localhost