Skip to content

Commit 8e5d72d

Browse files
authored
Merge pull request #80786 from sr1kar99/1290-multiarch-tuning-operator-ga
OSDOCS#11845: Multiarch Tuning Operator TP to GA upgrade
2 parents b0b47e3 + 66f4471 commit 8e5d72d

File tree

4 files changed

+14
-32
lines changed

4 files changed

+14
-32
lines changed

modules/multi-arch-creating-podplacment-config.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,5 +46,5 @@ In this example, the `operator` field value is set to `Exists`. Therefore, the o
4646

4747
[IMPORTANT]
4848
====
49-
The namespaces starting with `openshift-`, `kube-`, and `hypershift-` are excluded.
49+
This Operator excludes pods in namespaces starting with `kube-`. It also excludes pods that are expected to be scheduled on control plane nodes.
5050
====

modules/multi-arch-deleting-podplacment-config-using-cli.adoc

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -39,13 +39,4 @@ $ oc get clusterpodplacementconfig
3939
[source,terminal]
4040
----
4141
No resources found
42-
----
43-
44-
.Next steps
45-
46-
* After deleting the `ClusterPodPlacementConfig` object, ensure that none of the pods are in the `Pending` phase due to the `SchedulingGated` reason. You can delete the scheduling gate from all of the gated pods by running the following command:
47-
+
48-
[source,terminal]
49-
----
50-
$ oc get pods -A -l multiarch.openshift.io/scheduling-gate=gated -o json | jq 'del(.items[].spec.schedulingGates[] | select(.name=="multiarch.openshift.io/scheduling-gate"))' | oc apply -f -
5142
----

modules/multi-arch-deleting-podplacment-config-using-web-console.adoc

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -34,12 +34,3 @@ You can delete this object by using the {product-title} web console.
3434
.Verification
3535

3636
* On the *Cluster Pod Placement Config* page, check that the `ClusterPodPlacementConfig` object has been deleted.
37-
38-
.Next steps
39-
40-
* After deleting the `ClusterPodPlacementConfig` object, ensure that none of the pods are in the `Pending` phase due to the `SchedulingGated` reason. You can delete the scheduling gate from all the gated pods by running the following command in the {oc-first}:
41-
+
42-
[source,terminal]
43-
----
44-
$ oc get pods -A -l multiarch.openshift.io/scheduling-gate=gated -o json | jq 'del(.items[].spec.schedulingGates[] | select(.name=="multiarch.openshift.io/scheduling-gate"))' | oc apply -f -
45-
----

post_installation_configuration/configuring-multi-arch-compute-machines/multiarch-tuning-operator.adoc

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -6,30 +6,30 @@ include::_attributes/common-attributes.adoc[]
66

77
toc::[]
88

9-
[IMPORTANT]
10-
====
11-
The Multiarch Tuning Operator is a Technology Preview feature only. Technology Preview features are not supported with Red{nbsp}Hat production service level agreements (SLAs) and might not be functionally complete. Red{nbsp}Hat does not recommend using them in production. These features provide early access to upcoming product features, enabling customers to test functionality and provide feedback during the development process.
12-
For more information about the support scope of Red{nbsp}Hat Technology Preview features, see link:https://access.redhat.com/support/offerings/techpreview/[Technology Preview Features Support Scope].
13-
====
9+
The Multiarch Tuning Operator optimizes workload management within multi-architecture clusters and in single-architecture clusters transitioning to multi-architecture environments.
1410

15-
The Multiarch Tuning Operator enhances the operational experience within multi-architecture clusters, and single-architecture clusters that are migrating to a multi-architecture compute configuration.
11+
Architecture-aware workload scheduling allows the scheduler to place pods onto nodes that match the architecture of the pod images.
1612

17-
This Operator implements the `clusterpodplacementconfigs` custom resource (CR) to support architecture-aware workload scheduling.
13+
By default, the scheduler does not consider the architecture of a pod's container images when determining the placement of new pods onto nodes.
1814

19-
To enable architecture-aware workload scheduling, you must create the `ClusterPodPlacementConfig` object. When you create the `ClusterPodPlacementConfig` object, this Operator deploys an operand.
15+
To enable architecture-aware workload scheduling, you must create the `ClusterPodPlacementConfig` object. When you create the `ClusterPodPlacementConfig` object, the Multiarch Tuning Operator deploys the necessary operands to support architecture-aware workload scheduling.
2016

21-
When a pod is created, the operand performs the following actions:
17+
When a pod is created, the operands perform the following actions:
2218

2319
. Add the `multiarch.openshift.io/scheduling-gate` scheduling gate that prevents the scheduling of the pod.
2420
. Compute a scheduling predicate that includes the supported architecture values for the `kubernetes.io/arch` label.
2521
. Integrate the scheduling predicate as a `nodeAffinity` requirement in the pod specification.
2622
. Remove the scheduling gate from the pod.
27-
28-
When the operand removes the scheduling gate, the pod enters the scheduling cycle. The workload is then scheduled on nodes based on the supported architectures.
29-
23+
3024
[IMPORTANT]
3125
====
32-
The Technology Preview version of the Multiarch Tuning Operator does not support clusters with restricted network scenarios.
26+
Note the following operand behaviors:
27+
28+
* If the `nodeSelector` field is already configured with the `kubernetes.io/arch` label for a workload, the operand does not update the `nodeAffinity` field for that workload.
29+
30+
* If the `nodeSelector` field is not configured with the `kubernetes.io/arch` label for a workload, the operand updates the `nodeAffinity` field for that workload. However, in that `nodeAffinity` field, the operand updates only the node selector terms that are not configured with the `kubernetes.io/arch` label.
31+
32+
* If the `nodeName` field is already set, the Multiarch Tuning Operator does not process the pod.
3333
====
3434

3535
//Installing Multiarch Tuning Operator

0 commit comments

Comments
 (0)