Skip to content

Commit ff7b29c

Browse files
committed
updates for telcodocs-1013
1 parent 297c1e0 commit ff7b29c

11 files changed

+95
-91
lines changed

_topic_maps/_topic_map.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2394,7 +2394,7 @@ Topics:
23942394
- Name: Creating a performance profile
23952395
File: cnf-create-performance-profiles
23962396
Distros: openshift-origin,openshift-enterprise
2397-
- Name: Workload partitioning on single-node OpenShift
2397+
- Name: Workload partitioning in single-node OpenShift
23982398
File: sno-du-enabling-workload-partitioning-on-single-node-openshift
23992399
Distros: openshift-origin,openshift-enterprise
24002400
- Name: Requesting CRI-O and Kubelet profiling data by using the Node Observability Operator

modules/sno-du-enabling-workload-partitioning.adoc

Lines changed: 0 additions & 73 deletions
This file was deleted.

modules/ztp-checking-du-cluster-config.adoc

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -393,8 +393,8 @@ spec:
393393
- rcupdate.rcu_normal_after_boot=0
394394
- efi=runtime
395395
cpu:
396-
isolated: 2-51,54-103
397-
reserved: 0-1,52-53
396+
isolated: 4-103
397+
reserved: 0-3
398398
hugepages:
399399
defaultHugepagesSize: 1G
400400
pages:
@@ -564,7 +564,7 @@ $ oc get performanceprofile -o jsonpath="{ .items[0].spec.cpu.reserved }"
564564
.Example output
565565
[source,terminal]
566566
----
567-
0-1,52-53
567+
0-3
568568
----
569569
+
570570
[NOTE]
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
// Module included in the following assemblies:
2+
//
3+
// * scalability_and_performance/ztp_far_edge/ztp-reference-cluster-configuration-for-vdu.adoc
4+
5+
:_content-type: CONCEPT
6+
[id="ztp-workload-partitioning-sno_{context}"]
7+
= Workload partitioning in {sno} with GitOps ZTP
8+
9+
Workload partitioning configures {product-title} services, cluster management workloads, and infrastructure pods to run on a reserved number of host CPUs.
10+
11+
To configure workload partitioning with GitOps ZTP, you specify cluster management CPU resources using the `cpuset` field of the `SiteConfig` CR and the `reserved` field of the group `PolicyGenTemplate` CR.
12+
The GitOps ZTP pipeline uses these values to populate the required fields in the workload partitioning `MachineConfig` CR (`cpuset`) and the `PerformanceProfile` CR (`reserved`) that configure the {sno} cluster.
13+
14+
* The workload partitioning `MachineConfig` CR pins the {product-title} infrastructure pods to a defined `cpuset` configuration.
15+
* The `PerformanceProfile` CR pins the systemd services to the reserved CPUs.
16+
17+
[IMPORTANT]
18+
====
19+
The value for the `reserved` field specified in the `PerformanceProfile` custom resource (CR) must match the `cpuset` field in the workload partitioning `MachineConfig` CR.
20+
====

modules/ztp-sno-du-enabling-workload-partitioning.adoc

