From c88c0fb8d5bb208924f4830d3a616c0d46841e98 Mon Sep 17 00:00:00 2001 From: Alexandra Molnar Date: Wed, 3 Jul 2024 15:49:33 +0100 Subject: [PATCH] TElCODOCS-1932: Implement post-GA SME feedback --- modules/cnf-image-based-upgrade-backup-guide.adoc | 2 +- .../cnf-image-based-upgrade-extra-manifests-guide.adoc | 2 +- modules/cnf-image-based-upgrade-generate-seed-image.adoc | 6 +++--- modules/cnf-image-based-upgrade-seed-image-config.adoc | 7 ++++--- modules/cnf-image-based-upgrade-seed-image-guide.adoc | 8 +++++--- ...nf-image-based-upgrade-shared-container-partition.adoc | 2 +- modules/cnf-image-based-upgrade-troubleshooting.adoc | 1 - modules/cnf-image-based-upgrade.adoc | 7 ++++--- ...tp-image-based-upgrade-shared-container-partition.adoc | 8 ++++---- 9 files changed, 23 insertions(+), 20 deletions(-) diff --git a/modules/cnf-image-based-upgrade-backup-guide.adoc b/modules/cnf-image-based-upgrade-backup-guide.adoc index 0d1bf90398b5..82ff5367e7b0 100644 --- a/modules/cnf-image-based-upgrade-backup-guide.adoc +++ b/modules/cnf-image-based-upgrade-backup-guide.adoc @@ -20,7 +20,7 @@ The following resources must be excluded from the backup: There are two local storage implementations for {sno}: -Local Storage Operator (LSO):: The {lcao} backs up and restores the required artifacts, including `LocalVolumes` and their associated `StorageClasses`. You must exclude the `persistentVolumes` resource in the application `Backup` CR. +Local Storage Operator (LSO):: The {lcao} automatically backs up and restores the required artifacts, including `localvolume` resources and their associated `StorageClass` resources. You must exclude the `persistentvolumes` resource in the application `Backup` CR. {lvms}:: You must create the `Backup` and `Restore` CRs for {lvms} artifacts. You must include the `persistentVolumes` resource in the application `Backup` CR. diff --git a/modules/cnf-image-based-upgrade-extra-manifests-guide.adoc b/modules/cnf-image-based-upgrade-extra-manifests-guide.adoc index 6d8a340dfed8..53bf5eb972e5 100644 --- a/modules/cnf-image-based-upgrade-extra-manifests-guide.adoc +++ b/modules/cnf-image-based-upgrade-extra-manifests-guide.adoc @@ -4,7 +4,7 @@ [id="cnf-image-based-upgrade-extra-manifests-guide_{context}"] = Extra manifest guidelines -The {lcao} uses extra manifests to restore your target clusters after rebooting with the new default stateroot deployment and before restoring application artifacts. +The {lcao} uses extra manifests to restore your target clusters after rebooting with the new stateroot deployment and before restoring application artifacts. Different deployment methods require a different way to apply the extra manifests: diff --git a/modules/cnf-image-based-upgrade-generate-seed-image.adoc b/modules/cnf-image-based-upgrade-generate-seed-image.adoc index 1963c63456f4..55526f60798f 100644 --- a/modules/cnf-image-based-upgrade-generate-seed-image.adoc +++ b/modules/cnf-image-based-upgrade-generate-seed-image.adoc @@ -22,9 +22,9 @@ Use the {lcao} to generate the seed image with the `SeedGenerator` CR. The Opera .Procedure -. Detach the cluster from the hub to delete any cluster-specific resources from the seed cluster that must not be in the seed image: +. Detach the cluster from the hub to delete any {rh-rhacm}-specific resources from the seed cluster that must not be in the seed image: -.. If you are using {rh-rhacm}, manually detach the seed cluster by running the following command: +.. Manually detach the seed cluster by running the following command: + [source,terminal] ---- @@ -52,7 +52,7 @@ generators: + The ArgoCD pipeline detects the changes and removes the managed cluster. -. Create the `Secret`: +. Create the `Secret` object so that you can push the seed image to your registry. .. Create the authentication file by running the following commands: + diff --git a/modules/cnf-image-based-upgrade-seed-image-config.adoc b/modules/cnf-image-based-upgrade-seed-image-config.adoc index 607ba75cac00..6246cfec00e7 100644 --- a/modules/cnf-image-based-upgrade-seed-image-config.adoc +++ b/modules/cnf-image-based-upgrade-seed-image-config.adoc @@ -5,7 +5,7 @@ [id="cnf-image-based-upgrade-seed-image-config_{context}"] = Seed image configuration -The seed image targets a set of {sno} clusters with similar configuration. +The seed image targets a set of {sno} clusters with the same hardware and similar configuration. This means that the seed image must have all of the components and configuration that the seed cluster shares with the target clusters. Therefore, the seed image generated from the seed cluster cannot contain any cluster-specific configuration. @@ -29,10 +29,10 @@ The following table lists the components, resources, and configurations that you |Set of Day 2 Operators, including the {lcao} and the OADP Operator |Yes -|Disconnected registry configuration +|Disconnected registry configuration ^[2]^ |Yes -|Valid proxy configuration ^[2]^ +|Valid proxy configuration ^[3]^ |Yes |FIPS configuration @@ -52,6 +52,7 @@ a|Local volumes |No |==== . Dual-stack networking is not supported in this release. +. If the seed cluster is installed in a disconnected environment, the target clusters must also be installed in a disconnected environment. . The proxy configuration does not have to be the same. [id="ztp-image-based-upgrade-seed-image-config-ran_{context}"] diff --git a/modules/cnf-image-based-upgrade-seed-image-guide.adoc b/modules/cnf-image-based-upgrade-seed-image-guide.adoc index 59cb7a071d35..fcdf34abdec5 100644 --- a/modules/cnf-image-based-upgrade-seed-image-guide.adoc +++ b/modules/cnf-image-based-upgrade-seed-image-guide.adoc @@ -4,10 +4,12 @@ [id="cnf-image-based-upgrade-seed-image-guide_{context}"] = Seed image guidelines -The seed image targets a set of {sno} clusters with similar configuration. -This means that the seed cluster needs to have the same configuration as the target clusters for the following items: +The seed image targets a set of {sno} clusters with the same hardware and similar configuration. +This means that the seed cluster must match the configuration of the target clusters for the following items: -* Performance profile +* CPU topology +** Number of CPU cores +** Tuned performance configuration, such as number of reserved CPUs * `MachineConfig` resources for the target cluster * IP version + diff --git a/modules/cnf-image-based-upgrade-shared-container-partition.adoc b/modules/cnf-image-based-upgrade-shared-container-partition.adoc index 8e7ad2d44ab3..c9d47f3b45af 100644 --- a/modules/cnf-image-based-upgrade-shared-container-partition.adoc +++ b/modules/cnf-image-based-upgrade-shared-container-partition.adoc @@ -30,7 +30,7 @@ spec: version: 3.2.0 storage: disks: - - device: /dev/disk/by-id/wwn- <1> + - device: /dev/disk/by-path/pci- <1> partitions: - label: varlibcontainers startMiB: <2> diff --git a/modules/cnf-image-based-upgrade-troubleshooting.adoc b/modules/cnf-image-based-upgrade-troubleshooting.adoc index b4aaffb41d59..c2576f04d928 100644 --- a/modules/cnf-image-based-upgrade-troubleshooting.adoc +++ b/modules/cnf-image-based-upgrade-troubleshooting.adoc @@ -37,7 +37,6 @@ Issue:: During the finalize stage or when you stop the process at the `Prep` stage, {lcao} cleans up the following resources: * Stateroot that is no longer required -* Precaching resources * OADP CRs * `ImageBasedUpgrade` CR diff --git a/modules/cnf-image-based-upgrade.adoc b/modules/cnf-image-based-upgrade.adoc index c263ca5107ce..e3b69d5189d8 100644 --- a/modules/cnf-image-based-upgrade.adoc +++ b/modules/cnf-image-based-upgrade.adoc @@ -61,7 +61,7 @@ During this stage, the {lcao} ensures that the target cluster is ready to procee You also prepare backup resources with the OADP Operator's `Backup` and `Restore` CRs. These CRs are used in the `Upgrade` stage to reconfigure the cluster, register the cluster with {rh-rhacm}, and restore application artifacts. -In addition to the OADP Operator, the {lcao} uses the `ostree` versioning system to create a backup, which allows complete cluster reconfiguration after both upgrade and rollback. +In addition to the OADP Operator, the {lcao} uses the `ostree` versioning system to install the new version as an `ostree` stateroot, which allows complete cluster reconfiguration after both upgrade and rollback. After the `Prep` stage finishes, you can cancel the upgrade process by moving to the `Idle` stage or you can start the upgrade by moving to the `Upgrade` stage in the `ImageBasedUpgrade` CR. If you cancel the upgrade, the Operator performs cleanup operations. @@ -75,9 +75,10 @@ image::696_OpenShift_Lifecycle_Agent_0624_3.png[Transition from Prep stage] The `Upgrade` stage consists of two phases: pre-pivot:: Just before pivoting to the new stateroot, the {lcao} collects the required cluster specific artifacts and stores them in the new stateroot. The backup of your cluster resources specified in the `Prep` stage are created on a compatible Object storage solution. The {lcao} exports CRs specified in the `extraManifests` field in the `ImageBasedUpgrade` CR or the CRs described in the ZTP policies that are bound to the target cluster. After pre-pivot phase has completed, the {lcao} sets the new stateroot deployment as the default boot entry and reboots the node. -post-pivot:: After booting from the new stateroot, the {lcao} reconfigures the cluster by applying cluster-specific artifacts that were collected in the pre-pivot phase. The Operator applies all saved CRs, and restores the backups. -The Operator also regenerates the seed image's cluster cryptography. +post-pivot:: After booting from the new stateroot, the {lcao} also regenerates the seed image's cluster cryptography. This ensures that each {sno} cluster upgraded with the same seed image has unique and valid cryptographic objects. +The Operator then reconfigures the cluster by applying cluster-specific artifacts that were collected in the pre-pivot phase. +The Operator applies all saved CRs, and restores the backups. After the upgrade has completed and you are satisfied with the changes, you can finalize the upgrade by moving to the `Idle` stage. diff --git a/modules/ztp-image-based-upgrade-shared-container-partition.adoc b/modules/ztp-image-based-upgrade-shared-container-partition.adoc index eb013333748a..fbaae2fcc4cd 100644 --- a/modules/ztp-image-based-upgrade-shared-container-partition.adoc +++ b/modules/ztp-image-based-upgrade-shared-container-partition.adoc @@ -26,7 +26,7 @@ variant: fcos version: 1.3.0 storage: disks: - - device: /dev/disk/by-id/wwn- <1> + - device: /dev/disk/by-path/pci- <1> wipe_table: false partitions: - label: var-lib-containers @@ -57,7 +57,7 @@ $ butane storage.bu .Example output [source,terminal] ---- -{"ignition":{"version":"3.2.0"},"storage":{"disks":[{"device":"/dev/disk/by-id/wwn-0x6b07b250ebb9d0002a33509f24af1f62","partitions":[{"label":"var-lib-containers","sizeMiB":0,"startMiB":250000}],"wipeTable":false}],"filesystems":[{"device":"/dev/disk/by-partlabel/var-lib-containers","format":"xfs","mountOptions":["defaults","prjquota"],"path":"/var/lib/containers","wipeFilesystem":true}]},"systemd":{"units":[{"contents":"# Generated by Butane\n[Unit]\nRequires=systemd-fsck@dev-disk-by\\x2dpartlabel-var\\x2dlib\\x2dcontainers.service\nAfter=systemd-fsck@dev-disk-by\\x2dpartlabel-var\\x2dlib\\x2dcontainers.service\n\n[Mount]\nWhere=/var/lib/containers\nWhat=/dev/disk/by-partlabel/var-lib-containers\nType=xfs\nOptions=defaults,prjquota\n\n[Install]\nRequiredBy=local-fs.target","enabled":true,"name":"var-lib-containers.mount"}]}} +{"ignition":{"version":"3.2.0"},"storage":{"disks":[{"device":"/dev/disk/by-path/pci-0000:00:17.0-ata-1.0","partitions":[{"label":"var-lib-containers","sizeMiB":0,"startMiB":250000}],"wipeTable":false}],"filesystems":[{"device":"/dev/disk/by-partlabel/var-lib-containers","format":"xfs","mountOptions":["defaults","prjquota"],"path":"/var/lib/containers","wipeFilesystem":true}]},"systemd":{"units":[{"contents":"# Generated by Butane\n[Unit]\nRequires=systemd-fsck@dev-disk-by\\x2dpartlabel-var\\x2dlib\\x2dcontainers.service\nAfter=systemd-fsck@dev-disk-by\\x2dpartlabel-var\\x2dlib\\x2dcontainers.service\n\n[Mount]\nWhere=/var/lib/containers\nWhat=/dev/disk/by-partlabel/var-lib-containers\nType=xfs\nOptions=defaults,prjquota\n\n[Install]\nRequiredBy=local-fs.target","enabled":true,"name":"var-lib-containers.mount"}]}} ---- -- @@ -70,7 +70,7 @@ spec: clusters: - nodes: - hostName: - ignitionConfigOverride: '{"ignition":{"version":"3.2.0"},"storage":{"disks":[{"device":"/dev/disk/by-id/wwn-0x6b07b250ebb9d0002a33509f24af1f62","partitions":[{"label":"var-lib-containers","sizeMiB":0,"startMiB":250000}],"wipeTable":false}],"filesystems":[{"device":"/dev/disk/by-partlabel/var-lib-containers","format":"xfs","mountOptions":["defaults","prjquota"],"path":"/var/lib/containers","wipeFilesystem":true}]},"systemd":{"units":[{"contents":"# Generated by Butane\n[Unit]\nRequires=systemd-fsck@dev-disk-by\\x2dpartlabel-var\\x2dlib\\x2dcontainers.service\nAfter=systemd-fsck@dev-disk-by\\x2dpartlabel-var\\x2dlib\\x2dcontainers.service\n\n[Mount]\nWhere=/var/lib/containers\nWhat=/dev/disk/by-partlabel/var-lib-containers\nType=xfs\nOptions=defaults,prjquota\n\n[Install]\nRequiredBy=local-fs.target","enabled":true,"name":"var-lib-containers.mount"}]}}' + ignitionConfigOverride: '{"ignition":{"version":"3.2.0"},"storage":{"disks":[{"device":"/dev/disk/by-path/pci-0000:00:17.0-ata-1.0","partitions":[{"label":"var-lib-containers","sizeMiB":0,"startMiB":250000}],"wipeTable":false}],"filesystems":[{"device":"/dev/disk/by-partlabel/var-lib-containers","format":"xfs","mountOptions":["defaults","prjquota"],"path":"/var/lib/containers","wipeFilesystem":true}]},"systemd":{"units":[{"contents":"# Generated by Butane\n[Unit]\nRequires=systemd-fsck@dev-disk-by\\x2dpartlabel-var\\x2dlib\\x2dcontainers.service\nAfter=systemd-fsck@dev-disk-by\\x2dpartlabel-var\\x2dlib\\x2dcontainers.service\n\n[Mount]\nWhere=/var/lib/containers\nWhat=/dev/disk/by-partlabel/var-lib-containers\nType=xfs\nOptions=defaults,prjquota\n\n[Install]\nRequiredBy=local-fs.target","enabled":true,"name":"var-lib-containers.mount"}]}}' [...] ---- @@ -87,7 +87,7 @@ $ oc get bmh -n my-sno-ns my-sno -ojson | jq '.metadata.annotations["bmac.agent- .Example output [source,terminal] ---- -"{\"ignition\":{\"version\":\"3.2.0\"},\"storage\":{\"disks\":[{\"device\":\"/dev/disk/by-id/wwn-0x6b07b250ebb9d0002a33509f24af1f62\",\"partitions\":[{\"label\":\"var-lib-containers\",\"sizeMiB\":0,\"startMiB\":250000}],\"wipeTable\":false}],\"filesystems\":[{\"device\":\"/dev/disk/by-partlabel/var-lib-containers\",\"format\":\"xfs\",\"mountOptions\":[\"defaults\",\"prjquota\"],\"path\":\"/var/lib/containers\",\"wipeFilesystem\":true}]},\"systemd\":{\"units\":[{\"contents\":\"# Generated by Butane\\n[Unit]\\nRequires=systemd-fsck@dev-disk-by\\\\x2dpartlabel-var\\\\x2dlib\\\\x2dcontainers.service\\nAfter=systemd-fsck@dev-disk-by\\\\x2dpartlabel-var\\\\x2dlib\\\\x2dcontainers.service\\n\\n[Mount]\\nWhere=/var/lib/containers\\nWhat=/dev/disk/by-partlabel/var-lib-containers\\nType=xfs\\nOptions=defaults,prjquota\\n\\n[Install]\\nRequiredBy=local-fs.target\",\"enabled\":true,\"name\":\"var-lib-containers.mount\"}]}}" +"{\"ignition\":{\"version\":\"3.2.0\"},\"storage\":{\"disks\":[{\"device\":\"/dev/disk/by-path/pci-0000:00:17.0-ata-1.0\",\"partitions\":[{\"label\":\"var-lib-containers\",\"sizeMiB\":0,\"startMiB\":250000}],\"wipeTable\":false}],\"filesystems\":[{\"device\":\"/dev/disk/by-partlabel/var-lib-containers\",\"format\":\"xfs\",\"mountOptions\":[\"defaults\",\"prjquota\"],\"path\":\"/var/lib/containers\",\"wipeFilesystem\":true}]},\"systemd\":{\"units\":[{\"contents\":\"# Generated by Butane\\n[Unit]\\nRequires=systemd-fsck@dev-disk-by\\\\x2dpartlabel-var\\\\x2dlib\\\\x2dcontainers.service\\nAfter=systemd-fsck@dev-disk-by\\\\x2dpartlabel-var\\\\x2dlib\\\\x2dcontainers.service\\n\\n[Mount]\\nWhere=/var/lib/containers\\nWhat=/dev/disk/by-partlabel/var-lib-containers\\nType=xfs\\nOptions=defaults,prjquota\\n\\n[Install]\\nRequiredBy=local-fs.target\",\"enabled\":true,\"name\":\"var-lib-containers.mount\"}]}}" ---- --