349d4f1c80464e2a87a8a30bdc24cc024372b501
[fuel.git] / mcp / reclass / classes / cluster / mcp-common-ha / infra / kvm.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.mcp.mirror.v1.openstack
12   - service.keepalived.cluster.single
13   - system.glusterfs.server.volume.glance
14   - system.glusterfs.server.volume.keystone
15   - system.glusterfs.server.cluster
16   - system.salt.control.virt
17   - system.salt.control.cluster.openstack_control_cluster
18   - system.salt.control.cluster.openstack_proxy_cluster
19   - system.salt.control.cluster.openstack_database_cluster
20   - system.salt.control.cluster.openstack_message_queue_cluster
21   - system.salt.control.cluster.openstack_telemetry_cluster
22   # - system.salt.control.cluster.stacklight_server_cluster
23   # - system.salt.control.cluster.stacklight_log_cluster
24   # - system.salt.control.cluster.stacklight_telemetry_cluster
25   - cluster.mcp-common-ha.glusterfs_repo
26   - cluster.mcp-common-ha.infra.kvm_pdf
27   - cluster.all-mcp-arch-common.opnfv.maas_proxy
28   - cluster.all-mcp-arch-common.opnfv.lab_proxy_pdf
29 parameters:
30   _param:
31     linux_system_codename: xenial
32     cluster_vip_address: ${_param:infra_kvm_address}
33     cluster_node01_address: ${_param:infra_kvm_node01_address}
34     cluster_node02_address: ${_param:infra_kvm_node02_address}
35     cluster_node03_address: ${_param:infra_kvm_node03_address}
36     keepalived_vip_interface: br-ctl
37     keepalived_vip_virtual_router_id: 69
38   linux:
39     system:
40       kernel:
41         boot_options:
42           - spectre_v2=off
43           - nopti
44         sysctl:
45           net.ipv4.ip_forward: 0
46   libvirt:
47     server:
48       service: libvirtd
49       config_sys: /etc/default/libvirtd
50       unix_sock_group: libvirt
51   salt:
52     control:
53       size:  # RAM 4096,8192,16384,32768,65536
54         # Default production sizing
55         openstack.control:
56           cpu: 4
57           ram: 12288
58           disk_profile: small
59           net_profile: default
60         openstack.database:
61           cpu: 4
62           ram: 6144
63           disk_profile: large
64           net_profile: default
65         openstack.message_queue:
66           cpu: 4
67           ram: 2048
68           disk_profile: small
69           net_profile: default
70         openstack.telemetry:
71           cpu: 2
72           ram: 3072
73           disk_profile: xxlarge
74           net_profile: default
75         # stacklight.log:
76         #   cpu: 2
77         #   ram: 4096
78         #   disk_profile: xxlarge
79         #   net_profile: default
80         # stacklight.server:
81         #   cpu: 2
82         #   ram: 4096
83         #   disk_profile: small
84         #   net_profile: default
85         # stacklight.telemetry:
86         #   cpu: 2
87         #   ram: 4096
88         #   disk_profile: xxlarge
89         #   net_profile: default
90         openstack.proxy:
91           cpu: 2
92           ram: 2048
93           disk_profile: small
94           net_profile: default_ext
95       cluster:
96         internal:
97           node:
98             mdb01: &salt_control_xenial_image_common_attr
99               image: ${_param:salt_control_xenial_image}
100 {%- if conf.nodes[nm.ctl01.idx].node.arch == 'aarch64' %}
101               machine: virt
102               cpu_mode: host-passthrough
103               loader:
104                 readonly: 'yes'
105                 type: pflash
106                 path: /usr/share/AAVMF/AAVMF_CODE.fd
107 {%- endif %}
108             mdb02:
109               <<: *salt_control_xenial_image_common_attr
110             mdb03:
111               <<: *salt_control_xenial_image_common_attr
112             ctl01:
113               <<: *salt_control_xenial_image_common_attr
114             ctl02:
115               <<: *salt_control_xenial_image_common_attr
116             ctl03:
117               <<: *salt_control_xenial_image_common_attr
118             dbs01:
119               <<: *salt_control_xenial_image_common_attr
120             dbs02:
121               <<: *salt_control_xenial_image_common_attr
122             dbs03:
123               <<: *salt_control_xenial_image_common_attr
124             msg01:
125               <<: *salt_control_xenial_image_common_attr
126             msg02:
127               <<: *salt_control_xenial_image_common_attr
128             msg03:
129               <<: *salt_control_xenial_image_common_attr
130             prx01:
131               <<: *salt_control_xenial_image_common_attr
132             prx02:
133               <<: *salt_control_xenial_image_common_attr
134               provider: kvm03.${_param:cluster_domain}
135   virt:
136     nic:
137       default:
138         eth1:
139           bridge: br-mgmt
140           model: virtio
141         eth0:
142           bridge: br-ctl
143           model: virtio
144       default_ext:
145         eth2:
146           bridge: br-mgmt
147           model: virtio
148         eth1:
149           bridge: br-ex
150           model: virtio
151         eth0:
152           bridge: br-ctl
153           model: virtio
154   glusterfs:
155     server:
156       service: glusterd
157       volumes:
158         nova_instances:
159           storage: /srv/glusterfs/nova_instances
160           replica: 3
161           bricks:
162             - ${_param:cluster_node01_address}:/srv/glusterfs/nova_instances
163             - ${_param:cluster_node02_address}:/srv/glusterfs/nova_instances
164             - ${_param:cluster_node03_address}:/srv/glusterfs/nova_instances
165           options:
166             cluster.readdir-optimize: 'True'
167             nfs.disable: 'True'
168             network.remote-dio: 'True'
169             cluster.favorite-child-policy: mtime
170             diagnostics.client-log-level: WARNING
171             diagnostics.brick-log-level: WARNING