Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 1995296

Summary: [Backport] Pass multipath config while creating connector object
Product: Red Hat OpenStack Reporter: Cyril Roelandt <cyril>
Component: python-glance-storeAssignee: Cyril Roelandt <cyril>
Status: CLOSED ERRATA QA Contact: Tzach Shefi <tshefi>
Severity: high Docs Contact:
Priority: high    
Version: 16.2 (Train)CC: apevec, gcharot, gfidente, lhh, tshefi
Target Milestone: z2Keywords: Triaged
Target Release: 16.2 (Train on RHEL 8.4)   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: python-glance-store-1.0.2-2.20220111043147.79e043a Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2022-03-23 22:11:12 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:

Description Cyril Roelandt 2021-08-18 18:45:09 UTC
See upstream bug for complete information:

    https://bugs.launchpad.net/glance-store/+bug/1863983


This bug is only meant to track the backport to 16.2.

Comment 4 Cyril Roelandt 2021-10-05 13:19:42 UTC
Yes, I'll create clones for all these bugs when we push the fixes to 17 and 16.2.

Comment 10 Tzach Shefi 2022-02-23 15:21:07 UTC
Verified on:
python3-glance-store-1.0.2-2.20220111043148.el8ost.noarch

On a deployment where Glace uses Cinder over 3par FC with multipath enabled via using
/usr/share/openstack-tripleo-heat-templates/environments/multipathd.yaml


The resulting glance backend section:
[default_backend]
cinder_store_auth_address=http://172.17.1.89:5000/v3
cinder_store_project_name=service
cinder_store_user_name=glance
cinder_store_password=TZayAMMLnkmNmhujz2yS84wGb
cinder_use_multipath=True                -------------> this was bumped to True thanks to using multipathd.yaml
cinder_mount_point_base=/var/lib/glance/mnt
store_description=Default glance store backend.




The cinder backend section:
[3parfc]
volume_backend_name = 3parfc
hpe3par_api_url = https://10......:8080/api/v1
hpe3par_username = .......
hpe3par_password=.......
hpe3par_cpg = SSD_r5
san_ip=10....
san_login=ad...
san_password=.....
volume_driver=cinder.volume.drivers.hpe.hpe_3par_fc.HPE3PARFCDriver
hpe3par_debug=true
hpe3par_snapshot_retention=0
hpe3par_snapshot_expiration=1
max_over_subscription_ratio=20.0
reserved_percentage=15
use_multipath_for_image_xfer=true
image_volume_cache_enabled=false


first I test upload a small cirros image:
(overcloud) [stack@seal41 ~]$ glance image-show 4c4a6797-26ae-4bdc-86f8-adcfa855d70d
+----------------------------------+----------------------------------------------------------------------------------+
| Property                         | Value                                                                            |
+----------------------------------+----------------------------------------------------------------------------------+
| checksum                         | 443b7623e27ecf03dc9e01ee93f67afe                                                 |
| container_format                 | bare                                                                             |
| created_at                       | 2022-02-22T12:46:15Z                                                             |
| direct_url                       | cinder://04e1e4e6-7896-44a9-a52c-8bf6c1f0c14c                                    |
| disk_format                      | qcow2                                                                            |
| id                               | 4c4a6797-26ae-4bdc-86f8-adcfa855d70d                                             |
| min_disk                         | 0                                                                                |
| min_ram                          | 0                                                                                |
| name                             | cirros                                                                           |
| os_hash_algo                     | sha512                                                                           |
| os_hash_value                    | 6513f21e44aa3da349f248188a44bc304a3653a04122d8fb4535423c8e1d14cd6a153f735bb0982e |
|                                  | 2161b5b5186106570c17a9e58b64dd39390617cd5a350f78                                 |
| os_hidden                        | False                                                                            |
| owner                            | 6ecd0962204b4054846e9d846623cec3                                                 |
| owner_specified.openstack.md5    |                                                                                  |
| owner_specified.openstack.object | images/cirros                                                                    |
| owner_specified.openstack.sha256 |                                                                                  |
| protected                        | False                                                                            |
| size                             | 12716032                                                                         |
| status                           | active                                                                           |
| stores                           | default_backend                                                                  |
| tags                             | []                                                                               |
| updated_at                       | 2022-02-22T12:46:26Z                                                             |
| virtual_size                     | Not available                                                                    |
| visibility                       | public                                                                           |
+----------------------------------+----------------------------------------------------------------------------------+


