/// <summary> /// Check currently LUN against miami host /// </summary> /// <param name="connection"></param> /// <param name="pbd"></param> /// <returns></returns> private bool UniquenessCheckMiami(IXenConnection connection, PBD pbd) { if (!pbd.device_config.ContainsKey(SCSIID)) { return(false); } foreach (string s in pbd.device_config.Keys) { String scsiID = pbd.device_config[s]; String myLUN = getIscsiLUN(); if (!LunMap.ContainsKey(myLUN)) { return(false); } ISCSIInfo info = LunMap[myLUN]; if (info.ScsiID == scsiID) { return(true); } } return(false); }
/// <summary> /// Check currently LUN against miami host /// </summary> /// <param name="connection"></param> /// <param name="pbd"></param> /// <returns></returns> private bool UniquenessCheckMiami(IXenConnection connection, PBD pbd) { String scsiID; if (pbd.device_config.ContainsKey(SCSIID)) { scsiID = pbd.device_config[SCSIID]; } else if (pbd.device_config.ContainsKey("ScsiId")) { scsiID = pbd.device_config["ScsiId"]; } else { return(false); } String myLUN = getIscsiLUN(); if (!LunMap.ContainsKey(myLUN)) { return(false); } ISCSIInfo info = LunMap[myLUN]; return(info.ScsiID == scsiID); }
private Dictionary <String, String> GetDeviceConfig(SR.SRTypes srType) { Dictionary <String, String> dconf = new Dictionary <String, String>(); ToStringWrapper <IScsiIqnInfo> iqn = comboBoxIscsiIqns.SelectedItem as ToStringWrapper <IScsiIqnInfo>; if (iqn == null || !LunMap.ContainsKey(getIscsiLUN())) { return(null); } if (srType == SR.SRTypes.gfs2) { // build the uri for gfs2 var jsonUri = new JavaScriptSerializer().Serialize(new { provider = "iscsi", ips = iqn.item.IpAddress, port = iqn.item.Port.ToString(), iqns = getIscsiIQN(), ScsiId = LunMap[getIscsiLUN()].ScsiID, chapuser = IScsiChapUserTextBox.Text, chappassword = IScsiChapSecretTextBox.Text }); dconf[URI] = jsonUri; return(dconf); } // Reset target IP address to home address specified in IQN scan. // Allows multi-homing - see CA-11607 dconf[TARGET] = iqn.item.IpAddress; dconf[PORT] = iqn.item.Port.ToString(); dconf[TARGETIQN] = getIscsiIQN(); ISCSIInfo info = LunMap[getIscsiLUN()]; if (info.LunID == -1) { dconf[LUNSERIAL] = info.Serial; } else { dconf[SCSIID] = info.ScsiID; } if (IscsiUseChapCheckBox.Checked) { dconf[CHAPUSER] = IScsiChapUserTextBox.Text; dconf[CHAPPASSWORD] = IScsiChapSecretTextBox.Text; } return(dconf); }
private Dictionary <String, String> GetDeviceConfig(SR.SRTypes srType) { Dictionary <String, String> dconf = new Dictionary <String, String>(); ToStringWrapper <IScsiIqnInfo> iqn = comboBoxIscsiIqns.SelectedItem as ToStringWrapper <IScsiIqnInfo>; if (iqn == null || !LunMap.ContainsKey(getIscsiLUN())) { return(null); } if (srType == SR.SRTypes.gfs2) { if (_srToIntroduce != null && _srToIntroduce.Configuration != null) { dconf = _srToIntroduce.Configuration; } dconf["provider"] = "iscsi"; dconf["target"] = iqn.item.IpAddress; dconf["port"] = iqn.item.Port.ToString(); dconf["targetIQN"] = getIscsiIQN(); dconf["SCSIid"] = LunMap[getIscsiLUN()].ScsiID; dconf["chapuser"] = IScsiChapUserTextBox.Text; dconf["chappassword"] = IScsiChapSecretTextBox.Text; return(dconf); } // Reset target IP address to home address specified in IQN scan. // Allows multi-homing - see CA-11607 dconf[TARGET] = iqn.item.IpAddress; dconf[PORT] = iqn.item.Port.ToString(); dconf[TARGETIQN] = getIscsiIQN(); ISCSIInfo info = LunMap[getIscsiLUN()]; if (info.LunID == -1) { dconf[LUNSERIAL] = info.Serial; } else { dconf[SCSIID] = info.ScsiID; } if (IscsiUseChapCheckBox.Checked) { dconf[CHAPUSER] = IScsiChapUserTextBox.Text; dconf[CHAPPASSWORD] = IScsiChapSecretTextBox.Text; } return(dconf); }