Merge pull request #1826 from GaborApatiNagy/master_gfs2

CP-25257: Resurrect old code for GFS2 SR
This commit is contained in:
Mihaela Stoica 2017-10-24 15:28:15 +01:00 committed by GitHub
commit d182041718
20 changed files with 2275 additions and 1087 deletions

View File

@ -0,0 +1,92 @@
namespace XenAdmin.Controls
{
partial class SrProvisioningMethod
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Component Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(SrProvisioningMethod));
this.groupBoxProvisioningMethod = new System.Windows.Forms.GroupBox();
this.tableLayoutPanelBondMode = new System.Windows.Forms.TableLayoutPanel();
this.radioButtonLvm = new System.Windows.Forms.RadioButton();
this.radioButtonGfs2 = new System.Windows.Forms.RadioButton();
this.groupBoxProvisioningMethod.SuspendLayout();
this.tableLayoutPanelBondMode.SuspendLayout();
this.SuspendLayout();
//
// groupBoxProvisioningMethod
//
resources.ApplyResources(this.groupBoxProvisioningMethod, "groupBoxProvisioningMethod");
this.groupBoxProvisioningMethod.BackColor = System.Drawing.SystemColors.Control;
this.groupBoxProvisioningMethod.Controls.Add(this.tableLayoutPanelBondMode);
this.groupBoxProvisioningMethod.Name = "groupBoxProvisioningMethod";
this.groupBoxProvisioningMethod.TabStop = false;
//
// tableLayoutPanelBondMode
//
resources.ApplyResources(this.tableLayoutPanelBondMode, "tableLayoutPanelBondMode");
this.tableLayoutPanelBondMode.BackColor = System.Drawing.SystemColors.Control;
this.tableLayoutPanelBondMode.Controls.Add(this.radioButtonLvm, 0, 0);
this.tableLayoutPanelBondMode.Controls.Add(this.radioButtonGfs2, 1, 0);
this.tableLayoutPanelBondMode.Name = "tableLayoutPanelBondMode";
//
// radioButtonLvm
//
resources.ApplyResources(this.radioButtonLvm, "radioButtonLvm");
this.radioButtonLvm.Checked = true;
this.radioButtonLvm.Name = "radioButtonLvm";
this.radioButtonLvm.TabStop = true;
this.radioButtonLvm.UseVisualStyleBackColor = true;
//
// radioButtonGfs2
//
resources.ApplyResources(this.radioButtonGfs2, "radioButtonGfs2");
this.radioButtonGfs2.Name = "radioButtonGfs2";
this.radioButtonGfs2.UseVisualStyleBackColor = true;
//
// SrProvisioningMethod
//
resources.ApplyResources(this, "$this");
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;
this.BackColor = System.Drawing.SystemColors.Control;
this.Controls.Add(this.groupBoxProvisioningMethod);
this.Name = "SrProvisioningMethod";
this.groupBoxProvisioningMethod.ResumeLayout(false);
this.groupBoxProvisioningMethod.PerformLayout();
this.tableLayoutPanelBondMode.ResumeLayout(false);
this.tableLayoutPanelBondMode.PerformLayout();
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.GroupBox groupBoxProvisioningMethod;
private System.Windows.Forms.TableLayoutPanel tableLayoutPanelBondMode;
private System.Windows.Forms.RadioButton radioButtonLvm;
private System.Windows.Forms.RadioButton radioButtonGfs2;
}
}

View File

@ -0,0 +1,30 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace XenAdmin.Controls
{
public partial class SrProvisioningMethod : UserControl
{
public SrProvisioningMethod()
{
InitializeComponent();
}
internal bool Gfs2
{
get { return radioButtonGfs2.Checked; }
}
internal bool Lvm
{
get { return radioButtonLvm.Checked; }
}
}
}

View File

@ -0,0 +1,288 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="groupBoxProvisioningMethod.AutoSizeMode" type="System.Windows.Forms.AutoSizeMode, System.Windows.Forms">
<value>GrowAndShrink</value>
</data>
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="tableLayoutPanelBondMode.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="tableLayoutPanelBondMode.AutoSizeMode" type="System.Windows.Forms.AutoSizeMode, System.Windows.Forms">
<value>GrowAndShrink</value>
</data>
<data name="tableLayoutPanelBondMode.ColumnCount" type="System.Int32, mscorlib">
<value>2</value>
</data>
<data name="radioButtonLvm.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="radioButtonLvm.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="radioButtonLvm.Location" type="System.Drawing.Point, System.Drawing">
<value>6, 3</value>
</data>
<data name="radioButtonLvm.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>6, 3, 3, 3</value>
</data>
<data name="radioButtonLvm.Size" type="System.Drawing.Size, System.Drawing">
<value>134, 17</value>
</data>
<data name="radioButtonLvm.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="radioButtonLvm.Text" xml:space="preserve">
<value>Fully provisioned (L&amp;VM)</value>
</data>
<data name="&gt;&gt;radioButtonLvm.Name" xml:space="preserve">
<value>radioButtonLvm</value>
</data>
<data name="&gt;&gt;radioButtonLvm.Type" xml:space="preserve">
<value>System.Windows.Forms.RadioButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;radioButtonLvm.Parent" xml:space="preserve">
<value>tableLayoutPanelBondMode</value>
</data>
<data name="&gt;&gt;radioButtonLvm.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="radioButtonGfs2.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="radioButtonGfs2.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="radioButtonGfs2.Location" type="System.Drawing.Point, System.Drawing">
<value>167, 3</value>
</data>
<data name="radioButtonGfs2.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>24, 3, 3, 3</value>
</data>
<data name="radioButtonGfs2.Size" type="System.Drawing.Size, System.Drawing">
<value>149, 17</value>
</data>
<data name="radioButtonGfs2.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="radioButtonGfs2.Text" xml:space="preserve">
<value>Thinly provisioned (&amp;GFS-2)</value>
</data>
<data name="&gt;&gt;radioButtonGfs2.Name" xml:space="preserve">
<value>radioButtonGfs2</value>
</data>
<data name="&gt;&gt;radioButtonGfs2.Type" xml:space="preserve">
<value>System.Windows.Forms.RadioButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;radioButtonGfs2.Parent" xml:space="preserve">
<value>tableLayoutPanelBondMode</value>
</data>
<data name="&gt;&gt;radioButtonGfs2.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="tableLayoutPanelBondMode.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="tableLayoutPanelBondMode.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 14</value>
</data>
<data name="tableLayoutPanelBondMode.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 0, 0, 0</value>
</data>
<data name="tableLayoutPanelBondMode.MinimumSize" type="System.Drawing.Size, System.Drawing">
<value>0, 20</value>
</data>
<data name="tableLayoutPanelBondMode.RowCount" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="tableLayoutPanelBondMode.Size" type="System.Drawing.Size, System.Drawing">
<value>374, 28</value>
</data>
<data name="tableLayoutPanelBondMode.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="&gt;&gt;tableLayoutPanelBondMode.Name" xml:space="preserve">
<value>tableLayoutPanelBondMode</value>
</data>
<data name="&gt;&gt;tableLayoutPanelBondMode.Type" xml:space="preserve">
<value>System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;tableLayoutPanelBondMode.Parent" xml:space="preserve">
<value>groupBoxProvisioningMethod</value>
</data>
<data name="&gt;&gt;tableLayoutPanelBondMode.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="tableLayoutPanelBondMode.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
<value>&lt;?xml version="1.0" encoding="utf-16"?&gt;&lt;TableLayoutSettings&gt;&lt;Controls&gt;&lt;Control Name="radioButtonLvm" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="radioButtonGfs2" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;/Controls&gt;&lt;Columns Styles="AutoSize,0,AutoSize,0" /&gt;&lt;Rows Styles="AutoSize,0,Absolute,28" /&gt;&lt;/TableLayoutSettings&gt;</value>
</data>
<data name="groupBoxProvisioningMethod.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="groupBoxProvisioningMethod.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 0</value>
</data>
<data name="groupBoxProvisioningMethod.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 6, 0, 0</value>
</data>
<data name="groupBoxProvisioningMethod.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>3, 1, 3, 2</value>
</data>
<data name="groupBoxProvisioningMethod.Size" type="System.Drawing.Size, System.Drawing">
<value>380, 44</value>
</data>
<data name="groupBoxProvisioningMethod.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
</data>
<data name="groupBoxProvisioningMethod.Text" xml:space="preserve">
<value>Provisioning method</value>
</data>
<data name="&gt;&gt;groupBoxProvisioningMethod.Name" xml:space="preserve">
<value>groupBoxProvisioningMethod</value>
</data>
<data name="&gt;&gt;groupBoxProvisioningMethod.Type" xml:space="preserve">
<value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;groupBoxProvisioningMethod.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;groupBoxProvisioningMethod.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
<value>96, 96</value>
</data>
<data name="$this.MinimumSize" type="System.Drawing.Size, System.Drawing">
<value>330, 44</value>
</data>
<data name="$this.Size" type="System.Drawing.Size, System.Drawing">
<value>380, 44</value>
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>SrProvisioningMethod</value>
</data>
<data name="&gt;&gt;$this.Type" xml:space="preserve">
<value>System.Windows.Forms.UserControl, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
</root>

View File

