Skip to content

Commit 48193ed

Browse files
committed
Add playbook to set SMT on worker nodes
1 parent 2fdcb58 commit 48193ed

File tree

3 files changed

+31
-0
lines changed

3 files changed

+31
-0
lines changed

kubetest2-tf/data/k8s-ansible/group_vars/all

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,11 @@ update_os_packages: false
1616
# kubeconfig on the local machine where kubeconfig content will be copied from the remote machine
1717
kubeconfig_path: kubeconfig
1818

19+
##### Node level SMT settings #####
20+
smt_level:
21+
workers: 4
22+
masters: 8
23+
1924
##### Runtime Configurations #####
2025
# cri-tools version
2126
critools_version: 1.29.0

kubetest2-tf/data/k8s-ansible/install-k8s-ha.yml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,15 @@
2222
- download-k8s
2323
- install-k8s
2424

25+
- name: Set desired SMT levels on nodes
26+
hosts: "{{ item.key }}"
27+
vars:
28+
smt_level: "{{ item.value }}"
29+
roles:
30+
- set-smt
31+
loop: "{{ smt_config | dict2items }}"
32+
33+
2534
- name: Install networking - calico
2635
hosts: masters
2736
roles:
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
- name: Resolve Kubernetes node name from inventory IP
2+
shell: |
3+
kubectl get nodes -o jsonpath="{range .items[*]}{.metadata.name} {.status.addresses[?(@.type=='InternalIP')].address}{'\n'}{end}" \
4+
--kubeconfig {{ kubeconfig_path }} | grep {{ inventory_hostname }} | awk '{print $1}'
5+
register: node_name
6+
delegate_to: "{{ groups['masters'][0] }}"
7+
8+
- name: Add SMT level label to node
9+
shell: |
10+
kubectl label node/{{ node_name.stdout }} feature.node.kubernetes.io/ppc64le.smtlevel="{{ smt_level }}" --overwrite
11+
delegate_to: "{{ groups['masters'][0] }}"
12+
13+
- name: Set SMT level
14+
shell: ppc64_cpu --smt={{ smt_level }}
15+
16+
- name: Restart kubelet to update the node's capacity at the cluster level
17+
shell: systemctl restart kubelet

0 commit comments

Comments
 (0)