Skip to content

Commit 9ef723d

Browse files
committed
TELCODOCS-2622 Telco RAN RDS updates
1 parent 17f6cac commit 9ef723d

11 files changed

Lines changed: 79 additions & 21 deletions
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
// Module included in the following assemblies:
2+
//
3+
// * scalability_and_performance/telco-ran-du-rds.adoc
4+
5+
:_mod-docs-content-type: REFERENCE
6+
[id="telco-ran-cert-manager-operator_{context}"]
7+
= cert-manager Operator
8+
9+
10+
New in this release::
11+
* The cert-manager Operator is a new optional component in this release.
12+
13+
Description::
14+
+
15+
--
16+
The cert-manager Operator for {product-title} manages the lifecycle of TLS certificates for cluster components and workloads.
17+
The cert-manager Operator automates certificate issuance, renewal, and rotation, eliminating manual certificate management.
18+
The reference configuration includes the cert-manager Operator to optionally manage certificates for the API server and ingress controller endpoints.
19+
--
20+
21+
Limits and requirements::
22+
23+
* The reference configuration includes only the ACME DNS01 challenge type for platform certificate issuance.
24+
25+
Engineering considerations::
26+
27+
* Use {rh-rhacm} `CertificatePolicy` resources on the hub cluster to monitor certificate expiration and compliance across managed clusters.

modules/telco-ran-crs-day-2-operators.adoc

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,10 @@ PTP Operator,`ptp-operator/configuration/PtpConfigThreeCardGmWpc.yaml`,Configure
4646
PTP Operator,`ptp-operator/configuration/PtpConfigGmWpc.yaml`,Configures PTP grandmaster clock settings for hosts that have a single NIC. Dependent on cluster role.,No
4747
PTP Operator,`ptp-operator/configuration/PtpConfigSlave.yaml`,Configures PTP settings for a PTP ordinary clock. Dependent on cluster role.,No
4848
PTP Operator,`ptp-operator/configuration/PtpConfigDualFollower.yaml`,Configures PTP settings for a PTP ordinary clock with 2 interfaces in an active/standby configuration. Dependent on cluster role.,No
49+
PTP Operator,`ptp-operator/configuration/PtpConfigTBCWpc.yaml`,Configures PTP as a Telcom boundary clock. Dependent on cluster role.,No
50+
PTP Operator,`ptp-operator/configuration/PtpConfigDualCardTBCWpc.yaml`,Configures PTP as a Telcom boundary clock for hosts that have dual NICs. Dependent on cluster role.,No
51+
PTP Operator,`ptp-operator/configuration/PtpConfigThreeCardTBCWpc.yaml`,Configures PTP as a Telcom boundary clock for hosts that have 3 NICs. Dependent on cluster role.,No
52+
PTP Operator,`ptp-operator/configuration/PtpConfigTTSCWpc.yaml`,Configures PTP settings for a PTP Telcom Time Slave Clock with single interface. Dependent on cluster role.,N
4953
PTP Operator,`ptp-operator/PtpOperatorConfig.yaml`,"Configures the PTP Operator settings, specifying node selection criteria for running PTP daemons in the openshift-ptp namespace.",No
5054
PTP Operator,`ptp-operator/PtpSubscription.yaml`,Manages installation and updates of the PTP Operator in the openshift-ptp namespace.,No
5155
PTP Operator,`ptp-operator/PtpSubscriptionNS.yaml`,Configures the namespace for the PTP Operator.,No
@@ -63,4 +67,12 @@ SR-IOV Operator,`sriov-operator/SriovOperatorConfigForSNO.yaml`,"Configures the
6367
SR-IOV Operator,`sriov-operator/SriovSubscription.yaml`,Manages the installation and updates of the SR-IOV Network Operator.,No
6468
SR-IOV Operator,`sriov-operator/SriovSubscriptionNS.yaml`,Creates the namespace for the SR-IOV Network Operator with specific annotations for workload management and deployment waves.,No
6569
SR-IOV Operator,`sriov-operator/SriovSubscriptionOperGroup.yaml`,"Defines the target namespace for the SR-IOV Network Operators, enabling their management and deployment within this namespace.",No
70+
Cert-Manager,`optional/cert-manager/certManagerNS.yaml`,Defines the cert-manager-operator namespace.,Yes
71+
Cert-Manager,`optional/cert-manager/certManagerOperatorgroup.yaml`,Defines the OperatorGroup for cert-manager.,Yes
72+
Cert-Manager,`optional/cert-manager/certManagerSubscription.yaml`,Installs the OpenShift cert-manager operator.,Yes
73+
Cert-Manager,`optional/cert-manager/certManagerClusterIssuer.yaml`,Configures an ACME ClusterIssuer using Let's Encrypt with DNS-01 challenge.,Yes
74+
Cert-Manager,`optional/cert-manager/apiServerCertificate.yaml`,Creates a certificate for the API Server endpoint.,Yes
75+
Cert-Manager,`optional/cert-manager/ingressCertificate.yaml`,Creates a wildcard certificate for the Ingress/Router.,Yes
76+
Cert-Manager,`optional/cert-manager/apiServerConfig.yaml`,Configures OpenShift to use the cert-manager generated API Server certificate.,Yes
77+
Cert-Manager,`optional/cert-manager/ingressControllerConfig.yaml`,Configures OpenShift to use the cert-manager generated Ingress certificate.,Yes
6678
|====