@ -0,0 +1,288 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="groupBoxProvisioningMethod.AutoSizeMode" type="System.Windows.Forms.AutoSizeMode, System.Windows.Forms">
<value>GrowAndShrink</value>
</data>
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="tableLayoutPanelBondMode.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="tableLayoutPanelBondMode.AutoSizeMode" type="System.Windows.Forms.AutoSizeMode, System.Windows.Forms">
<value>GrowAndShrink</value>
</data>
<data name="tableLayoutPanelBondMode.ColumnCount" type="System.Int32, mscorlib">
<value>2</value>
</data>
<data name="radioButtonLvm.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="radioButtonLvm.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="radioButtonLvm.Location" type="System.Drawing.Point, System.Drawing">
<value>6, 3</value>
</data>
<data name="radioButtonLvm.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>6, 3, 3, 3</value>
</data>
<data name="radioButtonLvm.Size" type="System.Drawing.Size, System.Drawing">
<value>134, 17</value>
</data>
<data name="radioButtonLvm.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="radioButtonLvm.Text" xml:space="preserve">
<value>Fully provisioned (L&amp;VM)</value>
</data>
<data name="&gt;&gt;radioButtonLvm.Name" xml:space="preserve">
<value>radioButtonLvm</value>
</data>
<data name="&gt;&gt;radioButtonLvm.Type" xml:space="preserve">
<value>System.Windows.Forms.RadioButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;radioButtonLvm.Parent" xml:space="preserve">
<value>tableLayoutPanelBondMode</value>
</data>
<data name="&gt;&gt;radioButtonLvm.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="radioButtonGfs2.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="radioButtonGfs2.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="radioButtonGfs2.Location" type="System.Drawing.Point, System.Drawing">
<value>167, 3</value>
</data>
<data name="radioButtonGfs2.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>24, 3, 3, 3</value>
</data>
<data name="radioButtonGfs2.Size" type="System.Drawing.Size, System.Drawing">
<value>149, 17</value>
</data>
<data name="radioButtonGfs2.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="radioButtonGfs2.Text" xml:space="preserve">
<value>Thinly provisioned (&amp;GFS-2)</value>
</data>
<data name="&gt;&gt;radioButtonGfs2.Name" xml:space="preserve">
<value>radioButtonGfs2</value>
</data>
<data name="&gt;&gt;radioButtonGfs2.Type" xml:space="preserve">
<value>System.Windows.Forms.RadioButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;radioButtonGfs2.Parent" xml:space="preserve">
<value>tableLayoutPanelBondMode</value>
</data>
<data name="&gt;&gt;radioButtonGfs2.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="tableLayoutPanelBondMode.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="tableLayoutPanelBondMode.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 14</value>
</data>
<data name="tableLayoutPanelBondMode.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 0, 0, 0</value>
</data>
<data name="tableLayoutPanelBondMode.MinimumSize" type="System.Drawing.Size, System.Drawing">
<value>0, 20</value>
</data>
<data name="tableLayoutPanelBondMode.RowCount" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="tableLayoutPanelBondMode.Size" type="System.Drawing.Size, System.Drawing">
<value>374, 28</value>
</data>
<data name="tableLayoutPanelBondMode.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="&gt;&gt;tableLayoutPanelBondMode.Name" xml:space="preserve">
<value>tableLayoutPanelBondMode</value>
</data>
<data name="&gt;&gt;tableLayoutPanelBondMode.Type" xml:space="preserve">
<value>System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;tableLayoutPanelBondMode.Parent" xml:space="preserve">
<value>groupBoxProvisioningMethod</value>
</data>
<data name="&gt;&gt;tableLayoutPanelBondMode.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="tableLayoutPanelBondMode.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
<value>&lt;?xml version="1.0" encoding="utf-16"?&gt;&lt;TableLayoutSettings&gt;&lt;Controls&gt;&lt;Control Name="radioButtonLvm" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="radioButtonGfs2" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;/Controls&gt;&lt;Columns Styles="AutoSize,0,AutoSize,0" /&gt;&lt;Rows Styles="AutoSize,0,Absolute,28" /&gt;&lt;/TableLayoutSettings&gt;</value>
</data>
<data name="groupBoxProvisioningMethod.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="groupBoxProvisioningMethod.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 0</value>
</data>
<data name="groupBoxProvisioningMethod.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 6, 0, 0</value>
</data>
<data name="groupBoxProvisioningMethod.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>3, 1, 3, 2</value>
</data>
<data name="groupBoxProvisioningMethod.Size" type="System.Drawing.Size, System.Drawing">
<value>380, 44</value>
</data>
<data name="groupBoxProvisioningMethod.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
</data>
<data name="groupBoxProvisioningMethod.Text" xml:space="preserve">
<value>Provisioning method</value>
</data>
<data name="&gt;&gt;groupBoxProvisioningMethod.Name" xml:space="preserve">
<value>groupBoxProvisioningMethod</value>
</data>
<data name="&gt;&gt;groupBoxProvisioningMethod.Type" xml:space="preserve">
<value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;groupBoxProvisioningMethod.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;groupBoxProvisioningMethod.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
<value>96, 96</value>
</data>
<data name="$this.MinimumSize" type="System.Drawing.Size, System.Drawing">
<value>330, 44</value>
</data>
<data name="$this.Size" type="System.Drawing.Size, System.Drawing">
<value>380, 44</value>
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>SrProvisioningMethod</value>
</data>
<data name="&gt;&gt;$this.Type" xml:space="preserve">
<value>System.Windows.Forms.UserControl, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
</root>

View File

@ -0,0 +1,288 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="groupBoxProvisioningMethod.AutoSizeMode" type="System.Windows.Forms.AutoSizeMode, System.Windows.Forms">
<value>GrowAndShrink</value>
</data>
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="tableLayoutPanelBondMode.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="tableLayoutPanelBondMode.AutoSizeMode" type="System.Windows.Forms.AutoSizeMode, System.Windows.Forms">
<value>GrowAndShrink</value>
</data>
<data name="tableLayoutPanelBondMode.ColumnCount" type="System.Int32, mscorlib">
<value>2</value>
</data>
<data name="radioButtonLvm.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="radioButtonLvm.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="radioButtonLvm.Location" type="System.Drawing.Point, System.Drawing">
<value>6, 3</value>
</data>
<data name="radioButtonLvm.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>6, 3, 3, 3</value>
</data>
<data name="radioButtonLvm.Size" type="System.Drawing.Size, System.Drawing">
<value>134, 17</value>
</data>
<data name="radioButtonLvm.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="radioButtonLvm.Text" xml:space="preserve">
<value>Fully provisioned (L&amp;VM)</value>
</data>
<data name="&gt;&gt;radioButtonLvm.Name" xml:space="preserve">
<value>radioButtonLvm</value>
</data>
<data name="&gt;&gt;radioButtonLvm.Type" xml:space="preserve">
<value>System.Windows.Forms.RadioButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;radioButtonLvm.Parent" xml:space="preserve">
<value>tableLayoutPanelBondMode</value>
</data>
<data name="&gt;&gt;radioButtonLvm.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="radioButtonGfs2.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="radioButtonGfs2.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="radioButtonGfs2.Location" type="System.Drawing.Point, System.Drawing">
<value>167, 3</value>
</data>
<data name="radioButtonGfs2.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>24, 3, 3, 3</value>
</data>
<data name="radioButtonGfs2.Size" type="System.Drawing.Size, System.Drawing">
<value>149, 17</value>
</data>
<data name="radioButtonGfs2.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="radioButtonGfs2.Text" xml:space="preserve">
<value>Thinly provisioned (&amp;GFS-2)</value>
</data>
<data name="&gt;&gt;radioButtonGfs2.Name" xml:space="preserve">
<value>radioButtonGfs2</value>
</data>
<data name="&gt;&gt;radioButtonGfs2.Type" xml:space="preserve">
<value>System.Windows.Forms.RadioButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;radioButtonGfs2.Parent" xml:space="preserve">
<value>tableLayoutPanelBondMode</value>
</data>
<data name="&gt;&gt;radioButtonGfs2.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="tableLayoutPanelBondMode.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="tableLayoutPanelBondMode.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 14</value>
</data>
<data name="tableLayoutPanelBondMode.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 0, 0, 0</value>
</data>
<data name="tableLayoutPanelBondMode.MinimumSize" type="System.Drawing.Size, System.Drawing">
<value>0, 20</value>
</data>
<data name="tableLayoutPanelBondMode.RowCount" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="tableLayoutPanelBondMode.Size" type="System.Drawing.Size, System.Drawing">
<value>374, 28</value>
</data>
<data name="tableLayoutPanelBondMode.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="&gt;&gt;tableLayoutPanelBondMode.Name" xml:space="preserve">
<value>tableLayoutPanelBondMode</value>
</data>
<data name="&gt;&gt;tableLayoutPanelBondMode.Type" xml:space="preserve">
<value>System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;tableLayoutPanelBondMode.Parent" xml:space="preserve">
<value>groupBoxProvisioningMethod</value>
</data>
<data name="&gt;&gt;tableLayoutPanelBondMode.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="tableLayoutPanelBondMode.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
<value>&lt;?xml version="1.0" encoding="utf-16"?&gt;&lt;TableLayoutSettings&gt;&lt;Controls&gt;&lt;Control Name="radioButtonLvm" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="radioButtonGfs2" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;/Controls&gt;&lt;Columns Styles="AutoSize,0,AutoSize,0" /&gt;&lt;Rows Styles="AutoSize,0,Absolute,28" /&gt;&lt;/TableLayoutSettings&gt;</value>
</data>
<data name="groupBoxProvisioningMethod.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="groupBoxProvisioningMethod.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 0</value>
</data>
<data name="groupBoxProvisioningMethod.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 6, 0, 0</value>
</data>
<data name="groupBoxProvisioningMethod.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>3, 1, 3, 2</value>
</data>
<data name="groupBoxProvisioningMethod.Size" type="System.Drawing.Size, System.Drawing">
<value>380, 44</value>
</data>
<data name="groupBoxProvisioningMethod.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
</data>
<data name="groupBoxProvisioningMethod.Text" xml:space="preserve">
<value>Provisioning method</value>
</data>
<data name="&gt;&gt;groupBoxProvisioningMethod.Name" xml:space="preserve">
<value>groupBoxProvisioningMethod</value>
</data>
<data name="&gt;&gt;groupBoxProvisioningMethod.Type" xml:space="preserve">
<value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;groupBoxProvisioningMethod.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;groupBoxProvisioningMethod.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
<value>96, 96</value>
</data>
<data name="$this.MinimumSize" type="System.Drawing.Size, System.Drawing">
<value>330, 44</value>
</data>
<data name="$this.Size" type="System.Drawing.Size, System.Drawing">
<value>380, 44</value>
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>SrProvisioningMethod</value>
</data>
<data name="&gt;&gt;$this.Type" xml:space="preserve">
<value>System.Windows.Forms.UserControl, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
</root>

View File

