6d3733beb5
When the main iSCSI portal is unreachable by network failure etc., volume attach will fail even if the array has the other portal addresses alive. To enable nova-compute and brick (with corresponding patches) to fall-back to alternative portals, this patch makes Cinder to contains the multiple portal addresses and corresponding IQNs and LUNs in connection_info returned by initialize_connection API. The main portal information is also returned in target_portal, target_iqn, target_lun for backward compatibility. For example: {"connection_info": { "driver_volume_type": "iscsi", ... "data": {"target_portal": "10.0.1.2:3260", "target_portals": ["10.0.1.2:3260", "10.0.2.2:3260"], "target_iqn": "iqn.2014-2.org.example:vol1-1", "target_iqns":["iqn.2014-2.org.example:vol1-1", "iqn.2014-2.org.example:vol1-2"], "target_lun": 1, "target_luns": [1, 2], ...}}} This patch makes LVM iSCSI backend return multiple portals, iqns, and luns when iscsi_secondary_ip_addresses is specified in cinder.conf. It also make brick/initiator/connector.py to failover to alternative paths, if specified, when it fails to establish the main path. In addition, to unify the data structure, target_portal, target_iqn, target_lun will also be included even if 'multipath=True' is specified in connector information. Change-Id: I55600496487dfaa72301621d1269e50044d9b5dc Partially Implements: blueprint iscsi-alternative-portal |
||
---|---|---|
.. | ||
initiator | ||
local_dev | ||
remotefs | ||
README.txt | ||
__init__.py | ||
exception.py | ||
executor.py |
README.txt
Brick is a new library that currently is maintained in Cinder for the Havana release. It will eventually be moved external to Cinder, possibly oslo, or pypi. Any defects found in Brick, should be submitted against Cinder and fixed there, then pulled into other projects that are using brick. * Brick is used outside of Cinder and therefore cannot have any dependencies on Cinder and/or it's database.