From 44794c4e980ea4685a76a829eda2c694883ee810 Mon Sep 17 00:00:00 2001
From: Alon Marx <alonma@il.ibm.com>
Date: Sun, 19 Apr 2015 08:56:35 +0300
Subject: [PATCH] Add Multi-connection support to XIV

Add field in cinder.conf to hold a list of management IP addresses to connect
to the XIV backend.

DocImpact
Change-Id: Ie4eceb315188765747dc02a0a77b5a1d2c692fb5
Implements: blueprint xiv-multiple-mgmt-ips
---
 cinder/tests/unit/test_ibm_xiv_ds8k.py | 1 +
 cinder/volume/drivers/ibm/xiv_ds8k.py  | 7 ++++++-
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/cinder/tests/unit/test_ibm_xiv_ds8k.py b/cinder/tests/unit/test_ibm_xiv_ds8k.py
index b169505fb..5215fe16b 100644
--- a/cinder/tests/unit/test_ibm_xiv_ds8k.py
+++ b/cinder/tests/unit/test_ibm_xiv_ds8k.py
@@ -275,6 +275,7 @@ class XIVDS8KVolumeDriverTest(test.TestCase):
         configuration.xiv_ds8k_connection_type = 'iscsi'
         configuration.xiv_chap = 'disabled'
         configuration.san_ip = FAKE
+        configuration.management_ips = FAKE
         configuration.san_login = FAKE
         configuration.san_clustername = FAKE
         configuration.san_password = FAKE
diff --git a/cinder/volume/drivers/ibm/xiv_ds8k.py b/cinder/volume/drivers/ibm/xiv_ds8k.py
index 1d44eda64..a58eb830e 100644
--- a/cinder/volume/drivers/ibm/xiv_ds8k.py
+++ b/cinder/volume/drivers/ibm/xiv_ds8k.py
@@ -45,6 +45,10 @@ xiv_ds8k_opts = [
         choices=['disabled', 'enabled'],
         help='CHAP authentication mode, effective only for iscsi'
         ' (disabled|enabled)'),
+    cfg.StrOpt(
+        'management_ips',
+        default='',
+        help='List of Management IP addresses (separated by commas)'),
 ]
 
 CONF = cfg.CONF
@@ -78,7 +82,8 @@ class XIVDS8KDriver(san.SanDriver):
                 "xiv_ds8k_vol_pool": self.configuration.san_clustername,
                 "xiv_ds8k_connection_type":
                 self.configuration.xiv_ds8k_connection_type,
-                "xiv_chap": self.configuration.xiv_chap
+                "xiv_chap": self.configuration.xiv_chap,
+                "management_ips": self.configuration.management_ips
             },
             LOG,
             exception,
-- 
2.45.2