@ -212,8 +212,9 @@ namespace XenAdmin.Wizards
lvmOhbaSrDescriptor.Description = description;
m_srWizardType.SrDescriptors.Add(lvmOhbaSrDescriptor);
m_srWizardType.IsGfs2 = lvmOhbaSrDescriptor is Gfs2HbaSrDescriptor;
names.Add(name);
name = SrWizardHelpers.DefaultSRName(m_srWizardType is SrWizardType_LvmoHba
name = SrWizardHelpers.DefaultSRName(m_srWizardType is SrWizardType_Hba
? Messages.NEWSR_HBA_DEFAULT_NAME
: Messages.NEWSR_FCOE_DEFAULT_NAME, names);
}
@ -241,7 +242,7 @@ namespace XenAdmin.Wizards
{
return SetFCDevicesOnLVMoHBAPage(xenTabPageLvmoFcoe);
}
if (m_srWizardType is SrWizardType_LvmoHba)
if (m_srWizardType is SrWizardType_Hba)
{
return SetFCDevicesOnLVMoHBAPage(xenTabPageLvmoHba);
}
@ -257,7 +258,7 @@ namespace XenAdmin.Wizards
return CanShowLVMoHBASummaryPage(xenTabPageLvmoFcoe.SrDescriptors);
}
if (m_srWizardType is SrWizardType_LvmoHba)
if (m_srWizardType is SrWizardType_Hba)
{
if (senderPage == xenTabPageLvmoHba)
{
@ -279,11 +280,11 @@ namespace XenAdmin.Wizards
if (m_srWizardType is SrWizardType_VhdoNfs)
AddPage(xenTabPageVhdoNFS);
else if (m_srWizardType is SrWizardType_LvmoIscsi)
else if (m_srWizardType is SrWizardType_Iscsi)
{
AddPage(xenTabPageLvmoIscsi);
}
else if (m_srWizardType is SrWizardType_LvmoHba)
else if (m_srWizardType is SrWizardType_Hba)
{
AddPage(xenTabPageLvmoHba);
AddPage(xenTabPageLvmoHbaSummary);
@ -335,9 +336,9 @@ namespace XenAdmin.Wizards
if (m_srWizardType is SrWizardType_VhdoNfs)
xenTabPageVhdoNFS.SrWizardType = m_srWizardType;
else if (m_srWizardType is SrWizardType_LvmoIscsi)
else if (m_srWizardType is SrWizardType_Iscsi)
xenTabPageLvmoIscsi.SrWizardType = m_srWizardType;
else if (m_srWizardType is SrWizardType_LvmoHba)
else if (m_srWizardType is SrWizardType_Hba)
xenTabPageLvmoHba.SrWizardType = m_srWizardType;
else if (m_srWizardType is SrWizardType_Cslg || m_srWizardType is SrWizardType_NetApp || m_srWizardType is SrWizardType_EqualLogic)
xenTabPageCslg.SrWizardType = m_srWizardType;
@ -368,6 +369,7 @@ namespace XenAdmin.Wizards
m_srWizardType.UUID = xenTabPageLvmoIscsi.UUID;
m_srWizardType.DeviceConfig = xenTabPageLvmoIscsi.DeviceConfig;
m_srWizardType.IsGfs2 = xenTabPageLvmoIscsi.SRType == SR.SRTypes.gfs2;
}
else if (senderPagetype == typeof(NFS_ISO))
{
@ -449,7 +451,7 @@ namespace XenAdmin.Wizards
protected override void FinishWizard()
{
if (m_srWizardType is SrWizardType_LvmoHba || m_srWizardType is SrWizardType_Fcoe)
if (m_srWizardType is SrWizardType_Hba || m_srWizardType is SrWizardType_Fcoe)
{
base.FinishWizard();
return;
@ -533,7 +535,7 @@ namespace XenAdmin.Wizards
ProgressBarStyle progressBarStyle = FinalAction is SrIntroduceAction ? ProgressBarStyle.Blocks : ProgressBarStyle.Marquee;
using (var dialog = new ActionProgressDialog(FinalAction, progressBarStyle) {ShowCancel = true})
{
if (m_srWizardType is SrWizardType_LvmoHba || m_srWizardType is SrWizardType_Fcoe)
if (m_srWizardType is SrWizardType_Hba || m_srWizardType is SrWizardType_Fcoe)
{
ActionProgressDialog closureDialog = dialog;
// close dialog even when there's an error for HBA SR type as there will be the Summary page displayed.
@ -547,7 +549,7 @@ namespace XenAdmin.Wizards
dialog.ShowDialog(this);
}
if (m_srWizardType is SrWizardType_LvmoHba || m_srWizardType is SrWizardType_Fcoe)
if (m_srWizardType is SrWizardType_Hba || m_srWizardType is SrWizardType_Fcoe)
{
foreach (var asyncAction in actionList)
{

View File

@ -57,8 +57,8 @@ namespace XenAdmin.Wizards.NewSRWizard_Pages
// Store the SrWizardType on the tag of their RadioButton
radioButtonNfs.Tag = new SrWizardType_VhdoNfs();
radioButtonIscsi.Tag = new SrWizardType_LvmoIscsi();
radioButtonFibreChannel.Tag = new SrWizardType_LvmoHba();
radioButtonIscsi.Tag = new SrWizardType_Iscsi();
radioButtonFibreChannel.Tag = new SrWizardType_Hba();
radioButtonNfsIso.Tag = new SrWizardType_NfsIso();
radioButtonCifsIso.Tag = new SrWizardType_CifsIso();
radioButtonCslg.Tag = new SrWizardType_Cslg();
@ -171,7 +171,8 @@ namespace XenAdmin.Wizards.NewSRWizard_Pages
radioButtonCslg.Checked = true;
radioButtonCslg.Tag = ((SrWizardType_Cslg)radioButtonCslg.Tag).ToEqualLogic();
}
else if (wizardType.Type.ToString() == SrToReattach.type)
else if (wizardType.PossibleTypes.Contains(SrToReattach.GetSRType(true)))
{
if (_matchingFrontends == 0)
radioButton.Checked = true;

View File

@ -42,13 +42,20 @@ namespace XenAdmin.Wizards.NewSRWizard_Pages.Frontends
#region LVMoHBA overrides
public override SR.SRTypes SrType { get { return SR.SRTypes.lvmofcoe; } }
public override SR.SRTypes SrType { get { return srProvisioningMethod.Lvm ? SR.SRTypes.lvmofcoe : SR.SRTypes.gfs2; } }
public override bool ShowNicColumn { get { return true; } }
public override string HelpID { get { return "Location_FCOE"; } }
public override LvmOhbaSrDescriptor CreateSrDescriptor(FibreChannelDevice device)
{
if (SrType == SR.SRTypes.gfs2)
return new Gfs2HbaSrDescriptor(device);
return new FcoeSrDescriptor(device);
}
public override LvmOhbaSrDescriptor CreateLvmSrDescriptor(FibreChannelDevice device)
{
return new FcoeSrDescriptor(device);
}

View File

@ -56,11 +56,16 @@ namespace XenAdmin.Wizards.NewSRWizard_Pages.Frontends
InitializeComponent();
}
public virtual SR.SRTypes SrType { get { return SR.SRTypes.lvmohba; } }
public virtual SR.SRTypes SrType { get { return srProvisioningMethod.Lvm ? SR.SRTypes.lvmohba : SR.SRTypes.gfs2; } }
public virtual bool ShowNicColumn { get { return false; } }
public virtual LvmOhbaSrDescriptor CreateSrDescriptor(FibreChannelDevice device)
{
return SrType == SR.SRTypes.gfs2 ? new Gfs2HbaSrDescriptor(device) : new LvmOhbaSrDescriptor(device, Connection);
}
public virtual LvmOhbaSrDescriptor CreateLvmSrDescriptor(FibreChannelDevice device)
{
return new LvmOhbaSrDescriptor(device, Connection);
}
@ -94,7 +99,11 @@ namespace XenAdmin.Wizards.NewSRWizard_Pages.Frontends
{
LvmOhbaSrDescriptor descr = CreateSrDescriptor(device);
var action = new SrProbeAction(Connection, master, SrType, descr.DeviceConfig);
// create an LVM descriptor, to be used with sr.probe
LvmOhbaSrDescriptor lvmdescr = CreateLvmSrDescriptor(device);
SR.SRTypes srType = lvmdescr is FcoeSrDescriptor ? SR.SRTypes.lvmofcoe : SR.SRTypes.lvmohba; //srType is a workaround instead of SrType
var action = new SrProbeAction(Connection, master, srType, lvmdescr.DeviceConfig);// TODO: use SRType and descr
using (var dlg = new ActionProgressDialog(action, ProgressBarStyle.Marquee))
dlg.ShowDialog(this);
@ -333,7 +342,9 @@ namespace XenAdmin.Wizards.NewSRWizard_Pages.Frontends
if (master == null)
return false;
FibreChannelProbeAction action = new FibreChannelProbeAction(master, SrType);
SR.SRTypes srType = this is LVMoFCoE ? SR.SRTypes.lvmofcoe : SR.SRTypes.lvmohba; //srType is a workaround instead of SrType
FibreChannelProbeAction action = new FibreChannelProbeAction(master, srType);// TODO: use SRType
using (var dialog = new ActionProgressDialog(action, ProgressBarStyle.Marquee))
dialog.ShowDialog(owner); //Will block until dialog closes, action completed

View File

@ -31,16 +31,17 @@ namespace XenAdmin.Wizards.NewSRWizard_Pages.Frontends
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(LVMoHBA));
this.labelReattach = new System.Windows.Forms.Label();
this.dataGridView = new XenAdmin.Controls.DataGridViewEx.DataGridViewEx();
this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
this.labelCreate = new System.Windows.Forms.Label();
this.buttonSelectAll = new System.Windows.Forms.Button();
this.buttonClearAll = new System.Windows.Forms.Button();
this.colCheck = new System.Windows.Forms.DataGridViewCheckBoxColumn();
this.colSize = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colSerial = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colId = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colDetails = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colNic = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
this.labelCreate = new System.Windows.Forms.Label();
this.buttonSelectAll = new System.Windows.Forms.Button();
this.buttonClearAll = new System.Windows.Forms.Button();
this.srProvisioningMethod = new XenAdmin.Controls.SrProvisioningMethod();
((System.ComponentModel.ISupportInitialize)(this.dataGridView)).BeginInit();
this.tableLayoutPanel1.SuspendLayout();
this.SuspendLayout();
@ -70,36 +71,6 @@ namespace XenAdmin.Wizards.NewSRWizard_Pages.Frontends
this.dataGridView.CellClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dataGridView_CellClick);
this.dataGridView.SelectionChanged += new System.EventHandler(this.dataGridView_SelectionChanged);
//
// tableLayoutPanel1
//
resources.ApplyResources(this.tableLayoutPanel1, "tableLayoutPanel1");
this.tableLayoutPanel1.Controls.Add(this.labelCreate, 0, 0);
this.tableLayoutPanel1.Controls.Add(this.labelReattach, 0, 1);
this.tableLayoutPanel1.Controls.Add(this.dataGridView, 0, 2);
this.tableLayoutPanel1.Controls.Add(this.buttonSelectAll, 0, 3);
this.tableLayoutPanel1.Controls.Add(this.buttonClearAll, 1, 3);
this.tableLayoutPanel1.Name = "tableLayoutPanel1";
//
// labelCreate
//
resources.ApplyResources(this.labelCreate, "labelCreate");
this.tableLayoutPanel1.SetColumnSpan(this.labelCreate, 2);
this.labelCreate.Name = "labelCreate";
//
// buttonSelectAll
//
resources.ApplyResources(this.buttonSelectAll, "buttonSelectAll");
this.buttonSelectAll.Name = "buttonSelectAll";
this.buttonSelectAll.UseVisualStyleBackColor = true;
this.buttonSelectAll.Click += new System.EventHandler(this.buttonSelectAll_Click);
//
// buttonClearAll
//
resources.ApplyResources(this.buttonClearAll, "buttonClearAll");
this.buttonClearAll.Name = "buttonClearAll";
this.buttonClearAll.UseVisualStyleBackColor = true;
this.buttonClearAll.Click += new System.EventHandler(this.buttonClearAll_Click);
//
// colCheck
//
this.colCheck.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.AllCells;
@ -136,6 +107,44 @@ namespace XenAdmin.Wizards.NewSRWizard_Pages.Frontends
this.colNic.Name = "colNic";
this.colNic.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
//
// tableLayoutPanel1
//
resources.ApplyResources(this.tableLayoutPanel1, "tableLayoutPanel1");
this.tableLayoutPanel1.Controls.Add(this.labelCreate, 0, 0);
this.tableLayoutPanel1.Controls.Add(this.labelReattach, 0, 1);
this.tableLayoutPanel1.Controls.Add(this.dataGridView, 0, 2);
this.tableLayoutPanel1.Controls.Add(this.buttonSelectAll, 0, 3);
this.tableLayoutPanel1.Controls.Add(this.buttonClearAll, 1, 3);
this.tableLayoutPanel1.Controls.Add(this.srProvisioningMethod, 0, 4);
this.tableLayoutPanel1.Name = "tableLayoutPanel1";
//
// labelCreate
//
resources.ApplyResources(this.labelCreate, "labelCreate");
this.tableLayoutPanel1.SetColumnSpan(this.labelCreate, 2);
this.labelCreate.Name = "labelCreate";
//
// buttonSelectAll
//
resources.ApplyResources(this.buttonSelectAll, "buttonSelectAll");
this.buttonSelectAll.Name = "buttonSelectAll";
this.buttonSelectAll.UseVisualStyleBackColor = true;
this.buttonSelectAll.Click += new System.EventHandler(this.buttonSelectAll_Click);
//
// buttonClearAll
//
resources.ApplyResources(this.buttonClearAll, "buttonClearAll");
this.buttonClearAll.Name = "buttonClearAll";
this.buttonClearAll.UseVisualStyleBackColor = true;
this.buttonClearAll.Click += new System.EventHandler(this.buttonClearAll_Click);
//
// srProvisioningMethod
//
this.srProvisioningMethod.BackColor = System.Drawing.SystemColors.Control;
this.tableLayoutPanel1.SetColumnSpan(this.srProvisioningMethod, 2);
resources.ApplyResources(this.srProvisioningMethod, "srProvisioningMethod");
this.srProvisioningMethod.Name = "srProvisioningMethod";
//
// LVMoHBA
//
resources.ApplyResources(this, "$this");
@ -164,5 +173,6 @@ namespace XenAdmin.Wizards.NewSRWizard_Pages.Frontends
private System.Windows.Forms.DataGridViewTextBoxColumn colId;
private System.Windows.Forms.DataGridViewTextBoxColumn colDetails;
private System.Windows.Forms.DataGridViewTextBoxColumn colNic;
protected Controls.SrProvisioningMethod srProvisioningMethod;
}
}

View File

@ -217,7 +217,7 @@
<value>3, 65</value>
</data>
<data name="dataGridView.Size" type="System.Drawing.Size, System.Drawing">
<value>554, 327</value>
<value>554, 277</value>
</data>
<data name="dataGridView.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
@ -235,7 +235,7 @@
<value>2</value>
</data>
<data name="buttonSelectAll.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 398</value>
<value>3, 348</value>
</data>
<data name="buttonSelectAll.Size" type="System.Drawing.Size, System.Drawing">
<value>75, 23</value>
@ -259,7 +259,7 @@
<value>3</value>
</data>
<data name="buttonClearAll.Location" type="System.Drawing.Point, System.Drawing">
<value>84, 398</value>
<value>84, 348</value>
</data>
<data name="buttonClearAll.Size" type="System.Drawing.Size, System.Drawing">
<value>75, 23</value>
@ -282,6 +282,33 @@
<data name="&gt;&gt;buttonClearAll.ZOrder" xml:space="preserve">
<value>4</value>
</data>
<data name="srProvisioningMethod.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Top</value>
</data>
<data name="srProvisioningMethod.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 377</value>
</data>
<data name="srProvisioningMethod.MinimumSize" type="System.Drawing.Size, System.Drawing">
<value>330, 44</value>
</data>
<data name="srProvisioningMethod.Size" type="System.Drawing.Size, System.Drawing">
<value>554, 44</value>
</data>
<data name="srProvisioningMethod.TabIndex" type="System.Int32, mscorlib">
<value>5</value>
</data>
<data name="&gt;&gt;srProvisioningMethod.Name" xml:space="preserve">
<value>srProvisioningMethod</value>
</data>
<data name="&gt;&gt;srProvisioningMethod.Type" xml:space="preserve">
<value>XenAdmin.Controls.SrProvisioningMethod, XenCenterMain, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;srProvisioningMethod.Parent" xml:space="preserve">
<value>tableLayoutPanel1</value>
</data>
<data name="&gt;&gt;srProvisioningMethod.ZOrder" xml:space="preserve">
<value>5</value>
</data>
<data name="tableLayoutPanel1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
@ -289,7 +316,7 @@
<value>0, 0</value>
</data>
<data name="tableLayoutPanel1.RowCount" type="System.Int32, mscorlib">
<value>4</value>
<value>5</value>
</data>
<data name="tableLayoutPanel1.Size" type="System.Drawing.Size, System.Drawing">
<value>560, 424</value>
@ -310,7 +337,7 @@
<value>0</value>
</data>
<data name="tableLayoutPanel1.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
<value>&lt;?xml version="1.0" encoding="utf-16"?&gt;&lt;TableLayoutSettings&gt;&lt;Controls&gt;&lt;Control Name="labelCreate" Row="0" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="labelReattach" Row="1" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="dataGridView" Row="2" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="buttonSelectAll" Row="3" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="buttonClearAll" Row="3" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;/Controls&gt;&lt;Columns Styles="AutoSize,0,Percent,100" /&gt;&lt;Rows Styles="AutoSize,0,AutoSize,0,Percent,100,AutoSize,0" /&gt;&lt;/TableLayoutSettings&gt;</value>
<value>&lt;?xml version="1.0" encoding="utf-16"?&gt;&lt;TableLayoutSettings&gt;&lt;Controls&gt;&lt;Control Name="labelCreate" Row="0" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="labelReattach" Row="1" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="dataGridView" Row="2" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="buttonSelectAll" Row="3" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="buttonClearAll" Row="3" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;Control Name="srProvisioningMethod" Row="4" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;/Controls&gt;&lt;Columns Styles="AutoSize,0,Percent,100" /&gt;&lt;Rows Styles="AutoSize,0,AutoSize,0,Percent,100,AutoSize,0,AutoSize,120" /&gt;&lt;/TableLayoutSettings&gt;</value>
</data>
<data name="labelReattach.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 34</value>

View File

@ -29,78 +29,105 @@ namespace XenAdmin.Wizards.NewSRWizard_Pages.Frontends
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(LVMoISCSI));
this.textBoxIscsiPort = new System.Windows.Forms.TextBox();
this.labelColon = new System.Windows.Forms.Label();
this.toolTipContainerIQNscan = new XenAdmin.Controls.ToolTipContainer();
this.scanTargetHostButton = new System.Windows.Forms.Button();
this.IscsiUseChapCheckBox = new System.Windows.Forms.CheckBox();
this.lunInUseLabel = new System.Windows.Forms.Label();
this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
this.iSCSITargetGroupBox = new XenAdmin.Controls.DecentGroupBox();
this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel();
this.labelIscsiIQN = new System.Windows.Forms.Label();
this.comboBoxIscsiIqns = new System.Windows.Forms.ComboBox();
this.comboBoxIscsiLuns = new System.Windows.Forms.ComboBox();
this.errorLabelAtHostname = new System.Windows.Forms.Label();
this.lunInUseLabel = new System.Windows.Forms.Label();
this.targetLunLabel = new System.Windows.Forms.Label();
this.IScsiChapSecretLabel = new System.Windows.Forms.Label();
this.IScsiChapSecretTextBox = new System.Windows.Forms.TextBox();
this.labelCHAPuser = new System.Windows.Forms.Label();
this.IScsiChapUserTextBox = new System.Windows.Forms.TextBox();
this.labelIscsiTargetHost = new System.Windows.Forms.Label();
this.labelIscsiIQN = new System.Windows.Forms.Label();
this.textBoxIscsiHost = new System.Windows.Forms.TextBox();
this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
this.errorLabelAtTargetLUN = new System.Windows.Forms.Label();
this.errorIconAtTargetLUN = new System.Windows.Forms.PictureBox();
this.spinnerIconAtTargetIqn = new XenAdmin.Controls.SpinnerIcon();
this.spinnerIconAtTargetLun = new XenAdmin.Controls.SpinnerIcon();
this.placeHolderLabel2 = new System.Windows.Forms.Label();
this.placeholderLabel = new System.Windows.Forms.Label();
this.errorLabelAtCHAPPassword = new System.Windows.Forms.Label();
this.errorIconAtCHAPPassword = new System.Windows.Forms.PictureBox();
this.errorIconAtHostOrIP = new System.Windows.Forms.PictureBox();
this.scanTargetHostButton = new System.Windows.Forms.Button();
this.labelIscsiTargetHost = new System.Windows.Forms.Label();
this.textBoxIscsiHost = new System.Windows.Forms.TextBox();
this.labelColon = new System.Windows.Forms.Label();
this.textBoxIscsiPort = new System.Windows.Forms.TextBox();
this.IScsiChapUserTextBox = new System.Windows.Forms.TextBox();
this.IScsiChapSecretTextBox = new System.Windows.Forms.TextBox();
this.labelCHAPuser = new System.Windows.Forms.Label();
this.IScsiChapSecretLabel = new System.Windows.Forms.Label();
this.IscsiUseChapCheckBox = new System.Windows.Forms.CheckBox();
this.label11 = new System.Windows.Forms.Label();
this.errorLabelAtHostname = new System.Windows.Forms.Label();
this.spinnerIconAtScanTargetHostButton = new XenAdmin.Controls.SpinnerIcon();
this.iSCSITargetGroupBox = new XenAdmin.Controls.DecentGroupBox();
this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel();
this.errorLabelAtTargetLUN = new System.Windows.Forms.Label();
this.errorIconAtTargetLUN = new System.Windows.Forms.PictureBox();
this.spinnerIconAtTargetIqn = new XenAdmin.Controls.SpinnerIcon();
this.spinnerIconAtTargetLun = new XenAdmin.Controls.SpinnerIcon();
this.srProvisioningMethod = new XenAdmin.Controls.SrProvisioningMethod();
this.toolTipContainerIQNscan = new XenAdmin.Controls.ToolTipContainer();
this.tableLayoutPanel1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.errorIconAtCHAPPassword)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.errorIconAtHostOrIP)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.spinnerIconAtScanTargetHostButton)).BeginInit();
this.iSCSITargetGroupBox.SuspendLayout();
this.tableLayoutPanel2.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.errorIconAtTargetLUN)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.spinnerIconAtTargetIqn)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.spinnerIconAtTargetLun)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.errorIconAtCHAPPassword)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.errorIconAtHostOrIP)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.spinnerIconAtScanTargetHostButton)).BeginInit();
this.SuspendLayout();
//
// textBoxIscsiPort
// lunInUseLabel
//
resources.ApplyResources(this.textBoxIscsiPort, "textBoxIscsiPort");
this.textBoxIscsiPort.Name = "textBoxIscsiPort";
this.textBoxIscsiPort.TextChanged += new System.EventHandler(this.textBoxIscsiHost_TextChanged);
resources.ApplyResources(this.lunInUseLabel, "lunInUseLabel");
this.lunInUseLabel.Name = "lunInUseLabel";
//
// labelColon
// tableLayoutPanel1
//
resources.ApplyResources(this.labelColon, "labelColon");
this.labelColon.Name = "labelColon";
resources.ApplyResources(this.tableLayoutPanel1, "tableLayoutPanel1");
this.tableLayoutPanel1.Controls.Add(this.iSCSITargetGroupBox, 0, 9);
this.tableLayoutPanel1.Controls.Add(this.placeHolderLabel2, 0, 7);
this.tableLayoutPanel1.Controls.Add(this.placeholderLabel, 0, 2);
this.tableLayoutPanel1.Controls.Add(this.errorLabelAtCHAPPassword, 3, 7);
this.tableLayoutPanel1.Controls.Add(this.errorIconAtCHAPPassword, 2, 7);
this.tableLayoutPanel1.Controls.Add(this.errorIconAtHostOrIP, 2, 2);
this.tableLayoutPanel1.Controls.Add(this.scanTargetHostButton, 0, 8);
this.tableLayoutPanel1.Controls.Add(this.labelIscsiTargetHost, 0, 1);
this.tableLayoutPanel1.Controls.Add(this.textBoxIscsiHost, 2, 1);
this.tableLayoutPanel1.Controls.Add(this.labelColon, 3, 1);
this.tableLayoutPanel1.Controls.Add(this.textBoxIscsiPort, 4, 1);
this.tableLayoutPanel1.Controls.Add(this.IScsiChapUserTextBox, 2, 5);
this.tableLayoutPanel1.Controls.Add(this.IScsiChapSecretTextBox, 2, 6);
this.tableLayoutPanel1.Controls.Add(this.labelCHAPuser, 1, 5);
this.tableLayoutPanel1.Controls.Add(this.IScsiChapSecretLabel, 1, 6);
this.tableLayoutPanel1.Controls.Add(this.IscsiUseChapCheckBox, 0, 3);
this.tableLayoutPanel1.Controls.Add(this.label11, 0, 0);
this.tableLayoutPanel1.Controls.Add(this.errorLabelAtHostname, 3, 2);
this.tableLayoutPanel1.Controls.Add(this.spinnerIconAtScanTargetHostButton, 2, 8);
this.tableLayoutPanel1.Controls.Add(this.srProvisioningMethod, 0, 10);
this.tableLayoutPanel1.Name = "tableLayoutPanel1";
//
// toolTipContainerIQNscan
// iSCSITargetGroupBox
//
resources.ApplyResources(this.toolTipContainerIQNscan, "toolTipContainerIQNscan");
this.toolTipContainerIQNscan.Name = "toolTipContainerIQNscan";
resources.ApplyResources(this.iSCSITargetGroupBox, "iSCSITargetGroupBox");
this.tableLayoutPanel1.SetColumnSpan(this.iSCSITargetGroupBox, 7);
this.iSCSITargetGroupBox.Controls.Add(this.tableLayoutPanel2);
this.iSCSITargetGroupBox.Name = "iSCSITargetGroupBox";
this.iSCSITargetGroupBox.TabStop = false;
//
// scanTargetHostButton
// tableLayoutPanel2
//
resources.ApplyResources(this.scanTargetHostButton, "scanTargetHostButton");
this.tableLayoutPanel1.SetColumnSpan(this.scanTargetHostButton, 2);
this.scanTargetHostButton.Name = "scanTargetHostButton";
this.scanTargetHostButton.Click += new System.EventHandler(this.scanTargetHostButton_Click);
resources.ApplyResources(this.tableLayoutPanel2, "tableLayoutPanel2");
this.tableLayoutPanel2.Controls.Add(this.labelIscsiIQN, 0, 0);
this.tableLayoutPanel2.Controls.Add(this.comboBoxIscsiIqns, 1, 0);
this.tableLayoutPanel2.Controls.Add(this.comboBoxIscsiLuns, 1, 1);
this.tableLayoutPanel2.Controls.Add(this.targetLunLabel, 0, 1);
this.tableLayoutPanel2.Controls.Add(this.errorLabelAtTargetLUN, 2, 2);
this.tableLayoutPanel2.Controls.Add(this.errorIconAtTargetLUN, 1, 2);
this.tableLayoutPanel2.Controls.Add(this.spinnerIconAtTargetIqn, 3, 0);
this.tableLayoutPanel2.Controls.Add(this.spinnerIconAtTargetLun, 3, 1);
this.tableLayoutPanel2.Name = "tableLayoutPanel2";
//
// IscsiUseChapCheckBox
// labelIscsiIQN
//
resources.ApplyResources(this.IscsiUseChapCheckBox, "IscsiUseChapCheckBox");
this.tableLayoutPanel1.SetColumnSpan(this.IscsiUseChapCheckBox, 2);
this.IscsiUseChapCheckBox.Name = "IscsiUseChapCheckBox";
this.IscsiUseChapCheckBox.UseVisualStyleBackColor = true;
this.IscsiUseChapCheckBox.CheckedChanged += new System.EventHandler(this.IscsiUseChapCheckBox_CheckedChanged);
resources.ApplyResources(this.labelIscsiIQN, "labelIscsiIQN");
this.labelIscsiIQN.BackColor = System.Drawing.Color.Transparent;
this.labelIscsiIQN.Name = "labelIscsiIQN";
//
// comboBoxIscsiIqns
//
@ -120,174 +147,22 @@ namespace XenAdmin.Wizards.NewSRWizard_Pages.Frontends
this.comboBoxIscsiLuns.Name = "comboBoxIscsiLuns";
this.comboBoxIscsiLuns.SelectedIndexChanged += new System.EventHandler(this.comboBoxIscsiLuns_SelectedIndexChanged);
//
// errorLabelAtHostname
//
resources.ApplyResources(this.errorLabelAtHostname, "errorLabelAtHostname");
this.tableLayoutPanel1.SetColumnSpan(this.errorLabelAtHostname, 3);
this.errorLabelAtHostname.ForeColor = System.Drawing.Color.Red;
this.errorLabelAtHostname.Name = "errorLabelAtHostname";
//
// lunInUseLabel
//
resources.ApplyResources(this.lunInUseLabel, "lunInUseLabel");
this.lunInUseLabel.Name = "lunInUseLabel";
//
// targetLunLabel
//
resources.ApplyResources(this.targetLunLabel, "targetLunLabel");
this.targetLunLabel.Name = "targetLunLabel";
//
// IScsiChapSecretLabel
//
resources.ApplyResources(this.IScsiChapSecretLabel, "IScsiChapSecretLabel");
this.IScsiChapSecretLabel.BackColor = System.Drawing.Color.Transparent;
this.IScsiChapSecretLabel.Name = "IScsiChapSecretLabel";
//
// IScsiChapSecretTextBox
//
this.tableLayoutPanel1.SetColumnSpan(this.IScsiChapSecretTextBox, 2);
resources.ApplyResources(this.IScsiChapSecretTextBox, "IScsiChapSecretTextBox");
this.IScsiChapSecretTextBox.Name = "IScsiChapSecretTextBox";
this.IScsiChapSecretTextBox.UseSystemPasswordChar = true;
this.IScsiChapSecretTextBox.TextChanged += new System.EventHandler(this.ChapSettings_Changed);
//
// labelCHAPuser
//
resources.ApplyResources(this.labelCHAPuser, "labelCHAPuser");
this.labelCHAPuser.BackColor = System.Drawing.Color.Transparent;
this.labelCHAPuser.Name = "labelCHAPuser";
//
// IScsiChapUserTextBox
//
this.IScsiChapUserTextBox.AllowDrop = true;
this.tableLayoutPanel1.SetColumnSpan(this.IScsiChapUserTextBox, 2);
resources.ApplyResources(this.IScsiChapUserTextBox, "IScsiChapUserTextBox");
this.IScsiChapUserTextBox.Name = "IScsiChapUserTextBox";
this.IScsiChapUserTextBox.TextChanged += new System.EventHandler(this.ChapSettings_Changed);
//
// labelIscsiTargetHost
//
resources.ApplyResources(this.labelIscsiTargetHost, "labelIscsiTargetHost");
this.labelIscsiTargetHost.BackColor = System.Drawing.Color.Transparent;
this.tableLayoutPanel1.SetColumnSpan(this.labelIscsiTargetHost, 2);
this.labelIscsiTargetHost.Name = "labelIscsiTargetHost";
//
// labelIscsiIQN
//
resources.ApplyResources(this.labelIscsiIQN, "labelIscsiIQN");
this.labelIscsiIQN.BackColor = System.Drawing.Color.Transparent;
this.labelIscsiIQN.Name = "labelIscsiIQN";
//
// textBoxIscsiHost
//
this.tableLayoutPanel1.SetColumnSpan(this.textBoxIscsiHost, 2);
resources.ApplyResources(this.textBoxIscsiHost, "textBoxIscsiHost");
this.textBoxIscsiHost.Name = "textBoxIscsiHost";
this.textBoxIscsiHost.TextChanged += new System.EventHandler(this.textBoxIscsiHost_TextChanged);
//
// tableLayoutPanel1
//
resources.ApplyResources(this.tableLayoutPanel1, "tableLayoutPanel1");
this.tableLayoutPanel1.Controls.Add(this.placeHolderLabel2, 0, 7);
this.tableLayoutPanel1.Controls.Add(this.placeholderLabel, 0, 2);
this.tableLayoutPanel1.Controls.Add(this.errorLabelAtCHAPPassword, 3, 7);
this.tableLayoutPanel1.Controls.Add(this.errorIconAtCHAPPassword, 2, 7);
this.tableLayoutPanel1.Controls.Add(this.errorIconAtHostOrIP, 2, 2);
this.tableLayoutPanel1.Controls.Add(this.scanTargetHostButton, 0, 8);
this.tableLayoutPanel1.Controls.Add(this.labelIscsiTargetHost, 0, 1);
this.tableLayoutPanel1.Controls.Add(this.textBoxIscsiHost, 2, 1);
this.tableLayoutPanel1.Controls.Add(this.labelColon, 3, 1);
this.tableLayoutPanel1.Controls.Add(this.textBoxIscsiPort, 4, 1);
this.tableLayoutPanel1.Controls.Add(this.IScsiChapUserTextBox, 2, 5);
this.tableLayoutPanel1.Controls.Add(this.IScsiChapSecretTextBox, 2, 6);
this.tableLayoutPanel1.Controls.Add(this.labelCHAPuser, 1, 5);
this.tableLayoutPanel1.Controls.Add(this.IScsiChapSecretLabel, 1, 6);
this.tableLayoutPanel1.Controls.Add(this.IscsiUseChapCheckBox, 0, 3);
this.tableLayoutPanel1.Controls.Add(this.label11, 0, 0);
this.tableLayoutPanel1.Controls.Add(this.errorLabelAtHostname, 3, 2);
this.tableLayoutPanel1.Controls.Add(this.spinnerIconAtScanTargetHostButton, 2, 8);
this.tableLayoutPanel1.Name = "tableLayoutPanel1";
//
// placeHolderLabel2
//
resources.ApplyResources(this.placeHolderLabel2, "placeHolderLabel2");
this.placeHolderLabel2.ForeColor = System.Drawing.Color.Red;
this.placeHolderLabel2.Name = "placeHolderLabel2";
//
// placeholderLabel
//
resources.ApplyResources(this.placeholderLabel, "placeholderLabel");
this.placeholderLabel.ForeColor = System.Drawing.Color.Red;
this.placeholderLabel.Name = "placeholderLabel";
//
// errorLabelAtCHAPPassword
//
resources.ApplyResources(this.errorLabelAtCHAPPassword, "errorLabelAtCHAPPassword");
this.tableLayoutPanel1.SetColumnSpan(this.errorLabelAtCHAPPassword, 3);
this.errorLabelAtCHAPPassword.ForeColor = System.Drawing.Color.Red;
this.errorLabelAtCHAPPassword.Name = "errorLabelAtCHAPPassword";
//
// errorIconAtCHAPPassword
//
resources.ApplyResources(this.errorIconAtCHAPPassword, "errorIconAtCHAPPassword");
this.errorIconAtCHAPPassword.ErrorImage = null;
this.errorIconAtCHAPPassword.InitialImage = null;
this.errorIconAtCHAPPassword.Name = "errorIconAtCHAPPassword";
this.errorIconAtCHAPPassword.TabStop = false;
//
// errorIconAtHostOrIP
//
resources.ApplyResources(this.errorIconAtHostOrIP, "errorIconAtHostOrIP");
this.errorIconAtHostOrIP.ErrorImage = null;
this.errorIconAtHostOrIP.InitialImage = null;
this.errorIconAtHostOrIP.Name = "errorIconAtHostOrIP";
this.errorIconAtHostOrIP.TabStop = false;
//
// label11
//
resources.ApplyResources(this.label11, "label11");
this.tableLayoutPanel1.SetColumnSpan(this.label11, 6);
this.label11.Name = "label11";
//
// spinnerIconAtScanTargetHostButton
//
resources.ApplyResources(this.spinnerIconAtScanTargetHostButton, "spinnerIconAtScanTargetHostButton");
this.spinnerIconAtScanTargetHostButton.Name = "spinnerIconAtScanTargetHostButton";
this.spinnerIconAtScanTargetHostButton.SucceededImage = global::XenAdmin.Properties.Resources._000_Tick_h32bit_16;
this.spinnerIconAtScanTargetHostButton.TabStop = false;
//
// iSCSITargetGroupBox
//
resources.ApplyResources(this.iSCSITargetGroupBox, "iSCSITargetGroupBox");
this.iSCSITargetGroupBox.Controls.Add(this.tableLayoutPanel2);
this.iSCSITargetGroupBox.Name = "iSCSITargetGroupBox";
this.iSCSITargetGroupBox.TabStop = false;
//
// tableLayoutPanel2
//
resources.ApplyResources(this.tableLayoutPanel2, "tableLayoutPanel2");
this.tableLayoutPanel2.Controls.Add(this.labelIscsiIQN, 0, 0);
this.tableLayoutPanel2.Controls.Add(this.comboBoxIscsiIqns, 1, 0);
this.tableLayoutPanel2.Controls.Add(this.comboBoxIscsiLuns, 1, 1);
this.tableLayoutPanel2.Controls.Add(this.targetLunLabel, 0, 1);
this.tableLayoutPanel2.Controls.Add(this.errorLabelAtTargetLUN, 2, 2);
this.tableLayoutPanel2.Controls.Add(this.errorIconAtTargetLUN, 1, 2);
this.tableLayoutPanel2.Controls.Add(this.spinnerIconAtTargetIqn, 3, 0);
this.tableLayoutPanel2.Controls.Add(this.spinnerIconAtTargetLun, 3, 1);
this.tableLayoutPanel2.Name = "tableLayoutPanel2";
//
// errorLabelAtTargetLUN
//
resources.ApplyResources(this.errorLabelAtTargetLUN, "errorLabelAtTargetLUN");
this.errorLabelAtTargetLUN.AutoEllipsis = true;
this.tableLayoutPanel2.SetColumnSpan(this.errorLabelAtTargetLUN, 2);
resources.ApplyResources(this.errorLabelAtTargetLUN, "errorLabelAtTargetLUN");
this.errorLabelAtTargetLUN.ForeColor = System.Drawing.Color.Red;
this.errorLabelAtTargetLUN.Name = "errorLabelAtTargetLUN";
//
// errorIconAtTargetLUN
//
resources.ApplyResources(this.errorIconAtTargetLUN, "errorIconAtTargetLUN");
this.errorIconAtTargetLUN.ErrorImage = null;
this.errorIconAtTargetLUN.InitialImage = null;
this.errorIconAtTargetLUN.Name = "errorIconAtTargetLUN";
this.errorIconAtTargetLUN.TabStop = false;
//
@ -305,25 +180,157 @@ namespace XenAdmin.Wizards.NewSRWizard_Pages.Frontends
this.spinnerIconAtTargetLun.SucceededImage = global::XenAdmin.Properties.Resources._000_Tick_h32bit_16;
this.spinnerIconAtTargetLun.TabStop = false;
//
// placeHolderLabel2
//
resources.ApplyResources(this.placeHolderLabel2, "placeHolderLabel2");
this.placeHolderLabel2.ForeColor = System.Drawing.Color.Red;
this.placeHolderLabel2.Name = "placeHolderLabel2";
//
// placeholderLabel
//
resources.ApplyResources(this.placeholderLabel, "placeholderLabel");
this.placeholderLabel.ForeColor = System.Drawing.Color.Red;
this.placeholderLabel.Name = "placeholderLabel";
//
// errorLabelAtCHAPPassword
//
this.errorLabelAtCHAPPassword.AutoEllipsis = true;
this.tableLayoutPanel1.SetColumnSpan(this.errorLabelAtCHAPPassword, 4);
resources.ApplyResources(this.errorLabelAtCHAPPassword, "errorLabelAtCHAPPassword");
this.errorLabelAtCHAPPassword.ForeColor = System.Drawing.Color.Red;
this.errorLabelAtCHAPPassword.Name = "errorLabelAtCHAPPassword";
//
// errorIconAtCHAPPassword
//
resources.ApplyResources(this.errorIconAtCHAPPassword, "errorIconAtCHAPPassword");
this.errorIconAtCHAPPassword.Name = "errorIconAtCHAPPassword";
this.errorIconAtCHAPPassword.TabStop = false;
//
// errorIconAtHostOrIP
//
resources.ApplyResources(this.errorIconAtHostOrIP, "errorIconAtHostOrIP");
this.errorIconAtHostOrIP.Name = "errorIconAtHostOrIP";
this.errorIconAtHostOrIP.TabStop = false;
//
// scanTargetHostButton
//
resources.ApplyResources(this.scanTargetHostButton, "scanTargetHostButton");
this.tableLayoutPanel1.SetColumnSpan(this.scanTargetHostButton, 2);
this.scanTargetHostButton.Name = "scanTargetHostButton";
this.scanTargetHostButton.Click += new System.EventHandler(this.scanTargetHostButton_Click);
//
// labelIscsiTargetHost
//
resources.ApplyResources(this.labelIscsiTargetHost, "labelIscsiTargetHost");
this.labelIscsiTargetHost.BackColor = System.Drawing.Color.Transparent;
this.tableLayoutPanel1.SetColumnSpan(this.labelIscsiTargetHost, 2);
this.labelIscsiTargetHost.Name = "labelIscsiTargetHost";
//
// textBoxIscsiHost
//
this.tableLayoutPanel1.SetColumnSpan(this.textBoxIscsiHost, 2);
resources.ApplyResources(this.textBoxIscsiHost, "textBoxIscsiHost");
this.textBoxIscsiHost.Name = "textBoxIscsiHost";
this.textBoxIscsiHost.TextChanged += new System.EventHandler(this.textBoxIscsiHost_TextChanged);
//
// labelColon
//
resources.ApplyResources(this.labelColon, "labelColon");
this.labelColon.Name = "labelColon";
//
// textBoxIscsiPort
//
resources.ApplyResources(this.textBoxIscsiPort, "textBoxIscsiPort");
this.textBoxIscsiPort.Name = "textBoxIscsiPort";
this.textBoxIscsiPort.TextChanged += new System.EventHandler(this.textBoxIscsiHost_TextChanged);
//
// IScsiChapUserTextBox
//
this.IScsiChapUserTextBox.AllowDrop = true;
this.tableLayoutPanel1.SetColumnSpan(this.IScsiChapUserTextBox, 2);
resources.ApplyResources(this.IScsiChapUserTextBox, "IScsiChapUserTextBox");
this.IScsiChapUserTextBox.Name = "IScsiChapUserTextBox";
this.IScsiChapUserTextBox.TextChanged += new System.EventHandler(this.ChapSettings_Changed);
//
// IScsiChapSecretTextBox
//
this.tableLayoutPanel1.SetColumnSpan(this.IScsiChapSecretTextBox, 2);
resources.ApplyResources(this.IScsiChapSecretTextBox, "IScsiChapSecretTextBox");
this.IScsiChapSecretTextBox.Name = "IScsiChapSecretTextBox";
this.IScsiChapSecretTextBox.UseSystemPasswordChar = true;
this.IScsiChapSecretTextBox.TextChanged += new System.EventHandler(this.ChapSettings_Changed);
//
// labelCHAPuser
//
resources.ApplyResources(this.labelCHAPuser, "labelCHAPuser");
this.labelCHAPuser.BackColor = System.Drawing.Color.Transparent;
this.labelCHAPuser.Name = "labelCHAPuser";
//
// IScsiChapSecretLabel
//
resources.ApplyResources(this.IScsiChapSecretLabel, "IScsiChapSecretLabel");
this.IScsiChapSecretLabel.BackColor = System.Drawing.Color.Transparent;
this.IScsiChapSecretLabel.Name = "IScsiChapSecretLabel";
//
// IscsiUseChapCheckBox
//
resources.ApplyResources(this.IscsiUseChapCheckBox, "IscsiUseChapCheckBox");
this.tableLayoutPanel1.SetColumnSpan(this.IscsiUseChapCheckBox, 2);
this.IscsiUseChapCheckBox.Name = "IscsiUseChapCheckBox";
this.IscsiUseChapCheckBox.UseVisualStyleBackColor = true;
this.IscsiUseChapCheckBox.CheckedChanged += new System.EventHandler(this.IscsiUseChapCheckBox_CheckedChanged);
//
// label11
//
resources.ApplyResources(this.label11, "label11");
this.tableLayoutPanel1.SetColumnSpan(this.label11, 7);
this.label11.Name = "label11";
//
// errorLabelAtHostname
//
this.errorLabelAtHostname.AutoEllipsis = true;
this.tableLayoutPanel1.SetColumnSpan(this.errorLabelAtHostname, 4);
resources.ApplyResources(this.errorLabelAtHostname, "errorLabelAtHostname");
this.errorLabelAtHostname.ForeColor = System.Drawing.Color.Red;
this.errorLabelAtHostname.Name = "errorLabelAtHostname";
//
// spinnerIconAtScanTargetHostButton
//
resources.ApplyResources(this.spinnerIconAtScanTargetHostButton, "spinnerIconAtScanTargetHostButton");
this.spinnerIconAtScanTargetHostButton.Name = "spinnerIconAtScanTargetHostButton";
this.spinnerIconAtScanTargetHostButton.SucceededImage = global::XenAdmin.Properties.Resources._000_Tick_h32bit_16;
this.spinnerIconAtScanTargetHostButton.TabStop = false;
//
// srProvisioningMethod
//
resources.ApplyResources(this.srProvisioningMethod, "srProvisioningMethod");
this.srProvisioningMethod.BackColor = System.Drawing.SystemColors.Control;
this.tableLayoutPanel1.SetColumnSpan(this.srProvisioningMethod, 7);
this.srProvisioningMethod.Name = "srProvisioningMethod";
//
// toolTipContainerIQNscan
//
resources.ApplyResources(this.toolTipContainerIQNscan, "toolTipContainerIQNscan");
this.toolTipContainerIQNscan.Name = "toolTipContainerIQNscan";
//
// LVMoISCSI
//
resources.ApplyResources(this, "$this");
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;
this.Controls.Add(this.iSCSITargetGroupBox);
this.Controls.Add(this.tableLayoutPanel1);
this.Controls.Add(this.toolTipContainerIQNscan);
this.Name = "LVMoISCSI";
this.tableLayoutPanel1.ResumeLayout(false);
this.tableLayoutPanel1.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.errorIconAtCHAPPassword)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.errorIconAtHostOrIP)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.spinnerIconAtScanTargetHostButton)).EndInit();
this.iSCSITargetGroupBox.ResumeLayout(false);
this.tableLayoutPanel2.ResumeLayout(false);
this.tableLayoutPanel2.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.errorIconAtTargetLUN)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.spinnerIconAtTargetIqn)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.spinnerIconAtTargetLun)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.errorIconAtCHAPPassword)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.errorIconAtHostOrIP)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.spinnerIconAtScanTargetHostButton)).EndInit();
this.ResumeLayout(false);
this.PerformLayout();
@ -362,5 +369,6 @@ namespace XenAdmin.Wizards.NewSRWizard_Pages.Frontends
private XenAdmin.Controls.SpinnerIcon spinnerIconAtScanTargetHostButton;
private System.Windows.Forms.Label placeholderLabel;
private System.Windows.Forms.Label placeHolderLabel2;
private Controls.SrProvisioningMethod srProvisioningMethod;
}
}

