[docker] Add docker-compose definitions
[fuel.git] / mcp / reclass / classes / cluster / mcp-common-ha / infra / config.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 {%- import 'net_map.j2' as nm with context %}
9 ---
10 classes:
11   - system.linux.system.repo.saltstack.xenial
12   - system.reclass.storage.system.physical_control_cluster
13   - system.reclass.storage.system.openstack_control_cluster
14   - system.reclass.storage.system.openstack_proxy_cluster
15   - system.reclass.storage.system.openstack_database_cluster
16   - system.reclass.storage.system.openstack_message_queue_cluster
17   - system.reclass.storage.system.openstack_telemetry_cluster
18   # - system.reclass.storage.system.stacklight_log_cluster
19   # - system.reclass.storage.system.stacklight_monitor_cluster
20   # - system.reclass.storage.system.stacklight_telemetry_cluster
21   - cluster.all-mcp-arch-common.opnfv.lab_proxy_pdf
22   - cluster.all-mcp-arch-common.infra.config_pdf
23 parameters:
24   _param:
25     salt_master_host: ${_param:infra_config_deploy_address}
26     single_address: ${_param:infra_config_address}
27     deploy_address: ${_param:infra_config_deploy_address}
28     pxe_admin_address: ${_param:opnfv_infra_config_pxe_admin_address}
29     mcpcontrol_nic: ${_param:opnfv_fn_vm_primary_interface}
30     single_nic: ${_param:opnfv_fn_vm_secondary_interface}
31     pxe_admin_nic: ${_param:opnfv_fn_vm_tertiary_interface}
32   linux:
33     network:
34       interface:
35         mcpcontrol_int:
36           enabled: true
37           type: eth
38           proto: dhcp
39           name: ${_param:mcpcontrol_nic}
40         single:
41           enabled: true
42           type: eth
43           name: ${_param:single_nic}
44 {%- if conf.idf.fuel.jumphost.get('trunks', {}).get('mgmt', False) and (nm.vlan_mgmt | int > 0) %}
45           proto: manual
46         single_vlan:
47           enabled: true
48           type: vlan
49           name: ${_param:single_nic}.{{ nm.vlan_mgmt }}
50           use_interfaces:
51             - ${_param:single_nic}
52 {%- endif %}
53           proto: static
54           address: ${_param:single_address}
55           netmask: ${_param:opnfv_net_mgmt_mask}
56         pxe_admin_int:
57           enabled: true
58           type: eth
59           proto: static
60           name: ${_param:pxe_admin_nic}
61           address: ${_param:pxe_admin_address}
62           netmask: ${_param:opnfv_net_admin_mask}
63   salt:
64     master:
65       accept_policy: open_mode
66       file_recv: true
67       worker_threads: 8
68       command_timeout: 20
69   reclass:
70     storage:
71       node:
72         # NOTE: compute nodes definitions are defined in <all-mcp-arch-common/infra>
73         infra_kvm_node01:
74           params:
75             keepalived_vip_priority: 100
76             linux_system_codename: xenial
77             pxe_admin_address: ${_param:opnfv_infra_kvm_node01_pxe_admin_address}
78         infra_kvm_node02:
79 {%- if not conf.MCP_VCP %}
80           classes:
81             - cluster.mcp-common-ha.infra.kvm_novcp
82 {%- endif %}
83           params:
84             keepalived_vip_priority: 101
85             linux_system_codename: xenial
86             pxe_admin_address: ${_param:opnfv_infra_kvm_node02_pxe_admin_address}
87         infra_kvm_node03:
88           params:
89             keepalived_vip_priority: 102
90             linux_system_codename: xenial
91             pxe_admin_address: ${_param:opnfv_infra_kvm_node03_pxe_admin_address}
92         openstack_telemetry_node01:
93           params:
94             linux_system_codename: xenial
95             # create resources only from 1 controller
96             # to prevent race conditions
97             ceilometer_create_gnocchi_resources: true
98             redis_cluster_role: 'master'
99             pxe_admin_address: ${_param:opnfv_openstack_telemetry_node01_pxe_admin_address}
100         openstack_telemetry_node02:
101           params:
102             linux_system_codename: xenial
103             redis_cluster_role: 'slave'
104             pxe_admin_address: ${_param:opnfv_openstack_telemetry_node02_pxe_admin_address}
105         openstack_telemetry_node03:
106           params:
107             linux_system_codename: xenial
108             redis_cluster_role: 'slave'
109             pxe_admin_address: ${_param:opnfv_openstack_telemetry_node03_pxe_admin_address}
110         openstack_message_queue_node01:
111           params:
112             linux_system_codename: xenial
113             pxe_admin_address: ${_param:opnfv_openstack_message_queue_node01_pxe_admin_address}
114         openstack_message_queue_node02:
115           params:
116             linux_system_codename: xenial
117             pxe_admin_address: ${_param:opnfv_openstack_message_queue_node02_pxe_admin_address}
118         openstack_message_queue_node03:
119           params:
120             linux_system_codename: xenial
121             pxe_admin_address: ${_param:opnfv_openstack_message_queue_node03_pxe_admin_address}
122         openstack_proxy_node01:
123           params:
124             linux_system_codename: xenial
125             pxe_admin_address: ${_param:opnfv_openstack_proxy_node01_pxe_admin_address}
126         openstack_proxy_node02:
127           params:
128             linux_system_codename: xenial
129             pxe_admin_address: ${_param:opnfv_openstack_proxy_node02_pxe_admin_address}
130         # stacklight_log_node01:
131         #   classes:
132         #     - system.elasticsearch.client.single
133         # stacklight_monitor_node01:
134         #   classes:
135         #     - system.grafana.client.single
136         #     - system.kibana.client.single
137         openstack_control_node01:
138           classes:
139             - cluster.mcp-common-ha.openstack_control_init
140           params:
141             linux_system_codename: xenial
142             # NOTE: When VCP is present, external_address is not used
143             external_address: ${_param:openstack_proxy_node01_address}
144             pxe_admin_address: ${_param:opnfv_openstack_control_node01_pxe_admin_address}
145         openstack_control_node02:
146           params:
147             linux_system_codename: xenial
148             external_address: 0.0.0.0
149             pxe_admin_address: ${_param:opnfv_openstack_control_node02_pxe_admin_address}
150         openstack_control_node03:
151           params:
152             linux_system_codename: xenial
153             external_address: ${_param:openstack_proxy_node02_address}
154             pxe_admin_address: ${_param:opnfv_openstack_control_node03_pxe_admin_address}
155         openstack_database_node01:
156           classes:
157             - cluster.mcp-common-ha.openstack_database_init
158           params:
159             linux_system_codename: xenial
160             pxe_admin_address: ${_param:opnfv_openstack_database_node01_pxe_admin_address}
161         openstack_database_node02:
162           params:
163             linux_system_codename: xenial
164             pxe_admin_address: ${_param:opnfv_openstack_database_node02_pxe_admin_address}
165         openstack_database_node03:
166           params:
167             linux_system_codename: xenial
168             pxe_admin_address: ${_param:opnfv_openstack_database_node03_pxe_admin_address}