Image is active, lets see the Cinder backing volume:

(overcloud) [stack@seal41 ~]$ cinder list --all
+--------------------------------------+----------------------------------+-----------+--------------------------------------------+------+-------------+----------+--------------------------------------+
| ID                                   | Tenant ID                        | Status    | Name                                       | Size | Volume Type | Bootable | Attached to                          |
+--------------------------------------+----------------------------------+-----------+--------------------------------------------+------+-------------+----------+--------------------------------------+
| 04e1e4e6-7896-44a9-a52c-8bf6c1f0c14c | 93f394a52e714f29b6b5344fde0cb7d0 | available | image-4c4a6797-26ae-4bdc-86f8-adcfa855d70d | 1    | tripleo     | false    |                                      |


During creation I noticed these on the attached glance log
4477:2022-02-22 12:46:23.561 26 DEBUG os_brick.initiator.connectors.fibre_channel [req-94b2a467-ff2c-4d9b-b2ff-6535606b2a48 dd68bd4e703a4c09b55c1c5c74430697 6ecd0962204b4054846e9d846623cec3 - default default] <== connect_volume: return (2396ms) {'type': 'block', 'scsi_wwn': '360002ac0000000000000181100021f6b', 'multipath_id': '360002ac0000000000000181100021f6b', 'path': '/dev/disk/by-id/dm-uuid-mpath
-360002ac0000000000000181100021f6b'} trace_logging_wrapper /usr/lib/python3.6/site-packages/os_brick/utils.py:170


4455:2022-02-22 12:46:23.541 26 INFO os_brick.initiator.linuxscsi [req-94b2a467-ff2c-4d9b-b2ff-6535606b2a48 dd68bd4e703a4c09b55c1c5c74430697 6ecd0962204b4054846e9d846623cec3 - default default] Find Multipath device file for volume WWN 360002ac0000000000000181100021f6b


Now lets try to upload a larger image 744MB:

(overcloud) [stack@seal41 ~]$ glance image-create --disk-format qcow2 --container-format bare --file rhel-8.5-update-2-x86_64-kvm.qcow2 --name rhel8.5
+------------------+----------------------------------------------------------------------------------+
| Property         | Value                                                                            |
+------------------+----------------------------------------------------------------------------------+
| checksum         | 6e494d2b830cd2f2372364b035e93598                                                 |
| container_format | bare                                                                             |
| created_at       | 2022-02-22T13:35:56Z                                                             |
| direct_url       | cinder://81005632-424d-4992-900b-e55232918912                                    |
| disk_format      | qcow2                                                                            |
| id               | eff6a071-3c8c-4860-9c44-5606f9d9b996                                             |
| min_disk         | 0                                                                                |
| min_ram          | 0                                                                                |
| name             | rhel8.5                                                                          |
| os_hash_algo     | sha512                                                                           |
| os_hash_value    | 5bda0e42020f8d8e3d547de633e69c5ff442aa0b59d92e81d5bb6142fc95f4678049f72264689077 |
|                  | 26c66d42f8498730f5ec5add9cb7f52dfe1f716410b78fa2                                 |
| os_hidden        | False                                                                            |
| owner            | 6ecd0962204b4054846e9d846623cec3                                                 |
| protected        | False                                                                            |
| size             | 779681792                                                                        |
| status           | active                                                                           |
| stores           | default_backend                                                                  |
| tags             | []                                                                               |
| updated_at       | 2022-02-22T13:36:14Z                                                             |
| virtual_size     | Not available                                                                    |
| visibility       | shared                                                                           |
+------------------+----------------------------------------------------------------------------------+
(overcloud) [stack@seal41 ~]$ cinder list --all
+--------------------------------------+----------------------------------+-----------+--------------------------------------------+------+-------------+----------+--------------------------------------+
| ID                                   | Tenant ID                        | Status    | Name                                       | Size | Volume Type | Bootable | Attached to                          |
+--------------------------------------+----------------------------------+-----------+--------------------------------------------+------+-------------+----------+--------------------------------------+
| 04e1e4e6-7896-44a9-a52c-8bf6c1f0c14c | 93f394a52e714f29b6b5344fde0cb7d0 | available | image-4c4a6797-26ae-4bdc-86f8-adcfa855d70d | 1    | tripleo     | false    |                                      |

| 81005632-424d-4992-900b-e55232918912 | 93f394a52e714f29b6b5344fde0cb7d0 | available | image-eff6a071-3c8c-4860-9c44-5606f9d9b996 | 1    | tripleo     | false    |                                      |
+--------------------------------------+----------------------------------+-----------+--------------------------------------------+------+-------------+----------+--------------------------------------+



And one last test, which doesn't show up in the logs
as I copied the log file over before this test was executed. 

I uploaded a large 11G qcow2 image:

(overcloud) [stack@seal41 ~]$ glance image-create --disk-format qcow2 --container-format bare --file windows_server_2012_r2_standard_eval_kvm_20170321.qcow2 --name Win11G --progress
[=============================>] 100%
+------------------+----------------------------------------------------------------------------------+
| Property         | Value                                                                            |
+------------------+----------------------------------------------------------------------------------+
| checksum         | a05ead3a04ae663da77eee5d2cb2fa73                                                 |
| container_format | bare                                                                             |
| created_at       | 2022-02-23T15:07:38Z                                                             |
| direct_url       | cinder://606fb2cc-7a73-45f7-aaec-540715c54566                                    |
| disk_format      | qcow2                                                                            |
| id               | d3b3f572-4060-4f74-aebf-fedd0a598e94                                             |
| min_disk         | 0                                                                                |
| min_ram          | 0                                                                                |
| name             | Win11G                                                                           |
| os_hash_algo     | sha512                                                                           |
| os_hash_value    | 9bd12698b1cb46e09243fd5704e14292e7393c84a4de178f536caaf21b9222c94d5080cbec69eafe |
|                  | 69fd7a7694fe14d792425c5fbb89a89727d2d2615e62890a                                 |
| os_hidden        | False                                                                            |
| owner            | 6ecd0962204b4054846e9d846623cec3                                                 |
| protected        | False                                                                            |
| size             | 12001017856                                                                      |
| status           | active                                                                           |
| stores           | default_backend                                                                  |
| tags             | []                                                                               |
| updated_at       | 2022-02-23T15:11:26Z                                                             |
| virtual_size     | Not available                                                                    |
| visibility       | shared                                                                           |
+------------------+----------------------------------------------------------------------------------+
 
During this upload operation which took a few minutes. 
I also monitored multiptah -ll command on the contoller 
and noticed the below appear on/off several times during the upload. 

watch -n 1 -d multipath -ll

360002ac0000000000000181400021f6b dm-0 3PARdata,VV
size=2.0G features='1 queue_if_no_path' hwhandler='1 alua' wp=rw
`-+- policy='service-time 0' prio=50 status=active
  |- 16:0:1:0 sdb 8:16  active ready running
  |- 16:0:2:0 sdc 8:32  active ready running
  |- 16:0:3:0 sdd 8:48  active ready running
  |- 16:0:0:0 sde 8:64  active ready running
  |- 7:0:2:0  sdf 8:80  active ready running
  |- 7:0:1:0  sdg 8:96  active ready running
  |- 7:0:3:0  sdh 8:112 active ready running
  `- 7:0:0:0  sdi 8:128 active ready running

 
As proved above 3 times, image uploading to glance over Cinder over 3par FC with multipath works as expected, good to verify.

Comment 16 errata-xmlrpc 2022-03-23 22:11:12 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (Release of components for Red Hat OpenStack Platform 16.2.2), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2022:1001