Merge pull request #337 from MihaelaStoica/cheng--zhang-CP-10925

Cheng  zhang cp 10925
This commit is contained in:
Mihaela Stoica 2015-02-17 10:32:05 +00:00
commit 8023acd2ae
14 changed files with 1385 additions and 0 deletions

View File

@ -36,6 +36,8 @@ namespace XenAdmin.TabPages
this.linkLabelExpand = new System.Windows.Forms.LinkLabel();
this.linkLabelCollapse = new System.Windows.Forms.LinkLabel();
this.panel2 = new XenAdmin.Controls.PanelNoFocusScroll();
this.panelDockerInfo = new System.Windows.Forms.Panel();
this.pdSectionDockerInfo = new XenAdmin.Controls.PDSection();
this.panelStorageLinkSystemCapabilities = new System.Windows.Forms.Panel();
this.pdSectionStorageLinkSystemCapabilities = new XenAdmin.Controls.PDSection();
this.panelMultipathBoot = new System.Windows.Forms.Panel();
@ -68,10 +70,13 @@ namespace XenAdmin.TabPages
this.pdSectionCustomFields = new XenAdmin.Controls.PDSection();
this.panelGeneral = new System.Windows.Forms.Panel();
this.pdSectionGeneral = new XenAdmin.Controls.PDSection();
this.panelDockerVersion = new System.Windows.Forms.Panel();
this.pdSectionDockerVersion = new XenAdmin.Controls.PDSection();
this.pageContainerPanel.SuspendLayout();
this.panel1.SuspendLayout();
this.panel3.SuspendLayout();
this.panel2.SuspendLayout();
this.panelDockerInfo.SuspendLayout();
this.panelStorageLinkSystemCapabilities.SuspendLayout();
this.panelMultipathBoot.SuspendLayout();
this.panelStorageLink.SuspendLayout();
@ -88,6 +93,7 @@ namespace XenAdmin.TabPages
this.panelManagementInterfaces.SuspendLayout();
this.panelCustomFields.SuspendLayout();
this.panelGeneral.SuspendLayout();
this.panelDockerVersion.SuspendLayout();
this.SuspendLayout();
//
// pageContainerPanel
@ -134,6 +140,8 @@ namespace XenAdmin.TabPages
// panel2
//
resources.ApplyResources(this.panel2, "panel2");
this.panel2.Controls.Add(this.panelDockerInfo);
this.panel2.Controls.Add(this.panelDockerVersion);
this.panel2.Controls.Add(this.panelStorageLinkSystemCapabilities);
this.panel2.Controls.Add(this.panelMultipathBoot);
this.panel2.Controls.Add(this.panelStorageLink);
@ -152,6 +160,19 @@ namespace XenAdmin.TabPages
this.panel2.Controls.Add(this.panelGeneral);
this.panel2.Name = "panel2";
//
// panelDockerInfo
//
resources.ApplyResources(this.panelDockerInfo, "panelDockerInfo");
this.panelDockerInfo.Controls.Add(this.pdSectionDockerInfo);
this.panelDockerInfo.Name = "panelDockerInfo";
//
// pdSectionDockerInfo
//
this.pdSectionDockerInfo.BackColor = System.Drawing.Color.Gainsboro;
resources.ApplyResources(this.pdSectionDockerInfo, "pdSectionDockerInfo");
this.pdSectionDockerInfo.Name = "pdSectionDockerInfo";
this.pdSectionDockerInfo.ShowCellToolTips = false;
//
// panelStorageLinkSystemCapabilities
//
resources.ApplyResources(this.panelStorageLinkSystemCapabilities, "panelStorageLinkSystemCapabilities");
@ -374,6 +395,19 @@ namespace XenAdmin.TabPages
this.pdSectionGeneral.ShowCellToolTips = false;
this.pdSectionGeneral.ExpandedChanged += new System.Action<XenAdmin.Controls.PDSection>(this.s_ExpandedEventHandler);
//
// panelDockerVersion
//
resources.ApplyResources(this.panelDockerVersion, "panelDockerVersion");
this.panelDockerVersion.Controls.Add(this.pdSectionDockerVersion);
this.panelDockerVersion.Name = "panelDockerVersion";
//
// pdSectionDockerVersion
//
this.pdSectionDockerVersion.BackColor = System.Drawing.Color.Gainsboro;
resources.ApplyResources(this.pdSectionDockerVersion, "pdSectionDockerVersion");
this.pdSectionDockerVersion.Name = "pdSectionDockerVersion";
this.pdSectionDockerVersion.ShowCellToolTips = false;
//
// GeneralTabPage
//
resources.ApplyResources(this, "$this");
@ -386,6 +420,7 @@ namespace XenAdmin.TabPages
this.panel3.PerformLayout();
this.panel2.ResumeLayout(false);
this.panel2.PerformLayout();
this.panelDockerInfo.ResumeLayout(false);
this.panelStorageLinkSystemCapabilities.ResumeLayout(false);
this.panelMultipathBoot.ResumeLayout(false);
this.panelStorageLink.ResumeLayout(false);
@ -402,6 +437,7 @@ namespace XenAdmin.TabPages
this.panelManagementInterfaces.ResumeLayout(false);
this.panelCustomFields.ResumeLayout(false);
this.panelGeneral.ResumeLayout(false);
this.panelDockerVersion.ResumeLayout(false);
this.ResumeLayout(false);
this.PerformLayout();
@ -447,5 +483,9 @@ namespace XenAdmin.TabPages
private XenAdmin.Controls.PDSection pdSectionMultipathBoot;
private System.Windows.Forms.Panel panelStorageLinkSystemCapabilities;
private XenAdmin.Controls.PDSection pdSectionStorageLinkSystemCapabilities;
private System.Windows.Forms.Panel panelDockerInfo;
private System.Windows.Forms.Panel panelDockerVersion;
private Controls.PDSection pdSectionDockerVersion;
private Controls.PDSection pdSectionDockerInfo;
}
}

View File

