3PAR: HTTPConflict: Conflict (HTTP 409) 16 - host exists
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Cinder |
In Progress
|
Undecided
|
Raghavendra Tilay |
Bug Description
With the 3PAR driver creating volume from images fail with:
2020-06-19 11:38:24.085 34 ERROR cinder.
2020-06-19 11:38:24.085 34 ERROR cinder.
2020-06-19 11:38:24.085 34 ERROR cinder.
2020-06-19 11:38:24.085 34 ERROR cinder.
2020-06-19 11:38:24.085 34 ERROR cinder.
2020-06-19 11:38:24.085 34 ERROR cinder.
2020-06-19 11:38:24.085 34 ERROR cinder.
2020-06-19 11:38:24.085 34 ERROR cinder.
2020-06-19 11:38:24.085 34 ERROR cinder.
2020-06-19 11:38:24.085 34 ERROR cinder.
2020-06-19 11:38:24.085 34 ERROR cinder.
2020-06-19 11:38:24.085 34 ERROR cinder.
2020-06-19 11:38:24.085 34 ERROR cinder.
2020-06-19 11:38:24.085 34 ERROR cinder.
2020-06-19 11:38:24.085 34 ERROR cinder.
2020-06-19 11:38:24.085 34 ERROR cinder.
This is bug in the 3PAR driver, that I believe affects both iSCSI and FC drivers, and I think there are 2 possible causes:
Cause #1:
---------
A race conditions when creating a host on the 3PAR Array to use it in initialize_
Assuming we have 2 calls to initialize_
- Call #1: Cinder driver checks if the host with the WWNs exists ==> It doesn't
- Call #1: Cinder driver calls createHost for the host & WWNs
- Call #2: Cinder driver checks if the host with the WWNs exists ==> It doesn't
- Call #2: Cinder driver calls createHost for the host & WWNs
- Call #1: Storage Array creates the host
- Call #2: Storage Array fails because the host exists, returning HTTP status code 409 and Operation-specific API error code EXISTENT_HOST (16 - The host exists).
A possible fix would be on the `hpeexceptions.
Cause #2:
---------
It may also happen if we use a mix of iSCSI and FC 3PAR drivers on the same host.
FC first then iSCSI:
- FC initialize_
- iSCSI initialize_
If the iSCSI happens first it's the same thing, but reversed, where the FC won't find the host with those WWNs and will fail to create it because it already exist with the iSCSI initiator info.
Changed in cinder: | |
assignee: | Gorka Eguileor (gorka) → Raghavendra Tilay (raghavendrat) |
Changed in cinder: | |
assignee: | Raghavendra Tilay (raghavendrat) → Gorka Eguileor (gorka) |
Changed in cinder: | |
assignee: | Gorka Eguileor (gorka) → Raghavendra Tilay (raghavendrat) |
Fix proposed to branch: master /review. opendev. org/756711
Review: https:/