View File

@ -71,6 +71,10 @@ namespace XenAdmin.Wizards.NewSRWizard_Pages.Frontends
private const string SCSIID = "SCSIid";
private const string CHAPUSER = "chapuser";
private const string CHAPPASSWORD = "chappassword";
private const string URI = "uri";
private const string URIFORMAT = "iscsi://{0}{1}:{2}/{3}/{4}"; // uri= iscsi://[<username>[%<password>]@]<host>[:<port>]/<target-iqn>/<scsi-id>
private const string CHAPFORMAT = "{0}%{1}@"; // <username>%<password
private IEnumerable<Control> ErrorIcons
{
@ -140,7 +144,7 @@ namespace XenAdmin.Wizards.NewSRWizard_Pages.Frontends
return;
}
Dictionary<String, String> dconf = DeviceConfig;
Dictionary<String, String> dconf = GetDeviceConfig(SR.SRTypes.lvmoiscsi); // TODO: use SRType
if (dconf == null)
{
cancel = true;
@ -148,13 +152,12 @@ namespace XenAdmin.Wizards.NewSRWizard_Pages.Frontends
}
// Start probe
SrProbeAction IscsiProbeAction = new SrProbeAction(Connection, master, SR.SRTypes.lvmoiscsi, dconf);
SrProbeAction IscsiProbeAction = new SrProbeAction(Connection, master, SR.SRTypes.lvmoiscsi, dconf); // TODO: use SRType
using (var dialog = new ActionProgressDialog(IscsiProbeAction, ProgressBarStyle.Marquee))
{
dialog.ShowCancel = true;
dialog.ShowDialog(this);
}
// Probe has been performed. Now ask the user if they want to Reattach/Format/Cancel.
// Will return false on cancel
cancel = !ExamineIscsiProbeResults(IscsiProbeAction);
@ -329,7 +332,7 @@ namespace XenAdmin.Wizards.NewSRWizard_Pages.Frontends
{
foreach (SR sr in connection.Cache.SRs)
{
if (sr.GetSRType(false) != SR.SRTypes.lvmoiscsi)
if (sr.GetSRType(false) != SR.SRTypes.lvmoiscsi) // TODO: use SRType
continue;
if (sr.PBDs.Count < 1)
@ -846,39 +849,33 @@ namespace XenAdmin.Wizards.NewSRWizard_Pages.Frontends
c.Visible = false;
}
#region Accessors
public SrWizardType SrWizardType { private get; set; }
public string UUID { get { return _srToIntroduce == null ? null : _srToIntroduce.UUID; } }
public long SRSize
{
get
{
ISCSIInfo info = LunMap[getIscsiLUN()];
return info.Size;
}
}
public Dictionary<String, String> DeviceConfig
{
get
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)
if (iqn == null || !LunMap.ContainsKey(getIscsiLUN()))
return null;
if (srType == SR.SRTypes.gfs2)
{
// build the uri for gfs2
//uri=iscsi://[<username>[%<password>]@]<host>[:<port>]/<target-iqn>/<scsi-id>
var chap = "";
if (IscsiUseChapCheckBox.Checked)
{
chap = string.Format(CHAPFORMAT, IScsiChapUserTextBox.Text, IScsiChapSecretTextBox.Text);
}
dconf[URI] = string.Format(URIFORMAT, chap, iqn.item.IpAddress, iqn.item.Port.ToString(), getIscsiIQN(), LunMap[getIscsiLUN()].ScsiID);
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();
if (!LunMap.ContainsKey(getIscsiLUN()))
return null;
ISCSIInfo info = LunMap[getIscsiLUN()];
if (info.LunID == -1)
{
@ -897,6 +894,28 @@ namespace XenAdmin.Wizards.NewSRWizard_Pages.Frontends
return dconf;
}
#region Accessors
public SrWizardType SrWizardType { private get; set; }
public string UUID { get { return _srToIntroduce == null ? null : _srToIntroduce.UUID; } }
public long SRSize
{
get
{
ISCSIInfo info = LunMap[getIscsiLUN()];
return info.Size;
}
}
public Dictionary<String, String> DeviceConfig
{
get
{
return GetDeviceConfig(SRType);
}
}
public string SrDescription
@ -908,6 +927,13 @@ namespace XenAdmin.Wizards.NewSRWizard_Pages.Frontends
}
}
public SR.SRTypes SRType
{
get
{
return srProvisioningMethod.Lvm ? SR.SRTypes.lvmoiscsi : SR.SRTypes.gfs2;
}
}
#endregion
}
}