Lines changed: 48 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ include::snippets/ztp-02-master-workload-partitioning.adoc[leveloffset=+1]
2424
[crio.runtime.workloads.management]
2525
activation_annotation = "target.workload.openshift.io/management"
2626
annotation_prefix = "resources.workload.openshift.io"
27-
resources = { "cpushares" = 0, "cpuset" = "0-1,52-53" } <1>
27+
resources = { "cpushares" = 0, "cpuset" = "0-3" } <1>
2828
----
2929
<1> The `CPUs` value varies based on the installation.
3030
+
@@ -36,8 +36,54 @@ If Hyper-Threading is enabled, specify both threads for each core. The `CPUs` va
3636
----
3737
{
3838
"management": {
39-
"cpuset": "0-1,52-53" <1>
39+
"cpuset": "0-3" <1>
4040
}
4141
}
4242
----
4343
<1> The `cpuset` must match the `CPUs` value in `/etc/crio/crio.conf.d/01-workload-partitioning`.
44+
45+
.Verification
46+
47+
Check that the applications and cluster system CPU pinning is correct. Run the following commands:
48+
49+
. Open a remote shell connection to the managed cluster:
50+
+
51+
[source,terminal]
52+
----
53+
$ oc debug node/example-sno-1
54+
----
55+
56+
. Check that the user applications CPU pinning is correct:
57+
+
58+
[source,terminal]
59+
----
60+
sh-4.4# pgrep ovn | while read i; do taskset -cp $i; done
61+
----
62+
+
63+
.Example output
64+
[source,terminal]
65+
----
66+
pid 8481's current affinity list: 0-3
67+
pid 8726's current affinity list: 0-3
68+
pid 9088's current affinity list: 0-3
69+
pid 9945's current affinity list: 0-3
70+
pid 10387's current affinity list: 0-3
71+
pid 12123's current affinity list: 0-3
72+
pid 13313's current affinity list: 0-3
73+
----
74+
75+
. Check that the system applications CPU pinning is correct:
76+
+
77+
[source,terminal]
78+
----
79+
sh-4.4# pgrep systemd | while read i; do taskset -cp $i; done
80+
----
81+
+
82+
.Example output
83+
[source,terminal]
84+
----
85+
pid 1's current affinity list: 0-3
86+
pid 938's current affinity list: 0-3
87+
pid 962's current affinity list: 0-3
88+
pid 1197's current affinity list: 0-3
89+
----

scalability_and_performance/sno-du-enabling-workload-partitioning-on-single-node-openshift.adoc

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
:_content-type: ASSEMBLY
22
[id="sno-du-enabling-workload-partitioning-on-single-node-openshift"]
3-
= Workload partitioning on {sno}
3+
= Workload partitioning in {sno}
44
include::_attributes/common-attributes.adoc[]
55
:context: sno-du-enabling-workload-partitioning-on-single-node-openshift
66

@@ -23,4 +23,7 @@ When applying workload partitioning, use the Node Tuning Operator to implement t
2323
Workload partitioning introduces a new extended resource of `<workload-type>.workload.openshift.io/cores`
2424
for each defined CPU pool, or workload-type. Kubelet advertises these new resources and CPU requests by pods allocated to the pool are accounted for within the corresponding resource rather than the typical `cpu` resource. When workload partitioning is enabled, the `<workload-type>.workload.openshift.io/cores` resource allows access to the CPU capacity of the host, not just the default CPU pool.
2525

26-
include::modules/sno-du-enabling-workload-partitioning.adoc[leveloffset=+1]
26+
[role="_additional-resources"]
27+
.Additional resources
28+
29+
* For the recommended workload partitioning configuration for {sno} clusters, see xref:../scalability_and_performance/ztp_far_edge/ztp-reference-cluster-configuration-for-vdu.adoc#ztp-sno-du-enabling-workload-partitioning_sno-configure-for-vdu[Workload partitioning].

