Update BMRA to v2.0
[kuberef.git] / playbooks / roles / bmra-config / templates / all.j2
1 ##
2 ##   Copyright (c) 2020 Intel Corporation.
3 ##
4 ##   Licensed under the Apache License, Version 2.0 (the "License");
5 ##   you may not use this file except in compliance with the License.
6 ##   You may obtain a copy of the License at
7 ##
8 ##       http://www.apache.org/licenses/LICENSE-2.0
9 ##
10 ##   Unless required by applicable law or agreed to in writing, software
11 ##   distributed under the License is distributed on an "AS IS" BASIS,
12 ##   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 ##   See the License for the specific language governing permissions and
14 ##   limitations under the License.
15 ##
16 ---
17 ## BMRA primary playbook variables ##
18
19 # Kubernetes version
20 kubernetes: true
21 kube_version: v1.18.8
22 #kube_version: v1.17.11
23 #kube_version: v1.16.14
24
25 # Run system-wide package update (apt dist-upgrade, yum update, ...)
26 # Note: enabling this may lead to unexpected results
27 # Tip: you can set this per host using host_vars
28 update_all_packages: false
29
30 # Node Feature Discovery
31 nfd_enabled: {{ bmra.features.nfd }}
32 nfd_build_image_locally: false
33 nfd_namespace: kube-system
34 nfd_sleep_interval: 60s
35
36 # Intel CPU Manager for Kubernetes
37 cmk_enabled: {{ bmra.features.cmk.enable }}
38 cmk_namespace: kube-system
39 cmk_use_all_hosts: false # 'true' will deploy CMK on the controller nodes too
40 #cmk_hosts_list: node1,node2 # allows to control where CMK nodes will run, leave this option commented out to deploy on all K8s nodes
41 cmk_shared_num_cores: {{ bmra.features.cmk.num_shared_cores }} # number of CPU cores to be assigned to the "shared" pool on each of the nodes
42 cmk_exclusive_num_cores: {{ bmra.features.cmk.num_exclusive_cores }} # number of CPU cores to be assigned to the "exclusive" pool on each of the nodes
43 # cmk_shared_mode: packed # choose between: packed, spread, default: packed
44 # cmk_exclusive_mode: packed # choose between: packed, spread, default: packed
45
46 # Native CPU Manager (Kubernetes built-in)
47 # Note: Enabling CMK and built-in CPU Manager is not recommended.
48 # Setting this option as "true" enables the "static" policy, otherwise the default "none" policy is used.
49 native_cpu_manager_enabled: false
50 # Amount of CPU cores that will be reserved for the housekeeping (2000m = 2000 millicores = 2 cores)
51 native_cpu_manager_system_reserved_cpus: 2000m
52 # Amount of CPU cores that will be reserved for Kubelet
53 native_cpu_manager_kube_reserved_cpus: 1000m
54 # Explicit list of the CPUs reserved from pods scheduling.
55 # Note: Supported only with kube_version 1.17 and newer, overrides native_cpu_manager_system_reserved_cpus and native_cpu_manager_kube_reserved_cpus.
56 #native_cpu_manager_reserved_cpus: "0,1,2"
57 # Note: All reamining unreserved CPU cores will be consumed by the workloads.
58
59 # Enable Kubernetes built-in Topology Manager
60 topology_manager_enabled: {{ bmra.features.topology_manager.enable }}
61 # There are four supported policies: none, best-effort, restricted, single-numa-node.
62 topology_manager_policy: "{{ bmra.features.topology_manager.policy }}"
63
64 # Intel SRIOV Network Device Plugin
65 sriov_net_dp_enabled: {{ bmra.features.sriov_net_dp }}
66 sriov_net_dp_namespace: kube-system
67 # whether to build and store image locally or use one from public external registry
68 sriov_net_dp_build_image_locally: false
69 # SR-IOV network device plugin configuration.
70 # For more information on supported configuration refer to: https://github.com/intel/sriov-network-device-plugin#configurations
71 sriovdp_config_data: |
72     {
73         "resourceList": [{
74                 "resourceName": "intel_sriov_netdevice",
75                 "selectors": {
76                     "vendors": ["8086"],
77                     "devices": ["154c", "10ed", "1889"],
78                     "drivers": ["iavf", "ixgbevf"]
79                 }
80             },
81             {
82                 "resourceName": "intel_sriov_dpdk_700_series",
83                 "selectors": {
84                     "vendors": ["8086"],
85                     "devices": ["154c", "10ed"],
86                     "drivers": ["vfio-pci"]
87                 }
88             },
89             {
90                 "resourceName": "intel_sriov_dpdk_800_series",
91                 "selectors": {
92                     "vendors": ["8086"],
93                     "devices": ["1889"],
94                     "drivers": ["vfio-pci"]
95                 }
96             }
97         ]
98     }
99
100 # Intel QAT Device Plugin for Kubernetes
101 qat_dp_enabled: false
102 qat_dp_namespace: kube-system
103
104 # Intel GPU Device Plugin for Kubernetes
105 gpu_dp_enabled: false
106 gpu_dp_namespace: kube-system
107
108 # Intel Telemetry Aware Scheduling
109 tas_enabled: {{ bmra.features.tas.enable }}
110 tas_namespace: monitoring
111 # create and enable TAS demonstration policy: [true, false]
112 tas_enable_demo_policy: {{ bmra.features.tas.demo_policy }}
113
114 # Create reference net-attach-def objects
115 example_net_attach_defs:
116   userspace_ovs_dpdk: false # Update to match host_vars CNI configuration
117   userspace_vpp: false # Update to match host_vars CNI configuration
118   sriov_net_dp: {{ bmra.features.sriov_net_dp }} # Update to match host_vars CNI configuration
119
120 ## Proxy configuration ##
121 #http_proxy: "http://proxy.example.com:1080"
122 #https_proxy: "http://proxy.example.com:1080"
123 #additional_no_proxy: ".example.com"
124
125 # (Ubuntu only) disables DNS stub listener which may cause issues on Ubuntu
126 dns_disable_stub_listener: false
127
128 # Kubernetes cluster name, also will be used as DNS domain
129 cluster_name: cluster.local
130
131 ## Kubespray variables ##
132
133 # default network plugins and kube-proxy configuration
134 kube_network_plugin_multus: true
135 multus_version: v3.4.2
136 kube_network_plugin: flannel
137 kube_pods_subnet: 10.244.0.0/16
138 kube_service_addresses: 10.233.0.0/18
139 kube_proxy_mode: iptables
140
141 # please leave it set to "true", otherwise Intel BMRA features deployed as Helm charts won't be installed
142 helm_enabled: true
143
144 # Docker registry running on the cluster allows us to store images not avaialble on Docker Hub, e.g. CMK
145 registry_local_address: "localhost:30500"
146
147 # Enable Pod Security Policy. This option enables PSP admission controller and creates minimal set of rules.
148 psp_enabled: {{ bmra.features.psp }}
149
150 # Set image pull policy to Always. Pulls images prior to starting containers. Valid credentials must be configured.
151 always_pull_enabled: true
152
153 # Telemetry configuration
154 collectd_scrap_interval: 30