@ -467,6 +467,8 @@ namespace XenAdmin.TabPages
generateStorageLinkSystemCapabilitiesBox();
generateMultipathBootBox();
generateVCPUsBox();
generateDockerInfoBox();
generateDockerVersionBox();
}
// hide all the sections which haven't been populated, those that have make sure are visible
@ -1515,6 +1517,67 @@ namespace XenAdmin.TabPages
}
private void addStringEntry(PDSection s, string key, string value)
{
s.AddEntry(key, value.Length != 0 ? value : Messages.NONE);
}
private void generateDockerInfoBox()
{
VM vm = xenObject as VM;
if (vm == null)
return;
VM_Docker_Info info = vm.DockerInfo;
if (info == null)
return;
PDSection s = pdSectionDockerInfo;
addStringEntry(s, Messages.DOCKER_INFO_NGOROUTINES, info.NGoroutines);
addStringEntry(s, Messages.DOCKER_INFO_ROOT_DIR, info.DockerRootDir);
addStringEntry(s, Messages.DOCKER_INFO_DRIVER_STATUS, info.DriverStatus);
addStringEntry(s, Messages.OPERATING_SYSTEM, info.OperatingSystem); ;
addStringEntry(s, Messages.CONTAINER, info.Containers);
addStringEntry(s, Messages.MEMORY, Util.MemorySizeString(Convert.ToDouble(info.MemTotal)));
addStringEntry(s, Messages.DOCKER_INFO_DRIVER, info.Driver);
addStringEntry(s, Messages.DOCKER_INFO_INDEX_SERVER_ADDRESS, info.IndexServerAddress);
addStringEntry(s, Messages.DOCKER_INFO_INITIATE_PATH, info.InitPath);
addStringEntry(s, Messages.DOCKER_INFO_EXECUTION_DRIVER, info.ExecutionDriver);
addStringEntry(s, Messages.NAME, info.Name);
addStringEntry(s, Messages.DOCKER_INFO_NCPU, info.NCPU);
addStringEntry(s, Messages.DOCKER_INFO_DEBUG, info.Debug);
addStringEntry(s, Messages.ID, info.ID);
addStringEntry(s, Messages.DOCKER_INFO_IPV4_FORWARDING, info.IPv4Forwarding);
addStringEntry(s, Messages.DOCKER_INFO_KERNEL_VERSION, info.KernelVersion);
addStringEntry(s, Messages.DOCKER_INFO_NFD, info.NFd);
addStringEntry(s, Messages.DOCKER_INFO_INITIATE_SHA1, info.InitSha1);
addStringEntry(s, Messages.DOCKER_INFO_LABELS, info.Labels);
addStringEntry(s, Messages.DOCKER_INFO_MEMORY_LIMIT, Util.MemorySizeString(Convert.ToDouble(info.MemoryLimit)));
addStringEntry(s, Messages.DOCKER_INFO_SWAP_LIMIT, info.SwapLimit);
addStringEntry(s, Messages.CONTAINER_IMAGE, info.Images);
addStringEntry(s, Messages.DOCKER_INFO_NEVENT_LISTENER, info.NEventsListener);
}
private void generateDockerVersionBox()
{
VM vm = xenObject as VM;
if (vm == null)
return;
VM_Docker_Version version = vm.DockerVersion;
if (version == null)
return;
PDSection s = pdSectionDockerVersion;
addStringEntry(s, Messages.DOCKER_INFO_KERNEL_VERSION, version.KernelVersion);
addStringEntry(s, Messages.DOCKER_INFO_ARCH, version.Arch);
addStringEntry(s, Messages.DOCKER_INFO_API_VERSION, version.ApiVersion);
addStringEntry(s, Messages.DOCKER_INFO_VERSION, version.Version);
addStringEntry(s, Messages.DOCKER_INFO_GIT_COMMIT, version.GitCommit);
addStringEntry(s, Messages.OPERATING_SYSTEM, version.Os);
addStringEntry(s, Messages.DOCKER_INFO_GO_VERSION, version.GoVersion);
}
private bool CPUsIdentical(IEnumerable<Host_cpu> cpus)
{
String cpuText = null;

View File

@ -1377,6 +1377,139 @@
<data name="&gt;&gt;pageContainerPanel.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="panelDockerVersion.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="panelDockerVersion.AutoSizeMode" type="System.Windows.Forms.AutoSizeMode, System.Windows.Forms">
<value>GrowAndShrink</value>
</data>
<data name="pdSectionDockerVersion.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Top</value>
</data>
<data name="pdSectionDockerVersion.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 5</value>
</data>
<data name="pdSectionDockerVersion.MinimumSize" type="System.Drawing.Size, System.Drawing">
<value>0, 34</value>
</data>
<data name="pdSectionDockerVersion.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>1, 1, 1, 1</value>
</data>
<data name="pdSectionDockerVersion.SectionTitle" xml:space="preserve">
<value>Docker Version</value>
</data>
<data name="pdSectionDockerVersion.Size" type="System.Drawing.Size, System.Drawing">
<value>729, 34</value>
</data>
<data name="pdSectionDockerVersion.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="&gt;&gt;pdSectionDockerVersion.Name" xml:space="preserve">
<value>pdSectionDockerVersion</value>
</data>
<data name="&gt;&gt;pdSectionDockerVersion.Type" xml:space="preserve">
<value>XenAdmin.Controls.PDSection, XenCenterMain, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;pdSectionDockerVersion.Parent" xml:space="preserve">
<value>panelDockerVersion</value>
</data>
<data name="&gt;&gt;pdSectionDockerVersion.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="panelDockerVersion.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Top</value>
</data>
<data name="panelDockerVersion.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 39</value>
</data>
<data name="panelDockerVersion.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 5, 0, 5</value>
</data>
<data name="panelDockerVersion.Size" type="System.Drawing.Size, System.Drawing">
<value>729, 44</value>
</data>
<data name="panelDockerVersion.TabIndex" type="System.Int32, mscorlib">
<value>19</value>
</data>
<data name="&gt;&gt;panelDockerVersion.Name" xml:space="preserve">
<value>panelDockerVersion</value>
</data>
<data name="&gt;&gt;panelDockerVersion.Type" xml:space="preserve">
<value>System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;panelDockerVersion.Parent" xml:space="preserve">
<value>panel2</value>
</data>
<data name="&gt;&gt;panelDockerVersion.ZOrder" xml:space="preserve">
<value>16</value>
</data>
<data name="panelDockerInfo.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="panelDockerInfo.AutoSizeMode" type="System.Windows.Forms.AutoSizeMode, System.Windows.Forms">
<value>GrowAndShrink</value>
</data>
<data name="pdSectionDockerInfo.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Top</value>
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="pdSectionDockerInfo.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 5</value>
</data>
<data name="pdSectionDockerInfo.MinimumSize" type="System.Drawing.Size, System.Drawing">
<value>0, 34</value>
</data>
<data name="pdSectionDockerInfo.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>1, 1, 1, 1</value>
</data>
<data name="pdSectionDockerInfo.SectionTitle" xml:space="preserve">
<value>Docker Information</value>
</data>
<data name="pdSectionDockerInfo.Size" type="System.Drawing.Size, System.Drawing">
<value>729, 34</value>
</data>
<data name="pdSectionDockerInfo.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="&gt;&gt;pdSectionDockerInfo.Name" xml:space="preserve">
<value>pdSectionDockerInfo</value>
</data>
<data name="&gt;&gt;pdSectionDockerInfo.Type" xml:space="preserve">
<value>XenAdmin.Controls.PDSection, XenCenterMain, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;pdSectionDockerInfo.Parent" xml:space="preserve">
<value>panelDockerInfo</value>
</data>
<data name="&gt;&gt;pdSectionDockerInfo.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="panelDockerInfo.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Top</value>
</data>
<data name="panelDockerInfo.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 704</value>
</data>
<data name="panelDockerInfo.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 5, 0, 5</value>
</data>
<data name="panelDockerInfo.Size" type="System.Drawing.Size, System.Drawing">
<value>729, 44</value>
</data>
<data name="panelDockerInfo.TabIndex" type="System.Int32, mscorlib">
<value>18</value>
</data>
<data name="&gt;&gt;panelDockerInfo.Name" xml:space="preserve">
<value>panelDockerInfo</value>
</data>
<data name="&gt;&gt;panelDockerInfo.Type" xml:space="preserve">
<value>System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;panelDockerInfo.Parent" xml:space="preserve">
<value>panel2</value>
</data>
<data name="&gt;&gt;panelDockerInfo.ZOrder" xml:space="preserve">
<value>17</value>
</data>
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>

View File

@ -1377,6 +1377,139 @@
<data name="&gt;&gt;pageContainerPanel.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="panelDockerVersion.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="panelDockerVersion.AutoSizeMode" type="System.Windows.Forms.AutoSizeMode, System.Windows.Forms">
<value>GrowAndShrink</value>
</data>
<data name="pdSectionDockerVersion.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Top</value>
</data>
<data name="pdSectionDockerVersion.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 5</value>
</data>
<data name="pdSectionDockerVersion.MinimumSize" type="System.Drawing.Size, System.Drawing">
<value>0, 34</value>
</data>
<data name="pdSectionDockerVersion.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>1, 1, 1, 1</value>
</data>
<data name="pdSectionDockerVersion.SectionTitle" xml:space="preserve">
<value>Docker Version</value>
</data>
<data name="pdSectionDockerVersion.Size" type="System.Drawing.Size, System.Drawing">
<value>729, 34</value>
</data>
<data name="pdSectionDockerVersion.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="&gt;&gt;pdSectionDockerVersion.Name" xml:space="preserve">
<value>pdSectionDockerVersion</value>
</data>
<data name="&gt;&gt;pdSectionDockerVersion.Type" xml:space="preserve">
<value>XenAdmin.Controls.PDSection, XenCenterMain, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;pdSectionDockerVersion.Parent" xml:space="preserve">
<value>panelDockerVersion</value>
</data>
<data name="&gt;&gt;pdSectionDockerVersion.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="panelDockerVersion.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Top</value>
</data>
<data name="panelDockerVersion.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 39</value>
</data>
<data name="panelDockerVersion.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 5, 0, 5</value>
</data>
<data name="panelDockerVersion.Size" type="System.Drawing.Size, System.Drawing">
<value>729, 44</value>
</data>
<data name="panelDockerVersion.TabIndex" type="System.Int32, mscorlib">
<value>19</value>
</data>
<data name="&gt;&gt;panelDockerVersion.Name" xml:space="preserve">
<value>panelDockerVersion</value>
</data>
<data name="&gt;&gt;panelDockerVersion.Type" xml:space="preserve">
<value>System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;panelDockerVersion.Parent" xml:space="preserve">
<value>panel2</value>
</data>
<data name="&gt;&gt;panelDockerVersion.ZOrder" xml:space="preserve">
<value>16</value>
</data>
<data name="panelDockerInfo.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="panelDockerInfo.AutoSizeMode" type="System.Windows.Forms.AutoSizeMode, System.Windows.Forms">
<value>GrowAndShrink</value>
</data>
<data name="pdSectionDockerInfo.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Top</value>
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="pdSectionDockerInfo.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 5</value>
</data>
<data name="pdSectionDockerInfo.MinimumSize" type="System.Drawing.Size, System.Drawing">
<value>0, 34</value>
</data>
<data name="pdSectionDockerInfo.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>1, 1, 1, 1</value>
</data>
<data name="pdSectionDockerInfo.SectionTitle" xml:space="preserve">
<value>Docker Information</value>
</data>
<data name="pdSectionDockerInfo.Size" type="System.Drawing.Size, System.Drawing">
<value>729, 34</value>
</data>
<data name="pdSectionDockerInfo.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="&gt;&gt;pdSectionDockerInfo.Name" xml:space="preserve">
<value>pdSectionDockerInfo</value>
</data>
<data name="&gt;&gt;pdSectionDockerInfo.Type" xml:space="preserve">
<value>XenAdmin.Controls.PDSection, XenCenterMain, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;pdSectionDockerInfo.Parent" xml:space="preserve">
<value>panelDockerInfo</value>
</data>
<data name="&gt;&gt;pdSectionDockerInfo.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="panelDockerInfo.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Top</value>
</data>
<data name="panelDockerInfo.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 704</value>
</data>
<data name="panelDockerInfo.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 5, 0, 5</value>
</data>
<data name="panelDockerInfo.Size" type="System.Drawing.Size, System.Drawing">
<value>729, 44</value>
</data>
<data name="panelDockerInfo.TabIndex" type="System.Int32, mscorlib">
<value>18</value>
</data>
<data name="&gt;&gt;panelDockerInfo.Name" xml:space="preserve">
<value>panelDockerInfo</value>
</data>
<data name="&gt;&gt;panelDockerInfo.Type" xml:space="preserve">
<value>System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;panelDockerInfo.Parent" xml:space="preserve">
<value>panel2</value>
</data>
<data name="&gt;&gt;panelDockerInfo.ZOrder" xml:space="preserve">
<value>17</value>
</data>
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>

View File

@ -1377,6 +1377,139 @@
<data name="&gt;&gt;pageContainerPanel.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="panelDockerVersion.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="panelDockerVersion.AutoSizeMode" type="System.Windows.Forms.AutoSizeMode, System.Windows.Forms">
<value>GrowAndShrink</value>
</data>
<data name="pdSectionDockerVersion.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Top</value>
</data>
<data name="pdSectionDockerVersion.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 5</value>
</data>
<data name="pdSectionDockerVersion.MinimumSize" type="System.Drawing.Size, System.Drawing">
<value>0, 34</value>
</data>
<data name="pdSectionDockerVersion.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>1, 1, 1, 1</value>
</data>
<data name="pdSectionDockerVersion.SectionTitle" xml:space="preserve">
<value>Docker Version</value>
</data>
<data name="pdSectionDockerVersion.Size" type="System.Drawing.Size, System.Drawing">
<value>729, 34</value>
</data>
<data name="pdSectionDockerVersion.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="&gt;&gt;pdSectionDockerVersion.Name" xml:space="preserve">
<value>pdSectionDockerVersion</value>
</data>
<data name="&gt;&gt;pdSectionDockerVersion.Type" xml:space="preserve">
<value>XenAdmin.Controls.PDSection, XenCenterMain, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;pdSectionDockerVersion.Parent" xml:space="preserve">
<value>panelDockerVersion</value>
</data>
<data name="&gt;&gt;pdSectionDockerVersion.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="panelDockerVersion.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Top</value>
</data>
<data name="panelDockerVersion.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 39</value>
</data>
<data name="panelDockerVersion.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 5, 0, 5</value>
</data>
<data name="panelDockerVersion.Size" type="System.Drawing.Size, System.Drawing">
<value>729, 44</value>
</data>
<data name="panelDockerVersion.TabIndex" type="System.Int32, mscorlib">
<value>19</value>
</data>
<data name="&gt;&gt;panelDockerVersion.Name" xml:space="preserve">
<value>panelDockerVersion</value>
</data>
<data name="&gt;&gt;panelDockerVersion.Type" xml:space="preserve">
<value>System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;panelDockerVersion.Parent" xml:space="preserve">
<value>panel2</value>
</data>
<data name="&gt;&gt;panelDockerVersion.ZOrder" xml:space="preserve">
<value>16</value>
</data>
<data name="panelDockerInfo.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="panelDockerInfo.AutoSizeMode" type="System.Windows.Forms.AutoSizeMode, System.Windows.Forms">
<value>GrowAndShrink</value>
</data>
<data name="pdSectionDockerInfo.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Top</value>
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="pdSectionDockerInfo.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 5</value>
</data>
<data name="pdSectionDockerInfo.MinimumSize" type="System.Drawing.Size, System.Drawing">
<value>0, 34</value>
</data>
<data name="pdSectionDockerInfo.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>1, 1, 1, 1</value>
</data>
<data name="pdSectionDockerInfo.SectionTitle" xml:space="preserve">
<value>Docker Information</value>
</data>
<data name="pdSectionDockerInfo.Size" type="System.Drawing.Size, System.Drawing">
<value>729, 34</value>
</data>
<data name="pdSectionDockerInfo.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="&gt;&gt;pdSectionDockerInfo.Name" xml:space="preserve">
<value>pdSectionDockerInfo</value>
</data>
<data name="&gt;&gt;pdSectionDockerInfo.Type" xml:space="preserve">
<value>XenAdmin.Controls.PDSection, XenCenterMain, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;pdSectionDockerInfo.Parent" xml:space="preserve">
<value>panelDockerInfo</value>
</data>
<data name="&gt;&gt;pdSectionDockerInfo.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="panelDockerInfo.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Top</value>
</data>
<data name="panelDockerInfo.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 704</value>
</data>
<data name="panelDockerInfo.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 5, 0, 5</value>
</data>
<data name="panelDockerInfo.Size" type="System.Drawing.Size, System.Drawing">
<value>729, 44</value>
</data>
<data name="panelDockerInfo.TabIndex" type="System.Int32, mscorlib">
<value>18</value>
</data>
<data name="&gt;&gt;panelDockerInfo.Name" xml:space="preserve">
<value>panelDockerInfo</value>
</data>
<data name="&gt;&gt;panelDockerInfo.Type" xml:space="preserve">
<value>System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;panelDockerInfo.Parent" xml:space="preserve">
<value>panel2</value>
</data>
<data name="&gt;&gt;panelDockerInfo.ZOrder" xml:space="preserve">
<value>17</value>
</data>
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>

View File

@ -5617,6 +5617,7 @@
</EmbeddedResource>
<EmbeddedResource Include="TabPages\GeneralTabPage.zh-CN.resx">
<DependentUpon>GeneralTabPage.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="TabPages\GpuPage.ja.resx">
<DependentUpon>GpuPage.cs</DependentUpon>

View File

@ -10481,6 +10481,204 @@ namespace XenAdmin {
}
}
/// <summary>
/// Looks up a localized string similar to Api Version.
/// </summary>
public static string DOCKER_INFO_API_VERSION {
get {
return ResourceManager.GetString("DOCKER_INFO_API_VERSION", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Arch.
/// </summary>
public static string DOCKER_INFO_ARCH {
get {
return ResourceManager.GetString("DOCKER_INFO_ARCH", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Debug.
/// </summary>
public static string DOCKER_INFO_DEBUG {
get {
return ResourceManager.GetString("DOCKER_INFO_DEBUG", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Driver.
/// </summary>
public static string DOCKER_INFO_DRIVER {
get {
return ResourceManager.GetString("DOCKER_INFO_DRIVER", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Driver Status.
/// </summary>
public static string DOCKER_INFO_DRIVER_STATUS {
get {
return ResourceManager.GetString("DOCKER_INFO_DRIVER_STATUS", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Execution Driver.
/// </summary>
public static string DOCKER_INFO_EXECUTION_DRIVER {
get {
return ResourceManager.GetString("DOCKER_INFO_EXECUTION_DRIVER", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Git Commit.
/// </summary>
public static string DOCKER_INFO_GIT_COMMIT {
get {
return ResourceManager.GetString("DOCKER_INFO_GIT_COMMIT", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Go Version.
/// </summary>
public static string DOCKER_INFO_GO_VERSION {
get {
return ResourceManager.GetString("DOCKER_INFO_GO_VERSION", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Index Server Address.
/// </summary>
public static string DOCKER_INFO_INDEX_SERVER_ADDRESS {
get {
return ResourceManager.GetString("DOCKER_INFO_INDEX_SERVER_ADDRESS", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Initiate Path.
/// </summary>
public static string DOCKER_INFO_INITIATE_PATH {
get {
return ResourceManager.GetString("DOCKER_INFO_INITIATE_PATH", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Initiate Sha1.
/// </summary>
public static string DOCKER_INFO_INITIATE_SHA1 {
get {
return ResourceManager.GetString("DOCKER_INFO_INITIATE_SHA1", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to IPv4 Forwarding.
/// </summary>
public static string DOCKER_INFO_IPV4_FORWARDING {
get {
return ResourceManager.GetString("DOCKER_INFO_IPV4_FORWARDING", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Kernel Version.
/// </summary>
public static string DOCKER_INFO_KERNEL_VERSION {
get {
return ResourceManager.GetString("DOCKER_INFO_KERNEL_VERSION", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Labels.
/// </summary>
public static string DOCKER_INFO_LABELS {
get {
return ResourceManager.GetString("DOCKER_INFO_LABELS", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Memory Limit.
/// </summary>
public static string DOCKER_INFO_MEMORY_LIMIT {
get {
return ResourceManager.GetString("DOCKER_INFO_MEMORY_LIMIT", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to NCPU.
/// </summary>
public static string DOCKER_INFO_NCPU {
get {
return ResourceManager.GetString("DOCKER_INFO_NCPU", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to NEvents Listener.
/// </summary>
public static string DOCKER_INFO_NEVENT_LISTENER {
get {
return ResourceManager.GetString("DOCKER_INFO_NEVENT_LISTENER", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to NFd.
/// </summary>
public static string DOCKER_INFO_NFD {
get {
return ResourceManager.GetString("DOCKER_INFO_NFD", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to NGoroutines.
/// </summary>
public static string DOCKER_INFO_NGOROUTINES {
get {
return ResourceManager.GetString("DOCKER_INFO_NGOROUTINES", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Root Directory.
/// </summary>
public static string DOCKER_INFO_ROOT_DIR {
get {
return ResourceManager.GetString("DOCKER_INFO_ROOT_DIR", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Swap Limit.
/// </summary>
public static string DOCKER_INFO_SWAP_LIMIT {
get {
return ResourceManager.GetString("DOCKER_INFO_SWAP_LIMIT", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Version.
/// </summary>
public static string DOCKER_INFO_VERSION {
get {
return ResourceManager.GetString("DOCKER_INFO_VERSION", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Docker Processes.
/// </summary>

View File

@ -3649,6 +3649,72 @@ VM {2} をエクスポートしてもよろしいですか?</value>
<data name="DOCKER_PROCESS_TAB_TITLE" xml:space="preserve">
<value>Docker Processes</value>
</data>
<data name="DOCKER_INFO_API_VERSION" xml:space="preserve">
<value>Api Version</value>
</data>
<data name="DOCKER_INFO_ARCH" xml:space="preserve">
<value>Arch</value>
</data>
<data name="DOCKER_INFO_DEBUG" xml:space="preserve">
<value>Debug</value>
</data>
<data name="DOCKER_INFO_DRIVER" xml:space="preserve">
<value>Driver</value>
</data>
<data name="DOCKER_INFO_DRIVER_STATUS" xml:space="preserve">
<value>Driver Status</value>
</data>
<data name="DOCKER_INFO_EXECUTION_DRIVER" xml:space="preserve">
<value>Execution Driver</value>
</data>
<data name="DOCKER_INFO_GIT_COMMIT" xml:space="preserve">
<value>Git Commit</value>
</data>
<data name="DOCKER_INFO_GO_VERSION" xml:space="preserve">
<value>Go Version</value>
</data>
<data name="DOCKER_INFO_INDEX_SERVER_ADDRESS" xml:space="preserve">
<value>Index Server Address</value>
</data>
<data name="DOCKER_INFO_INITIATE_PATH" xml:space="preserve">
<value>Initiate Path</value>
</data>
<data name="DOCKER_INFO_INITIATE_SHA1" xml:space="preserve">
<value>Initiate Sha1</value>
</data>
<data name="DOCKER_INFO_IPV4_FORWARDING" xml:space="preserve">
<value>IPv4 Forwarding</value>
</data>
<data name="DOCKER_INFO_KERNEL_VERSION" xml:space="preserve">
<value>Kernel Version</value>
</data>
<data name="DOCKER_INFO_LABELS" xml:space="preserve">
<value>Labels</value>
</data>
<data name="DOCKER_INFO_MEMORY_LIMIT" xml:space="preserve">
<value>Memory Limit</value>
</data>
<data name="DOCKER_INFO_NCPU" xml:space="preserve">
<value>NCPU</value>
</data>
<data name="DOCKER_INFO_NEVENT_LISTENER" xml:space="preserve">
<value>NEvents Listener</value>
</data>
<data name="DOCKER_INFO_NFD" xml:space="preserve">
<value>NFd</value>
</data>
<data name="DOCKER_INFO_NGOROUTINES" xml:space="preserve">
<value>NGoroutines</value>
</data>
<data name="DOCKER_INFO_ROOT_DIR" xml:space="preserve">
<value>Root Directory</value>
</data>
<data name="DOCKER_INFO_SWAP_LIMIT" xml:space="preserve">
<value>Swap Limit</value>
</data>
<data name="DOCKER_INFO_VERSION" xml:space="preserve">
<value>Version</value>
</data>
<data name="DONE" xml:space="preserve">
<value>完了しました。</value>
</data>

View File

@ -3721,6 +3721,72 @@ This will also delete its subfolders.</value>
<data name="DOCKER_PROCESS_TAB_TITLE" xml:space="preserve">
<value>Docker Processes</value>
</data>
<data name="DOCKER_INFO_API_VERSION" xml:space="preserve">
<value>Api Version</value>
</data>
<data name="DOCKER_INFO_ARCH" xml:space="preserve">
<value>Arch</value>
</data>
<data name="DOCKER_INFO_DEBUG" xml:space="preserve">
<value>Debug</value>
</data>
<data name="DOCKER_INFO_DRIVER" xml:space="preserve">
<value>Driver</value>
</data>
<data name="DOCKER_INFO_DRIVER_STATUS" xml:space="preserve">
<value>Driver Status</value>
</data>
<data name="DOCKER_INFO_EXECUTION_DRIVER" xml:space="preserve">
<value>Execution Driver</value>
</data>
<data name="DOCKER_INFO_GIT_COMMIT" xml:space="preserve">
<value>Git Commit</value>
</data>
<data name="DOCKER_INFO_GO_VERSION" xml:space="preserve">
<value>Go Version</value>
</data>
<data name="DOCKER_INFO_INDEX_SERVER_ADDRESS" xml:space="preserve">
<value>Index Server Address</value>
</data>
<data name="DOCKER_INFO_INITIATE_PATH" xml:space="preserve">
<value>Initiate Path</value>
</data>
<data name="DOCKER_INFO_INITIATE_SHA1" xml:space="preserve">
<value>Initiate Sha1</value>
</data>
<data name="DOCKER_INFO_IPV4_FORWARDING" xml:space="preserve">
<value>IPv4 Forwarding</value>
</data>
<data name="DOCKER_INFO_KERNEL_VERSION" xml:space="preserve">
<value>Kernel Version</value>
</data>
<data name="DOCKER_INFO_LABELS" xml:space="preserve">
<value>Labels</value>
</data>
<data name="DOCKER_INFO_MEMORY_LIMIT" xml:space="preserve">
<value>Memory Limit</value>
</data>
<data name="DOCKER_INFO_NCPU" xml:space="preserve">
<value>NCPU</value>
</data>
<data name="DOCKER_INFO_NEVENT_LISTENER" xml:space="preserve">
<value>NEvents Listener</value>
</data>
<data name="DOCKER_INFO_NFD" xml:space="preserve">
<value>NFd</value>
</data>
<data name="DOCKER_INFO_NGOROUTINES" xml:space="preserve">
<value>NGoroutines</value>
</data>
<data name="DOCKER_INFO_ROOT_DIR" xml:space="preserve">
<value>Root Directory</value>
</data>
<data name="DOCKER_INFO_SWAP_LIMIT" xml:space="preserve">
<value>Swap Limit</value>
</data>
<data name="DOCKER_INFO_VERSION" xml:space="preserve">
<value>Version</value>
</data>
<data name="DONE" xml:space="preserve">
<value>done.</value>
</data>

View File

@ -3648,6 +3648,72 @@ XenServer 可以重新启动服务器并将服务器的 CPU 级别降至池中
<data name="DOCKER_PROCESS_TAB_TITLE" xml:space="preserve">
<value>Docker进程</value>
</data>
<data name="DOCKER_INFO_API_VERSION" xml:space="preserve">
<value>Api Version</value>
</data>
<data name="DOCKER_INFO_ARCH" xml:space="preserve">
<value>Arch</value>
</data>
<data name="DOCKER_INFO_DEBUG" xml:space="preserve">
<value>Debug</value>
</data>
<data name="DOCKER_INFO_DRIVER" xml:space="preserve">
<value>Driver</value>
</data>
<data name="DOCKER_INFO_DRIVER_STATUS" xml:space="preserve">
<value>Driver Status</value>
</data>
<data name="DOCKER_INFO_EXECUTION_DRIVER" xml:space="preserve">
<value>Execution Driver</value>
</data>
<data name="DOCKER_INFO_GIT_COMMIT" xml:space="preserve">
<value>Git Commit</value>
</data>
<data name="DOCKER_INFO_GO_VERSION" xml:space="preserve">
<value>Go Version</value>
</data>
<data name="DOCKER_INFO_INDEX_SERVER_ADDRESS" xml:space="preserve">
<value>Index Server Address</value>
</data>
<data name="DOCKER_INFO_INITIATE_PATH" xml:space="preserve">
<value>Initiate Path</value>
</data>
<data name="DOCKER_INFO_INITIATE_SHA1" xml:space="preserve">
<value>Initiate Sha1</value>
</data>
<data name="DOCKER_INFO_IPV4_FORWARDING" xml:space="preserve">
<value>IPv4 Forwarding</value>
</data>
<data name="DOCKER_INFO_KERNEL_VERSION" xml:space="preserve">
<value>Kernel Version</value>
</data>
<data name="DOCKER_INFO_LABELS" xml:space="preserve">
<value>Labels</value>
</data>
<data name="DOCKER_INFO_MEMORY_LIMIT" xml:space="preserve">
<value>Memory Limit</value>
</data>
<data name="DOCKER_INFO_NCPU" xml:space="preserve">
<value>NCPU</value>
</data>
<data name="DOCKER_INFO_NEVENT_LISTENER" xml:space="preserve">
<value>NEvents Listener</value>
</data>
<data name="DOCKER_INFO_NFD" xml:space="preserve">
<value>NFd</value>
</data>
<data name="DOCKER_INFO_NGOROUTINES" xml:space="preserve">
<value>NGoroutines</value>
</data>
<data name="DOCKER_INFO_ROOT_DIR" xml:space="preserve">
<value>Root Directory</value>
</data>
<data name="DOCKER_INFO_SWAP_LIMIT" xml:space="preserve">
<value>Swap Limit</value>
</data>
<data name="DOCKER_INFO_VERSION" xml:space="preserve">
<value>Version</value>
</data>
<data name="DONE" xml:space="preserve">
<value>已完成。</value>
</data>

View File

@ -1688,6 +1688,30 @@ namespace XenAPI
return v == null ? false : v.ToLower() == "true";
}
}
public VM_Docker_Info DockerInfo
{
get
{
string xml = Get(other_config, "docker_info");
if (string.IsNullOrEmpty(xml))
return null;
VM_Docker_Info info = new VM_Docker_Info(xml);
return info;
}
}
public VM_Docker_Version DockerVersion
{
get
{
string xml = Get(other_config, "docker_version");
if (string.IsNullOrEmpty(xml))
return null;
VM_Docker_Version info = new VM_Docker_Version(xml);
return info;
}
}
}
public struct VMStartupOptions
@ -1709,4 +1733,5 @@ namespace XenAPI
HaRestartPriority = haRestartPriority;
}
}
}

View File

@ -0,0 +1,338 @@
using System.Linq;
using System.Xml;
namespace XenAPI
{
public class VM_Docker_Info
{
private string _NGoroutines;
public string NGoroutines
{
get { return _NGoroutines; }
set {
if (value != _NGoroutines)
_NGoroutines = value;
}
}
private string _DockerRootDir;
public string DockerRootDir
{
get { return _DockerRootDir; }
set {
if (value != _DockerRootDir)
_DockerRootDir = value;
}
}
private string _DriverStatus;
public string DriverStatus
{
get { return _DriverStatus; }
set {
if (value != _DriverStatus)
_DriverStatus = value;
}
}
private string _OperatingSystem;
public string OperatingSystem
{
get { return _OperatingSystem; }
set {
if (value != _OperatingSystem)
_OperatingSystem = value;
}
}
private string _Containers;
public string Containers
{
get { return _Containers; }
set {
if (value != _Containers)
_Containers = value;
}
}
private string _MemTotal;
public string MemTotal
{
get { return _MemTotal; }
set {
if (value != _MemTotal)
_MemTotal = value;
}
}
private string _Driver;
public string Driver
{
get { return _Driver; }
set {
if (value != _Driver)
_Driver = value;
}
}
private string _IndexServerAddress;
public string IndexServerAddress
{
get { return _IndexServerAddress; }
set {
if (value != _IndexServerAddress)
_IndexServerAddress = value;
}
}
private string _InitPath;
public string InitPath
{
get { return _InitPath; }
set {
if (value != _InitPath)
_InitPath = value;
}
}
private string _ExecutionDriver;
public string ExecutionDriver
{
get { return _ExecutionDriver; }
set {
if (value != _ExecutionDriver)
_ExecutionDriver = value;
}
}
private string _Name;
public string Name
{
get { return _Name; }
set {
if (value != _Name)
_Name = value;
}
}
private string _NCPU;
public string NCPU
{
get { return _NCPU; }
set {
if (value != _NCPU)
_NCPU = value;
}
}
private string _Debug;
public string Debug
{
get { return _Debug; }
set {
if (value != _Debug)
_Debug = value;
}
}
private string _ID;
public string ID
{
get { return _ID; }
set {
if (value != _ID)
_ID = value;
}
}
private string _IPv4Forwarding;
public string IPv4Forwarding
{
get { return _IPv4Forwarding; }
set {
if (value != _IPv4Forwarding)
_IPv4Forwarding = value;
}
}
private string _KernelVersion;
public string KernelVersion
{
get { return _KernelVersion; }
set {
if (value != _KernelVersion)
_KernelVersion = value;
}
}
private string _NFd;
public string NFd
{
get { return _NFd; }
set {
if (value != _NFd)
_NFd = value;
}
}
private string _InitSha1;
public string InitSha1
{
get { return _InitSha1; }
set {
if (value != _InitSha1)
_InitSha1 = value;
}
}
private string _Labels;
public string Labels
{
get { return _Labels; }
set {
if (value != _Labels)
_Labels = value;
}
}
private string _MemoryLimit;
public string MemoryLimit
{
get { return _MemoryLimit; }
set {
if (value != _MemoryLimit)
_MemoryLimit = value;
}
}
private string _SwapLimit;
public string SwapLimit
{
get { return _SwapLimit; }
set {
if (value != _SwapLimit)
_SwapLimit = value;
}
}
private string _Images;
public string Images
{
get { return _Images; }
set {
if (value != _Images)
_Images = value;
}
}
private string _NEventsListener;
public string NEventsListener
{
get { return _NEventsListener; }
set {
if (value != _NEventsListener)
_NEventsListener = value;
}
}
public VM_Docker_Info(string dockerInfo)
{
XmlDocument doc = new XmlDocument();
doc.LoadXml(dockerInfo);
foreach (XmlNode docker_info in doc.GetElementsByTagName("docker_info"))
{
var propertyNode = docker_info.ChildNodes.Cast<XmlNode>().FirstOrDefault(node => node.Name == "NGoroutines");
if (propertyNode != null)
this.NGoroutines = propertyNode.InnerText;
propertyNode = docker_info.ChildNodes.Cast<XmlNode>().FirstOrDefault(node => node.Name == "DockerRootDir");
if (propertyNode != null)
DockerRootDir = propertyNode.InnerText;
propertyNode = docker_info.ChildNodes.Cast<XmlNode>().FirstOrDefault(node => node.Name == "DriverStatus");
if (propertyNode != null)
DriverStatus = propertyNode.InnerText;
propertyNode = docker_info.ChildNodes.Cast<XmlNode>().FirstOrDefault(node => node.Name == "OperatingSystem");
if (propertyNode != null)
OperatingSystem = propertyNode.InnerText;
propertyNode = docker_info.ChildNodes.Cast<XmlNode>().FirstOrDefault(node => node.Name == "Containers");
if (propertyNode != null)
Containers = propertyNode.InnerText;
propertyNode = docker_info.ChildNodes.Cast<XmlNode>().FirstOrDefault(node => node.Name == "MemTotal");
if (propertyNode != null)
MemTotal = propertyNode.InnerText;
propertyNode = docker_info.ChildNodes.Cast<XmlNode>().FirstOrDefault(node => node.Name == "Driver");
if (propertyNode != null)
Driver = propertyNode.InnerText;
propertyNode = docker_info.ChildNodes.Cast<XmlNode>().FirstOrDefault(node => node.Name == "IndexServerAddress");
if (propertyNode != null)
IndexServerAddress = propertyNode.InnerText;
propertyNode = docker_info.ChildNodes.Cast<XmlNode>().FirstOrDefault(node => node.Name == "InitPath");
if (propertyNode != null)
InitPath = propertyNode.InnerText;
propertyNode = docker_info.ChildNodes.Cast<XmlNode>().FirstOrDefault(node => node.Name == "ExecutionDriver");
if (propertyNode != null)
ExecutionDriver = propertyNode.InnerText;
propertyNode = docker_info.ChildNodes.Cast<XmlNode>().FirstOrDefault(node => node.Name == "Name");
if (propertyNode != null)
Name = propertyNode.InnerText;
propertyNode = docker_info.ChildNodes.Cast<XmlNode>().FirstOrDefault(node => node.Name == "NCPU");
if (propertyNode != null)
NCPU = propertyNode.InnerText;
propertyNode = docker_info.ChildNodes.Cast<XmlNode>().FirstOrDefault(node => node.Name == "Debug");
if (propertyNode != null)
Debug = propertyNode.InnerText;
propertyNode = docker_info.ChildNodes.Cast<XmlNode>().FirstOrDefault(node => node.Name == "ID");
if (propertyNode != null)
ID = propertyNode.InnerText;
propertyNode = docker_info.ChildNodes.Cast<XmlNode>().FirstOrDefault(node => node.Name == "IPv4Forwarding");
if (propertyNode != null)
IPv4Forwarding = propertyNode.InnerText;
propertyNode = docker_info.ChildNodes.Cast<XmlNode>().FirstOrDefault(node => node.Name == "KernelVersion");
if (propertyNode != null)
KernelVersion = propertyNode.InnerText;
propertyNode = docker_info.ChildNodes.Cast<XmlNode>().FirstOrDefault(node => node.Name == "NFd");
if (propertyNode != null)
NFd = propertyNode.InnerText;
propertyNode = docker_info.ChildNodes.Cast<XmlNode>().FirstOrDefault(node => node.Name == "InitSha1");
if (propertyNode != null)
InitSha1 = propertyNode.InnerText;
propertyNode = docker_info.ChildNodes.Cast<XmlNode>().FirstOrDefault(node => node.Name == "Labels");
if (propertyNode != null)
Labels = propertyNode.InnerText;
propertyNode = docker_info.ChildNodes.Cast<XmlNode>().FirstOrDefault(node => node.Name == "MemoryLimit");
if (propertyNode != null)
MemoryLimit = propertyNode.InnerText;
propertyNode = docker_info.ChildNodes.Cast<XmlNode>().FirstOrDefault(node => node.Name == "SwapLimit");
if (propertyNode != null)
SwapLimit = propertyNode.InnerText;
propertyNode = docker_info.ChildNodes.Cast<XmlNode>().FirstOrDefault(node => node.Name == "Images");
if (propertyNode != null)
Images = propertyNode.InnerText;
propertyNode = docker_info.ChildNodes.Cast<XmlNode>().FirstOrDefault(node => node.Name == "NEventsListener");
if (propertyNode != null)
NEventsListener = propertyNode.InnerText;
}
}
}
}

View File

@ -0,0 +1,121 @@
using System.Linq;
using System.Xml;
namespace XenAPI
{
public class VM_Docker_Version
{
private string _KernelVersion;
public string KernelVersion
{
get { return _KernelVersion; }
set
{
if (value != _KernelVersion)
_KernelVersion = value;
}
}
private string _Arch;
public string Arch
{
get { return _Arch; }
set
{
if (value != _Arch)
_Arch = value;
}
}
private string _ApiVersion;
public string ApiVersion
{
get { return _ApiVersion; }
set
{
if (value != _ApiVersion)
_ApiVersion = value;
}
}
private string _Version;
public string Version
{
get { return _Version; }
set
{
if (value != _Version)
_Version = value;
}
}
private string _GitCommit;
public string GitCommit
{
get { return _GitCommit; }
set
{
if (value != _GitCommit)
_GitCommit = value;
}
}
private string _Os;
public string Os
{
get { return _Os; }
set
{
if (value != _Os)
_Os = value;
}
}
private string _GoVersion;
public string GoVersion
{
get { return _GoVersion; }
set
{
if (value != _GoVersion)
_GoVersion = value;
}
}
public VM_Docker_Version(string dockerVersion)
{
XmlDocument doc = new XmlDocument();
doc.LoadXml(dockerVersion);
foreach (XmlNode docker_Version in doc.GetElementsByTagName("docker_version"))
{
var propertyNode = docker_Version.ChildNodes.Cast<XmlNode>().FirstOrDefault(node => node.Name == "KernelVersion");
if (propertyNode != null)
this.KernelVersion = propertyNode.InnerText;
propertyNode = docker_Version.ChildNodes.Cast<XmlNode>().FirstOrDefault(node => node.Name == "Arch");
if (propertyNode != null)
this.Arch = propertyNode.InnerText;
propertyNode = docker_Version.ChildNodes.Cast<XmlNode>().FirstOrDefault(node => node.Name == "ApiVersion");
if (propertyNode != null)
this.ApiVersion = propertyNode.InnerText;
propertyNode = docker_Version.ChildNodes.Cast<XmlNode>().FirstOrDefault(node => node.Name == "Version");
if (propertyNode != null)
this.Version = propertyNode.InnerText;
propertyNode = docker_Version.ChildNodes.Cast<XmlNode>().FirstOrDefault(node => node.Name == "GitCommit");
if (propertyNode != null)
this.GitCommit = propertyNode.InnerText;
propertyNode = docker_Version.ChildNodes.Cast<XmlNode>().FirstOrDefault(node => node.Name == "Os");
if (propertyNode != null)
this.Os = propertyNode.InnerText;
propertyNode = docker_Version.ChildNodes.Cast<XmlNode>().FirstOrDefault(node => node.Name == "GoVersion");
if (propertyNode != null)
this.GoVersion = propertyNode.InnerText;
}
}
}
}

View File

@ -308,11 +308,13 @@
<Compile Include="WLB\WlbHostConfiguration.cs" />
<Compile Include="WLB\WlbServerState.cs" />
<Compile Include="XenAPI-Extensions\Blob.cs" />
<Compile Include="XenAPI-Extensions\VM_Docker_Info.cs" />
<Compile Include="XenAPI-Extensions\GPU_group.cs" />
<Compile Include="XenAPI-Extensions\PGPU.cs" />
<Compile Include="XenAPI-Extensions\VGPU.cs" />
<Compile Include="XenAPI-Extensions\VGPU_type.cs" />
<Compile Include="XenAPI-Extensions\VM_appliance.cs" />
<Compile Include="XenAPI-Extensions\VM_Docker_Version.cs" />
<Compile Include="XenAPI-Extensions\vm_power_state.cs" />
<Compile Include="XenAPI\allocation_algorithm.cs" />
<Compile Include="XenAPI\bond_mode.cs" />