File diff suppressed because it is too large Load Diff

View File

@ -84,6 +84,18 @@ namespace XenAdmin.Wizards.NewSRWizard_Pages
}
}
public class Gfs2HbaSrDescriptor : LvmOhbaSrDescriptor
{
private const string URIFORMAT = "file:///dev/disk/by-id/scsi-{0}"; // uri=file:///dev/disk/by-id/scsi-<SCSIID>
public Gfs2HbaSrDescriptor(FibreChannelDevice device)
: base(device)
{
DeviceConfig[SrProbeAction.URI] = string.Format(URIFORMAT, device.SCSIid);
Description = string.Format(Messages.NEWSR_LVMOHBA_DESCRIPTION, device.Vendor, device.Serial);
}
}
public abstract class SrWizardType
{
protected SrWizardType()
@ -107,6 +119,7 @@ namespace XenAdmin.Wizards.NewSRWizard_Pages
public abstract bool ShowIntroducePrompt { get; }
public abstract bool ShowReattachWarning { get; }
public abstract bool AllowToCreateNewSr { get; set; }
public virtual bool IsGfs2 { get { return false; } set { } }
public string SrName
{
@ -187,6 +200,8 @@ namespace XenAdmin.Wizards.NewSRWizard_Pages
{
SrName = SrWizardHelpers.DefaultSRName(String.Format(Messages.SRWIZARD_STORAGE_NAME, SR.getFriendlyTypeName(Type)), connection);
}
public virtual IEnumerable<SR.SRTypes> PossibleTypes { get { return new SR.SRTypes[] { Type }; } }
}
public class SrWizardType_CifsIso : SrWizardType
@ -211,38 +226,44 @@ namespace XenAdmin.Wizards.NewSRWizard_Pages
}
}
public class SrWizardType_LvmoIscsi : SrWizardType
public class SrWizardType_Iscsi : SrWizardType
{
public override bool IsEnhancedSR { get { return false; } }
public override string FrontendBlurb { get { return Messages.NEWSR_LVMOISCSI_BLURB; } }
public override string FrontendTypeName { get { return Messages.NEWSR_LVMOISCSI_TYPE_NAME; } }
public override SR.SRTypes Type { get { return SR.SRTypes.lvmoiscsi; } }
public override SR.SRTypes Type { get { return IsGfs2 ? SR.SRTypes.gfs2 : SR.SRTypes.lvmoiscsi; } }
public override string ContentType { get { return ""; } }
public override bool ShowIntroducePrompt { get { return false; } }
public override bool ShowReattachWarning { get { return true; } }
public override bool AllowToCreateNewSr { get; set; }
public override bool IsGfs2 { get; set; }
public override void ResetSrName(IXenConnection connection)
{
SrName = SrWizardHelpers.DefaultSRName(Messages.SRWIZARD_ISCSI_STORAGE, connection);
}
public override IEnumerable<SR.SRTypes> PossibleTypes { get { return new SR.SRTypes[] { SR.SRTypes.lvmoiscsi, SR.SRTypes.gfs2 }; } }
}
public class SrWizardType_LvmoHba : SrWizardType
public class SrWizardType_Hba : SrWizardType
{
public override bool IsEnhancedSR { get { return false; } }
public override string FrontendBlurb { get { return Messages.NEWSR_LVMOHBA_BLURB; } }
public override string FrontendTypeName { get { return Messages.NEWSR_LVMOHBA_TYPE_NAME; } }
public override SR.SRTypes Type { get { return SR.SRTypes.lvmohba; } }
public override SR.SRTypes Type { get { return IsGfs2 ? SR.SRTypes.gfs2 : SR.SRTypes.lvmohba; } }
public override string ContentType { get { return ""; } }
public override bool ShowIntroducePrompt { get { return false; } }
public override bool ShowReattachWarning { get { return true; } }
public override bool AllowToCreateNewSr { get; set; }
public override bool IsGfs2 { get; set; }
public override void ResetSrName(IXenConnection connection)
{
SrName = SrWizardHelpers.DefaultSRName(Messages.NEWSR_HBA_DEFAULT_NAME, connection);
}
public override IEnumerable<SR.SRTypes> PossibleTypes { get { return new SR.SRTypes[] { SR.SRTypes.lvmohba, SR.SRTypes.gfs2 }; } }
}
public class SrWizardType_VhdoNfs : SrWizardType
@ -384,15 +405,18 @@ namespace XenAdmin.Wizards.NewSRWizard_Pages
public override bool IsEnhancedSR { get { return false; } }
public override string FrontendBlurb { get { return Messages.NEWSR_LVMOFCOE_BLURB; } }
public override string FrontendTypeName { get { return Messages.NEWSR_LVMOFCOE_TYPE_NAME; } }
public override SR.SRTypes Type { get { return SR.SRTypes.lvmofcoe; } }
public override SR.SRTypes Type { get { return IsGfs2 ? SR.SRTypes.gfs2 : SR.SRTypes.lvmofcoe; } }
public override string ContentType { get { return ""; } }
public override bool ShowIntroducePrompt { get { return false; } }
public override bool ShowReattachWarning { get { return true; } }
public override bool AllowToCreateNewSr { get; set; }
public override bool IsGfs2 { get; set; }
public override void ResetSrName(IXenConnection connection)
{
SrName = SrWizardHelpers.DefaultSRName(Messages.NEWSR_FCOE_DEFAULT_NAME, connection);
}
public override IEnumerable<SR.SRTypes> PossibleTypes { get { return new SR.SRTypes[] { SR.SRTypes.lvmofcoe, SR.SRTypes.gfs2 }; } }
}
}

