Bug 1905097

Summary: Cinder restore across Availability Zones
Product: Red Hat OpenStack Reporter: Gregory Charot <gcharot>
Component: python-cinderclientAssignee: Alan Bishop <abishop>
Status: CLOSED CURRENTRELEASE QA Contact: Yosi Ben Shimon <ybenshim>
Severity: medium Docs Contact: Andy Stillman <astillma>
Priority: medium    
Version: 17.0 (Wallaby)CC: abishop, apevec, eharney, gcharot, jschluet, ltoscano, spower, ybenshim
Target Milestone: z2Keywords: FutureFeature, TestOnly, Triaged
Target Release: 17.1   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: python-cinderclient-7.4.1-0.20210904062152.4f72e6f.el8ost Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2023-09-21 10:32:08 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 2229750    
Bug Blocks:    

Description Gregory Charot 2020-12-07 13:46:54 UTC
Description of problem:

As a user i want to easily restore a removed backuped by cinder backup to a different AZ than the original volume.

Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:


Additional info:

Currently possible with the cinder create command
$ BACKUP_ID=$(openstack volume backup list --name vol-dcn1 -f value -c ID)
& OS_VOLUME_API_VERSION=3.51 cinder create --availability-zone az-dcn2 --name vol-dcn2 --backup-id $BACKUP_ID 1


Goal is to integrate this with cinder backup tooling or API.

Comment 1 Alan Bishop 2021-03-04 18:12:25 UTC
The patch merged on master, and is on target for OSP-17.

Comment 2 Gregory Charot 2021-04-13 18:23:54 UTC
not a GA must have, moving to 17.0.2

Comment 10 Alan Bishop 2023-08-07 14:35:07 UTC
Doc updates for this BZ will be limited to updating the command to restore a backup (step 2) in [1].

[1] https://access.redhat.com/documentation/en-us/red_hat_openstack_platform/17.1-beta/html-single/deploying_a_distributed_compute_node_dcn_architecture/index#proc_backup-and-restore-across-edge-sites_appendix

However, it turns out cross-az backups themselves are broken in OSP-17 (bug #2229750), which makes it difficult to verify the new command for restoring a cross-az backup. I'm clearing the needinfo now, and will revisit the doc issue when the blocking bug is cleared.

Comment 11 Lon Hohberger 2023-08-16 10:33:56 UTC
According to our records, this should be resolved by python-cinderclient-7.4.1-1.20220727131518.4f72e6f.el9ost.  This build is available now.

Comment 13 Yosi Ben Shimon 2023-09-21 09:42:07 UTC
Tested on python-cinderclient-7.4.1-0.20210904062152.4f72e6f

# Get availability zones
(central) [stack@site-undercloud-0 ~]$ cinder availability-zone-list
+------------+-----------+
| Name       | Status    |
+------------+-----------+
| az-central | available |
| az-dcn1    | available |
| az-dcn2    | available |
+------------+-----------+

# Check where cinder-backup service is running
(central) [stack@site-undercloud-0 ~]$ openstack volume service list
cinder-backup service is running on "az-central"

# Create a volume on availability zones "az-dcn1"
(central) [stack@site-undercloud-0 ~]$ cinder --os-volume-api-version 3.51 create --name test_volume --availability-zone az-dcn1 1

# Create a backup of that volume on the availability zone "az-central" where the cinder-backup service is running
$ cinder --os-volume-api-version 3.51 backup-create --name volume_backup --availability-zone az-central test_volume

* The backup created successfully in "available" status on "az-central" AZ

# Restore the backup to a new availability zone ("new_volume_dcn2")
(central) [stack@site-undercloud-0 ~]$ cinder --os-volume-api-version 3.51 backup-restore --availability-zone az-dcn2 --name new_volume_dcn2 volume_backup

* The volume created successfully and both volume & backup are available


Moving to VERIFIED