From f491a793d8cbc0ec29f14e6dc62a13eb2bf14277 Mon Sep 17 00:00:00 2001 From: Michael Burke Date: Wed, 24 Apr 2024 17:03:40 -0400 Subject: [PATCH] cGroup v1 is deprecated in 4.16 --- installing/install_config/enabling-cgroup-v1.adoc | 3 +++ .../installing-openstack-nfv-preparing.adoc | 3 +++ ...g-nodes-for-low-latency-via-performanceprofile.adoc | 3 +++ modules/nodes-clusters-cgroups-2-install.adoc | 4 +++- modules/nodes-clusters-cgroups-2.adoc | 7 +++++-- modules/nodes-nodes-kernel-arguments.adoc | 10 ++++++++++ modules/telco-ran-crs-machine-configuration.adoc | 3 +++ modules/telco-ran-node-tuning-operator.adoc | 3 +++ nodes/clusters/nodes-cluster-cgroups-2.adoc | 7 +++++-- 9 files changed, 38 insertions(+), 5 deletions(-) diff --git a/installing/install_config/enabling-cgroup-v1.adoc b/installing/install_config/enabling-cgroup-v1.adoc index 573fb8989bb5..f9df5f7c689a 100644 --- a/installing/install_config/enabling-cgroup-v1.adoc +++ b/installing/install_config/enabling-cgroup-v1.adoc @@ -9,6 +9,9 @@ toc::[] As of {product-title} 4.14, {product-title} uses link:https://www.kernel.org/doc/html/latest/admin-guide/cgroup-v2.html[Linux control group version 2] (cgroup v2) in your cluster. If you are using cgroup v1 on {product-title} 4.13 or earlier, migrating to {product-title} 4.15 will not automatically update your cgroup configuration to version 2. A fresh installation of {product-title} 4.14 or later will use cgroup v2 by default. However, you can enable link:https://www.kernel.org/doc/html/latest/admin-guide/cgroup-v1/index.html[Linux control group version 1] (cgroup v1) upon installation. Enabling cgroup v1 in {product-title} disables all cgroup v2 controllers and hierarchies in your cluster. +:FeatureName: cgroup v1 +include::snippets/deprecated-feature.adoc[] + include::snippets/cgroupv2-vs-cgroupv1.adoc[] ifndef::openshift-origin[] diff --git a/installing/installing_openstack/installing-openstack-nfv-preparing.adoc b/installing/installing_openstack/installing-openstack-nfv-preparing.adoc index 41d7fe222733..9d60367b2eb3 100644 --- a/installing/installing_openstack/installing-openstack-nfv-preparing.adoc +++ b/installing/installing_openstack/installing-openstack-nfv-preparing.adoc @@ -19,6 +19,9 @@ You must configure {rh-openstack} before you install a cluster that uses SR-IOV When installing a cluster using SR-IOV, you must deploy clusters using cgroup v1. For more information, xref:../../installing/install_config/enabling-cgroup-v1.adoc#enabling-cgroup-v1[Enabling Linux control group version 1 (cgroup v1)]. +:FeatureName: cgroup v1 +include::snippets/deprecated-feature.adoc[] + include::modules/installation-osp-configuring-sr-iov.adoc[leveloffset=+2] [id="installing-openstack-nfv-preparing-tasks-ovs-dpdk"] diff --git a/modules/cnf-tuning-nodes-for-low-latency-via-performanceprofile.adoc b/modules/cnf-tuning-nodes-for-low-latency-via-performanceprofile.adoc index fdbf20e72290..8d9911d726cc 100644 --- a/modules/cnf-tuning-nodes-for-low-latency-via-performanceprofile.adoc +++ b/modules/cnf-tuning-nodes-for-low-latency-via-performanceprofile.adoc @@ -14,6 +14,9 @@ The performance profile lets you control latency tuning aspects of nodes that be You can use a performance profile to specify whether to update the kernel to kernel-rt, to allocate huge pages, and to partition the CPUs for performing housekeeping duties or running workloads. +:FeatureName: cgroup v1 +include::snippets/deprecated-feature.adoc[] + [NOTE] ==== You can manually create the `PerformanceProfile` object or use the Performance Profile Creator (PPC) to generate a performance profile. See the additional resources below for more information on the PPC. diff --git a/modules/nodes-clusters-cgroups-2-install.adoc b/modules/nodes-clusters-cgroups-2-install.adoc index 59edd1dc758c..f9a7a6b3bcf5 100644 --- a/modules/nodes-clusters-cgroups-2-install.adoc +++ b/modules/nodes-clusters-cgroups-2-install.adoc @@ -8,6 +8,9 @@ You can enable Linux control group version 1 (cgroup v1) when you install a cluster by creating installation manifests. +:FeatureName: cgroup v1 +include::snippets/deprecated-feature.adoc[] + .Procedure . Create or edit the `node.config` object to specify the `v1` cgroup: @@ -23,4 +26,3 @@ spec: ---- . Proceed with the installation as usual. - diff --git a/modules/nodes-clusters-cgroups-2.adoc b/modules/nodes-clusters-cgroups-2.adoc index d9bd01be9296..5d01e7f79e1f 100644 --- a/modules/nodes-clusters-cgroups-2.adoc +++ b/modules/nodes-clusters-cgroups-2.adoc @@ -16,7 +16,7 @@ endif::[] ifndef::openshift-origin[] ifdef::post[] -As of {product-title} 4.14, {product-title} uses link:https://www.kernel.org/doc/html/latest/admin-guide/cgroup-v2.html[Linux control group version 2] (cgroup v2) in your cluster. If you are using cgroup v1 on {product-title} 4.13 or earlier, migrating to {product-title} 4.14 or later will not automatically update your cgroup configuration to version 2. A fresh installation of {product-title} 4.14 or later will use cgroup v2 by default. However, you can enable link:https://www.kernel.org/doc/html/latest/admin-guide/cgroup-v1/index.html[Linux control group version 1] (cgroup v1) upon installation. +As of {product-title} 4.14, {product-title} uses link:https://www.kernel.org/doc/html/latest/admin-guide/cgroup-v2.html[Linux control group version 2] (cgroup v2) in your cluster. If you are using cgroup v1 on {product-title} 4.13 or earlier, migrating to {product-title} 4.14 or later will not automatically update your cgroup configuration to version 2. A fresh installation of {product-title} 4.14 or later will use cgroup v2 by default. However, you can enable link:https://www.kernel.org/doc/html/latest/admin-guide/cgroup-v1/index.html[Linux control group version 1] (cgroup v1) upon installation. endif::post[] endif::openshift-origin[] ifdef::openshift-origin[] @@ -28,13 +28,16 @@ endif::openshift-origin[] ifdef::post[] cgroup v2 is the current version of the Linux cgroup API. cgroup v2 offers several improvements over cgroup v1, including a unified hierarchy, safer sub-tree delegation, new features such as link:https://www.kernel.org/doc/html/latest/accounting/psi.html[Pressure Stall Information], and enhanced resource management and isolation. However, cgroup v2 has different CPU, memory, and I/O management characteristics than cgroup v1. Therefore, some workloads might experience slight differences in memory or CPU usage on clusters that run cgroup v2. -You can change between cgroup v1 and cgroup v2, as needed. Enabling cgroup v1 in {product-title} disables all cgroup v2 controllers and hierarchies in your cluster. +You can change between cgroup v1 and cgroup v2, as needed. Enabling cgroup v1 in {product-title} disables all cgroup v2 controllers and hierarchies in your cluster. endif::post[] ifdef::nodes[] You can enable link:https://www.kernel.org/doc/html/latest/admin-guide/cgroup-v1/index.html[Linux control group version 1] (cgroup v1) or link:https://www.kernel.org/doc/html/latest/admin-guide/cgroup-v2.html[Linux control group version 2] (cgroup v2) by editing the `node.config` object. The default is cgroup v2. endif::nodes[] +:FeatureName: cgroup v1 +include::snippets/deprecated-feature.adoc[] + [NOTE] ==== Currently, disabling CPU load balancing is not supported by cgroup v2. As a result, you might not get the desired behavior from performance profiles if you have cgroup v2 enabled. Enabling cgroup v2 is not recommended if you are using performance profiles. diff --git a/modules/nodes-nodes-kernel-arguments.adoc b/modules/nodes-nodes-kernel-arguments.adoc index deedad67473b..34c5b5e3e7a6 100644 --- a/modules/nodes-nodes-kernel-arguments.adoc +++ b/modules/nodes-nodes-kernel-arguments.adoc @@ -20,6 +20,11 @@ Examples of kernel arguments you could set include: ifndef::openshift-origin[] * **systemd.unified_cgroup_hierarchy**: Enables link:https://www.kernel.org/doc/html/latest/admin-guide/cgroup-v2.html[Linux control group version 2] (cgroup v2). cgroup v2 is the next version of the kernel link:https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/resource_management_guide/ch01[control group] and offers multiple improvements. ++ +-- +:FeatureName: cgroup v1 +include::snippets/deprecated-feature.adoc[] +-- endif::openshift-origin[] ifdef::openshift-origin[] @@ -29,6 +34,11 @@ ifdef::openshift-origin[] ==== cgroup v2 is enabled by default. To disable cgroup v2, use the `systemd.unified_cgroup_hierarchy=0` kernel argument, as shown in the following procedure. ==== ++ +-- +:FeatureName: cgroup v1 +include::snippets/deprecated-feature.adoc[] +-- endif::openshift-origin[] * **enforcing=0**: Configures Security Enhanced Linux (SELinux) to run in permissive mode. In permissive mode, the system acts as if SELinux is enforcing the loaded security policy, including labeling objects and emitting access denial entries in the logs, but it does not actually deny any operations. While not supported for production systems, permissive mode can be helpful for debugging. diff --git a/modules/telco-ran-crs-machine-configuration.adoc b/modules/telco-ran-crs-machine-configuration.adoc index c015d0c77e85..ca770eab753e 100644 --- a/modules/telco-ran-crs-machine-configuration.adoc +++ b/modules/telco-ran-crs-machine-configuration.adoc @@ -29,3 +29,6 @@ Set RCU normal,xref:../../telco_ref_design_specs/ran/telco-ran-ref-du-crs.adoc#z Set RCU normal,xref:../../telco_ref_design_specs/ran/telco-ran-ref-du-crs.adoc#ztp-08-set-rcu-normal-worker-yaml[08-set-rcu-normal-worker.yaml],No,No SR-IOV related kernel arguments,xref:../../telco_ref_design_specs/ran/telco-ran-ref-du-crs.adoc#ztp-07-sriov-related-kernel-args-master-yaml[07-sriov-related-kernel-args-master.yaml],No,Yes |==== + +:FeatureName: cgroup v1 +include::snippets/deprecated-feature.adoc[] diff --git a/modules/telco-ran-node-tuning-operator.adoc b/modules/telco-ran-node-tuning-operator.adoc index 85b4d4adce4d..f3ea040c9044 100644 --- a/modules/telco-ran-node-tuning-operator.adoc +++ b/modules/telco-ran-node-tuning-operator.adoc @@ -72,3 +72,6 @@ In {product-title} {product-version}, any `PerformanceProfile` CR configured on For more information about cgroups, see link:https://docs.openshift.com/container-platform/4.15/nodes/clusters/nodes-cluster-cgroups-2.html#nodes-clusters-cgroups-2_nodes-cluster-cgroups-2[Configuring Linux cgroup]. ==== + +:FeatureName: cgroup v1 +include::snippets/deprecated-feature.adoc[] diff --git a/nodes/clusters/nodes-cluster-cgroups-2.adoc b/nodes/clusters/nodes-cluster-cgroups-2.adoc index de2f561f82f3..e7cfe033c321 100644 --- a/nodes/clusters/nodes-cluster-cgroups-2.adoc +++ b/nodes/clusters/nodes-cluster-cgroups-2.adoc @@ -7,15 +7,18 @@ include::_attributes/common-attributes.adoc[] toc::[] ifndef::openshift-origin[] -As of {product-title} 4.14, {product-title} uses link:https://www.kernel.org/doc/html/latest/admin-guide/cgroup-v2.html[Linux control group version 2] (cgroup v2) in your cluster. If you are using cgroup v1 on {product-title} 4.13 or earlier, migrating to {product-title} 4.14 or later will not automatically update your cgroup configuration to version 2. A fresh installation of {product-title} 4.14 or later will use cgroup v2 by default. However, you can enable link:https://www.kernel.org/doc/html/latest/admin-guide/cgroup-v1/index.html[Linux control group version 1] (cgroup v1) upon installation. +As of {product-title} 4.14, {product-title} uses link:https://www.kernel.org/doc/html/latest/admin-guide/cgroup-v2.html[Linux control group version 2] (cgroup v2) in your cluster. If you are using cgroup v1 on {product-title} 4.13 or earlier, migrating to {product-title} 4.14 or later will not automatically update your cgroup configuration to version 2. A fresh installation of {product-title} 4.14 or later will use cgroup v2 by default. However, you can enable link:https://www.kernel.org/doc/html/latest/admin-guide/cgroup-v1/index.html[Linux control group version 1] (cgroup v1) upon installation. endif::openshift-origin[] ifdef::openshift-origin[] {product-title} uses link:https://www.kernel.org/doc/html/latest/admin-guide/cgroup-v2.html[Linux control group version 2] (cgroup v2) in your cluster. endif::openshift-origin[] +:FeatureName: cgroup v1 +include::snippets/deprecated-feature.adoc[] + include::snippets/cgroupv2-vs-cgroupv1.adoc[] -You can change between cgroup v1 and cgroup v2, as needed. Enabling cgroup v1 in {product-title} disables all cgroup v2 controllers and hierarchies in your cluster. +You can change between cgroup v1 and cgroup v2, as needed. Enabling cgroup v1 in {product-title} disables all cgroup v2 controllers and hierarchies in your cluster. [NOTE] ====