scalability_and_performance/ztp_far_edge/ztp-manual-install.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ include::modules/ztp-generating-install-and-config-crs-manually.adoc[leveloffset
2323
[role="_additional-resources"]
2424
.Additional resources
2525

26-
* xref:../../scalability_and_performance/ztp_far_edge/ztp-manual-install.adoc#ztp-manually-install-a-single-managed-cluster_ztp-manual-install[Installing a single managed cluster]
26+
* xref:../../scalability_and_performance/ztp_far_edge/ztp-reference-cluster-configuration-for-vdu.adoc#ztp-sno-du-enabling-workload-partitioning_sno-configure-for-vdu[Workload partitioning]
2727
2828
* xref:../../installing/installing_bare_metal_ipi/ipi-install-installation-workflow.adoc#bmc-addressing_ipi-install-installation-workflow[BMC addressing]
2929

scalability_and_performance/ztp_far_edge/ztp-reference-cluster-configuration-for-vdu.adoc

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,13 @@ include::modules/ztp-du-host-firmware-requirements.adoc[leveloffset=+1]
2323

2424
include::modules/ztp-managed-cluster-network-prereqs.adoc[leveloffset=+1]
2525

26+
include::modules/ztp-enabling-workload-partitioning-sno.adoc[leveloffset=+1]
27+
28+
[role="_additional-resources"]
29+
.Additional resources
30+
31+
* For the recommended {sno} workload partitioning configuration, see xref:../../scalability_and_performance/ztp_far_edge/ztp-reference-cluster-configuration-for-vdu.adoc#ztp-sno-du-enabling-workload-partitioning_sno-configure-for-vdu[Workload partitioning].
32+
2633
[id="ztp-sno-install-time-cluster-config"]
2734
== Recommended installation-time cluster configurations
2835

snippets/ztp-02-master-workload-partitioning.adoc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,14 @@ spec:
1515
storage:
1616
files:
1717
- contents:
18-
source: data:text/plain;charset=utf-8;base64,W2NyaW8ucnVudGltZS53b3JrbG9hZHMubWFuYWdlbWVudF0KYWN0aXZhdGlvbl9hbm5vdGF0aW9uID0gInRhcmdldC53b3JrbG9hZC5vcGVuc2hpZnQuaW8vbWFuYWdlbWVudCIKYW5ub3RhdGlvbl9wcmVmaXggPSAicmVzb3VyY2VzLndvcmtsb2FkLm9wZW5zaGlmdC5pbyIKcmVzb3VyY2VzID0geyAiY3B1c2hhcmVzIiA9IDAsICJjcHVzZXQiID0gIjAtMSw1Mi01MyIgfQo=
18+
source: data:text/plain;charset=utf-8;base64,W2NyaW8ucnVudGltZS53b3JrbG9hZHMubWFuYWdlbWVudF0KYWN0aXZhdGlvbl9hbm5vdGF0aW9uID0gInRhcmdldC53b3JrbG9hZC5vcGVuc2hpZnQuaW8vbWFuYWdlbWVudCIKYW5ub3RhdGlvbl9wcmVmaXggPSAicmVzb3VyY2VzLndvcmtsb2FkLm9wZW5zaGlmdC5pbyIKcmVzb3VyY2VzID0geyAiY3B1c2hhcmVzIiA9IDAsICJjcHVzZXQiID0gIjAtMyIgfQ==
1919
mode: 420
2020
overwrite: true
2121
path: /etc/crio/crio.conf.d/01-workload-partitioning
2222
user:
2323
name: root
2424
- contents:
25-
source: data:text/plain;charset=utf-8;base64,ewogICJtYW5hZ2VtZW50IjogewogICAgImNwdXNldCI6ICIwLTEsNTItNTMiCiAgfQp9Cg==
25+
source: data:text/plain;charset=utf-8;base64,ewogICJtYW5hZ2VtZW50IjogewogICAgImNwdXNldCI6ICIwLTMiCiAgfQp9
2626
mode: 420
2727
overwrite: true
2828
path: /etc/kubernetes/openshift-workload-pinning

snippets/ztp-example-siteconfig.adoc

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,8 @@ spec:
4343
bootMode: "UEFI" <10>
4444
rootDeviceHints:
4545
wwn: "0x11111000000asd123"
46-
cpuset: "0-1,52-53"
47-
nodeNetwork: <11>
46+
cpuset: "0-3" <11>
47+
nodeNetwork: <12>
4848
interfaces:
4949
- name: eno1
5050
macAddress: "AA:BB:CC:DD:EE:11"
@@ -56,7 +56,7 @@ spec:
5656
macAddress: "AA:BB:CC:DD:EE:11"
5757
ipv4:
5858
enabled: false
59-
ipv6: <12>
59+
ipv6: <13>
6060
enabled: true
6161
address:
6262
- ip: 1111:2222:3333:4444::aaaa:1
@@ -84,5 +84,6 @@ spec:
8484
<8> Applies to all cluster types. Specifies the BMC address. ZTP supports iPXE and virtual media booting by using Redfish or IPMI protocols.
8585
<9> Create the `bmh-secret` CR that specifies the BMC credentials. Use the same namespace as the `SiteConfig` CR.
8686
<10> Use `UEFISecureBoot` to enable secure boot on the host.
87-
<11> Specifies the network settings for the node.
88-
<12> Configures the IPv6 address for the host. For {sno} clusters with static IP addresses, the node-specific API and Ingress IPs should be the same.
87+
<11> `cpuset` should match the value set in the cluster `PerformanceProfile` CR `.spec.cpu.reserved` field for workload partitioning.
88+
<12> Specifies the network settings for the node.
89+
<13> Configures the IPv6 address for the host. For {sno} clusters with static IP addresses, the node-specific API and Ingress IPs should be the same.

0 commit comments

Comments
 (0)