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