View File

@ -205,6 +205,12 @@
<Compile Include="Controls\SpinnerIcon.designer.cs">
<DependentUpon>SpinnerIcon.cs</DependentUpon>
</Compile>
<Compile Include="Controls\SrProvisioningMethod.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="Controls\SrProvisioningMethod.Designer.cs">
<DependentUpon>SrProvisioningMethod.cs</DependentUpon>
</Compile>
<Compile Include="Controls\Tags\TagList.cs" />
<Compile Include="Controls\Tags\TagButton.cs">
<SubType>UserControl</SubType>
@ -1501,6 +1507,15 @@
<EmbeddedResource Include="Controls\PvsCacheStorageRow.zh-CN.resx">
<DependentUpon>PvsCacheStorageRow.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Controls\SrProvisioningMethod.ja.resx">
<DependentUpon>SrProvisioningMethod.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Controls\SrProvisioningMethod.resx">
<DependentUpon>SrProvisioningMethod.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Controls\SrProvisioningMethod.zh-CN.resx">
<DependentUpon>SrProvisioningMethod.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Controls\XenSearch\QueryPanel.ja.resx">
<DependentUpon>QueryPanel.cs</DependentUpon>
</EmbeddedResource>

View File

@ -46,6 +46,7 @@ namespace XenAdmin.Actions
public const String DEVICE = "device";
public const String SCSIid = "SCSIid";
public const String PATH = "path";
public const String URI = "uri";
private readonly Dictionary<String, String> smconf;
/// <summary>

