|
| 1 | +// Module included in the following assemblies: |
| 2 | +// |
| 3 | +// * backup_and_restore/oadp-release-notes.adoc |
| 4 | + |
| 5 | +:_mod-docs-content-type: REFERENCE |
| 6 | +[id="oadp-release-notes-1-3-0_{context}"] |
| 7 | += OADP 1.3.0 release notes |
| 8 | + |
| 9 | +The {oadp-first} 1.3.0 release notes lists new features, resolved issues and bugs, and known issues. |
| 10 | + |
| 11 | +[id="new-features-1-3-0_{context}"] |
| 12 | +== New features |
| 13 | + |
| 14 | +.Velero built-in DataMover |
| 15 | + |
| 16 | +OADP 1.3 includes a built-in Data Mover that you can use to move Container Storage Interface (CSI) volume snapshots to a remote object store. The built-in Data Mover allows you to restore stateful applications from the remote object store if a failure, accidental deletion, or corruption of the cluster occurs. It uses Kopia as the uploader mechanism to read the snapshot data and to write to the Unified Repository. |
| 17 | + |
| 18 | + |
| 19 | +:FeatureName: Velero built-in DataMover |
| 20 | +include::snippets/technology-preview.adoc[] |
| 21 | + |
| 22 | +.Backing up applications with File System Backup: Kopia or Restic |
| 23 | + |
| 24 | +Velero’s File System Backup (FSB) supports two backup libraries: the Restic path and the Kopia path. |
| 25 | + |
| 26 | +Velero allows users to select between the two paths. |
| 27 | + |
| 28 | +For backup, specify the path during the installation through the `uploader-type` flag. The valid value is either `restic` or `kopia`. This field defaults to `kopia` if the value is not specified. The selection cannot be changed after the installation. |
| 29 | + |
| 30 | +.GCP Cloud authentication |
| 31 | + |
| 32 | +Google Cloud Platform (GCP) authentication enables you to use short-lived Google credentials. |
| 33 | + |
| 34 | +GCP with Workload Identity Federation enables you to use Identity and Access Management (IAM) to grant external identities IAM roles, including the ability to impersonate service accounts. This eliminates the maintenance and security risks associated with service account keys. |
| 35 | + |
| 36 | +.AWS ROSA STS authentication |
| 37 | + |
| 38 | +You can use {oadp-first} with {product-rosa} (ROSA) clusters to backup and restore application data. |
| 39 | + |
| 40 | +ROSA provides seamless integration with a wide range of AWS compute, database, analytics, machine learning, networking, mobile, and other services to speed up the building and delivering of differentiating experiences to your customers. |
| 41 | + |
| 42 | +You can subscribe to the service directly from your AWS account. |
| 43 | + |
| 44 | +After the clusters are created, you can operate your clusters by using the OpenShift web console. The ROSA service also uses OpenShift APIs and command-line interface (CLI) tools. |
| 45 | + |
| 46 | +[id="resolved-issues-1-3-0_{context}"] |
| 47 | +== Resolved issues |
| 48 | + |
| 49 | +.ACM applications were removed and re-created on managed clusters after restore |
| 50 | +Applications on managed clusters were deleted and re-created upon restore activation. {oadp-full} (OADP 1.2) backup and restore process is faster than the older versions. The OADP performance change caused this behavior when restoring ACM resources. Therefore, some resources were restored before other resources, which caused the removal of the applications from managed clusters. |
| 51 | +link:https://issues.redhat.com/browse/OADP-2686[OADP-2686] |
| 52 | + |
| 53 | + |
| 54 | +.Restic restore was partially failing due to Pod Security standard |
| 55 | + |
| 56 | +During interoperability testing, {product-title} 4.14 had the pod Security mode set to `enforce`, which caused the pod to be denied. This was caused due to the restore order. The pod was getting created before the security context constraints (SCC) resource, since the pod violated the `podSecurity` standard, it denied the pod. When setting the restore priority field on the Velero server, restore is successful. link:https://issues.redhat.com/browse/OADP-2688[OADP-2688] |
| 57 | + |
| 58 | +.Possible pod volume backup failure if Velero is installed in several namespaces |
| 59 | + |
| 60 | +There was a regresssion in Pod Volume Backup (PVB) functionality when Velero was installed in several namespaces. The PVB controller was not properly limiting itself to PVBs in its own namespace. |
| 61 | +link:https://issues.redhat.com/browse/OADP-2308[OADP-2308] |
| 62 | + |
| 63 | +.OADP Velero plugins returning "received EOF, stopping recv loop" message |
| 64 | + |
| 65 | +In OADP, Velero plugins were started as separate processes. When the Velero operation completes, either successfully or not, they exit. Therefore, if you see a `received EOF, stopping recv loop` messages in debug logs, it does not mean an error occurred, it means that a plugin operation has completed. link:https://issues.redhat.com/browse/OADP-2176[OADP-2176] |
| 66 | + |
| 67 | +.CVE-2023-39325 Multiple HTTP/2 enabled web servers are vulnerable to a DDoS attack (Rapid Reset Attack) |
| 68 | +In previous releases of OADP, the HTTP/2 protocol was susceptible to a denial of service attack because request cancellation could reset multiple streams quickly. The server had to set up and tear down the streams while not hitting any server-side limit for the maximum number of active streams per connection. This resulted in a denial of service due to server resource consumption. |
| 69 | + |
| 70 | +For more information, see link:https://access.redhat.com/security/cve/cve-2023-39325[CVE-2023-39325 (Rapid Reset Attack)] |
| 71 | + |
| 72 | + |
| 73 | +For a complete list of all issues resolved in this release, see the list of link:https://issues.redhat.com/issues/?filter=12422837[OADP 1.3.0 resolved issues] in Jira. |
| 74 | + |
| 75 | +[id="known-issues-1-3-0_{context}"] |
| 76 | +== Known issues |
| 77 | + |
| 78 | +.CSI plugin errors on nil pointer when csiSnapshotTimeout is set to a short duration |
| 79 | +The CSI plugin errors on nil pointer when `csiSnapshotTimeout` is set to a short duration. Sometimes it succeeds to complete the snapshot within a short duration, but often it panics with the backup `PartiallyFailed` with the following error: `plugin panicked: runtime error: invalid memory address or nil pointer dereference`. |
| 80 | + |
| 81 | +.Backup is marked as PartiallyFailed when volumeSnapshotContent CR has an error |
| 82 | +If any of the `VolumeSnapshotContent` CRs have an error related to removing the `VolumeSnapshotBeingCreated` annotation, it moves the backup to the `WaitingForPluginOperationsPartiallyFailed` phase. link:https://issues.redhat.com/browse/OADP-2871[OADP-2871] |
| 83 | + |
| 84 | +.Performance issues when restoring 30,000 resources for the first time |
| 85 | +When restoring 30,000 resources for the first time, without an existing-resource-policy, it takes twice as long to restore them, than it takes during the second and third try with an existing-resource-policy set to `update`. link:https://issues.redhat.com/browse/OADP-3071[OADP-3071] |
| 86 | + |
| 87 | +.Post restore hooks might start running before Datadownload operation has released the related PV |
| 88 | +Due to the asynchronous nature of the Data Mover operation, a post-hook might be attempted before the related pods persistent volumes (PVs) are released by the Data Mover persistent volume claim (PVC). |
| 89 | + |
| 90 | + |
| 91 | +.GCP-Workload Identity Federation VSL backup PartiallyFailed |
| 92 | +VSL backup `PartiallyFailed` when GCP workload identity is configured on GCP. |
| 93 | + |
| 94 | + |
| 95 | +For a complete list of all known issues in this release, see the list of link:https://issues.redhat.com/issues/?filter=12422838[OADP 1.3.0 known issues] in Jira. |
| 96 | + |
| 97 | +[id="upgrade-notes-1-3-0_{context}"] |
| 98 | +== Upgrade notes |
| 99 | + |
| 100 | +[NOTE] |
| 101 | +==== |
| 102 | +Always upgrade to the next minor version. *Do not* skip versions. To update to a later version, upgrade only one channel at a time. For example, to upgrade from {oadp-first} 1.1 to 1.3, upgrade first to 1.2, and then to 1.3. |
| 103 | +==== |
| 104 | + |
| 105 | +[id="changes-oadp-1-2-to-1-3_{context}"] |
| 106 | +=== Changes from OADP 1.2 to 1.3 |
| 107 | + |
| 108 | +The Velero server has been updated from version 1.11 to 1.12. |
| 109 | + |
| 110 | +{oadp-first} 1.3 uses the Velero built-in Data Mover instead of the VolumeSnapshotMover (VSM) or the Volsync Data Mover. |
| 111 | + |
| 112 | +This changes the following: |
| 113 | + |
| 114 | +* The `spec.features.dataMover` field and the VSM plugin are not compatible with OADP 1.3, and you must remove the configuration from the `DataProtectionApplication` (DPA) configuration. |
| 115 | + |
| 116 | +* The Volsync Operator is no longer required for Data Mover functionality, and you can remove it. |
| 117 | + |
| 118 | +* The custom resource definitions `volumesnapshotbackups.datamover.oadp.openshift.io` and `volumesnapshotrestores.datamover.oadp.openshift.io` are no longer required, and you can remove them. |
| 119 | + |
| 120 | +* The secrets used for the OADP-1.2 Data Mover are no longer required, and you can remove them. |
| 121 | + |
| 122 | +OADP 1.3 supports Kopia, which is an alternative file system backup tool to Restic. |
| 123 | + |
| 124 | +* To employ Kopia, use the new `spec.configuration.nodeAgent` field as shown in the following example: |
| 125 | ++ |
| 126 | +.Example |
| 127 | +[source,yaml] |
| 128 | +---- |
| 129 | +spec: |
| 130 | + configuration: |
| 131 | + nodeAgent: |
| 132 | + enable: true |
| 133 | + uploaderType: kopia |
| 134 | +# ... |
| 135 | +---- |
| 136 | + |
| 137 | +* The `spec.configuration.restic` field is deprecated in OADP 1.3 and will be removed in a future version of OADP. To avoid seeing deprecation warnings, remove the `restic` key and its values, and use the following new syntax: |
| 138 | ++ |
| 139 | +.Example |
| 140 | +[source,yaml] |
| 141 | +---- |
| 142 | +spec: |
| 143 | + configuration: |
| 144 | + nodeAgent: |
| 145 | + enable: true |
| 146 | + uploaderType: restic |
| 147 | +# ... |
| 148 | +---- |
| 149 | + |
| 150 | +[NOTE] |
| 151 | +==== |
| 152 | +In OADP 1.4, the `kopia` will become the default `uploaderType` value. |
| 153 | +==== |
| 154 | + |
| 155 | +[id="upgrade-steps-1-3-0_{context}"] |
| 156 | +=== Upgrading steps |
0 commit comments