eqlx driver breaks live migration
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Cinder |
Invalid
|
Undecided
|
Unassigned |
Bug Description
This is a different issue from:
"#1296677 Equallogic driver and multi-host access"
Having set the Equallogic volumes for multi-host access so migration works, the migrated instances will fail to terminate properly due to 'Failed to terminate connection to volume %s' exceptions and will not migrate a second time due to the same issue.
This is becuase there is a hard coded assumption that there will be 1 and only one elemet in the access list and it will have ID 1:
def terminate_
"""Remove access restrictions from a volume."""
try:
except Exception:
with excutils.
During migration a second ACL with ID 2 is created. Unpon completion of the migration teh 1st ACL is properly removed (since it has ID 1). The remaining ACL has ID 2 so on shutdown ther is no access list with ID 1, similar fault happens on subsequent migration attempts.
This blocks me from being able to do operating system upgrade of my cloud which is required prior to moving to Juno, well at least with out taking major down time for a hundred or so volume backed instances.
For me this is critical, so I'll likely kludge around it by droping a noop function in place of the terminate_
after writing a patch, I find I'm behind the times and this was implemented in commit 2339351c, which closed the bug I referenced at top, so unsure how I missed that :)