Bug 1705563
Summary: | [openstack-cinder][OSP 13]Volume (no multi-attach) attached multiple time to an Instance | |||
---|---|---|---|---|
Product: | Red Hat OpenStack | Reporter: | Luigi Tamagnone <ltamagno> | |
Component: | openstack-cinder | Assignee: | Eric Harney <eharney> | |
Status: | CLOSED ERRATA | QA Contact: | Tzach Shefi <tshefi> | |
Severity: | urgent | Docs Contact: | Tana <tberry> | |
Priority: | urgent | |||
Version: | 13.0 (Queens) | CC: | abishop, astupnik, bkopilov, cylopez, dasmith, dhill, eglynn, eharney, fsoppels, gcharot, jhakimra, jvisser, kchamart, lyarwood, mbooth, pgrist, pmorey, rcarrier, riramos, sbauza, sgordon, tenobreg, tkajinam, tshefi, vromanso | |
Target Milestone: | z8 | Keywords: | Triaged, ZStream | |
Target Release: | 13.0 (Queens) | Flags: | tshefi:
automate_bug+
|
|
Hardware: | Unspecified | |||
OS: | Linux | |||
Whiteboard: | ||||
Fixed In Version: | openstack-cinder-12.0.7-5.el7ost | Doc Type: | If docs needed, set a value | |
Doc Text: | Story Points: | --- | ||
Clone Of: | ||||
: | 1734034 (view as bug list) | Environment: | ||
Last Closed: | 2019-09-03 16:54:21 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: | 1734849 | |||
Bug Blocks: | 1734034 |
Description
Luigi Tamagnone
2019-05-02 13:37:55 UTC
Multiattach policy isn't Nova's domain: Cinder should have refused to create an attachment for us. I suspect a race or oversight in cinder's attachment_reserve. Do you have Cinder logs from this event? How many nodes are involved? We have another similar case so I'll request the controller logs too ... If it could be useful, the Cu noticed that when he run the loop. it gets more request responses then commands he sends. (overcloud) [stack@ieatrheldir13a scripts]$ openstack server list +--------------------------------------+-------------+--------+------------------+--------+--------------+ | ID | Name | Status | Networks | Image | Flavor | +--------------------------------------+-------------+--------+------------------+--------+--------------+ | 7b925320-eaf9-41f4-b28d-4b3291979af5 | test-nova-5 | ACTIVE | test=10.10.10.15 | cirros | flavor_1vC1M | +--------------------------------------+-------------+--------+------------------+--------+--------------+ (overcloud) [stack@ieatrheldir13a scripts]$ openstack volume list +--------------------------------------+--------------+-----------+------+-------------+ | ID | Name | Status | Size | Attached to | +--------------------------------------+--------------+-----------+------+-------------+ | efb14565-310c-4d15-801c-5e1e4cf35b9a | test-break-5 | available | 7 | | +--------------------------------------+--------------+-----------+------+-------------+ (overcloud) [stack@ieatrheldir13a scripts]$ for i in {1..10}; do openstack server add volume 7b925320-eaf9-41f4-b28d-4b3291979af5 efb14565-310c-4d15-801c-5e1e4cf35b9a & doneInvalid volume: volume efb14565-310c-4d15-801c-5e1e4cf35b9a already attached (HTTP 400) (Request-ID: req-482f9d16-92e4-4f79-ac22-71a646a0d00e) Invalid volume: volume efb14565-310c-4d15-801c-5e1e4cf35b9a already attached (HTTP 400) (Request-ID: req-ac6fe9eb-830e-41f9-8aaf-99933922c286) Invalid volume: volume efb14565-310c-4d15-801c-5e1e4cf35b9a already attached (HTTP 400) (Request-ID: req-0482743f-57a4-45a1-b464-8e2419d7f689) Invalid volume: volume efb14565-310c-4d15-801c-5e1e4cf35b9a already attached (HTTP 400) (Request-ID: req-a354cbaa-690b-497c-9498-887cff20f6ef) [11] 21584 [12] 21585 [13] 21586 [14] 21587 [15] 21588 [16] 21589 [17] 21590 [18] 21591 [19] 21592 [20] 21593 [1] Done openstack server add volume 7b925320-eaf9-41f4-b28d-4b3291979af5 efb14565-310c-4d15-801c-5e1e4cf35b9a [2] Done openstack server add volume 7b925320-eaf9-41f4-b28d-4b3291979af5 efb14565-310c-4d15-801c-5e1e4cf35b9a [3] Done openstack server add volume 7b925320-eaf9-41f4-b28d-4b3291979af5 efb14565-310c-4d15-801c-5e1e4cf35b9a [4] Done openstack server add volume 7b925320-eaf9-41f4-b28d-4b3291979af5 efb14565-310c-4d15-801c-5e1e4cf35b9a [5] Done openstack server add volume 7b925320-eaf9-41f4-b28d-4b3291979af5 efb14565-310c-4d15-801c-5e1e4cf35b9a [6] Exit 1 openstack server add volume 7b925320-eaf9-41f4-b28d-4b3291979af5 efb14565-310c-4d15-801c-5e1e4cf35b9a [7] Exit 1 openstack server add volume 7b925320-eaf9-41f4-b28d-4b3291979af5 efb14565-310c-4d15-801c-5e1e4cf35b9a [8] Exit 1 openstack server add volume 7b925320-eaf9-41f4-b28d-4b3291979af5 efb14565-310c-4d15-801c-5e1e4cf35b9a [9] Done openstack server add volume 7b925320-eaf9-41f4-b28d-4b3291979af5 efb14565-310c-4d15-801c-5e1e4cf35b9a [10] Exit 1 openstack server add volume 7b925320-eaf9-41f4-b28d-4b3291979af5 efb14565-310c-4d15-801c-5e1e4cf35b9a (overcloud) [stack@ieatrheldir13a scripts]$ Invalid volume: volume efb14565-310c-4d15-801c-5e1e4cf35b9a already attached (HTTP 400) (Request-ID: req-857bd88f-8780-42b1-88e9-c6c76fb5bb0f) Invalid volume: volume efb14565-310c-4d15-801c-5e1e4cf35b9a already attached (HTTP 400) (Request-ID: req-5ac19981-7ca5-451a-9e5d-e7387010ca7d) Invalid volume: volume efb14565-310c-4d15-801c-5e1e4cf35b9a already attached (HTTP 400) (Request-ID: req-a31170d6-bdae-46df-8c33-1eebaa5ab03a) Invalid volume: volume efb14565-310c-4d15-801c-5e1e4cf35b9a already attached (HTTP 400) (Request-ID: req-a74275dd-965d-4528-936e-f3977e2925f4) Invalid volume: volume efb14565-310c-4d15-801c-5e1e4cf35b9a already attached (HTTP 400) (Request-ID: req-fb1bb8b2-4e17-4c87-8929-9914d69a4603) Invalid volume: volume efb14565-310c-4d15-801c-5e1e4cf35b9a already attached (HTTP 400) (Request-ID: req-00843833-fbc3-4d40-b29d-9f3b7c383c16) Invalid volume: volume efb14565-310c-4d15-801c-5e1e4cf35b9a already attached (HTTP 400) (Request-ID: req-06a8acb2-05cc-4fac-88dd-701e77dfc6c4) Invalid volume: volume efb14565-310c-4d15-801c-5e1e4cf35b9a already attached (HTTP 400) (Request-ID: req-75a2f6ac-f671-4655-b5b0-7646425de213) Invalid volume: volume efb14565-310c-4d15-801c-5e1e4cf35b9a already attached (HTTP 400) (Request-ID: req-1ccbde43-77eb-4498-ad36-78cdfe9222cc) Invalid volume: volume efb14565-310c-4d15-801c-5e1e4cf35b9a already attached (HTTP 400) (Request-ID: req-0269b9ba-8e72-48c6-9be0-c307312cc93d) [11] Exit 1 openstack server add volume 7b925320-eaf9-41f4-b28d-4b3291979af5 efb14565-310c-4d15-801c-5e1e4cf35b9a [12] Exit 1 openstack server add volume 7b925320-eaf9-41f4-b28d-4b3291979af5 efb14565-310c-4d15-801c-5e1e4cf35b9a [13] Exit 1 openstack server add volume 7b925320-eaf9-41f4-b28d-4b3291979af5 efb14565-310c-4d15-801c-5e1e4cf35b9a [14] Exit 1 openstack server add volume 7b925320-eaf9-41f4-b28d-4b3291979af5 efb14565-310c-4d15-801c-5e1e4cf35b9a [15] Exit 1 openstack server add volume 7b925320-eaf9-41f4-b28d-4b3291979af5 efb14565-310c-4d15-801c-5e1e4cf35b9a [16] Exit 1 openstack server add volume 7b925320-eaf9-41f4-b28d-4b3291979af5 efb14565-310c-4d15-801c-5e1e4cf35b9a [17] Exit 1 openstack server add volume 7b925320-eaf9-41f4-b28d-4b3291979af5 efb14565-310c-4d15-801c-5e1e4cf35b9a [18] Exit 1 openstack server add volume 7b925320-eaf9-41f4-b28d-4b3291979af5 efb14565-310c-4d15-801c-5e1e4cf35b9a [19]- Exit 1 openstack server add volume 7b925320-eaf9-41f4-b28d-4b3291979af5 efb14565-310c-4d15-801c-5e1e4cf35b9a [20]+ Exit 1 openstack server add volume 7b925320-eaf9-41f4-b28d-4b3291979af5 efb14565-310c-4d15-801c-5e1e4cf35b9a Not landed yet, P1 -> 13 2019-08-13.1 Produced a prefixed-in of: openstack-cinder-12.0.7-4.0.bz1705563.el7ost.noarch Waiting for newer build. Verified on: openstack-cinder-12.0.7-5.el7ost.noarch Booted an instance Created a volume Attached volume to instance: (overcloud) [stack@undercloud-0 ~]$ nova list cinder list +--------------------------------------+-------+--------+------------+-------------+-----------------------------------+ | ID | Name | Status | Task State | Power State | Networks | +--------------------------------------+-------+--------+------------+-------------+-----------------------------------+ | 290fd8cd-9e1d-4db2-8266-e5081eac40db | inst1 | ACTIVE | - | Running | internal=192.168.0.13, 10.0.0.210 | +--------------------------------------+-------+--------+------------+-------------+-----------------------------------+ (overcloud) [stack@undercloud-0 ~]$ cinder list +--------------------------------------+--------+--------------+------+-------------+----------+--------------------------------------+ | ID | Status | Name | Size | Volume Type | Bootable | Attached to | +--------------------------------------+--------+--------------+------+-------------+----------+--------------------------------------+ | ecb47eba-362a-4fe7-a556-74949e0b8846 | in-use | Pansible_vol | 1 | tripleo | true | 290fd8cd-9e1d-4db2-8266-e5081eac40db | +--------------------------------------+--------+--------------+------+-------------+----------+--------------------------------------+ Now try: (overcloud) [stack@undercloud-0 ~]$ for i in {1..10}; do openstack server add volume inst1 ecb47eba-362a-4fe7-a556-74949e0b8846 & done [1] 17041 [2] 17042 [3] 17043 [4] 17044 [5] 17045 [6] 17046 [7] 17047 [8] 17048 [9] 17049 [10] 17050 (overcloud) [stack@undercloud-0 ~]$ (overcloud) [stack@undercloud-0 ~]$ cinder Invalid volume: volume ecb47eba-362a-4fe7-a556-74949e0b8846 already attached (HTTP 400) (Request-ID: req-5c62dc38-0b05-478b-9318-fd9c7222c9df) Invalid volume: volume ecb47eba-362a-4fe7-a556-74949e0b8846 already attached (HTTP 400) (Request-ID: req-c5b169fd-2626-4c65-86c5-8a4da318f225) lInvalid volume: volume ecb47eba-362a-4fe7-a556-74949e0b8846 already attached (HTTP 400) (Request-ID: req-59858f7d-3153-488e-8077-e0e704d6ce49) Invalid volume: volume ecb47eba-362a-4fe7-a556-74949e0b8846 already attached (HTTP 400) (Request-ID: req-2a40ea1c-c431-45af-923a-ece28d06bee2) isInvalid volume: volume ecb47eba-362a-4fe7-a556-74949e0b8846 already attached (HTTP 400) (Request-ID: req-17b6a97f-6da3-4860-b429-6caef0b76264) Invalid volume: volume ecb47eba-362a-4fe7-a556-74949e0b8846 already attached (HTTP 400) (Request-ID: req-695a7d7d-b09e-4df7-ae2d-c814f55f1cc1) Invalid volume: volume ecb47eba-362a-4fe7-a556-74949e0b8846 already attached (HTTP 400) (Request-ID: req-b7b9e3e1-65d8-400b-b89d-91b2c623902a) Invalid volume: volume ecb47eba-362a-4fe7-a556-74949e0b8846 already attached (HTTP 400) (Request-ID: req-f128f67c-7c06-4c4d-acd4-e2fe7013ae57) Invalid volume: volume ecb47eba-362a-4fe7-a556-74949e0b8846 already attached (HTTP 400) (Request-ID: req-d57966fb-463b-4e51-a8fb-261728259b00) Invalid volume: volume ecb47eba-362a-4fe7-a556-74949e0b8846 already attached (HTTP 400) (Request-ID: req-3b467d56-0941-4a88-aa4f-9c4264e47be4) [1] Exit 1 openstack server add volume inst1 ecb47eba-362a-4fe7-a556-74949e0b8846 [2] Exit 1 openstack server add volume inst1 ecb47eba-362a-4fe7-a556-74949e0b8846 [3] Exit 1 openstack server add volume inst1 ecb47eba-362a-4fe7-a556-74949e0b8846 [4] Exit 1 openstack server add volume inst1 ecb47eba-362a-4fe7-a556-74949e0b8846 [5] Exit 1 openstack server add volume inst1 ecb47eba-362a-4fe7-a556-74949e0b8846 [6] Exit 1 openstack server add volume inst1 ecb47eba-362a-4fe7-a556-74949e0b8846 [7] Exit 1 openstack server add volume inst1 ecb47eba-362a-4fe7-a556-74949e0b8846 [8] Exit 1 openstack server add volume inst1 ecb47eba-362a-4fe7-a556-74949e0b8846 [9]- Exit 1 openstack server add volume inst1 ecb47eba-362a-4fe7-a556-74949e0b8846 [10]+ Exit 1 openstack server add volume inst1 ecb47eba-362a-4fe7-a556-74949e0b8846 Resulting single instance attached only once to volume, ,look good: (overcloud) [stack@undercloud-0 ~]$ nova list cinder list +--------------------------------------+-------+--------+------------+-------------+-----------------------------------+ | ID | Name | Status | Task State | Power State | Networks | +--------------------------------------+-------+--------+------------+-------------+-----------------------------------+ | 290fd8cd-9e1d-4db2-8266-e5081eac40db | inst1 | ACTIVE | - | Running | internal=192.168.0.13, 10.0.0.210 | +--------------------------------------+-------+--------+------------+-------------+-----------------------------------+ (overcloud) [stack@undercloud-0 ~]$ cinder list +--------------------------------------+--------+--------------+------+-------------+----------+--------------------------------------+ | ID | Status | Name | Size | Volume Type | Bootable | Attached to | +--------------------------------------+--------+--------------+------+-------------+----------+--------------------------------------+ | ecb47eba-362a-4fe7-a556-74949e0b8846 | in-use | Pansible_vol | 1 | tripleo | true | 290fd8cd-9e1d-4db2-8266-e5081eac40db | +--------------------------------------+--------+--------------+------+-------------+----------+--------------------------------------+ Now this: (overcloud) [stack@undercloud-0 ~]$ for i in {1..10}; do nova volume-attach inst1 ecb47eba-362a-4fe7-a556-74949e0b8846 auto & done [1] 17519 [2] 17520 [3] 17521 [4] 17522 [5] 17523 [6] 17524 [7] 17525 [8] 17526 [9] 17527 [10] 17528 (overcloud) [stack@undercloud-0 ~]$ ERROR (BadRequest): Invalid volume: volume ecb47eba-362a-4fe7-a556-74949e0b8846 already attached (HTTP 400) (Request-ID: req-aa29ea54-a8b1-40b8-a416-d742172947e2) ERROR (BadRequest): Invalid volume: volume ecb47eba-362a-4fe7-a556-74949e0b8846 already attached (HTTP 400) (Request-ID: req-07a62f27-f7b7-43b9-8563-5fb69c9c6031) ERROR (BadRequest): Invalid volume: volume ecb47eba-362a-4fe7-a556-74949e0b8846 already attached (HTTP 400) (Request-ID: req-ef6f0e48-1987-44a9-b6ec-5c9626bee094) ERROR (BadRequest): Invalid volume: volume ecb47eba-362a-4fe7-a556-74949e0b8846 already attached (HTTP 400) (Request-ID: req-bdb10be2-e9ef-49bc-8938-1b6a1868f8a0) ERROR (BadRequest): Invalid volume: volume ecb47eba-362a-4fe7-a556-74949e0b8846 already attached (HTTP 400) (Request-ID: req-dc361e73-0866-4eb6-84f8-3f510cd4bc3a) ERROR (BadRequest): Invalid volume: volume ecb47eba-362a-4fe7-a556-74949e0b8846 already attached (HTTP 400) (Request-ID: req-db779dcc-7bef-4da7-b1f3-7e2f7e339e8d) ERROR (BadRequest): Invalid volume: volume ecb47eba-362a-4fe7-a556-74949e0b8846 already attached (HTTP 400) (Request-ID: req-c2e68aed-d4b8-4fb7-ab79-78e927cb8320) ERROR (BadRequest): Invalid volume: volume ecb47eba-362a-4fe7-a556-74949e0b8846 already attached (HTTP 400) (Request-ID: req-ed4f5f64-85db-4b2c-816d-149113ca0d5a) ERROR (BadRequest): Invalid volume: volume ecb47eba-362a-4fe7-a556-74949e0b8846 already attached (HTTP 400) (Request-ID: req-1ecc6156-753f-43e9-b15b-17d6f9fc80c7) ERROR (BadRequest): Invalid volume: volume ecb47eba-362a-4fe7-a556-74949e0b8846 already attached (HTTP 400) (Request-ID: req-e94f50b3-7b1b-4e47-aec4-3638ee0377db) [1] Exit 1 nova volume-attach inst1 ecb47eba-362a-4fe7-a556-74949e0b8846 auto [2] Exit 1 nova volume-attach inst1 ecb47eba-362a-4fe7-a556-74949e0b8846 auto [3] Exit 1 nova volume-attach inst1 ecb47eba-362a-4fe7-a556-74949e0b8846 auto [4] Exit 1 nova volume-attach inst1 ecb47eba-362a-4fe7-a556-74949e0b8846 auto [5] Exit 1 nova volume-attach inst1 ecb47eba-362a-4fe7-a556-74949e0b8846 auto [6] Exit 1 nova volume-attach inst1 ecb47eba-362a-4fe7-a556-74949e0b8846 auto [7] Exit 1 nova volume-attach inst1 ecb47eba-362a-4fe7-a556-74949e0b8846 auto [8] Exit 1 nova volume-attach inst1 ecb47eba-362a-4fe7-a556-74949e0b8846 auto [9]- Exit 1 nova volume-attach inst1 ecb47eba-362a-4fe7-a556-74949e0b8846 auto [10]+ Exit 1 nova volume-attach inst1 ecb47eba-362a-4fe7-a556-74949e0b8846 auto Again looks good, our single instance remains attached to single volume: (overcloud) [stack@undercloud-0 ~]$ nova list cinder list +--------------------------------------+-------+--------+------------+-------------+-----------------------------------+ | ID | Name | Status | Task State | Power State | Networks | +--------------------------------------+-------+--------+------------+-------------+-----------------------------------+ | 290fd8cd-9e1d-4db2-8266-e5081eac40db | inst1 | ACTIVE | - | Running | internal=192.168.0.13, 10.0.0.210 | +--------------------------------------+-------+--------+------------+-------------+-----------------------------------+ (overcloud) [stack@undercloud-0 ~]$ cinder list +--------------------------------------+--------+--------------+------+-------------+----------+--------------------------------------+ | ID | Status | Name | Size | Volume Type | Bootable | Attached to | +--------------------------------------+--------+--------------+------+-------------+----------+--------------------------------------+ | ecb47eba-362a-4fe7-a556-74949e0b8846 | in-use | Pansible_vol | 1 | tripleo | true | 290fd8cd-9e1d-4db2-8266-e5081eac40db | +--------------------------------------+--------+--------------+------+-------------+----------+--------------------------------------+ A last but not least try: Customer's script adapted to my own env: (overcloud) [stack@undercloud-0 ~]$ cat test.sh #!/usr/bin/bash source /home/stack/overcloudrc NOVA_URL=http://172.17.1.20:8774/v2.1 INSTANCE_ID=290fd8cd-9e1d-4db2-8266-e5081eac40db VOLUME_ID=ecb47eba-362a-4fe7-a556-74949e0b8846 function call { curl -s -H "X-Auth-Token: $OS_TOKEN" -H "X-Subject-Token: $OS_TOKEN" "$@" | jq . } echo "Using instance_id: $INSTANCE_ID" echo "Using volume_id: $VOLUME_ID" echo echo "Attachments before test:" call $NOVA_URL/servers/$INSTANCE_ID/os-volume_attachments echo echo "Attempting 10 concurrent attachments..." for i in {1..10} do call -H 'Content-Type: application/json' $NOVA_URL/servers/$INSTANCE_ID/os-volume_attachments -d "{\"volumeAttachment\": {\"volumeId\": \"$VOLUME_ID\"}}" > /dev/null & done sleep 15 echo echo "Attachements after test:" call $NOVA_URL/servers/$INSTANCE_ID/os-volume_attachments And the output: (overcloud) [stack@undercloud-0 ~]$ ./test.sh Using instance_id: 290fd8cd-9e1d-4db2-8266-e5081eac40db Using volume_id: ecb47eba-362a-4fe7-a556-74949e0b8846 Attachments before test: Attempting 10 concurrent attachments... Attachements after test: (overcloud) [stack@undercloud-0 ~]$ nova list +--------------------------------------+-------+--------+------------+-------------+-----------------------------------+ | ID | Name | Status | Task State | Power State | Networks | +--------------------------------------+-------+--------+------------+-------------+-----------------------------------+ | 290fd8cd-9e1d-4db2-8266-e5081eac40db | inst1 | ACTIVE | - | Running | internal=192.168.0.13, 10.0.0.210 | +--------------------------------------+-------+--------+------------+-------------+-----------------------------------+ (overcloud) [stack@undercloud-0 ~]$ cinder list +--------------------------------------+--------+--------------+------+-------------+----------+--------------------------------------+ | ID | Status | Name | Size | Volume Type | Bootable | Attached to | +--------------------------------------+--------+--------------+------+-------------+----------+--------------------------------------+ | ecb47eba-362a-4fe7-a556-74949e0b8846 | in-use | Pansible_vol | 1 | tripleo | true | 290fd8cd-9e1d-4db2-8266-e5081eac40db | +--------------------------------------+--------+--------------+------+-------------+----------+--------------------------------------+ As can been seen above on 3 separate cycles, volume doesn't get reattached again which happened before. We get warning/error stating volume is already attached. Good to verify. 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, 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-2019:2627 *** Bug 1804562 has been marked as a duplicate of this bug. *** |