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