diff options
| author | Alessandro Pilotti <ap@pilotti.it> | 2013-02-11 20:53:04 +0200 |
|---|---|---|
| committer | Alessandro Pilotti <ap@pilotti.it> | 2013-02-11 20:53:04 +0200 |
| commit | 7d408aa8db7bcec158f9ab61702a39324cc8db28 (patch) | |
| tree | 156000795756e7d10f6e8e69d765977521d146cb | |
| parent | 20424b987946ee56e39f88aed7fddd35c54d7207 (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.py | 7 |
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, |
