Skip to content

Commit

Permalink
cGroup v1 is deprecated in 4.16
Browse files Browse the repository at this point in the history
  • Loading branch information
Michael Burke committed May 20, 2024
1 parent b815f5c commit f491a79
Show file tree
Hide file tree
Showing 9 changed files with 38 additions and 5 deletions.
3 changes: 3 additions & 0 deletions installing/install_config/enabling-cgroup-v1.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -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[]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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"]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down
4 changes: 3 additions & 1 deletion modules/nodes-clusters-cgroups-2-install.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand All @@ -23,4 +26,3 @@ spec:
----

. Proceed with the installation as usual.

7 changes: 5 additions & 2 deletions modules/nodes-clusters-cgroups-2.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -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[]
Expand All @@ -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.
Expand Down
10 changes: 10 additions & 0 deletions modules/nodes-nodes-kernel-arguments.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -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[]
Expand All @@ -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.
Expand Down
3 changes: 3 additions & 0 deletions modules/telco-ran-crs-machine-configuration.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -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[]
3 changes: 3 additions & 0 deletions modules/telco-ran-node-tuning-operator.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -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[]
7 changes: 5 additions & 2 deletions nodes/clusters/nodes-cluster-cgroups-2.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -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]
====
Expand Down

0 comments on commit f491a79

Please sign in to comment.