Volume detach hangs. HP 3par client fails to delete host when node host in 3par host sets
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Cinder |
Fix Released
|
High
|
Mark Sturdevant |
Bug Description
When an HP 3par host in host set, the cinder volume detach will hang. Looking at the log files, the exception shows the following exception after deleting all the vluns, the host entry is a pre-existing one since the host storage is using the same 3par system:
cinder.
in master/
def delete_vlun(self, volume, hostname):
volume_name = self._get_
vlun = self._get_
if vlun is not None:
# VLUN Type of MATCHED_SET 4 requires the port to be provided
if self.VLUN_
else:
try:
>> except hpexceptions.
>> # host will only be removed after all vluns
>> # have been removed
>> if 'has exported VLUN' in ex.get_
>> pass
>> else:
>> raise
Yes, the problem occurred in Havana. I believe the problem is in Icehouse as well, but I have not tested it yet.
Log info:
ccontrol': 'no-cache',
'connection': 'close',
'date': 'Fri, 02 May 2014 17:32:17 GMT',
'pragma': 'no-cache',
'server': 'hp3par-wsapi',
'status': '200'}
_http_log_resp /usr/lib/
2014-05-02 17:31:23.698 22459 DEBUG hp3parclient.http [-] RESP BODY:
_http_log_resp /usr/lib/
2014-05-02 17:31:23.699 22459 DEBUG hp3parclient.http [-]
REQ: curl -i https:/
_http_log_req /usr/lib/
2014-05-02 17:31:23.866 22459 DEBUG hp3parclient.http [-] RESP:{'connection': 'close',
'content-type': 'application/json',
'date': 'Fri, 02 May 2014 17:32:17 GMT',
'server': 'hp3par-wsapi',
'status': '409'}
_http_log_resp /usr/lib/
2014-05-02 17:31:23.867 22459 DEBUG hp3parclient.http [-] RESP BODY:{"
_http_log_resp /usr/lib/
2014-05-02 17:31:23.868 22459 DEBUG hp3parclient.http [-]
REQ: curl -i https:/
_http_log_req /usr/lib/
2014-05-02 17:31:23.887 22459 DEBUG hp3parclient.http [-] RESP:{'
'connection': 'close',
'date': 'Fri, 02 May 2014 17:32:17 GMT',
'pragma': 'no-cache',
'server': 'hp3par-wsapi',
'status': '200'}
_http_log_resp /usr/lib/
2014-05-02 17:31:23.888 22459 DEBUG hp3parclient.http [-] RESP BODY:
_http_log_resp /usr/lib/
2014-05-02 17:31:23.889 22459 DEBUG cinder.
2014-05-02 17:31:23.890 22459 DEBUG cinder.
2014-05-02 17:31:23.891 22459 ERROR cinder.
2014-05-02 17:31:23.891 22459 TRACE cinder.
2014-05-02 17:31:23.891 22459 TRACE cinder.
2014-05-02 17:31:23.891 22459 TRACE cinder.
2014-05-02 17:31:23.891 22459 TRACE cinder.
2014-05-02 17:31:23.891 22459 TRACE cinder.
2014-05-02 17:31:23.891 22459 TRACE cinder.
2014-05-02 17:31:23.891 22459 TRACE cinder.
2014-05-02 17:31:23.891 22459 TRACE cinder.
2014-05-02 17:31:23.891 22459 TRACE cinder.
2014-05-02 17:31:23.891 22459 TRACE cinder.
2014-05-02 17:31:23.891 22459 TRACE cinder.
2014-05-02 17:31:23.891 22459 TRACE cinder.
2014-05-02 17:31:23.891 22459 TRACE cinder.
2014-05-02 17:31:23.891 22459 TRACE cinder.
2014-05-02 17:31:23.891 22459 TRACE cinder.
2014-05-02 17:31:23.891 22459 TRACE cinder.
2014-05-02 17:31:23.891 22459 TRACE cinder.
2014-05-02 17:31:23.891 22459 TRACE cinder.
2014-05-02 17:31:23.891 22459 TRACE cinder.
2014-05-02 17:31:23.891 22459 TRACE cinder.
2014-05-02 17:31:23.891 22459 TRACE cinder.
2014-05-02 17:31:23.891 22459 TRACE cinder.
2014-05-02 17:31:23.891 22459 TRACE cinder.
2014-05-02 17:31:23.891 22459 TRACE cinder.
2014-05-02 17:31:23.891 22459 TRACE cinder.
2014-05-02 17:31:23.891 22459 TRACE cinder.
2014-05-02 17:31:23.891 22459 TRACE cinder.
2014-05-02 17:31:23.891 22459 TRACE cinder.
2014-05-02 17:31:23.891 22459 TRACE cinder.
2014-05-02 17:31:23.891 22459 TRACE cinder.
2014-05-02 17:31:23.891 22459 TRACE cinder.
2014-05-02 17:31:23.897 22459 ERROR cinder.
description: | updated |
Changed in cinder: | |
assignee: | nobody → Kurt Martin (kurt-f-martin) |
tags: |
added: 3par drivers removed: havana-backport-potential |
Changed in cinder: | |
importance: | Undecided → High |
milestone: | none → juno-1 |
assignee: | Kurt Martin (kurt-f-martin) → Mark Sturdevant (mark-sturdevant) |
Changed in cinder: | |
status: | Confirmed → In Progress |
Changed in cinder: | |
status: | Fix Committed → Fix Released |
Changed in cinder: | |
milestone: | juno-1 → 2014.2 |
Confirmed in Icehouse.
Set up a host set on the 3Par prior to testing. It is possible to create and delete empty volumes. It is also possible to attach a volume to an instance. The failure occurs upon attempting to detach the volume, when cinder tries to clear the host from the 3Par.
2014-05-07 14:11:29.065 ERROR cinder. volume. manager [req-18d6d2cb- 84bd-4781- b687-ba9f86d59a 8d 4ad0ae2b173c472 6b3307b5a4e8c0b 74 87105c9b3b7948f 39f873ba44d8982 6b] Unable to terminate volume connection: Conflict (HTTP 409) 77 - host is a member of a set rpc.dispatcher [req-18d6d2cb- 84bd-4781- b687-ba9f86d59a 8d 4ad0ae2b173c472 6b3307b5a4e8c0b 74 87105c9b3b7948f 39f873ba44d8982 6b] Exception during message handling: Bad or unexpected response from the storage volume backend API: Unable to terminate volume connection: Conflict (HTTP 409) 77 - host is a member of a set rpc.dispatcher Traceback (most recent call last): rpc.dispatcher File "/usr/local/ lib/python2. 7/dist- packages/ oslo/messaging/ rpc/dispatcher. py", line 133, in _dispatch_and_reply rpc.dispatcher incoming.message)) rpc.dispatcher File "/usr/local/ lib/python2. 7/dist- packages/ oslo/messaging/ rpc/dispatcher. py", line 176, in _dispatch rpc.dispatcher return self._do_ dispatch( endpoint, method, ctxt, args) rpc.dispatcher File "/usr/local/ lib/python2. 7/dist- packages/ oslo/messaging/ rpc/dispatcher. py", line 122, in _do_dispatch rpc.dispatcher result = getattr(endpoint, method)(ctxt, **new_args) rpc.dispatcher File "/opt/stack/ cinder/ cinder/ volume/ manager. py", line 839, in terminate_ connection rpc.dispatcher raise exception. VolumeBackendAP IException( data=err_ msg) rpc.dispatcher VolumeBackendAP IException: Bad or unexpected response from the storage volume backend API: Unable to terminate volume connection: Conflict (HTTP 409) 77 - host is a member of a set rpc.dispatcher _drivers. common [req-18d6d2cb- 84bd-4781- b687-ba9f86d59a 8d 4ad0ae2b173c472 6b3307b5a4e8c0b 74 87105c9b3b7948f 39f873ba44d8982 6b] Returning exception Bad or unexpected response from the storage volume backend API: Unable to terminate volume connection: Conflict (HTTP 409) 77 - host is a member of a set to caller _drivers. common [req-18d6d2cb- 84bd-4781- b687-ba9f86d59a 8d 4ad0ae2b173c472 6b3307b5a4e8c0b 74 87105c9b3b7948f 39f873ba44d8982 6b] ['Traceback (most recent call last):\n', ' File "/usr/local/ lib/python2. 7/dist- packages/ oslo/messaging/ rpc/dispatcher. py", line 133, in _dispatch_ and_reply\ n incoming. message) )\n', ' File "/usr/local/ lib/python2. 7/dist- packages/ oslo/messaging/ rpc/dispatcher. py", line 176, in _dispatch...
2014-05-07 14:11:29.065 ERROR oslo.messaging.
2014-05-07 14:11:29.065 TRACE oslo.messaging.
2014-05-07 14:11:29.065 TRACE oslo.messaging.
2014-05-07 14:11:29.065 TRACE oslo.messaging.
2014-05-07 14:11:29.065 TRACE oslo.messaging.
2014-05-07 14:11:29.065 TRACE oslo.messaging.
2014-05-07 14:11:29.065 TRACE oslo.messaging.
2014-05-07 14:11:29.065 TRACE oslo.messaging.
2014-05-07 14:11:29.065 TRACE oslo.messaging.
2014-05-07 14:11:29.065 TRACE oslo.messaging.
2014-05-07 14:11:29.065 TRACE oslo.messaging.
2014-05-07 14:11:29.065 TRACE oslo.messaging.
2014-05-07 14:11:29.066 ERROR oslo.messaging.
2014-05-07 14:11:29.066 ERROR oslo.messaging.