modules/telco-ran-crs-machine-configuration.adoc

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,6 @@
1212
Component,Reference CR,Description,Optional
1313
Container runtime (crun),`optional-extra-manifest/enable-crun-master.yaml`,Configures the container runtime (crun) for control plane nodes.,No
1414
Container runtime (crun),`optional-extra-manifest/enable-crun-worker.yaml`,Configures the container runtime (crun) for worker nodes.,No
15-
CRI-O wipe disable,`extra-manifest/99-crio-disable-wipe-master.yaml`,Disables automatic CRI-O cache wipe following a reboot for on control plane nodes.,No
16-
CRI-O wipe disable,`extra-manifest/99-crio-disable-wipe-worker.yaml`,Disables automatic CRI-O cache wipe following a reboot for on worker nodes.,No
1715
Kdump enable,`extra-manifest/06-kdump-master.yaml`,Configures kdump crash reporting on master nodes.,No
1816
Kdump enable,`extra-manifest/06-kdump-worker.yaml`,Configures kdump crash reporting on worker nodes.,No
1917
Kubelet configuration and container mount hiding,`extra-manifest/01-container-mount-ns-and-kubelet-conf-master.yaml`,Configures a mount namespace for sharing container-specific mounts between kubelet and CRI-O on control plane nodes.,No

modules/telco-ran-du-application-workloads.adoc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ Description and limits::
1414
--
1515
* Develop cloud-native network functions (CNFs) that conform to the latest version of link:https://redhat-best-practices-for-k8s.github.io/guide/[Red Hat best practices for Kubernetes].
1616
* Use SR-IOV for high performance networking.
17+
* For information on the decrease in the default maximum open files soft limit for containers, see the {product-title} 4.21 release notes.
1718
* Use exec probes sparingly and only when no other suitable options are available.
1819
** Do not use exec probes if a CNF uses CPU pinning.
1920
Use other probe implementations, for example, `httpGet` or `tcpSocket`.

modules/telco-ran-machine-configuration.adoc

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,7 @@ New in this release::
1010
* No reference design updates in this release
1111

1212
Limits and requirements::
13-
* The CRI-O wipe disable `MachineConfig` CR assumes that images on disk are static other than during scheduled maintenance in defined maintenance windows.
14-
To ensure the images are static, do not set the pod `imagePullPolicy` field to `Always`.
13+
* To ensure images are static, except during scheduled maintenance in defined maintenance windows, do not set the pod `imagePullPolicy` field to `Always`.
1514
* The configuration CRs in this table are required components unless otherwise noted.
1615

1716
.Machine configuration options

modules/telco-ran-node-tuning-operator.adoc

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,9 @@
77
= CPU partitioning and performance tuning
88

99
New in this release::
10-
* The `PerformanceProfile` and `TunedPerformancePatch` objects have been updated to fully support the aarch64 architecture.
11-
** If you have previously applied additional patches to the `TunedPerformancePatch` object, you must convert those patches to a new performance profile that includes the `ran-du-performance` profile instead. See the "Engineering considerations" section.
10+
* There is now optional support for `acpi_idle` CPUIdle driver.
11+
* Updates to `TunedPerformancePatch` to enable the triggering a kernel panic for system recovery and diagnostic purposes when x86_64 architecture nodes become unresponsive. The `TunedPerformancePatch` configures the `kernel.panic_on_unrecovered_nmi` sysctl parameter to enable triggering a kernel panic through BMC Non-Maskable Interrupt (NMI) on x86_64 architectures.
12+
1213

1314

