summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlessandro Pilotti <ap@pilotti.it>2013-02-11 20:53:04 +0200
committerAlessandro Pilotti <ap@pilotti.it>2013-02-11 20:53:04 +0200
commit7d408aa8db7bcec158f9ab61702a39324cc8db28 (patch)
tree156000795756e7d10f6e8e69d765977521d146cb
parent20424b987946ee56e39f88aed7fddd35c54d7207 (diff)
Fixes a bug in attaching volumes on Hyper-V
Fixes bug: #1122264 The CIM v2 WMI context needs to be instantiated by the BaseVolumeUtils class and not passed by the caller of get_iscsi_initiator(). Change-Id: I811b5bd0117b0035c18e5c90169b25a095bc54e9
-rw-r--r--nova/virt/hyperv/basevolumeutils.py7
1 files changed, 4 insertions, 3 deletions
diff --git a/nova/virt/hyperv/basevolumeutils.py b/nova/virt/hyperv/basevolumeutils.py
index 34b15ea53..5b515a0f1 100644
--- a/nova/virt/hyperv/basevolumeutils.py
+++ b/nova/virt/hyperv/basevolumeutils.py
@@ -43,6 +43,7 @@ class BaseVolumeUtils(object):
def __init__(self):
if sys.platform == 'win32':
self._conn_wmi = wmi.WMI(moniker='//./root/wmi')
+ self._conn_cimv2 = wmi.WMI(moniker='//./root/cimv2')
@abc.abstractmethod
def login_storage_target(self, target_lun, target_iqn, target_portal):
@@ -56,10 +57,10 @@ class BaseVolumeUtils(object):
def execute_log_out(self, session_id):
pass
- def get_iscsi_initiator(self, cim_conn):
+ def get_iscsi_initiator(self):
"""Get iscsi initiator name for this machine."""
- computer_system = cim_conn.Win32_ComputerSystem()[0]
+ computer_system = self._conn_cimv2.Win32_ComputerSystem()[0]
hostname = computer_system.name
keypath = ("SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\"
"iSCSI\\Discovery")
@@ -72,7 +73,7 @@ class BaseVolumeUtils(object):
except Exception:
LOG.info(_("The ISCSI initiator name can't be found. "
"Choosing the default one"))
- computer_system = cim_conn.Win32_ComputerSystem()[0]
+ computer_system = self._conn_cimv2.Win32_ComputerSystem()[0]
initiator_name = "iqn.1991-05.com.microsoft:" + hostname.lower()
return {
'ip': CONF.my_ip,