Skip to content

Commit 5a43cfa

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

File tree

3 files changed

+30
-0
lines changed

3 files changed

+30
-0
lines changed

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,9 @@ 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: 8
21+
1922
##### Runtime Configurations #####
2023
# cri-tools version
2124
critools_version: 1.29.0

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

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

25+
- name: Set desired SMT level across workers
26+
hosts:
27+
- masters
28+
- workers
29+
roles:
30+
- set-smt
31+
2532
- name: Install networking - calico
2633
hosts: masters
2734
roles:
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
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+
when: node_type == "worker"
13+
14+
- name: Set SMT level on this node
15+
shell: ppc64_cpu --smt={{ smt_level }}
16+
when: node_type == "worker"
17+
18+
- name: Restart kubelet to update the node's capacity at the cluster level
19+
shell: systemctl restart kubelet
20+
when: node_type == "worker"

0 commit comments

Comments
 (0)