From 2aade472a7cc393b899b12e62e8abe1307a24dc6 Mon Sep 17 00:00:00 2001 From: Aidan Reilly <74046732+aireilly@users.noreply.github.com> Date: Wed, 3 Apr 2024 10:03:43 +0100 Subject: [PATCH] 4.14.z updates for Telco RAN RDS --- modules/telco-ran-crs-cluster-tuning.adoc | 1 + modules/telco-ran-crs-day-2-operators.adoc | 1 + .../telco-ran-crs-machine-configuration.adoc | 3 + .../telco-ran-du-application-workloads.adoc | 9 +- modules/telco-ran-ptp-operator.adoc | 7 +- .../telco-ran-yaml-ref-cluster-tuning.adoc | 7 + .../telco-ran-yaml-ref-day-2-operators.adoc | 7 + ...co-ran-yaml-ref-machine-configuration.adoc | 21 ++ ...p_07-sriov-related-kernel-args-worker.yaml | 2 - snippets/ztp_08-set-rcu-normal-worker.yaml | 53 +++++ snippets/ztp_99-sync-time-once-master.yaml | 1 + snippets/ztp_99-sync-time-once-worker.yaml | 1 + snippets/ztp_DisableOLMPprof.yaml | 9 + snippets/ztp_PerformanceProfile.yaml | 4 +- snippets/ztp_PtpConfigDualCardGmWpc.yaml | 221 ++++++++++++++++++ snippets/ztp_PtpConfigGmWpc.yaml | 3 +- snippets/ztp_ReduceMonitoringFootprint.yaml | 2 - snippets/ztp_enable-cgroups-v1.yaml | 6 + snippets/ztp_example-sno.yaml | 2 +- 19 files changed, 346 insertions(+), 14 deletions(-) create mode 100644 snippets/ztp_08-set-rcu-normal-worker.yaml create mode 100644 snippets/ztp_DisableOLMPprof.yaml create mode 100644 snippets/ztp_PtpConfigDualCardGmWpc.yaml create mode 100644 snippets/ztp_enable-cgroups-v1.yaml diff --git a/modules/telco-ran-crs-cluster-tuning.adoc b/modules/telco-ran-crs-cluster-tuning.adoc index a1d1326ab9..f60d28f47f 100644 --- a/modules/telco-ran-crs-cluster-tuning.adoc +++ b/modules/telco-ran-crs-cluster-tuning.adoc @@ -14,6 +14,7 @@ Cluster capabilities,xref:../../telco_ref_design_specs/ran/telco-ran-ref-du-crs. Disabling network diagnostics,xref:../../telco_ref_design_specs/ran/telco-ran-ref-du-crs.adoc#ztp-disablesnonetworkdiag-yaml[DisableSnoNetworkDiag.yaml],No,No Monitoring configuration,xref:../../telco_ref_design_specs/ran/telco-ran-ref-du-crs.adoc#ztp-reducemonitoringfootprint-yaml[ReduceMonitoringFootprint.yaml],No,No OperatorHub,xref:../../telco_ref_design_specs/ran/telco-ran-ref-du-crs.adoc#ztp-defaultcatsrc-yaml[DefaultCatsrc.yaml],No,No +OperatorHub,xref:../../telco_ref_design_specs/ran/telco-ran-ref-du-crs.adoc#ztp-disableolmpprof-yaml[DisableOLMPprof.yaml],No,No OperatorHub,xref:../../telco_ref_design_specs/ran/telco-ran-ref-du-crs.adoc#ztp-disconnectedicsp-yaml[DisconnectedICSP.yaml],No,No OperatorHub,xref:../../telco_ref_design_specs/ran/telco-ran-ref-du-crs.adoc#ztp-operatorhub-yaml[OperatorHub.yaml],No,No |==== diff --git a/modules/telco-ran-crs-day-2-operators.adoc b/modules/telco-ran-crs-day-2-operators.adoc index 23fdfe7777..f02545edf6 100644 --- a/modules/telco-ran-crs-day-2-operators.adoc +++ b/modules/telco-ran-crs-day-2-operators.adoc @@ -24,6 +24,7 @@ Node Tuning Operator,xref:../../telco_ref_design_specs/ran/telco-ran-ref-du-crs. Node Tuning Operator,xref:../../telco_ref_design_specs/ran/telco-ran-ref-du-crs.adoc#ztp-tunedperformancepatch-yaml[TunedPerformancePatch.yaml],No,No PTP fast event notifications,xref:../../telco_ref_design_specs/ran/telco-ran-ref-du-crs.adoc#ztp-ptpoperatorconfigforevent-yaml[PtpOperatorConfigForEvent.yaml],Yes,No PTP Operator,xref:../../telco_ref_design_specs/ran/telco-ran-ref-du-crs.adoc#ztp-ptpconfigboundary-yaml[PtpConfigBoundary.yaml],No,No +PTP Operator,xref:../../telco_ref_design_specs/ran/telco-ran-ref-du-crs.adoc#ztp-ptpconfigdualcardgmwpc-yaml[PtpConfigDualCardGmWpc.yaml],No,No PTP Operator,xref:../../telco_ref_design_specs/ran/telco-ran-ref-du-crs.adoc#ztp-ptpconfiggmwpc-yaml[PtpConfigGmWpc.yaml],No,Yes PTP Operator,xref:../../telco_ref_design_specs/ran/telco-ran-ref-du-crs.adoc#ztp-ptpconfigslave-yaml[PtpConfigSlave.yaml],No,No PTP Operator,xref:../../telco_ref_design_specs/ran/telco-ran-ref-du-crs.adoc#ztp-ptpsubscription-yaml[PtpSubscription.yaml],No,No diff --git a/modules/telco-ran-crs-machine-configuration.adoc b/modules/telco-ran-crs-machine-configuration.adoc index 85a8367e54..c015d0c77e 100644 --- a/modules/telco-ran-crs-machine-configuration.adoc +++ b/modules/telco-ran-crs-machine-configuration.adoc @@ -14,6 +14,7 @@ Container runtime (crun),xref:../../telco_ref_design_specs/ran/telco-ran-ref-du- Container runtime (crun),xref:../../telco_ref_design_specs/ran/telco-ran-ref-du-crs.adoc#ztp-enable-crun-worker-yaml[enable-crun-worker.yaml],No,No Disabling CRI-O wipe,xref:../../telco_ref_design_specs/ran/telco-ran-ref-du-crs.adoc#ztp-99-crio-disable-wipe-master-yaml[99-crio-disable-wipe-master.yaml],No,No Disabling CRI-O wipe,xref:../../telco_ref_design_specs/ran/telco-ran-ref-du-crs.adoc#ztp-99-crio-disable-wipe-worker-yaml[99-crio-disable-wipe-worker.yaml],No,No +Enable cgroup v1,xref:../../telco_ref_design_specs/ran/telco-ran-ref-du-crs.adoc#ztp-enable-cgroups-v1-yaml[enable-cgroups-v1.yaml],No,No Enabling kdump,xref:../../telco_ref_design_specs/ran/telco-ran-ref-du-crs.adoc#ztp-05-kdump-config-master-yaml[05-kdump-config-master.yaml],No,Yes Enabling kdump,xref:../../telco_ref_design_specs/ran/telco-ran-ref-du-crs.adoc#ztp-05-kdump-config-worker-yaml[05-kdump-config-worker.yaml],No,Yes Enabling kdump,xref:../../telco_ref_design_specs/ran/telco-ran-ref-du-crs.adoc#ztp-06-kdump-master-yaml[06-kdump-master.yaml],No,No @@ -24,5 +25,7 @@ One-shot time sync,xref:../../telco_ref_design_specs/ran/telco-ran-ref-du-crs.ad One-shot time sync,xref:../../telco_ref_design_specs/ran/telco-ran-ref-du-crs.adoc#ztp-99-sync-time-once-worker-yaml[99-sync-time-once-worker.yaml],No,Yes SCTP,xref:../../telco_ref_design_specs/ran/telco-ran-ref-du-crs.adoc#ztp-03-sctp-machine-config-master-yaml[03-sctp-machine-config-master.yaml],No,No SCTP,xref:../../telco_ref_design_specs/ran/telco-ran-ref-du-crs.adoc#ztp-03-sctp-machine-config-worker-yaml[03-sctp-machine-config-worker.yaml],No,No +Set RCU normal,xref:../../telco_ref_design_specs/ran/telco-ran-ref-du-crs.adoc#ztp-08-set-rcu-normal-master-yaml[08-set-rcu-normal-master.yaml],No,No +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 |==== diff --git a/modules/telco-ran-du-application-workloads.adoc b/modules/telco-ran-du-application-workloads.adoc index d32f920ce2..8987b15685 100644 --- a/modules/telco-ran-du-application-workloads.adoc +++ b/modules/telco-ran-du-application-workloads.adoc @@ -10,7 +10,7 @@ DU worker nodes must have 3rd Generation Xeon (Ice Lake) 2.20 GHz or better CPUs 5G RAN DU user applications and workloads should conform to the following best practices and application limits: -* Develop cloud-native network functions (CNFs) that conform to the latest version of the link:https://test-network-function.github.io/cnf-best-practices/[CNF best practices guide]. +* Develop cloud-native network functions (CNFs) that conform to the latest version of the link:https://test-network-function.github.io/cnf-best-practices-guide/[CNF best practices guide]. * Use SR-IOV for high performance networking. @@ -21,3 +21,10 @@ Use other probe implementations, for example, `httpGet` or `tcpSocket`. ** When you need to use exec probes, limit the exec probe frequency and quantity. The maximum number of exec probes must be kept below 10, and frequency must not be set to less than 10 seconds. + ++ +[NOTE] +==== +Startup probes require minimal resources during steady-state operation. +The limitation on exec probes applies primarily to liveness and readiness probes. +==== diff --git a/modules/telco-ran-ptp-operator.adoc b/modules/telco-ran-ptp-operator.adoc index 770f2d9198..2d76cdf4cf 100644 --- a/modules/telco-ran-ptp-operator.adoc +++ b/modules/telco-ran-ptp-operator.adoc @@ -7,7 +7,9 @@ = PTP Operator New in this release:: -* PTP grandmaster clock (T-GM) GPS timing with Intel E810-XXV-4T Westport Channel NIC – minimum firmware version 4.30 (Technology Preview) +* PTP grandmaster clock (T-GM) GPS timing with single channel Intel E810-XXV-4T Westport Channel NIC – minimum firmware version 4.30 (Technology Preview) + +* PTP grandmaster clock (T-GM) GPS timing with dual channel Intel E810-XXVDA4T Westport Channel NIC – minimum firmware version 4.40 (Technology Preview) * PTP events and metrics for grandmaster (T-GM) are new in {product-title} {product-version} (Technology Preview) @@ -30,15 +32,12 @@ You subscribe the application to events via HTTP. Limits and requirements:: * High availability is not supported with dual NIC configurations. -* Westport Channel NICs configured as T-GM do not support DPLL with the current ice driver version. - * GPS offsets are not reported. Use a default offset of less than or equal to 5. * DPLL offsets are not reported. Use a default offset of less than or equal to 5. - Engineering considerations:: * Configurations are provided for ordinary clock, boundary clock, or grandmaster clock diff --git a/modules/telco-ran-yaml-ref-cluster-tuning.adoc b/modules/telco-ran-yaml-ref-cluster-tuning.adoc index 64165e1ee3..169a0155d1 100644 --- a/modules/telco-ran-yaml-ref-cluster-tuning.adoc +++ b/modules/telco-ran-yaml-ref-cluster-tuning.adoc @@ -34,6 +34,13 @@ include::snippets/ztp_ReduceMonitoringFootprint.yaml[] include::snippets/ztp_DefaultCatsrc.yaml[] ---- +[id="ztp-disableolmpprof-yaml"] +.DisableOLMPprof.yaml +[source,yaml] +---- +include::snippets/ztp_DisableOLMPprof.yaml[] +---- + [id="ztp-disconnectedicsp-yaml"] .DisconnectedICSP.yaml [source,yaml] diff --git a/modules/telco-ran-yaml-ref-day-2-operators.adoc b/modules/telco-ran-yaml-ref-day-2-operators.adoc index 743ad88793..783d766d8e 100644 --- a/modules/telco-ran-yaml-ref-day-2-operators.adoc +++ b/modules/telco-ran-yaml-ref-day-2-operators.adoc @@ -104,6 +104,13 @@ include::snippets/ztp_PtpOperatorConfigForEvent.yaml[] include::snippets/ztp_PtpConfigBoundary.yaml[] ---- +[id="ztp-ptpconfigdualcardgmwpc-yaml"] +.PtpConfigDualCardGmWpc.yaml +[source,yaml] +---- +include::snippets/ztp_PtpConfigDualCardGmWpc.yaml[] +---- + [id="ztp-ptpconfiggmwpc-yaml"] .PtpConfigGmWpc.yaml [source,yaml] diff --git a/modules/telco-ran-yaml-ref-machine-configuration.adoc b/modules/telco-ran-yaml-ref-machine-configuration.adoc index 91009b4660..6c6bb3e069 100644 --- a/modules/telco-ran-yaml-ref-machine-configuration.adoc +++ b/modules/telco-ran-yaml-ref-machine-configuration.adoc @@ -34,6 +34,13 @@ include::snippets/ztp_99-crio-disable-wipe-master.yaml[] include::snippets/ztp_99-crio-disable-wipe-worker.yaml[] ---- +[id="ztp-enable-cgroups-v1-yaml"] +.enable-cgroups-v1.yaml +[source,yaml] +---- +include::snippets/ztp_enable-cgroups-v1.yaml[] +---- + [id="ztp-05-kdump-config-master-yaml"] .05-kdump-config-master.yaml [source,yaml] @@ -104,6 +111,20 @@ include::snippets/ztp_03-sctp-machine-config-master.yaml[] include::snippets/ztp_03-sctp-machine-config-worker.yaml[] ---- +[id="ztp-08-set-rcu-normal-master-yaml"] +.08-set-rcu-normal-master.yaml +[source,yaml] +---- +include::snippets/ztp_08-set-rcu-normal-master.yaml[] +---- + +[id="ztp-08-set-rcu-normal-worker-yaml"] +.08-set-rcu-normal-worker.yaml +[source,yaml] +---- +include::snippets/ztp_08-set-rcu-normal-worker.yaml[] +---- + [id="ztp-07-sriov-related-kernel-args-master-yaml"] .07-sriov-related-kernel-args-master.yaml [source,yaml] diff --git a/snippets/ztp_07-sriov-related-kernel-args-worker.yaml b/snippets/ztp_07-sriov-related-kernel-args-worker.yaml index 1dfeff223e..a36936fb4f 100644 --- a/snippets/ztp_07-sriov-related-kernel-args-worker.yaml +++ b/snippets/ztp_07-sriov-related-kernel-args-worker.yaml @@ -1,5 +1,3 @@ -# Automatically generated by extra-manifests-builder -# Do not make changes directly. apiVersion: machineconfiguration.openshift.io/v1 kind: MachineConfig metadata: diff --git a/snippets/ztp_08-set-rcu-normal-worker.yaml b/snippets/ztp_08-set-rcu-normal-worker.yaml new file mode 100644 index 0000000000..5e823cc637 --- /dev/null +++ b/snippets/ztp_08-set-rcu-normal-worker.yaml @@ -0,0 +1,53 @@ +apiVersion: machineconfiguration.openshift.io/v1 +kind: MachineConfig +metadata: + labels: + machineconfiguration.openshift.io/role: worker + name: 08-set-rcu-normal-worker +spec: + config: + ignition: + version: 3.2.0 + storage: + files: + - contents: + source: data:text/plain;charset=utf-8;base64,IyEvYmluL2Jhc2gKIwojIERpc2FibGUgcmN1X2V4cGVkaXRlZCBhZnRlciBub2RlIGhhcyBmaW5pc2hlZCBib290aW5nCiMKIyBUaGUgZGVmYXVsdHMgYmVsb3cgY2FuIGJlIG92ZXJyaWRkZW4gdmlhIGVudmlyb25tZW50IHZhcmlhYmxlcwojCgojIERlZmF1bHQgd2FpdCB0aW1lIGlzIDYwMHMgPSAxMG06Ck1BWElNVU1fV0FJVF9USU1FPSR7TUFYSU1VTV9XQUlUX1RJTUU6LTYwMH0KCiMgRGVmYXVsdCBzdGVhZHktc3RhdGUgdGhyZXNob2xkID0gMiUKIyBBbGxvd2VkIHZhbHVlczoKIyAgNCAgLSBhYnNvbHV0ZSBwb2QgY291bnQgKCsvLSkKIyAgNCUgLSBwZXJjZW50IGNoYW5nZSAoKy8tKQojICAtMSAtIGRpc2FibGUgdGhlIHN0ZWFkeS1zdGF0ZSBjaGVjawpTVEVBRFlfU1RBVEVfVEhSRVNIT0xEPSR7U1RFQURZX1NUQVRFX1RIUkVTSE9MRDotMiV9CgojIERlZmF1bHQgc3RlYWR5LXN0YXRlIHdpbmRvdyA9IDYwcwojIElmIHRoZSBydW5uaW5nIHBvZCBjb3VudCBzdGF5cyB3aXRoaW4gdGhlIGdpdmVuIHRocmVzaG9sZCBmb3IgdGhpcyB0aW1lCiMgcGVyaW9kLCByZXR1cm4gQ1BVIHV0aWxpemF0aW9uIHRvIG5vcm1hbCBiZWZvcmUgdGhlIG1heGltdW0gd2FpdCB0aW1lIGhhcwojIGV4cGlyZXMKU1RFQURZX1NUQVRFX1dJTkRPVz0ke1NURUFEWV9TVEFURV9XSU5ET1c6LTYwfQoKIyBEZWZhdWx0IHN0ZWFkeS1zdGF0ZSBhbGxvd3MgYW55IHBvZCBjb3VudCB0byBiZSAic3RlYWR5IHN0YXRlIgojIEluY3JlYXNpbmcgdGhpcyB3aWxsIHNraXAgYW55IHN0ZWFkeS1zdGF0ZSBjaGVja3MgdW50aWwgdGhlIGNvdW50IHJpc2VzIGFib3ZlCiMgdGhpcyBudW1iZXIgdG8gYXZvaWQgZmFsc2UgcG9zaXRpdmVzIGlmIHRoZXJlIGFyZSBzb21lIHBlcmlvZHMgd2hlcmUgdGhlCiMgY291bnQgZG9lc24ndCBpbmNyZWFzZSBidXQgd2Uga25vdyB3ZSBjYW4ndCBiZSBhdCBzdGVhZHktc3RhdGUgeWV0LgpTVEVBRFlfU1RBVEVfTUlOSU1VTT0ke1NURUFEWV9TVEFURV9NSU5JTVVNOi0wfQoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKd2l0aGluKCkgewogIGxvY2FsIGxhc3Q9JDEgY3VycmVudD0kMiB0aHJlc2hvbGQ9JDMKICBsb2NhbCBkZWx0YT0wIHBjaGFuZ2UKICBkZWx0YT0kKCggY3VycmVudCAtIGxhc3QgKSkKICBpZiBbWyAkY3VycmVudCAtZXEgJGxhc3QgXV07IHRoZW4KICAgIHBjaGFuZ2U9MAogIGVsaWYgW1sgJGxhc3QgLWVxIDAgXV07IHRoZW4KICAgIHBjaGFuZ2U9MTAwMDAwMAogIGVsc2UKICAgIHBjaGFuZ2U9JCgoICggIiRkZWx0YSIgKiAxMDApIC8gbGFzdCApKQogIGZpCiAgZWNobyAtbiAibGFzdDokbGFzdCBjdXJyZW50OiRjdXJyZW50IGRlbHRhOiRkZWx0YSBwY2hhbmdlOiR7cGNoYW5nZX0lOiAiCiAgbG9jYWwgYWJzb2x1dGUgbGltaXQKICBjYXNlICR0aHJlc2hvbGQgaW4KICAgIColKQogICAgICBhYnNvbHV0ZT0ke3BjaGFuZ2UjIy19ICMgYWJzb2x1dGUgdmFsdWUKICAgICAgbGltaXQ9JHt0aHJlc2hvbGQlJSV9CiAgICAgIDs7CiAgICAqKQogICAgICBhYnNvbHV0ZT0ke2RlbHRhIyMtfSAjIGFic29sdXRlIHZhbHVlCiAgICAgIGxpbWl0PSR0aHJlc2hvbGQKICAgICAgOzsKICBlc2FjCiAgaWYgW1sgJGFic29sdXRlIC1sZSAkbGltaXQgXV07IHRoZW4KICAgIGVjaG8gIndpdGhpbiAoKy8tKSR0aHJlc2hvbGQiCiAgICByZXR1cm4gMAogIGVsc2UKICAgIGVjaG8gIm91dHNpZGUgKCsvLSkkdGhyZXNob2xkIgogICAgcmV0dXJuIDEKICBmaQp9CgpzdGVhZHlzdGF0ZSgpIHsKICBsb2NhbCBsYXN0PSQxIGN1cnJlbnQ9JDIKICBpZiBbWyAkbGFzdCAtbHQgJFNURUFEWV9TVEFURV9NSU5JTVVNIF1dOyB0aGVuCiAgICBlY2hvICJsYXN0OiRsYXN0IGN1cnJlbnQ6JGN1cnJlbnQgV2FpdGluZyB0byByZWFjaCAkU1RFQURZX1NUQVRFX01JTklNVU0gYmVmb3JlIGNoZWNraW5nIGZvciBzdGVhZHktc3RhdGUiCiAgICByZXR1cm4gMQogIGZpCiAgd2l0aGluICIkbGFzdCIgIiRjdXJyZW50IiAiJFNURUFEWV9TVEFURV9USFJFU0hPTEQiCn0KCndhaXRGb3JSZWFkeSgpIHsKICBsb2dnZXIgIlJlY292ZXJ5OiBXYWl0aW5nICR7TUFYSU1VTV9XQUlUX1RJTUV9cyBmb3IgdGhlIGluaXRpYWxpemF0aW9uIHRvIGNvbXBsZXRlIgogIGxvY2FsIHQ9MCBzPTEwCiAgbG9jYWwgbGFzdENjb3VudD0wIGNjb3VudD0wIHN0ZWFkeVN0YXRlVGltZT0wCiAgd2hpbGUgW1sgJHQgLWx0ICRNQVhJTVVNX1dBSVRfVElNRSBdXTsgZG8KICAgIHNsZWVwICRzCiAgICAoKHQgKz0gcykpCiAgICAjIERldGVjdCBzdGVhZHktc3RhdGUgcG9kIGNvdW50CiAgICBjY291bnQ9JChjcmljdGwgcHMgMj4vZGV2L251bGwgfCB3YyAtbCkKICAgIGlmIFtbICRjY291bnQgLWd0IDAgXV0gJiYgc3RlYWR5c3RhdGUgIiRsYXN0Q2NvdW50IiAiJGNjb3VudCI7IHRoZW4KICAgICAgKChzdGVhZHlTdGF0ZVRpbWUgKz0gcykpCiAgICAgIGVjaG8gIlN0ZWFkeS1zdGF0ZSBmb3IgJHtzdGVhZHlTdGF0ZVRpbWV9cy8ke1NURUFEWV9TVEFURV9XSU5ET1d9cyIKICAgICAgaWYgW1sgJHN0ZWFkeVN0YXRlVGltZSAtZ2UgJFNURUFEWV9TVEFURV9XSU5ET1cgXV07IHRoZW4KICAgICAgICBsb2dnZXIgIlJlY292ZXJ5OiBTdGVhZHktc3RhdGUgKCsvLSAkU1RFQURZX1NUQVRFX1RIUkVTSE9MRCkgZm9yICR7U1RFQURZX1NUQVRFX1dJTkRPV31zOiBEb25lIgogICAgICAgIHJldHVybiAwCiAgICAgIGZpCiAgICBlbHNlCiAgICAgIGlmIFtbICRzdGVhZHlTdGF0ZVRpbWUgLWd0IDAgXV07IHRoZW4KICAgICAgICBlY2hvICJSZXNldHRpbmcgc3RlYWR5LXN0YXRlIHRpbWVyIgogICAgICAgIHN0ZWFkeVN0YXRlVGltZT0wCiAgICAgIGZpCiAgICBmaQogICAgbGFzdENjb3VudD0kY2NvdW50CiAgZG9uZQogIGxvZ2dlciAiUmVjb3Zlcnk6IFJlY292ZXJ5IENvbXBsZXRlIFRpbWVvdXQiCn0KCnNldFJjdU5vcm1hbCgpIHsKICBlY2hvICJTZXR0aW5nIHJjdV9ub3JtYWwgdG8gMSIKICBlY2hvIDEgPiAvc3lzL2tlcm5lbC9yY3Vfbm9ybWFsCn0KCm1haW4oKSB7CiAgd2FpdEZvclJlYWR5CiAgZWNobyAiV2FpdGluZyBmb3Igc3RlYWR5IHN0YXRlIHRvb2s6ICQoYXdrICd7cHJpbnQgaW50KCQxLzM2MDApImgiLCBpbnQoKCQxJTM2MDApLzYwKSJtIiwgaW50KCQxJTYwKSJzIn0nIC9wcm9jL3VwdGltZSkiCiAgc2V0UmN1Tm9ybWFsCn0KCmlmIFtbICIke0JBU0hfU09VUkNFWzBdfSIgPSAiJHswfSIgXV07IHRoZW4KICBtYWluICIke0B9IgogIGV4aXQgJD8KZmkK + mode: 493 + path: /usr/local/bin/set-rcu-normal.sh + systemd: + units: + - contents: | + [Unit] + Description=Disable rcu_expedited after node has finished booting by setting rcu_normal to 1 + + [Service] + Type=simple + ExecStart=/usr/local/bin/set-rcu-normal.sh + + # Maximum wait time is 600s = 10m: + Environment=MAXIMUM_WAIT_TIME=600 + + # Steady-state threshold = 2% + # Allowed values: + # 4 - absolute pod count (+/-) + # 4% - percent change (+/-) + # -1 - disable the steady-state check + # Note: '%' must be escaped as '%%' in systemd unit files + Environment=STEADY_STATE_THRESHOLD=2%% + + # Steady-state window = 120s + # If the running pod count stays within the given threshold for this time + # period, return CPU utilization to normal before the maximum wait time has + # expires + Environment=STEADY_STATE_WINDOW=120 + + # Steady-state minimum = 40 + # Increasing this will skip any steady-state checks until the count rises above + # this number to avoid false positives if there are some periods where the + # count doesn't increase but we know we can't be at steady-state yet. + Environment=STEADY_STATE_MINIMUM=40 + + [Install] + WantedBy=multi-user.target + enabled: true + name: set-rcu-normal.service diff --git a/snippets/ztp_99-sync-time-once-master.yaml b/snippets/ztp_99-sync-time-once-master.yaml index a215a78f2a..0b54015852 100644 --- a/snippets/ztp_99-sync-time-once-master.yaml +++ b/snippets/ztp_99-sync-time-once-master.yaml @@ -17,6 +17,7 @@ spec: [Service] Type=oneshot TimeoutStartSec=300 + ExecCondition=/bin/bash -c 'systemctl is-enabled chronyd.service --quiet && exit 1 || exit 0' ExecStart=/usr/sbin/chronyd -n -f /etc/chrony.conf -q RemainAfterExit=yes [Install] diff --git a/snippets/ztp_99-sync-time-once-worker.yaml b/snippets/ztp_99-sync-time-once-worker.yaml index d1dbb45e9f..59c6b9a646 100644 --- a/snippets/ztp_99-sync-time-once-worker.yaml +++ b/snippets/ztp_99-sync-time-once-worker.yaml @@ -17,6 +17,7 @@ spec: [Service] Type=oneshot TimeoutStartSec=300 + ExecCondition=/bin/bash -c 'systemctl is-enabled chronyd.service --quiet && exit 1 || exit 0' ExecStart=/usr/sbin/chronyd -n -f /etc/chrony.conf -q RemainAfterExit=yes [Install] diff --git a/snippets/ztp_DisableOLMPprof.yaml b/snippets/ztp_DisableOLMPprof.yaml new file mode 100644 index 0000000000..640d20edc4 --- /dev/null +++ b/snippets/ztp_DisableOLMPprof.yaml @@ -0,0 +1,9 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: collect-profiles-config + namespace: openshift-operator-lifecycle-manager + annotations: {} +data: + pprof-config.yaml: | + disabled: True diff --git a/snippets/ztp_PerformanceProfile.yaml b/snippets/ztp_PerformanceProfile.yaml index c8e268dc59..f4350be40c 100644 --- a/snippets/ztp_PerformanceProfile.yaml +++ b/snippets/ztp_PerformanceProfile.yaml @@ -3,7 +3,7 @@ kind: PerformanceProfile metadata: # if you change this name make sure the 'include' line in TunedPerformancePatch.yaml # matches this name: include=openshift-node-performance-${PerformanceProfile.metadata.name} - # Also in file 'validatorCRs/informDuValidator.yaml': + # Also in file 'validatorCRs/informDuValidator.yaml': # name: 50-performance-${PerformanceProfile.metadata.name} name: openshift-node-performance-profile annotations: @@ -27,7 +27,7 @@ spec: machineConfigPoolSelector: pools.operator.machineconfiguration.openshift.io/$mcp: "" nodeSelector: - node-role.kubernetes.io/$mcp: "" + node-role.kubernetes.io/$mcp: '' numa: topologyPolicy: "restricted" # To use the standard (non-realtime) kernel, set enabled to false diff --git a/snippets/ztp_PtpConfigDualCardGmWpc.yaml b/snippets/ztp_PtpConfigDualCardGmWpc.yaml new file mode 100644 index 0000000000..2b6034dffc --- /dev/null +++ b/snippets/ztp_PtpConfigDualCardGmWpc.yaml @@ -0,0 +1,221 @@ +# 2 cards $iface_master and $iface_master_1 are connected via SMA1 ports by a cable and $iface_master_1 receives 1PPS signals from $iface_master +apiVersion: ptp.openshift.io/v1 +kind: PtpConfig +metadata: + name: grandmaster + namespace: openshift-ptp + annotations: {} +spec: + profile: + - name: "grandmaster" + ptp4lOpts: "-2 --summary_interval -4" + phc2sysOpts: -r -u 0 -m -O -37 -N 8 -R 16 -s $iface_master -n 24 + ptpSchedulingPolicy: SCHED_FIFO + ptpSchedulingPriority: 10 + ptpSettings: + logReduce: "true" + plugins: + e810: + enableDefaultConfig: false + settings: + LocalMaxHoldoverOffSet: 1500 + LocalHoldoverTimeout: 14400 + MaxInSpecOffset: 100 + pins: $e810_pins + # "$iface_master": + # "U.FL2": "0 2" + # "U.FL1": "0 1" + # "SMA2": "0 2" + # "SMA1": "2 1" + # "$iface_master_1": + # "U.FL2": "0 2" + # "U.FL1": "0 1" + # "SMA2": "0 2" + # "SMA1": "1 1" + ublxCmds: + - args: #ubxtool -P 29.20 -z CFG-HW-ANT_CFG_VOLTCTRL,1 + - "-P" + - "29.20" + - "-z" + - "CFG-HW-ANT_CFG_VOLTCTRL,1" + reportOutput: false + - args: #ubxtool -P 29.20 -e GPS + - "-P" + - "29.20" + - "-e" + - "GPS" + reportOutput: false + - args: #ubxtool -P 29.20 -d Galileo + - "-P" + - "29.20" + - "-d" + - "Galileo" + reportOutput: false + - args: #ubxtool -P 29.20 -d GLONASS + - "-P" + - "29.20" + - "-d" + - "GLONASS" + reportOutput: false + - args: #ubxtool -P 29.20 -d BeiDou + - "-P" + - "29.20" + - "-d" + - "BeiDou" + reportOutput: false + - args: #ubxtool -P 29.20 -d SBAS + - "-P" + - "29.20" + - "-d" + - "SBAS" + reportOutput: false + - args: #ubxtool -P 29.20 -t -w 5 -v 1 -e SURVEYIN,600,50000 + - "-P" + - "29.20" + - "-t" + - "-w" + - "5" + - "-v" + - "1" + - "-e" + - "SURVEYIN,600,50000" + reportOutput: true + - args: #ubxtool -P 29.20 -p MON-HW + - "-P" + - "29.20" + - "-p" + - "MON-HW" + reportOutput: true + ts2phcOpts: " " + ts2phcConf: | + [nmea] + ts2phc.master 1 + [global] + use_syslog 0 + verbose 1 + logging_level 7 + ts2phc.pulsewidth 100000000 + #cat /dev/GNSS to find available serial port + #example value of gnss_serialport is /dev/ttyGNSS_1700_0 + ts2phc.nmea_serialport $gnss_serialport + leapfile /usr/share/zoneinfo/leap-seconds.list + [$iface_master] + ts2phc.extts_polarity rising + ts2phc.extts_correction 0 + [$iface_master_1] + ts2phc.extts_polarity rising + #this is a measured value in nanoseconds to compensate for SMA cable delay + ts2phc.extts_correction -10 + ptp4lConf: | + [$iface_master] + masterOnly 1 + [$iface_master_1] + masterOnly 1 + [$iface_master_1_1] + masterOnly 1 + [$iface_master_1_2] + masterOnly 1 + [global] + # + # Default Data Set + # + twoStepFlag 1 + priority1 128 + priority2 128 + domainNumber 24 + #utc_offset 37 + clockClass 6 + clockAccuracy 0x27 + offsetScaledLogVariance 0xFFFF + free_running 0 + freq_est_interval 1 + dscp_event 0 + dscp_general 0 + dataset_comparison G.8275.x + G.8275.defaultDS.localPriority 128 + # + # Port Data Set + # + logAnnounceInterval -3 + logSyncInterval -4 + logMinDelayReqInterval -4 + logMinPdelayReqInterval 0 + announceReceiptTimeout 3 + syncReceiptTimeout 0 + delayAsymmetry 0 + fault_reset_interval -4 + neighborPropDelayThresh 20000000 + masterOnly 0 + G.8275.portDS.localPriority 128 + # + # Run time options + # + assume_two_step 0 + logging_level 6 + path_trace_enabled 0 + follow_up_info 0 + hybrid_e2e 0 + inhibit_multicast_service 0 + net_sync_monitor 0 + tc_spanning_tree 0 + tx_timestamp_timeout 50 + unicast_listen 0 + unicast_master_table 0 + unicast_req_duration 3600 + use_syslog 1 + verbose 0 + summary_interval -4 + kernel_leap 1 + check_fup_sync 0 + clock_class_threshold 7 + # + # Servo Options + # + pi_proportional_const 0.0 + pi_integral_const 0.0 + pi_proportional_scale 0.0 + pi_proportional_exponent -0.3 + pi_proportional_norm_max 0.7 + pi_integral_scale 0.0 + pi_integral_exponent 0.4 + pi_integral_norm_max 0.3 + step_threshold 2.0 + first_step_threshold 0.00002 + clock_servo pi + sanity_freq_limit 200000000 + ntpshm_segment 0 + # + # Transport options + # + transportSpecific 0x0 + ptp_dst_mac 01:1B:19:00:00:00 + p2p_dst_mac 01:80:C2:00:00:0E + udp_ttl 1 + udp6_scope 0x0E + uds_address /var/run/ptp4l + # + # Default interface options + # + clock_type BC + network_transport L2 + delay_mechanism E2E + time_stamping hardware + tsproc_mode filter + delay_filter moving_median + delay_filter_length 10 + egressLatency 0 + ingressLatency 0 + boundary_clock_jbod 1 + # + # Clock description + # + productDescription ;; + revisionData ;; + manufacturerIdentity 00:00:00 + userDescription ; + timeSource 0x20 + recommend: + - profile: "grandmaster" + priority: 4 + match: + - nodeLabel: "node-role.kubernetes.io/$mcp" diff --git a/snippets/ztp_PtpConfigGmWpc.yaml b/snippets/ztp_PtpConfigGmWpc.yaml index 517baff9d9..45c3151e51 100644 --- a/snippets/ztp_PtpConfigGmWpc.yaml +++ b/snippets/ztp_PtpConfigGmWpc.yaml @@ -89,8 +89,7 @@ spec: verbose 1 logging_level 7 ts2phc.pulsewidth 100000000 - #GNSS module s /dev/ttyGNSS* -al use _0 - #cat /dev/ttyGNSS_1700_0 to find available serial port + #cat /dev/GNSS to find available serial port #example value of gnss_serialport is /dev/ttyGNSS_1700_0 ts2phc.nmea_serialport $gnss_serialport leapfile /usr/share/zoneinfo/leap-seconds.list diff --git a/snippets/ztp_ReduceMonitoringFootprint.yaml b/snippets/ztp_ReduceMonitoringFootprint.yaml index 0e4bbd55c5..0635645cb1 100644 --- a/snippets/ztp_ReduceMonitoringFootprint.yaml +++ b/snippets/ztp_ReduceMonitoringFootprint.yaml @@ -6,8 +6,6 @@ metadata: annotations: {} data: config.yaml: | - grafana: - enabled: false alertmanagerMain: enabled: false telemeterClient: diff --git a/snippets/ztp_enable-cgroups-v1.yaml b/snippets/ztp_enable-cgroups-v1.yaml new file mode 100644 index 0000000000..b7f35d277e --- /dev/null +++ b/snippets/ztp_enable-cgroups-v1.yaml @@ -0,0 +1,6 @@ +apiVersion: config.openshift.io/v1 +kind: Node +metadata: + name: cluster +spec: + cgroupMode: "v1" diff --git a/snippets/ztp_example-sno.yaml b/snippets/ztp_example-sno.yaml index 730a8aa74e..b29df170c4 100644 --- a/snippets/ztp_example-sno.yaml +++ b/snippets/ztp_example-sno.yaml @@ -21,7 +21,7 @@ spec: # components. # Notes: # - NodeTuning is needed for 4.13 and later, not for 4.12 and earlier - installConfigOverrides: '{"capabilities":{"baselineCapabilitySet": "None", "additionalEnabledCapabilities": [ "marketplace", "NodeTuning" ] }}' + installConfigOverrides: "{\"capabilities\":{\"baselineCapabilitySet\": \"None\", \"additionalEnabledCapabilities\": [ \"marketplace\", \"NodeTuning\" ] }}" # It is strongly recommended to include crun manifests as part of the additional install-time manifests for 4.13+. # The crun manifests can be obtained from source-crs/optional-extra-manifest/ and added to the git repo ie.sno-extra-manifest. # extraManifestPath: sno-extra-manifest