1415
Description::
@@ -61,8 +62,10 @@ The variation must still meet the specified limits.
6162
* Hardware without IRQ affinity support affects isolated CPUs.
6263
To ensure that pods with guaranteed whole CPU QoS have full use of allocated CPUs, all hardware in the server must support IRQ affinity.
6364
* To enable workload partitioning, set `cpuPartitioningMode` to `AllNodes` during deployment, and then use the `PerformanceProfile` CR to allocate enough CPUs to support the operating system, interrupts, and {product-title} pods.
64-
* Under x86_64, the `PerformanceProfile` CR includes additional kernel arguments settings for `vfio_pci`.
65-
These arguments are included for support of devices such as the FEC accelerator. You can omit them if they are not required for your workload.
65+
* Tailor `systemReserved` memory for each cluster based on its size and application workload. The minimum recommended value is 11Gi.
66+
* Under x86_64, the `PerformanceProfile` may be customized with the following optional arguments in the `additionalKernelargs` list:
67+
** The `vcio_pci` arguments support devices such as the FEC accelerator. You can omit them if they are not required for your workload.
68+
** To enable the `acpi_idle`` CPUIdle driver, for example, for Intel FlexRAN, add `intel_idle.max_cstate=0`
6669
* Under aarch64, the `PerformanceProfile` must be adjusted depending on the needs of the platform:
6770
** For Grace Hopper systems, the following kernel commandline arguments are required:
6871
*** `acpi_power_meter.force_cap_on=y`

modules/telco-ran-ptp-operator.adoc

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
= PTP Operator
88

99
New in this release::
10-
* No reference design updates in this release
10+
* {product-title} 4.20 introduced unassisted holdover for boundary clocks and time synchronous clocks as a Technology Preview feature. This feature is now Generally Available (GA).
1111

1212
Description::
1313
Configure Precision Time Protocol (PTP) in cluster nodes.
@@ -35,9 +35,9 @@ Limits and requirements::
3535
* Log reduction must be enabled with `true` or `enhanced`.
3636
3737
Engineering considerations::
38-
* * Example RAN DU RDS configurations are provided for:
38+
* Example RAN DU RDS configurations are provided for:
3939
** T-GM, T-BC, and T-TSC
4040
** Variations with and without HA
4141
* PTP fast event notifications use `ConfigMap` CRs to persist subscriber details.
4242
* Hierarchical event subscription as described in the O-RAN specification is not supported for PTP events.
43-
* The PTP fast events REST API v1 is end of life.
43+
* Cluster Node(s) must have proper NTP configuration to ensure correct time prior to PTP operator taking ownership of node timing.

modules/telco-ran-red-hat-advanced-cluster-management-rhacm.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
= Red Hat Advanced Cluster Management
88

99
New in this release::
10-
* No reference design updates in this release
10+
* The CRI-O wipe disable `MachineConfig` CR is no longer needed as cri-o is now handling unclean shutdowns by performing a quick check and repair.
1111

1212
Description::
1313
+

modules/telco-ran-sysctls.adoc

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,17 +7,27 @@
77
= Kubelet Settings
88

99
Some CNF workloads make use of sysctls which are not in the list of system-wide safe sysctls.
10-
Generally, network sysctls are namespaced and you can enable them using the `kubeletconfig.experimental` annotation in the `PerformanceProfile` Custom Resource (CR) as a string of JSON in the following form:
10+
Generally, network sysctls are namespaced and you can enable them using the `kubeletconfig.experimental` annotation in the `PerformanceProfile` Custom Resource (CR).
1111

12-
.Example snippet showing allowedUnsafeSysctls
12+
Additionally, the `systemReserved` memory can be configured through the same `kubeletconfig.experimental` annotation to reserve memory for system daemons and kernel processes. An example setting of these parameters as a string of JSON is shown here:
13+
.Example snippet showing allowedUnsafeSysctls and systemReserved
14+
15+
16+
.Example snippet showing allowedUnsafeSysctls and systemReserved
1317
[source,yaml]
1418
----
1519
apiVersion: performance.openshift.io/v2
1620
kind: PerformanceProfile
1721
metadata:
1822
name: {{ .metadata.name }}
19-
annotations:kubeletconfig.experimental: |
20-
{"allowedUnsafeSysctls":["net.ipv6.conf.all.accept_ra"]}
23+
annotations:
24+
# allowedUnsafeSysctls: some pods want the kernel stack to ignore IPv6 router Advertisement.
25+
# systemReserved: when used, it should be tailored for each environment.
26+
kubeletconfig.experimental: |
27+
{
28+
"allowedUnsafeSysctls":["net.ipv6.conf.all.accept_ra"],
29+
"systemReserved":{"memory":"11Gi"}
30+
}
2131
# ...
2232
----
2333

modules/ztp-telco-ran-software-versions.adoc

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,27 +14,27 @@ The Red Hat telco RAN DU {product-version} solution has been validated using the
1414
|Component
1515
|Software version
1616

17-
|Managed cluster version
17+
|cert-manager Operator
1818
|4.19
1919

2020
|Cluster Logging Operator
2121
|6.2
2222

2323
|Local Storage Operator
24-
|4.20
24+
|4.21
2525

2626
|OpenShift API for Data Protection (OADP)
2727
|1.5
2828

2929
|PTP Operator
30-
|4.20
30+
|4.21
3131

3232
|SR-IOV Operator
33-
|4.20
33+
|4.21
3434

3535
|SRIOV-FEC Operator
3636
|2.11
3737

3838
|Lifecycle Agent
39-
|4.20
39+
|4.21
4040
|====

0 commit comments

Comments
 (0)