Unity: Attach Unity volume via IPv6.
The IPv6's ISCIS portal format is [IPv6Address]:Port. The Unity returned IPv6 are not enclosed with brackets. So Unity's cinder-driver has to add brackets for IPv6's ISCSI portal. DocImpact Change-Id: Ib54fe948d0f5d7cad6c28468503f8535573ef3fc Implements: blueprint unity-cinder-ipv6
This commit is contained in:
parent
69f721b399
commit
6171655d39
cinder
doc/source/configuration/block-storage/drivers
@ -168,6 +168,10 @@ class UnityUtilsTest(unittest.TestCase):
|
||||
|
||||
def test_convert_ip_to_portal(self):
|
||||
self.assertEqual('1.2.3.4:3260', utils.convert_ip_to_portal('1.2.3.4'))
|
||||
self.assertEqual('[fd27:2e95:e174::100]:3260',
|
||||
utils.convert_ip_to_portal('fd27:2e95:e174::100'))
|
||||
self.assertEqual('[fd27:2e95:e174::100]:3260',
|
||||
utils.convert_ip_to_portal('[fd27:2e95:e174::100]'))
|
||||
|
||||
def test_convert_to_itor_tgt_map(self):
|
||||
zone_mapping = {
|
||||
|
@ -51,9 +51,10 @@ class UnityDriver(driver.ManageableVD,
|
||||
Version history:
|
||||
1.0.0 - Initial version
|
||||
2.0.0 - Add thin clone support
|
||||
3.0.0 - Add IPv6 support
|
||||
"""
|
||||
|
||||
VERSION = '02.00.00'
|
||||
VERSION = '03.00.00'
|
||||
VENDOR = 'Dell EMC'
|
||||
# ThirdPartySystems wiki page
|
||||
CI_WIKI_NAME = "EMC_UNITY_CI"
|
||||
|
@ -136,6 +136,9 @@ def extract_fc_uids(connector):
|
||||
|
||||
|
||||
def convert_ip_to_portal(ip):
|
||||
is_ipv6_without_brackets = ':' in ip and ip[-1] != ']'
|
||||
if is_ipv6_without_brackets:
|
||||
return '[%s]:3260' % ip
|
||||
return '%s:3260' % ip
|
||||
|
||||
|
||||
|
@ -275,6 +275,32 @@ not efficient since a cloned volume will be created during backup.
|
||||
An effective approach to backups is to create a snapshot for the volume and
|
||||
connect this snapshot to the Block Storage host for volume backup.
|
||||
|
||||
IPv6 support
|
||||
~~~~~~~~~~~~
|
||||
|
||||
This driver can support IPv6-based control path and data path.
|
||||
|
||||
For control path, please follow below steps:
|
||||
|
||||
- Enable Unity's Unipshere IPv6 address.
|
||||
- Configure the IPv6 network to make sure that cinder node can access Unishpere
|
||||
via IPv6 address.
|
||||
- Change Cinder config file ``/etc/cinder/cinder.conf``. Make the ``san_ip``
|
||||
as Unisphere IPv6 address. For example, ``san_ip = [fd99:f17b:37d0::100]``.
|
||||
- Restart the Cinder service to make new configuration take effect.
|
||||
|
||||
**Note**: The IPv6 support on control path depends on the fix of cpython
|
||||
`bug 32185 <https://bugs.python.org/issue32185>`__. Please make sure your
|
||||
Python's version includes this bug's fix.
|
||||
|
||||
For data path, please follow below steps:
|
||||
|
||||
- On Unity, Create iSCSI interface with IPv6 address.
|
||||
- Configure the IPv6 network to make sure that you can ``ping``
|
||||
the Unity's iSCSI IPv6 address from the Cinder node.
|
||||
- If you create a volume using Cinder and attach it to a VM,
|
||||
the connection between this VM and volume will be IPv6-based iSCSI.
|
||||
|
||||
Troubleshooting
|
||||
~~~~~~~~~~~~~~~
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user