View File

@ -2679,6 +2679,15 @@ namespace XenAdmin {
}
}
/// <summary>
/// Looks up a localized string similar to GFS2.
/// </summary>
public static string Label_SR_SRTypes_gfs2 {
get {
return ResourceManager.GetString("Label-SR.SRTypes-gfs2", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to VDI-per-LUN iSCSI.
/// </summary>

View File

@ -1835,4 +1835,7 @@
<data name="Message.action-pbd_plug_failed_on_server_start" xml:space="preserve">
<value>Repair Storage</value>
</data>
<data name="Label-SR.SRTypes-gfs2" xml:space="preserve">
<value>GFS2</value>
</data>
</root>

View File

@ -53,7 +53,7 @@ namespace XenAPI
lvmohba, egenera, egeneracd, dummy, unknown, equal, cslg, shm,
iscsi,
ebs, rawhba,
smb, lvmofcoe,
smb, lvmofcoe, gfs2,
nutanix, nutanixiso,
tmpfs
}
@ -229,16 +229,17 @@ namespace XenAPI
/// </summary>
public bool CanCreateWithXenCenter()
{
SRTypes typ = GetSRType(false);
return typ == SRTypes.iso
|| typ == SRTypes.lvmoiscsi
|| typ == SRTypes.nfs
|| typ == SRTypes.equal
|| typ == SRTypes.netapp
|| typ == SRTypes.lvmohba
|| typ == SRTypes.cslg
|| typ == SRTypes.smb
|| typ == SRTypes.lvmofcoe;
SRTypes type = GetSRType(false);
return type == SRTypes.iso
|| type == SRTypes.lvmoiscsi
|| type == SRTypes.nfs
|| type == SRTypes.equal
|| type == SRTypes.netapp
|| type == SRTypes.lvmohba
|| type == SRTypes.cslg
|| type == SRTypes.smb
|| type == SRTypes.lvmofcoe
|| type == SRTypes.gfs2;
}
public bool IsLocalSR()