mirror of
https://github.com/xcp-ng/xenadmin.git
synced 2025-01-21 07:49:32 +01:00
Merge pull request #2641 from kc284/feature/REQ-811
Merge master into feature/REQ-811 + precheck re-order
This commit is contained in:
commit
b3bfebbc2c
1
.gitignore
vendored
1
.gitignore
vendored
@ -27,7 +27,6 @@ Thumbs.db
|
||||
|
||||
packages/*
|
||||
!packages/DOTNET_BUILD_LOCATION
|
||||
!packages/download_packages.ps1
|
||||
|
||||
_ReSharper.*/
|
||||
*.opensdf
|
||||
|
12
.travis.yml
12
.travis.yml
@ -1,5 +1,11 @@
|
||||
language: c
|
||||
os: windows
|
||||
install:
|
||||
# package support for windows is not great; this is ugly, but will do for now
|
||||
- choco install cyg-get
|
||||
- cyg-get.bat aspell aspell-en
|
||||
- powershell 'Set-ExecutionPolicy -ExecutionPolicy ByPass'
|
||||
script:
|
||||
- bash ./devtools/copyrightcheck/copyrightcheck.sh
|
||||
- bash ./devtools/i18ncheck/i18ncheck.sh
|
||||
- bash ./devtools/spellcheck/spellcheck.sh
|
||||
- powershell './scripts/check_copyright.ps1 -NOISY'
|
||||
- powershell './scripts/check_i18n.ps1 -NOISY'
|
||||
- powershell '$env:Path+=";C:\tools\cygwin\bin"; ./scripts/check_spelling.ps1 -NOISY'
|
||||
|
16
Jenkinsfile
vendored
16
Jenkinsfile
vendored
@ -125,7 +125,7 @@ node('xencenter') {
|
||||
stage('Download dependencies') {
|
||||
|
||||
def remoteDotnet = readFile("${env.WORKSPACE}\\xenadmin.git\\packages\\DOTNET_BUILD_LOCATION").trim()
|
||||
def downloadSpec = readFile("${env.WORKSPACE}\\xenadmin.git\\mk\\deps-map.json").trim().replaceAll("@REMOTE_DOTNET@", remoteDotnet)
|
||||
def downloadSpec = readFile("${env.WORKSPACE}\\xenadmin.git\\scripts\\deps-map.json").trim().replaceAll("@REMOTE_DOTNET@", remoteDotnet)
|
||||
|
||||
def server = Artifactory.server('repo')
|
||||
server.download(downloadSpec)
|
||||
@ -133,19 +133,15 @@ node('xencenter') {
|
||||
if ("${XC_BRANDING}" == 'citrix') {
|
||||
println "Downloading hotfixes."
|
||||
|
||||
def hotFixSpec = readFile("${env.WORKSPACE}\\xenadmin.git\\mk\\hotfix-map.json").trim()
|
||||
def hotFixSpec = readFile("${env.WORKSPACE}\\xenadmin.git\\scripts\\hotfix-map.json").trim()
|
||||
server.download(hotFixSpec)
|
||||
}
|
||||
}
|
||||
|
||||
stage('Run checks') {
|
||||
List<String> list = ["copyrightcheck/copyrightcheck.sh", "i18ncheck/i18ncheck.sh", "spellcheck/spellcheck.sh"]
|
||||
|
||||
for (String item : list) {
|
||||
bat """
|
||||
cd ${env.WORKSPACE}\\xenadmin.git\\devtools
|
||||
sh "${item}"
|
||||
"""
|
||||
dir("${env.WORKSPACE}\\xenadmin.git") {
|
||||
powershell ".\\scripts\\check_copyright.ps1"
|
||||
powershell ".\\scripts\\check_i18n.ps1"
|
||||
}
|
||||
}
|
||||
|
||||
@ -154,7 +150,7 @@ node('xencenter') {
|
||||
|
||||
bat """
|
||||
cd ${env.WORKSPACE}
|
||||
sh xenadmin.git/mk/xenadmin-build.sh ${GLOBAL_BUILD_NUMBER} ${env.SIGNING_NODE_NAME} ${sbe} ${env.SELFSIGN_THUMBPRINT_SHA1} ${env.SELFSIGN_THUMBPRINT_SHA256} ${env.TIMESTAMP_SERVER_URL}
|
||||
sh xenadmin.git/scripts/xenadmin-build.sh ${GLOBAL_BUILD_NUMBER} ${env.SIGNING_NODE_NAME} ${sbe} ${env.SELFSIGN_THUMBPRINT_SHA1} ${env.SELFSIGN_THUMBPRINT_SHA256} ${env.TIMESTAMP_SERVER_URL}
|
||||
"""
|
||||
}
|
||||
|
||||
|
@ -1,4 +1,37 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!--
|
||||
Copyright (c) Citrix Systems, Inc.
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms,
|
||||
with or without modification, are permitted provided
|
||||
that the following conditions are met:
|
||||
|
||||
* Redistributions of source code must retain the above
|
||||
copyright notice, this list of conditions and the
|
||||
following disclaimer.
|
||||
* Redistributions in binary form must reproduce the above
|
||||
copyright notice, this list of conditions and the
|
||||
following disclaimer in the documentation and/or other
|
||||
materials provided with the distribution.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
|
||||
CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
||||
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
|
||||
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
SUCH DAMAGE.
|
||||
-->
|
||||
|
||||
<WixLocalization Culture="en-US" Codepage="1252" xmlns="http://schemas.microsoft.com/wix/2006/localization">
|
||||
<String Id="Open">Open</String>
|
||||
<String Id="XVA_File">XVA File</String>
|
||||
|
@ -1,4 +1,37 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<!--
|
||||
Copyright (c) Citrix Systems, Inc.
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms,
|
||||
with or without modification, are permitted provided
|
||||
that the following conditions are met:
|
||||
|
||||
* Redistributions of source code must retain the above
|
||||
copyright notice, this list of conditions and the
|
||||
following disclaimer.
|
||||
* Redistributions in binary form must reproduce the above
|
||||
copyright notice, this list of conditions and the
|
||||
following disclaimer in the documentation and/or other
|
||||
materials provided with the distribution.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
|
||||
CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
||||
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
|
||||
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
SUCH DAMAGE.
|
||||
-->
|
||||
|
||||
<WixLocalization Culture="ja-JP" Codepage="932" xmlns="http://schemas.microsoft.com/wix/2006/localization">
|
||||
<String Id="Open">開く</String>
|
||||
<String Id="XVA_File">XVA ファイル</String>
|
||||
@ -13,10 +46,10 @@
|
||||
<String Id="XenCenter_Saved_Search">保存済みの検索</String>
|
||||
<String Id="Required_For_Installation">このインストールには、Microsoft .NET Framework 4.6 以降が必要です。https://www.microsoft.com/net/download/framework からインストールしてください。</String>
|
||||
<String Id="Readme">README.TXT</String>
|
||||
<String Id="HealthCheckDescr">サーバーから Citrix Insight Services に定期的にデータをアップロードして Citrix Hypervisor プールのヘルス状態を監視する機能を有効にします。</String>
|
||||
<String Id="HealthCheckDescr">サーバーから Citrix Insight Services に定期的にデータをアップロードすることにより、Citrix Hypervisor プールのヘルス状態の監視を有効にします。</String>
|
||||
<String Id="HealthCheckDescrShort">Citrix Hypervisor プールのヘルス状態の監視を有効にします。</String>
|
||||
<String Id="JapaneseTitle">言語パック:日本語</String>
|
||||
<String Id="JapaneseDescr">日本語リソースファイル</String>
|
||||
<String Id="SimplifiedChineseTitle">言語パック:簡体字中国語</String>
|
||||
<String Id="SimplifiedChineseDescr">簡体字中国語リソースファイル</String>
|
||||
<String Id="JapaneseTitle">言語パック: 日本語</String>
|
||||
<String Id="JapaneseDescr">日本語のリソース ファイル</String>
|
||||
<String Id="SimplifiedChineseTitle">言語パック: 簡体字中国語</String>
|
||||
<String Id="SimplifiedChineseDescr">簡体字中国語のリソース ファイル</String>
|
||||
</WixLocalization>
|
||||
|
@ -1,4 +1,37 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<!--
|
||||
Copyright (c) Citrix Systems, Inc.
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms,
|
||||
with or without modification, are permitted provided
|
||||
that the following conditions are met:
|
||||
|
||||
* Redistributions of source code must retain the above
|
||||
copyright notice, this list of conditions and the
|
||||
following disclaimer.
|
||||
* Redistributions in binary form must reproduce the above
|
||||
copyright notice, this list of conditions and the
|
||||
following disclaimer in the documentation and/or other
|
||||
materials provided with the distribution.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
|
||||
CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
||||
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
|
||||
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
SUCH DAMAGE.
|
||||
-->
|
||||
|
||||
<WixLocalization Culture="zh-CN" Codepage="950" xmlns="http://schemas.microsoft.com/wix/2006/localization">
|
||||
<String Id="Open">打开</String>
|
||||
<String Id="XVA_File">XVA 文件</String>
|
||||
@ -14,9 +47,9 @@
|
||||
<String Id="Required_For_Installation">此安装需要 Microsoft .NET Framework 4.6 或更高版本。请从 https://www.microsoft.com/net/download/framework 安装</String>
|
||||
<String Id="Readme">声明.TXT</String>
|
||||
<String Id="HealthCheckDescr">通过定期将数据从服务器上载到 Citrix Insight Services,实现对 Citrix Hypervisor 池的运行状况监视。</String>
|
||||
<String Id="HealthCheckDescrShort">允许监视 Citrix Hypervisor 池的运行状况。</String>
|
||||
<String Id="JapaneseTitle">语言包:日语</String>
|
||||
<String Id="HealthCheckDescrShort">启用对 Citrix Hypervisor 池的运行状况的监视。</String>
|
||||
<String Id="JapaneseTitle">语言包: 日语</String>
|
||||
<String Id="JapaneseDescr">日语资源文件</String>
|
||||
<String Id="SimplifiedChineseTitle">语言包:简体中文</String>
|
||||
<String Id="SimplifiedChineseTitle">语言包: 简体中文</String>
|
||||
<String Id="SimplifiedChineseDescr">简体中文资源文件</String>
|
||||
</WixLocalization>
|
||||
|
@ -161,7 +161,7 @@ namespace XenAdmin.Actions.Wlb
|
||||
// Set new ntol, then retry action
|
||||
XenAPI.Pool.set_ha_host_failures_to_tolerate(session, this.Pool.opaque_ref, newNtol);
|
||||
// ntol set succeeded, start new action
|
||||
Program.MainWindow.CloseActiveWizards(vm);
|
||||
Program.Invoke(Program.MainWindow, () => XenDialogBase.CloseAll(vm));
|
||||
new VMMigrateAction(vm,toHost).RunAsync();
|
||||
});
|
||||
action.RunAsync();
|
||||
|
@ -31,7 +31,6 @@
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using XenAdmin.Core;
|
||||
|
||||
|
||||
@ -47,59 +46,26 @@ namespace XenAdmin.Alerts
|
||||
_timestamp = NewVersion.TimeStamp;
|
||||
}
|
||||
|
||||
public override AlertPriority Priority { get { return AlertPriority.Priority5; } }
|
||||
public override AlertPriority Priority => AlertPriority.Priority5;
|
||||
|
||||
public override string WebPageLabel
|
||||
{
|
||||
get { return NewVersion.Url; }
|
||||
}
|
||||
public override string WebPageLabel => NewVersion.Url;
|
||||
|
||||
public override string Name
|
||||
{
|
||||
get { return NewVersion.Name; }
|
||||
}
|
||||
public override string Name => NewVersion.Name;
|
||||
|
||||
public override string Title
|
||||
{
|
||||
get { return string.Format(Messages.ALERT_NEW_VERSION, NewVersion.Name); }
|
||||
}
|
||||
public override string Title => string.Format(Messages.ALERT_NEW_VERSION, NewVersion.Name);
|
||||
|
||||
public override string Description
|
||||
{
|
||||
get
|
||||
{
|
||||
return string.Format(Messages.ALERT_NEW_VERSION_DETAILS, NewVersion.Name);
|
||||
}
|
||||
}
|
||||
public override string Description => string.Format(Messages.ALERT_NEW_VERSION_DETAILS, NewVersion.Name);
|
||||
|
||||
public override Action FixLinkAction
|
||||
{
|
||||
get { return () => Program.OpenURL(NewVersion.Url); }
|
||||
}
|
||||
|
||||
public override string FixLinkText
|
||||
{
|
||||
get
|
||||
{
|
||||
return Messages.ALERT_NEW_VERSION_DOWNLOAD;
|
||||
}
|
||||
}
|
||||
public override string FixLinkText => Messages.ALERT_NEW_VERSION_DOWNLOAD;
|
||||
|
||||
public override string AppliesTo
|
||||
{
|
||||
get
|
||||
{
|
||||
return Messages.XENCENTER;
|
||||
}
|
||||
}
|
||||
public override string AppliesTo => Messages.XENCENTER;
|
||||
|
||||
public override string HelpID
|
||||
{
|
||||
get
|
||||
{
|
||||
return "XenCenterUpdateAlert";
|
||||
}
|
||||
}
|
||||
public override string HelpID => "XenCenterUpdateAlert";
|
||||
|
||||
static int DISMISSED_XC_VERSIONS_LIMIT = 5;
|
||||
|
||||
@ -124,10 +90,9 @@ namespace XenAdmin.Alerts
|
||||
|
||||
public override bool Equals(Alert other)
|
||||
{
|
||||
if (other is XenCenterUpdateAlert)
|
||||
{
|
||||
return NewVersion.VersionAndLang == ((XenCenterUpdateAlert)other).NewVersion.VersionAndLang;
|
||||
}
|
||||
if (other is XenCenterUpdateAlert xenCenterAlert)
|
||||
return NewVersion.VersionAndLang == xenCenterAlert.NewVersion.VersionAndLang;
|
||||
|
||||
return base.Equals(other);
|
||||
}
|
||||
}
|
||||
|
@ -33,7 +33,6 @@ using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using XenAdmin.Network;
|
||||
using XenAdmin.Actions;
|
||||
using XenAdmin.Core;
|
||||
using XenAPI;
|
||||
using System.Text;
|
||||
@ -43,8 +42,8 @@ namespace XenAdmin.Alerts
|
||||
{
|
||||
public class XenServerPatchAlert : XenServerUpdateAlert
|
||||
{
|
||||
public XenServerPatch Patch;
|
||||
public XenServerVersion NewServerVersion;
|
||||
public readonly XenServerPatch Patch;
|
||||
public readonly XenServerVersion NewServerVersion;
|
||||
|
||||
/// <summary>
|
||||
/// Can we apply this alert. Calling this sets the CannotApplyReason where applicable
|
||||
@ -100,13 +99,7 @@ namespace XenAdmin.Alerts
|
||||
_timestamp = Patch.TimeStamp;
|
||||
}
|
||||
|
||||
public override string WebPageLabel
|
||||
{
|
||||
get
|
||||
{
|
||||
return Patch.Url;
|
||||
}
|
||||
}
|
||||
public override string WebPageLabel => Patch.Url;
|
||||
|
||||
public override AlertPriority Priority
|
||||
{
|
||||
@ -154,21 +147,9 @@ namespace XenAdmin.Alerts
|
||||
get { return () => Program.OpenURL(Patch.Url); }
|
||||
}
|
||||
|
||||
public override string FixLinkText
|
||||
{
|
||||
get
|
||||
{
|
||||
return Messages.ALERT_NEW_PATCH_DOWNLOAD;
|
||||
}
|
||||
}
|
||||
public override string FixLinkText => Messages.ALERT_NEW_PATCH_DOWNLOAD;
|
||||
|
||||
public override string HelpID
|
||||
{
|
||||
get
|
||||
{
|
||||
return "XenServerPatchAlert";
|
||||
}
|
||||
}
|
||||
public override string HelpID => "XenServerPatchAlert";
|
||||
|
||||
public override string Title
|
||||
{
|
||||
@ -199,19 +180,12 @@ namespace XenAdmin.Alerts
|
||||
|
||||
public override bool Equals(Alert other)
|
||||
{
|
||||
if (other is XenServerPatchAlert)
|
||||
{
|
||||
return string.Equals(Patch.Uuid, ((XenServerPatchAlert)other).Patch.Uuid, StringComparison.OrdinalIgnoreCase);
|
||||
}
|
||||
if (other is XenServerPatchAlert patchAlert)
|
||||
return string.Equals(Patch.Uuid, patchAlert.Patch.Uuid, StringComparison.OrdinalIgnoreCase);
|
||||
|
||||
return base.Equals(other);
|
||||
}
|
||||
|
||||
public bool ShowAsNewVersion
|
||||
{
|
||||
get
|
||||
{
|
||||
return NewServerVersion != null && !NewServerVersion.PresentAsUpdate;
|
||||
}
|
||||
}
|
||||
public bool ShowAsNewVersion => NewServerVersion != null && !NewServerVersion.PresentAsUpdate;
|
||||
}
|
||||
}
|
||||
|
@ -31,10 +31,8 @@
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using XenAdmin.Core;
|
||||
using XenAdmin.Network;
|
||||
using XenAdmin.Actions;
|
||||
using XenAPI;
|
||||
|
||||
|
||||
@ -42,7 +40,7 @@ namespace XenAdmin.Alerts
|
||||
{
|
||||
public class XenServerVersionAlert : XenServerUpdateAlert
|
||||
{
|
||||
public XenServerVersion Version;
|
||||
public readonly XenServerVersion Version;
|
||||
|
||||
public XenServerVersionAlert(XenServerVersion version)
|
||||
{
|
||||
@ -51,51 +49,24 @@ namespace XenAdmin.Alerts
|
||||
_timestamp = version.TimeStamp;
|
||||
}
|
||||
|
||||
public override string WebPageLabel
|
||||
{
|
||||
get { return Version.Url; }
|
||||
}
|
||||
public override string WebPageLabel => Version.Url;
|
||||
|
||||
public override string Name
|
||||
{
|
||||
get { return Version.Name; }
|
||||
}
|
||||
public override string Name => Version.Name;
|
||||
|
||||
public override string Title
|
||||
{
|
||||
get { return string.Format(Messages.DOWLOAD_LATEST_XS_TITLE, Version.Name); }
|
||||
}
|
||||
public override string Title => string.Format(Messages.DOWLOAD_LATEST_XS_TITLE, Version.Name);
|
||||
|
||||
public override string Description
|
||||
{
|
||||
get { return string.Format(Messages.DOWNLOAD_LATEST_XS_BODY, Version.Name); }
|
||||
}
|
||||
public override string Description => string.Format(Messages.DOWNLOAD_LATEST_XS_BODY, Version.Name);
|
||||
|
||||
public override string FixLinkText
|
||||
{
|
||||
get
|
||||
{
|
||||
return Messages.ALERT_NEW_VERSION_DOWNLOAD;
|
||||
}
|
||||
}
|
||||
public override string FixLinkText => Messages.ALERT_NEW_VERSION_DOWNLOAD;
|
||||
|
||||
public override AlertPriority Priority
|
||||
{
|
||||
get { return AlertPriority.Priority5; }
|
||||
}
|
||||
public override AlertPriority Priority => AlertPriority.Priority5;
|
||||
|
||||
public override Action FixLinkAction
|
||||
{
|
||||
get { return () => Program.OpenURL(Version.Url); }
|
||||
}
|
||||
|
||||
public override string HelpID
|
||||
{
|
||||
get
|
||||
{
|
||||
return "XenServerUpdateAlert";
|
||||
}
|
||||
}
|
||||
public override string HelpID => "XenServerUpdateAlert";
|
||||
|
||||
protected override bool IsDismissed(IXenConnection connection)
|
||||
{
|
||||
@ -116,10 +87,9 @@ namespace XenAdmin.Alerts
|
||||
|
||||
public override bool Equals(Alert other)
|
||||
{
|
||||
if (other is XenServerVersionAlert)
|
||||
{
|
||||
return Version.Version.ToString() == ((XenServerVersionAlert)other).Version.Version.ToString();
|
||||
}
|
||||
if (other is XenServerVersionAlert versionAlert)
|
||||
return Version.Version.ToString() == versionAlert.Version.Version.ToString();
|
||||
|
||||
return base.Equals(other);
|
||||
}
|
||||
}
|
||||
|
@ -76,7 +76,7 @@ namespace XenAdmin.Commands
|
||||
{
|
||||
if (vm.VBDs.Count < vm.MaxVBDsAllowed())
|
||||
{
|
||||
MainWindowCommandInterface.ShowPerXenModelObjectWizard(vm, new NewDiskDialog(vm.Connection, vm));
|
||||
new NewDiskDialog(vm.Connection, vm).ShowPerXenObject(vm, Program.MainWindow);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -80,7 +80,7 @@ namespace XenAdmin.Commands
|
||||
}
|
||||
else
|
||||
{
|
||||
MainWindowCommandInterface.ShowPerXenModelObjectWizard(vm, new AttachDiskDialog(vm));
|
||||
new AttachDiskDialog(vm).ShowPerXenObject(vm, Program.MainWindow);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -82,7 +82,7 @@ namespace XenAdmin.Commands
|
||||
actions.Add(new SetVMOtherConfigAction(vm.Connection, vm, "instant", "true"));
|
||||
actions.Add(new VMToTemplateAction(vm));
|
||||
|
||||
MainWindowCommandInterface.CloseActiveWizards(vm);
|
||||
XenDialogBase.CloseAll(vm);
|
||||
|
||||
RunMultipleActions(actions, string.Format(Messages.ACTION_VM_TEMPLATIZING_TITLE, vm.Name()),
|
||||
Messages.ACTION_VM_TEMPLATIZING, Messages.ACTION_VM_TEMPLATIZED, true);
|
||||
|
@ -69,7 +69,7 @@ namespace XenAdmin.Commands
|
||||
if (CrossPoolCopyTemplateCommand.CanExecute(template, null))
|
||||
new CrossPoolCopyTemplateCommand(MainWindowCommandInterface, selection).Execute();
|
||||
else
|
||||
MainWindowCommandInterface.ShowPerXenModelObjectWizard(template, new CopyVMDialog(template));
|
||||
new CopyVMDialog(template).ShowPerXenObject(template, Program.MainWindow);
|
||||
}
|
||||
|
||||
protected override bool CanExecuteCore(SelectedItemCollection selection)
|
||||
|
@ -69,7 +69,7 @@ namespace XenAdmin.Commands
|
||||
if (CrossPoolCopyVMCommand.CanExecute(vm, null))
|
||||
new CrossPoolCopyVMCommand(MainWindowCommandInterface, selection).Execute();
|
||||
else
|
||||
MainWindowCommandInterface.ShowPerXenModelObjectWizard(vm, new CopyVMDialog(vm));
|
||||
new CopyVMDialog(vm).ShowPerXenObject(vm, Program.MainWindow);
|
||||
}
|
||||
|
||||
protected override bool CanExecuteCore(SelectedItemCollection selection)
|
||||
|
@ -78,51 +78,22 @@ namespace XenAdmin.Commands
|
||||
|
||||
private static bool CanExecute(SR sr)
|
||||
{
|
||||
return sr != null && sr.IsDetachable() && !HelpersGUI.GetActionInProgress(sr);
|
||||
return sr != null && !sr.IsDetached() && !sr.HasRunningVMs() && !HelpersGUI.GetActionInProgress(sr);
|
||||
}
|
||||
|
||||
public override string MenuText
|
||||
{
|
||||
get
|
||||
{
|
||||
return Messages.MAINWINDOW_DETACH_SR;
|
||||
}
|
||||
}
|
||||
public override string MenuText => Messages.MAINWINDOW_DETACH_SR;
|
||||
|
||||
protected override bool ConfirmationRequired
|
||||
{
|
||||
get
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
protected override bool ConfirmationRequired => true;
|
||||
|
||||
protected override string ConfirmationDialogText
|
||||
{
|
||||
get
|
||||
{
|
||||
SelectedItemCollection selection = GetSelection();
|
||||
protected override string ConfirmationDialogText =>
|
||||
GetSelection().Count == 1
|
||||
? Messages.MESSAGEBOX_DETACH_SR_CONTINUE
|
||||
: Messages.MESSAGEBOX_DETACH_SRS_CONTINUE;
|
||||
|
||||
if (selection.Count == 1)
|
||||
{
|
||||
return Messages.MESSAGEBOX_DETACH_SR_CONTINUE;
|
||||
}
|
||||
return Messages.MESSAGEBOX_DETACH_SRS_CONTINUE;
|
||||
}
|
||||
}
|
||||
|
||||
protected override string ConfirmationDialogTitle
|
||||
{
|
||||
get
|
||||
{
|
||||
if (GetSelection().Count == 1)
|
||||
{
|
||||
return Messages.MESSAGEBOX_DETACH_SR_CONTINUE_TITLE;
|
||||
}
|
||||
|
||||
return Messages.MESSAGEBOX_DETACH_SRS_CONTINUE_TITLE;
|
||||
}
|
||||
}
|
||||
protected override string ConfirmationDialogTitle =>
|
||||
GetSelection().Count == 1
|
||||
? Messages.MESSAGEBOX_DETACH_SR_CONTINUE_TITLE
|
||||
: Messages.MESSAGEBOX_DETACH_SRS_CONTINUE_TITLE;
|
||||
|
||||
protected override CommandErrorDialog GetErrorDialogCore(IDictionary<IXenObject, string> cantExecuteReasons)
|
||||
{
|
||||
@ -144,10 +115,6 @@ namespace XenAdmin.Commands
|
||||
{
|
||||
return Messages.SR_HAS_RUNNING_VMS;
|
||||
}
|
||||
if (!sr.CanCreateWithXenCenter())
|
||||
{
|
||||
return Messages.SR_CANNOT_BE_DETACHED_WITH_XC;
|
||||
}
|
||||
if (HelpersGUI.GetActionInProgress(sr))
|
||||
{
|
||||
return Messages.SR_ACTION_IN_PROGRESS;
|
||||
|
@ -102,7 +102,7 @@ namespace XenAdmin.Commands
|
||||
return;
|
||||
}
|
||||
|
||||
MainWindowCommandInterface.ShowPerXenModelObjectWizard(host, new EvacuateHostDialog(host));
|
||||
new EvacuateHostDialog(host).ShowPerXenObject(host, Program.MainWindow);
|
||||
}
|
||||
|
||||
private void ExitMaintenanceMode(Host host)
|
||||
|
@ -256,7 +256,7 @@ namespace XenAdmin.Commands
|
||||
|
||||
MainWindowCommandInterface.Invoke(delegate
|
||||
{
|
||||
Program.MainWindow.SelectObject(action.VM);
|
||||
Program.MainWindow.SelectObjectInTree(action.VM);
|
||||
Program.MainWindow.TheTabControl.SelectedTab = Program.MainWindow.TabPageConsole;
|
||||
});
|
||||
}
|
||||
|
@ -69,7 +69,7 @@ namespace XenAdmin.Commands
|
||||
else
|
||||
{
|
||||
VM vm = (VM) selection[0].XenObject;
|
||||
MainWindowCommandInterface.ShowPerXenModelObjectWizard(vm, new MoveVMDialog(vm));
|
||||
new MoveVMDialog(vm).ShowPerXenObject(vm, Program.MainWindow);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -31,10 +31,9 @@
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using XenAdmin.Core;
|
||||
using XenAPI;
|
||||
using XenAdmin.Wizards;
|
||||
using XenAPI;
|
||||
|
||||
|
||||
namespace XenAdmin.Commands
|
||||
@ -65,9 +64,7 @@ namespace XenAdmin.Commands
|
||||
private void Execute(SR sr)
|
||||
{
|
||||
if (CanReattachSR(sr))
|
||||
{
|
||||
MainWindowCommandInterface.ShowPerConnectionWizard(sr.Connection, new NewSRWizard(sr.Connection, sr));
|
||||
}
|
||||
}
|
||||
|
||||
protected override void ExecuteCore(SelectedItemCollection selection)
|
||||
@ -77,29 +74,18 @@ namespace XenAdmin.Commands
|
||||
|
||||
protected override bool CanExecuteCore(SelectedItemCollection selection)
|
||||
{
|
||||
if (selection.Count == 1)
|
||||
{
|
||||
return CanReattachSR(selection[0].XenObject as SR);
|
||||
}
|
||||
return false;
|
||||
return selection.Count == 1 && CanReattachSR(selection[0].XenObject as SR);
|
||||
}
|
||||
|
||||
private static bool CanReattachSR(SR sr)
|
||||
{
|
||||
return sr != null
|
||||
&& !sr.HasPBDs()
|
||||
&& sr.CanCreateWithXenCenter()
|
||||
&& !HelpersGUI.GetActionInProgress(sr)
|
||||
&& !(sr.type == "cslg" && Helpers.FeatureForbidden(sr.Connection, Host.RestrictStorageChoices))
|
||||
&& (SM.GetByType(sr.Connection, sr.type) != null);
|
||||
}
|
||||
|
||||
public override string MenuText
|
||||
{
|
||||
get
|
||||
{
|
||||
return Messages.MAINWINDOW_REATTACH_SR;
|
||||
}
|
||||
}
|
||||
public override string MenuText => Messages.MAINWINDOW_REATTACH_SR;
|
||||
}
|
||||
}
|
||||
|
@ -129,7 +129,7 @@ namespace XenAdmin.Commands
|
||||
endDescription = Messages.ACTION_VM_MIGRATED;
|
||||
foreach (VM vm in selection.AsXenObjects<VM>(CanExecute))
|
||||
{
|
||||
this.MainWindowCommandInterface.CloseActiveWizards(vm);
|
||||
XenDialogBase.CloseAll(vm);
|
||||
Host host = GetHost(vm);
|
||||
actions.Add(new VMMigrateAction(vm, host));
|
||||
}
|
||||
|
@ -119,7 +119,7 @@ namespace XenAdmin.Controls
|
||||
|
||||
if (!decimal.TryParse(DiskSizeNumericUpDown.Text.Trim(), out decimal result) || result < 0)
|
||||
{
|
||||
SetError(Messages.INVALID_NUMBER);
|
||||
SetError(Messages.INVALID_DISK_SIZE);
|
||||
IsSizeValid = false;
|
||||
return;
|
||||
}
|
||||
@ -142,7 +142,7 @@ namespace XenAdmin.Controls
|
||||
|
||||
if (SelectedSize > DEFAULT_MAXIMUM)
|
||||
{
|
||||
SetError(Messages.INVALID_NUMBER);
|
||||
SetError(Messages.INVALID_DISK_SIZE);
|
||||
IsSizeValid = false;
|
||||
return;
|
||||
}
|
||||
|
@ -659,7 +659,7 @@ namespace XenAdmin.Controls.XenSearch
|
||||
} :
|
||||
(EventHandler)delegate
|
||||
{
|
||||
if (Program.MainWindow.SelectObject(ixmo)
|
||||
if (Program.MainWindow.SelectObjectInTree(ixmo)
|
||||
&& Program.MainWindow.TheTabControl.TabPages.Contains(Program.MainWindow.TabPageGeneral))
|
||||
Program.MainWindow.SwitchToTab(MainWindow.Tab.General);
|
||||
};
|
||||
|
@ -158,45 +158,6 @@ namespace XenAdmin.Core
|
||||
f.Activate();
|
||||
}
|
||||
|
||||
public static bool FocusFirstControl(Control.ControlCollection cc)
|
||||
{
|
||||
bool found = false;
|
||||
|
||||
List<Control> controls = new List<Control>();
|
||||
foreach (Control control in cc)
|
||||
controls.Add(control);
|
||||
controls.Sort((c1, c2) => c1.TabIndex.CompareTo(c2.TabIndex));
|
||||
if (controls.Count > 0)
|
||||
{
|
||||
foreach (Control control in controls)
|
||||
{
|
||||
if (control.HasChildren)
|
||||
{
|
||||
found = FocusFirstControl(control.Controls);
|
||||
}
|
||||
|
||||
if (!found)
|
||||
{
|
||||
if (control is Label)
|
||||
continue;
|
||||
|
||||
if (control is TextBox && (control as TextBox).ReadOnly)
|
||||
continue;
|
||||
|
||||
if (control.CanSelect)
|
||||
{
|
||||
found = control.Focus();
|
||||
}
|
||||
}
|
||||
|
||||
if (found)
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return found;
|
||||
}
|
||||
|
||||
public static Dictionary<Host, Host> CheckHostIQNsDiffer()
|
||||
{
|
||||
Dictionary<Host, string> hosts = new Dictionary<Host, string>();
|
||||
|
@ -177,7 +177,7 @@ namespace XenAdmin.Core
|
||||
|
||||
public bool Go()
|
||||
{
|
||||
if (Program.MainWindow.SelectObject(o))
|
||||
if (Program.MainWindow.SelectObjectInTree(o))
|
||||
{
|
||||
Program.MainWindow.TheTabControl.SelectedTab = tab;
|
||||
return true;
|
||||
@ -286,7 +286,7 @@ namespace XenAdmin.Core
|
||||
|
||||
public bool Go()
|
||||
{
|
||||
if (Program.MainWindow.SelectObject(o))
|
||||
if (Program.MainWindow.SelectObjectInTree(o))
|
||||
{
|
||||
Program.MainWindow.TheTabControl.SelectedTab = Program.MainWindow.TabPageSearch;
|
||||
Program.MainWindow.SearchPage.Search = search;
|
||||
|
@ -66,17 +66,11 @@ namespace XenAdmin.Core
|
||||
public const string IgnorePatchKey = "XenCenter.IgnorePatches";
|
||||
public const string LAST_SEEN_SERVER_VERSION_KEY = "XenCenter.LastSeenServerVersion";
|
||||
|
||||
public static IEnumerable<Alert> UpdateAlerts
|
||||
{
|
||||
get { return updateAlerts; }
|
||||
}
|
||||
public static IEnumerable<Alert> UpdateAlerts => updateAlerts;
|
||||
|
||||
public static int UpdateAlertsCount
|
||||
{
|
||||
get { return updateAlerts.Count; }
|
||||
}
|
||||
public static int UpdateAlertsCount => updateAlerts.Count;
|
||||
|
||||
private static void AddUpate(Alert update)
|
||||
private static void AddUpdate(Alert update)
|
||||
{
|
||||
try
|
||||
{
|
||||
@ -116,7 +110,6 @@ namespace XenAdmin.Core
|
||||
/// Dismisses the updates in the given list i.e. they are added in the
|
||||
/// other_config list of each pool and removed from the Updates.UpdateAlerts list.
|
||||
/// </summary>
|
||||
/// <param name="toBeDismissed"></param>
|
||||
public static void DismissUpdates(List<Alert> toBeDismissed)
|
||||
{
|
||||
if (toBeDismissed.Count == 0)
|
||||
@ -127,7 +120,7 @@ namespace XenAdmin.Core
|
||||
if (!Alert.AllowedToDismiss(connection))
|
||||
continue;
|
||||
|
||||
XenAPI.Pool pool = Helpers.GetPoolOfOne(connection);
|
||||
Pool pool = Helpers.GetPoolOfOne(connection);
|
||||
if (pool == null)
|
||||
continue;
|
||||
|
||||
@ -135,43 +128,43 @@ namespace XenAdmin.Core
|
||||
|
||||
foreach (Alert alert in toBeDismissed)
|
||||
{
|
||||
|
||||
if (alert is XenServerPatchAlert)
|
||||
if (alert is XenServerPatchAlert patchAlert)
|
||||
{
|
||||
|
||||
if (other_config.ContainsKey(IgnorePatchKey))
|
||||
{
|
||||
List<string> current = new List<string>(other_config[IgnorePatchKey].Split(','));
|
||||
if (current.Contains(((XenServerPatchAlert)alert).Patch.Uuid, StringComparer.OrdinalIgnoreCase))
|
||||
if (current.Contains(patchAlert.Patch.Uuid, StringComparer.OrdinalIgnoreCase))
|
||||
continue;
|
||||
current.Add(((XenServerPatchAlert)alert).Patch.Uuid);
|
||||
current.Add(patchAlert.Patch.Uuid);
|
||||
other_config[IgnorePatchKey] = string.Join(",", current.ToArray());
|
||||
}
|
||||
else
|
||||
{
|
||||
other_config.Add(IgnorePatchKey, ((XenServerPatchAlert)alert).Patch.Uuid);
|
||||
other_config.Add(IgnorePatchKey, patchAlert.Patch.Uuid);
|
||||
}
|
||||
}
|
||||
if (alert is XenServerVersionAlert)
|
||||
|
||||
if (alert is XenServerVersionAlert versionAlert)
|
||||
{
|
||||
|
||||
if (other_config.ContainsKey(LAST_SEEN_SERVER_VERSION_KEY))
|
||||
{
|
||||
List<string> current = new List<string>(other_config[LAST_SEEN_SERVER_VERSION_KEY].Split(','));
|
||||
if (current.Contains(((XenServerVersionAlert)alert).Version.Version.ToString()))
|
||||
if (current.Contains(versionAlert.Version.Version.ToString()))
|
||||
continue;
|
||||
current.Add(((XenServerVersionAlert)alert).Version.Version.ToString());
|
||||
current.Add(versionAlert.Version.Version.ToString());
|
||||
other_config[LAST_SEEN_SERVER_VERSION_KEY] = string.Join(",", current.ToArray());
|
||||
}
|
||||
else
|
||||
{
|
||||
other_config.Add(LAST_SEEN_SERVER_VERSION_KEY, ((XenServerVersionAlert)alert).Version.Version.ToString());
|
||||
other_config.Add(LAST_SEEN_SERVER_VERSION_KEY, versionAlert.Version.Version.ToString());
|
||||
}
|
||||
}
|
||||
Updates.RemoveUpdate(alert);
|
||||
|
||||
RemoveUpdate(alert);
|
||||
}
|
||||
|
||||
XenAPI.Pool.set_other_config(connection.Session, pool.opaque_ref, other_config);
|
||||
Pool.set_other_config(connection.Session, pool.opaque_ref, other_config);
|
||||
}
|
||||
}
|
||||
|
||||
@ -198,7 +191,6 @@ namespace XenAdmin.Core
|
||||
Properties.Settings.Default.AllowPatchesUpdates || force || forceRefresh)
|
||||
{
|
||||
var action = CreateDownloadUpdatesXmlAction(
|
||||
CheckForUpdatesUrl,
|
||||
Properties.Settings.Default.AllowXenCenterUpdates || force,
|
||||
Properties.Settings.Default.AllowXenServerUpdates || force,
|
||||
Properties.Settings.Default.AllowPatchesUpdates || force);
|
||||
@ -212,12 +204,14 @@ namespace XenAdmin.Core
|
||||
}
|
||||
}
|
||||
|
||||
public static DownloadUpdatesXmlAction CreateDownloadUpdatesXmlAction(string checkForUpdatesUrl, bool checkForXenCenter = false, bool checkForServerVersion = false, bool checkForPatches = false)
|
||||
public static DownloadUpdatesXmlAction CreateDownloadUpdatesXmlAction(bool checkForXenCenter = false,
|
||||
bool checkForServerVersion = false, bool checkForPatches = false)
|
||||
{
|
||||
string userAgent = string.Format("{0}/{1}.{2} ({3}-bit)", BrandManager.BRAND_CONSOLE, BrandManager.XENCENTER_VERSION, Program.Version.Revision.ToString(), IntPtr.Size * 8);
|
||||
string userAgentId = GetUniqueIdHash();
|
||||
|
||||
return new DownloadUpdatesXmlAction(checkForXenCenter, checkForServerVersion, checkForPatches, userAgent, userAgentId, checkForUpdatesUrl);
|
||||
return new DownloadUpdatesXmlAction(checkForXenCenter, checkForServerVersion, checkForPatches,
|
||||
userAgent, userAgentId, CheckForUpdatesUrl);
|
||||
}
|
||||
|
||||
internal static string GetUniqueIdHash()
|
||||
@ -257,7 +251,7 @@ namespace XenAdmin.Core
|
||||
if (Helpers.CommonCriteriaCertificationRelease)
|
||||
return false;
|
||||
|
||||
var action = CreateDownloadUpdatesXmlAction(CheckForUpdatesUrl, true, true, true);
|
||||
var action = CreateDownloadUpdatesXmlAction(true, true, true);
|
||||
action.Completed += actionCompleted;
|
||||
|
||||
if (CheckForUpdatesStarted != null)
|
||||
@ -380,8 +374,8 @@ namespace XenAdmin.Core
|
||||
|
||||
if (alerts.Count == 0)
|
||||
{
|
||||
log.Info(string.Format("Not alerting XenCenter update - latest = {0}, latestcr = {1}, detected = {2}",
|
||||
latest != null ? latest.VersionAndLang : "", latestCr != null ? latestCr.VersionAndLang : "", Program.VersionAndLanguage));
|
||||
log.InfoFormat("Not alerting XenCenter update - latest = {0}, latestcr = {1}, detected = {2}",
|
||||
latest != null ? latest.VersionAndLang : "", latestCr != null ? latestCr.VersionAndLang : "", Program.VersionAndLanguage);
|
||||
}
|
||||
|
||||
return alerts;
|
||||
@ -453,7 +447,7 @@ namespace XenAdmin.Core
|
||||
|
||||
var noPatchHosts = hosts.Where(host => PatchCanBeInstalledOnHost(serverPatch, host)).ToList();
|
||||
|
||||
if (noPatchHosts.Count() == hosts.Count)
|
||||
if (noPatchHosts.Count == hosts.Count)
|
||||
alert.IncludeConnection(xenConnection);
|
||||
else
|
||||
alert.IncludeHosts(noPatchHosts);
|
||||
@ -519,8 +513,6 @@ namespace XenAdmin.Core
|
||||
/// If parameter is not null, it returns the minimum XenCenter version if it is greater than the current XC version,
|
||||
/// or null, if the minimum XC version couldn't be found or the current XC version is enough.
|
||||
/// </summary>
|
||||
/// <param name="serverVersion"></param>
|
||||
/// <returns></returns>
|
||||
public static XenCenterVersion GetRequiredXenCenterVersion(XenServerVersion serverVersion)
|
||||
{
|
||||
if (XenCenterVersions.Count == 0)
|
||||
@ -544,11 +536,10 @@ namespace XenAdmin.Core
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// This method returns the minimal set of patches for a host if this class already has information about them. Otherwise it returns empty list.
|
||||
/// This method returns the minimal set of patches for a host if this class already has information about them.
|
||||
/// Otherwise it returns empty list.
|
||||
/// Calling this function will not initiate a download or update.
|
||||
/// </summary>
|
||||
/// <param name="host"></param>
|
||||
/// <returns></returns>
|
||||
public static List<XenServerPatch> RecommendedPatchesForHost(Host host)
|
||||
{
|
||||
var recommendedPatches = new List<XenServerPatch>();
|
||||
@ -632,7 +623,7 @@ namespace XenAdmin.Core
|
||||
|
||||
var minimalPatches = new List<XenServerPatch> {alert.Patch};
|
||||
|
||||
// if it's a version updgrade the min sequence will be this patch (the upgrade) and the min patches for the new version
|
||||
// if it's a version upgrade the min sequence will be this patch (the upgrade) and the min patches for the new version
|
||||
if (updateTheNewVersion && alert.NewServerVersion != null && alert.NewServerVersion.MinimalPatches != null)
|
||||
{
|
||||
minimalPatches.AddRange(alert.NewServerVersion.MinimalPatches);
|
||||
@ -659,7 +650,7 @@ namespace XenAdmin.Core
|
||||
|
||||
var allPatches = new List<XenServerPatch> { alert.Patch };
|
||||
|
||||
// if it's a version updgrade the update sequence will be this patch (the upgrade) and the patches for the new version
|
||||
// if it's a version upgrade the update sequence will be this patch (the upgrade) and the patches for the new version
|
||||
if (updateTheNewVersion && alert.NewServerVersion != null)
|
||||
{
|
||||
var newVersionPatches = GetAllPatches(alert.NewServerVersion);
|
||||
@ -707,7 +698,6 @@ namespace XenAdmin.Core
|
||||
/// Returns a XenServerVersion if all hosts of the pool have the same version
|
||||
/// Returns null if it is unknown or they don't match
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
private static XenServerVersion GetCommonServerVersionOfHostsInAConnection(IXenConnection connection, List<XenServerVersion> xsVersions)
|
||||
{
|
||||
if (connection == null || xsVersions == null)
|
||||
@ -829,7 +819,7 @@ namespace XenAdmin.Core
|
||||
var outOfDateHosts = hosts.Where(host => new Version(Helpers.HostProductVersion(host)) < version.Version
|
||||
&& (patch == null || !PatchCanBeInstalledOnHost(patch, host))).ToList();
|
||||
|
||||
if (outOfDateHosts.Count() == hosts.Count)
|
||||
if (outOfDateHosts.Count == hosts.Count)
|
||||
alert.IncludeConnection(xc);
|
||||
else
|
||||
alert.IncludeHosts(outOfDateHosts);
|
||||
@ -853,10 +843,10 @@ namespace XenAdmin.Core
|
||||
public static void CheckServerVersion()
|
||||
{
|
||||
var alerts = NewXenServerVersionAlerts(XenServerVersionsForAutoCheck);
|
||||
if (alerts == null || alerts.Count == 0)
|
||||
if (alerts == null)
|
||||
return;
|
||||
|
||||
alerts.ForEach(a => CheckUpdate(a));
|
||||
alerts.ForEach(CheckUpdate);
|
||||
}
|
||||
|
||||
public static void CheckServerPatches()
|
||||
@ -865,7 +855,7 @@ namespace XenAdmin.Core
|
||||
if (alerts == null)
|
||||
return;
|
||||
|
||||
alerts.ForEach(a => CheckUpdate(a));
|
||||
alerts.ForEach(CheckUpdate);
|
||||
}
|
||||
|
||||
private static void CheckUpdate(XenServerUpdateAlert alert)
|
||||
@ -874,10 +864,14 @@ namespace XenAdmin.Core
|
||||
|
||||
if (existingAlert != null && alert.CanIgnore)
|
||||
RemoveUpdate(existingAlert);
|
||||
else if (existingAlert != null)
|
||||
((XenServerUpdateAlert)existingAlert).CopyConnectionsAndHosts(alert);
|
||||
else if (existingAlert is XenServerUpdateAlert updAlert)
|
||||
{
|
||||
RemoveUpdate(updAlert);
|
||||
updAlert.CopyConnectionsAndHosts(alert);
|
||||
AddUpdate(updAlert);
|
||||
}
|
||||
else if (!alert.CanIgnore)
|
||||
AddUpate(alert);
|
||||
AddUpdate(alert);
|
||||
}
|
||||
|
||||
public static void RestoreDismissedUpdates()
|
||||
@ -908,7 +902,7 @@ namespace XenAdmin.Core
|
||||
|
||||
private static XenServerPatchAlert FindPatchAlert(Predicate<XenServerPatch> predicate)
|
||||
{
|
||||
var existingAlert = FindUpdate(a => a is XenServerPatchAlert && predicate(((XenServerPatchAlert)a).Patch));
|
||||
var existingAlert = FindUpdate(a => a is XenServerPatchAlert patchAlert && predicate(patchAlert.Patch));
|
||||
if (existingAlert != null)
|
||||
return existingAlert as XenServerPatchAlert;
|
||||
|
||||
|
@ -42,7 +42,7 @@ namespace XenAdmin.Diagnostics.Checks
|
||||
|
||||
protected override Problem RunCheck()
|
||||
{
|
||||
var action = Updates.CreateDownloadUpdatesXmlAction(Updates.CheckForUpdatesUrl);
|
||||
var action = Updates.CreateDownloadUpdatesXmlAction();
|
||||
|
||||
try
|
||||
{
|
||||
|
@ -39,6 +39,7 @@ using System.Text.RegularExpressions;
|
||||
using System.Xml;
|
||||
using System.Collections.Generic;
|
||||
using XenAdmin.Actions;
|
||||
using XenAdmin.Diagnostics.Problems.PoolProblem;
|
||||
|
||||
namespace XenAdmin.Diagnostics.Checks
|
||||
{
|
||||
@ -98,8 +99,6 @@ namespace XenAdmin.Diagnostics.Checks
|
||||
|
||||
Session session = Host.Connection.DuplicateSession();
|
||||
|
||||
|
||||
|
||||
try
|
||||
{
|
||||
if (Patch != null)
|
||||
@ -139,10 +138,7 @@ namespace XenAdmin.Diagnostics.Checks
|
||||
}
|
||||
}
|
||||
|
||||
public override string Description
|
||||
{
|
||||
get { return Messages.SERVER_SIDE_CHECK_DESCRIPTION; }
|
||||
}
|
||||
public override string Description => Messages.SERVER_SIDE_CHECK_DESCRIPTION;
|
||||
|
||||
/// <summary>
|
||||
/// Find problem from xml result
|
||||
@ -184,7 +180,7 @@ namespace XenAdmin.Diagnostics.Checks
|
||||
else if (node.Name == "required")
|
||||
required = node.InnerXml;
|
||||
}
|
||||
var problem = FindProblem(errorcode, found, required);
|
||||
var problem = FindProblem(errorcode, "", found, required);
|
||||
return problem ?? new PrecheckFailed(this, Host, new Failure(errorcode));
|
||||
}
|
||||
|
||||
@ -192,14 +188,25 @@ namespace XenAdmin.Diagnostics.Checks
|
||||
/// Find problem from xapi Failure
|
||||
/// </summary>
|
||||
/// <param name="failure">Xapi failure, thrown by Pool_patch.precheck() call.
|
||||
/// E.g.: failure.ErrorDescription.Count = 4
|
||||
/// E.g.: failure.ErrorDescription.Count = 4
|
||||
/// ErrorDescription[0] = "PATCH_PRECHECK_FAILED_WRONG_SERVER_VERSION"
|
||||
/// ErrorDescription[1] = "OpaqueRef:612b5eee-03dc-bbf5-3385-6905fdc9b079"
|
||||
/// ErrorDescription[2] = "6.5.0"
|
||||
/// ErrorDescription[3] = "^6\\.2\\.0$"
|
||||
/// E.g.: failure.ErrorDescription.Count = 2
|
||||
///
|
||||
/// E.g.: failure.ErrorDescription.Count = 2
|
||||
/// ErrorDescription[0] = "OUT_OF_SPACE"
|
||||
/// ErrorDescription[1] = "/var/patch"
|
||||
///
|
||||
/// E.g.: failure.ErrorDescription.Count = 3 with the last parameter being an xml string
|
||||
/// ErrorDescription[0] = "UPDATE_PRECHECK_FAILED_UNKNOWN_ERROR"
|
||||
/// ErrorDescription[1] = "test-update"
|
||||
/// ErrorDescription[2] = "<?x m l version="1.0" ?><error errorcode="LICENCE_RESTRICTION"></error>"
|
||||
///
|
||||
/// E.g.: failure.ErrorDescription.Count = 3 with the last parameter being a plain string
|
||||
/// ErrorDescription[0] = "UPDATE_PRECHECK_FAILED_UNKNOWN_ERROR"
|
||||
/// ErrorDescription[1] = "CH82"
|
||||
/// ErrorDescription[2] = "VSWITCH_CONTROLLER_CONNECTED\nYou must [...] this update\n"
|
||||
/// </param>
|
||||
/// <returns>Problem or null, if no problem found</returns>
|
||||
private Problem FindProblem(Failure failure)
|
||||
@ -208,21 +215,17 @@ namespace XenAdmin.Diagnostics.Checks
|
||||
return null;
|
||||
|
||||
var errorcode = failure.ErrorDescription[0];
|
||||
var found = "";
|
||||
var required = "";
|
||||
var param1 = failure.ErrorDescription.Count > 1 ? failure.ErrorDescription[1] : "";
|
||||
var param2 = failure.ErrorDescription.Count > 2 ? failure.ErrorDescription[2] : "";
|
||||
var param3 = failure.ErrorDescription.Count > 3 ? failure.ErrorDescription[3] : "";
|
||||
|
||||
if (failure.ErrorDescription.Count > 2)
|
||||
found = failure.ErrorDescription[2];
|
||||
if (failure.ErrorDescription.Count > 3)
|
||||
required = failure.ErrorDescription[3];
|
||||
|
||||
return FindProblem(errorcode, found, required);
|
||||
return FindProblem(errorcode, param1, param2, param3);
|
||||
}
|
||||
|
||||
private Problem FindProblem(string errorcode, string found, string required)
|
||||
private Problem FindProblem(string errorcode, string param1, string param2, string param3)
|
||||
{
|
||||
long requiredSpace = 0;
|
||||
long foundSpace = 0;
|
||||
long requiredSpace;
|
||||
long foundSpace;
|
||||
long reclaimableDiskSpace = 0;
|
||||
|
||||
DiskSpaceRequirements diskSpaceReq;
|
||||
@ -233,19 +236,19 @@ namespace XenAdmin.Diagnostics.Checks
|
||||
return new WrongServerVersion(this, Host);
|
||||
|
||||
case "UPDATE_PRECHECK_FAILED_CONFLICT_PRESENT":
|
||||
return new ConflictingUpdatePresent(this, found, Host);
|
||||
return new ConflictingUpdatePresent(this, param2, Host);
|
||||
|
||||
case "UPDATE_PRECHECK_FAILED_PREREQUISITE_MISSING":
|
||||
return new PrerequisiteUpdateMissing(this, found, Host);
|
||||
return new PrerequisiteUpdateMissing(this, param2, Host);
|
||||
|
||||
case "PATCH_PRECHECK_FAILED_WRONG_SERVER_VERSION":
|
||||
return new WrongServerVersion(this, required, Host);
|
||||
return new WrongServerVersion(this, param3, Host);
|
||||
|
||||
case "PATCH_PRECHECK_FAILED_OUT_OF_SPACE":
|
||||
System.Diagnostics.Trace.Assert(!Helpers.ElyOrGreater(Host.Connection)); // If Ely or greater, we shouldn't get this error
|
||||
|
||||
long.TryParse(found, out foundSpace);
|
||||
long.TryParse(required, out requiredSpace);
|
||||
long.TryParse(param2, out foundSpace);
|
||||
long.TryParse(param3, out requiredSpace);
|
||||
// get reclaimable disk space (excluding current patch)
|
||||
try
|
||||
{
|
||||
@ -264,8 +267,9 @@ namespace XenAdmin.Diagnostics.Checks
|
||||
|
||||
case "UPDATE_PRECHECK_FAILED_OUT_OF_SPACE":
|
||||
System.Diagnostics.Trace.Assert(Helpers.ElyOrGreater(Host.Connection)); // If not Ely or greater, we shouldn't get this error
|
||||
long.TryParse(found, out foundSpace);
|
||||
long.TryParse(required, out requiredSpace);
|
||||
|
||||
long.TryParse(param2, out foundSpace);
|
||||
long.TryParse(param3, out requiredSpace);
|
||||
|
||||
diskSpaceReq = new DiskSpaceRequirements(DiskSpaceRequirements.OperationTypes.install, Host, Update.Name(), requiredSpace, foundSpace, 0);
|
||||
|
||||
@ -294,12 +298,15 @@ namespace XenAdmin.Diagnostics.Checks
|
||||
case "LICENCE_RESTRICTION":
|
||||
return new LicenseRestrictionProblem(this, Host);
|
||||
case "UPDATE_PRECHECK_FAILED_UNKNOWN_ERROR":
|
||||
// try to find the problem from the error parameters as xml string
|
||||
// e.g.
|
||||
// ErrorDescription[0] = "UPDATE_PRECHECK_FAILED_UNKNOWN_ERROR"
|
||||
// ErrorDescription[1] = "test-update"
|
||||
// ErrorDescription[2] = "<?xml version="1.0" ?><error errorcode="LICENCE_RESTRICTION"></error>"
|
||||
return FindProblem(found);
|
||||
if (param1 == "CH82" && param2.StartsWith("VSWITCH_CONTROLLER_CONNECTED"))
|
||||
{
|
||||
var pool = Helpers.GetPoolOfOne(Host.Connection);
|
||||
if (pool.vSwitchController())
|
||||
return new VSwitchControllerProblem(this, pool);
|
||||
return null;
|
||||
}
|
||||
else
|
||||
return FindProblem(param2);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
117
XenAdmin/Diagnostics/Checks/VSwitchControllerCheck.cs
Normal file
117
XenAdmin/Diagnostics/Checks/VSwitchControllerCheck.cs
Normal file
@ -0,0 +1,117 @@
|
||||
/* Copyright (c) Citrix Systems, Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms,
|
||||
* with or without modification, are permitted provided
|
||||
* that the following conditions are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above
|
||||
* copyright notice, this list of conditions and the
|
||||
* following disclaimer.
|
||||
* * Redistributions in binary form must reproduce the above
|
||||
* copyright notice, this list of conditions and the
|
||||
* following disclaimer in the documentation and/or other
|
||||
* materials provided with the distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
|
||||
* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
||||
* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
|
||||
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using XenAdmin.Core;
|
||||
using XenAdmin.Diagnostics.Hotfixing;
|
||||
using XenAdmin.Diagnostics.Problems;
|
||||
using XenAdmin.Diagnostics.Problems.HostProblem;
|
||||
using XenAdmin.Diagnostics.Problems.PoolProblem;
|
||||
using XenAPI;
|
||||
|
||||
namespace XenAdmin.Diagnostics.Checks
|
||||
{
|
||||
class VSwitchControllerCheck : HostPostLivenessCheck
|
||||
{
|
||||
private readonly Dictionary<string, string> _installMethodConfig;
|
||||
private readonly Pool _pool;
|
||||
private readonly XenServerVersion _newVersion;
|
||||
private readonly bool _manualUpgrade;
|
||||
|
||||
public VSwitchControllerCheck(Host host, XenServerVersion newVersion)
|
||||
: base(host)
|
||||
{
|
||||
_newVersion = newVersion;
|
||||
_pool = Helpers.GetPoolOfOne(Host?.Connection);
|
||||
}
|
||||
|
||||
public VSwitchControllerCheck(Host host, Dictionary<string, string> installMethodConfig, bool manualUpgrade)
|
||||
: base(host)
|
||||
{
|
||||
_installMethodConfig = installMethodConfig;
|
||||
_manualUpgrade = manualUpgrade;
|
||||
_pool = Helpers.GetPoolOfOne(Host?.Connection);
|
||||
}
|
||||
|
||||
public override string Description => Messages.CHECKING_VSWITCH_CONTROLLER;
|
||||
|
||||
public override bool CanRun()
|
||||
{
|
||||
if (Helpers.StockholmOrGreater(Host))
|
||||
return false;
|
||||
|
||||
if (_pool == null || !_pool.vSwitchController())
|
||||
return false;
|
||||
|
||||
if (_newVersion != null && !Helpers.NaplesOrGreater(Host))
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
protected override Problem RunHostCheck()
|
||||
{
|
||||
//update case
|
||||
if (_newVersion != null)
|
||||
{
|
||||
if (_newVersion.Version.CompareTo(new Version(BrandManager.ProductVersion82)) >= 0)
|
||||
return new VSwitchControllerProblem(this, _pool);
|
||||
return null;
|
||||
}
|
||||
|
||||
//upgrade case
|
||||
|
||||
if (!_manualUpgrade)
|
||||
{
|
||||
var hotfix = HotfixFactory.Hotfix(Host);
|
||||
if (hotfix != null && hotfix.ShouldBeAppliedTo(Host))
|
||||
return new HostDoesNotHaveHotfixWarning(this, Host);
|
||||
}
|
||||
|
||||
string upgradePlatformVersion = null;
|
||||
|
||||
if (_installMethodConfig != null)
|
||||
Host.TryGetUpgradeVersion(Host, _installMethodConfig, out upgradePlatformVersion, out _);
|
||||
|
||||
// we don't know the upgrade version, so add generic warning
|
||||
// (this is the case of the manual upgrade or when the rpu plugin doesn't have the function)
|
||||
if (string.IsNullOrEmpty(upgradePlatformVersion))
|
||||
return new VSwitchControllerWarning(this, _pool);
|
||||
|
||||
// we know they are upgrading to Stockholm or greater, so block them
|
||||
if (Helpers.StockholmOrGreater(upgradePlatformVersion))
|
||||
return new VSwitchControllerProblem(this, _pool);
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,86 @@
|
||||
/* Copyright (c) Citrix Systems, Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms,
|
||||
* with or without modification, are permitted provided
|
||||
* that the following conditions are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above
|
||||
* copyright notice, this list of conditions and the
|
||||
* following disclaimer.
|
||||
* * Redistributions in binary form must reproduce the above
|
||||
* copyright notice, this list of conditions and the
|
||||
* following disclaimer in the documentation and/or other
|
||||
* materials provided with the distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
|
||||
* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
||||
* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
|
||||
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
using XenAdmin.Core;
|
||||
using XenAdmin.Diagnostics.Checks;
|
||||
using XenAPI;
|
||||
|
||||
|
||||
namespace XenAdmin.Diagnostics.Problems.PoolProblem
|
||||
{
|
||||
class VSwitchControllerProblem : ProblemWithMoreInfo
|
||||
{
|
||||
private Pool _pool;
|
||||
|
||||
public VSwitchControllerProblem(Check check, Pool pool)
|
||||
: base(check)
|
||||
{
|
||||
_pool = pool;
|
||||
}
|
||||
|
||||
public override string Title => Check.Description;
|
||||
|
||||
public override string LinkData => InvisibleMessages.DEPRECATION_URL;
|
||||
public override string LinkText => Messages.LEARN_MORE;
|
||||
|
||||
public override string Description =>
|
||||
string.Format(Messages.PROBLEM_VSWITCH_CONTROLLER_DESCRIPTION, _pool,
|
||||
string.Format(Messages.XENSERVER_8_2, BrandManager.ProductVersion82));
|
||||
|
||||
public override string Message =>
|
||||
string.Format(Messages.PROBLEM_VSWITCH_CONTROLLER_INFO_ERROR,
|
||||
string.Format(Messages.XENSERVER_8_2, BrandManager.ProductVersion82));
|
||||
}
|
||||
|
||||
class VSwitchControllerWarning : WarningWithMoreInfo
|
||||
{
|
||||
private readonly Pool pool;
|
||||
|
||||
public VSwitchControllerWarning(Check check, Pool pool)
|
||||
: base(check)
|
||||
{
|
||||
this.pool = pool;
|
||||
}
|
||||
|
||||
public override string Title => Check.Description;
|
||||
|
||||
public override string LinkData => InvisibleMessages.DEPRECATION_URL;
|
||||
public override string LinkText => Messages.LEARN_MORE;
|
||||
|
||||
public override string Description =>
|
||||
string.Format(Messages.PROBLEM_VSWITCH_CONTROLLER_DESCRIPTION, pool,
|
||||
string.Format(Messages.XENSERVER_8_2, BrandManager.ProductVersion82));
|
||||
|
||||
public override string Message =>
|
||||
string.Format(Messages.PROBLEM_VSWITCH_CONTROLLER_INFO_WARNING,
|
||||
string.Format(Messages.XENSERVER_8_2, BrandManager.ProductVersion82));
|
||||
}
|
||||
}
|
@ -137,6 +137,46 @@ namespace XenAdmin.Diagnostics.Problems
|
||||
#endregion
|
||||
}
|
||||
|
||||
|
||||
public abstract class ProblemWithMoreInfo : Problem
|
||||
{
|
||||
protected ProblemWithMoreInfo(Check check)
|
||||
: base(check)
|
||||
{
|
||||
}
|
||||
|
||||
public override bool IsFixable => false;
|
||||
|
||||
public override string HelpMessage => Messages.MORE_INFO;
|
||||
|
||||
public abstract string Message { get; }
|
||||
|
||||
public virtual string LinkData => null;
|
||||
public virtual string LinkText => LinkData;
|
||||
|
||||
protected override AsyncAction CreateAction(out bool cancelled)
|
||||
{
|
||||
Program.Invoke(Program.MainWindow, delegate ()
|
||||
{
|
||||
using (var dlg = new ThreeButtonDialog(
|
||||
new ThreeButtonDialog.Details(SystemIcons.Error, Message)))
|
||||
{
|
||||
if (!string.IsNullOrEmpty(LinkText) && !string.IsNullOrEmpty(LinkData))
|
||||
{
|
||||
dlg.LinkText = LinkText;
|
||||
dlg.LinkData = LinkData;
|
||||
dlg.ShowLinkLabel = true;
|
||||
}
|
||||
dlg.ShowDialog();
|
||||
}
|
||||
});
|
||||
|
||||
cancelled = true;
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public abstract class ProblemWithInformationUrl : Problem
|
||||
{
|
||||
protected ProblemWithInformationUrl(Check check) : base(check)
|
||||
|
@ -54,22 +54,25 @@ namespace XenAdmin.Diagnostics.Problems
|
||||
|
||||
public abstract class WarningWithMoreInfo : Warning
|
||||
{
|
||||
protected WarningWithMoreInfo(Check check)
|
||||
: base(check)
|
||||
protected WarningWithMoreInfo(Check check) : base(check)
|
||||
{
|
||||
}
|
||||
|
||||
public override string HelpMessage => Messages.MORE_INFO;
|
||||
|
||||
public abstract string Message { get; }
|
||||
|
||||
protected override Actions.AsyncAction CreateAction(out bool cancelled)
|
||||
{
|
||||
Program.Invoke(Program.MainWindow, delegate ()
|
||||
Program.Invoke(Program.MainWindow, () =>
|
||||
{
|
||||
using (var dlg = new ThreeButtonDialog(
|
||||
new ThreeButtonDialog.Details(SystemIcons.Warning, Message)))
|
||||
{
|
||||
if (!string.IsNullOrEmpty(LinkText) && !string.IsNullOrEmpty(LinkData))
|
||||
{
|
||||
dlg.LinkText = LinkText;
|
||||
dlg.LinkData = LinkData;
|
||||
dlg.ShowLinkLabel = true;
|
||||
}
|
||||
dlg.ShowDialog();
|
||||
}
|
||||
});
|
||||
@ -77,6 +80,11 @@ namespace XenAdmin.Diagnostics.Problems
|
||||
cancelled = true;
|
||||
return null;
|
||||
}
|
||||
|
||||
public abstract string Message { get; }
|
||||
|
||||
public virtual string LinkData => null;
|
||||
public virtual string LinkText => LinkData;
|
||||
}
|
||||
|
||||
|
||||
|
@ -131,7 +131,7 @@
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<data name="ColumnSourceServer.HeaderText" xml:space="preserve">
|
||||
<value>WMware Server</value>
|
||||
<value>VMware Server</value>
|
||||
</data>
|
||||
<data name="ColumnSourceServer.MinimumWidth" type="System.Int32, mscorlib">
|
||||
<value>10</value>
|
||||
|
@ -300,7 +300,7 @@ Xen, the Xen logo, XenMotion are trademarks and/or registered trademarks of [Cit
|
||||
<value>5</value>
|
||||
</data>
|
||||
<data name="label1.Text" xml:space="preserve">
|
||||
<value>[Citrix]、[Citrix XenServer]、{0}、Xen 和 Xen 徽标、[XenCenter]、XenMotion 是 [Citrix] Systems, Inc. 在美国及其他国家/地区的商标和/或注册商标。</value>
|
||||
<value>[Citrix]、[Citrix XenServer]、{0}、Xen、Xen 徽标、[XenCenter]、XenMotion 是 [Citrix] Systems, Inc. 在美国及其他国家/地区的商标和/或注册商标。</value>
|
||||
</data>
|
||||
<data name=">>label1.Name" xml:space="preserve">
|
||||
<value>label1</value>
|
||||
|
@ -29,12 +29,7 @@
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Drawing;
|
||||
using System.Data;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
using XenAdmin.Properties;
|
||||
using XenAdmin.Core;
|
||||
@ -49,11 +44,10 @@ namespace XenAdmin.Dialogs.OptionsPages
|
||||
public UpdatesOptionsPage()
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
build();
|
||||
Build();
|
||||
}
|
||||
|
||||
private void build()
|
||||
private void Build()
|
||||
{
|
||||
// XenCenter updates
|
||||
AllowXenCenterUpdatesCheckBox.Checked = Properties.Settings.Default.AllowXenCenterUpdates;
|
||||
@ -66,64 +60,43 @@ namespace XenAdmin.Dialogs.OptionsPages
|
||||
public static void Log()
|
||||
{
|
||||
// XenCenter updates
|
||||
log.Info("=== AllowXenCenterUpdates: " + Properties.Settings.Default.AllowXenCenterUpdates.ToString());
|
||||
log.Info("=== AllowXenCenterUpdates: " + Properties.Settings.Default.AllowXenCenterUpdates);
|
||||
|
||||
// XenServer updates
|
||||
log.Info("=== AllowPatchesUpdates: " + Properties.Settings.Default.AllowPatchesUpdates.ToString());
|
||||
log.Info("=== AllowXenServerUpdates: " + Properties.Settings.Default.AllowXenServerUpdates.ToString());
|
||||
log.Info("=== AllowPatchesUpdates: " + Properties.Settings.Default.AllowPatchesUpdates);
|
||||
log.Info("=== AllowXenServerUpdates: " + Properties.Settings.Default.AllowXenServerUpdates);
|
||||
}
|
||||
|
||||
#region IOptionsPage Members
|
||||
|
||||
public void Save()
|
||||
{
|
||||
bool refreshUpdatesTab = IsCheckForUpdatesRequired();
|
||||
bool checkXenCenterUpdates = AllowXenCenterUpdatesCheckBox.Checked != Properties.Settings.Default.AllowXenCenterUpdates;
|
||||
bool checkPatchUpdates = AllowXenServerPatchesCheckBox.Checked != Properties.Settings.Default.AllowPatchesUpdates;
|
||||
bool checkVersionUpdates = AllowXenServerUpdatesCheckBox.Checked != Properties.Settings.Default.AllowXenServerUpdates;
|
||||
|
||||
// XenCenter updates
|
||||
if (AllowXenCenterUpdatesCheckBox.Checked != Properties.Settings.Default.AllowXenCenterUpdates)
|
||||
if (checkXenCenterUpdates)
|
||||
Properties.Settings.Default.AllowXenCenterUpdates = AllowXenCenterUpdatesCheckBox.Checked;
|
||||
|
||||
// XenServer updates
|
||||
if (AllowXenServerPatchesCheckBox.Checked != Properties.Settings.Default.AllowPatchesUpdates)
|
||||
if (checkPatchUpdates)
|
||||
Properties.Settings.Default.AllowPatchesUpdates = AllowXenServerPatchesCheckBox.Checked;
|
||||
if (AllowXenServerUpdatesCheckBox.Checked != Properties.Settings.Default.AllowXenServerUpdates)
|
||||
|
||||
if (checkVersionUpdates)
|
||||
Properties.Settings.Default.AllowXenServerUpdates = AllowXenServerUpdatesCheckBox.Checked;
|
||||
|
||||
if(refreshUpdatesTab)
|
||||
{
|
||||
if(checkXenCenterUpdates || checkPatchUpdates || checkVersionUpdates)
|
||||
Updates.CheckForUpdates(false, true);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Returns true if at least one box has been changed in Updates Options. Otherwise returns false.
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
private bool IsCheckForUpdatesRequired()
|
||||
{
|
||||
return (AllowXenCenterUpdatesCheckBox.Checked != Properties.Settings.Default.AllowXenCenterUpdates) ||
|
||||
(AllowXenServerPatchesCheckBox.Checked != Properties.Settings.Default.AllowPatchesUpdates) ||
|
||||
(AllowXenServerUpdatesCheckBox.Checked != Properties.Settings.Default.AllowXenServerUpdates);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region IVerticalTab Members
|
||||
|
||||
public override string Text
|
||||
{
|
||||
get { return Messages.UPDATES; }
|
||||
}
|
||||
public override string Text => Messages.UPDATES;
|
||||
|
||||
public string SubText
|
||||
{
|
||||
get { return Messages.UPDATES_DESC; }
|
||||
}
|
||||
public string SubText => Messages.UPDATES_DESC;
|
||||
|
||||
public Image Image
|
||||
{
|
||||
get { return Resources._000_Patch_h32bit_16; }
|
||||
}
|
||||
public Image Image => Resources._000_Patch_h32bit_16;
|
||||
|
||||
#endregion
|
||||
}
|
||||
|
14
XenAdmin/Dialogs/ThreeButtonDialog.Designer.cs
generated
14
XenAdmin/Dialogs/ThreeButtonDialog.Designer.cs
generated
@ -37,6 +37,7 @@ namespace XenAdmin.Dialogs
|
||||
this.button1 = new System.Windows.Forms.Button();
|
||||
this.labelMessage = new System.Windows.Forms.LinkLabel();
|
||||
this.checkBoxOption = new System.Windows.Forms.CheckBox();
|
||||
this.linkLabel1 = new System.Windows.Forms.LinkLabel();
|
||||
this.tableLayoutPanel1.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.pictureBoxIcon)).BeginInit();
|
||||
this.flowLayoutPanel1.SuspendLayout();
|
||||
@ -46,9 +47,10 @@ namespace XenAdmin.Dialogs
|
||||
//
|
||||
resources.ApplyResources(this.tableLayoutPanel1, "tableLayoutPanel1");
|
||||
this.tableLayoutPanel1.Controls.Add(this.pictureBoxIcon, 0, 0);
|
||||
this.tableLayoutPanel1.Controls.Add(this.flowLayoutPanel1, 1, 2);
|
||||
this.tableLayoutPanel1.Controls.Add(this.flowLayoutPanel1, 1, 3);
|
||||
this.tableLayoutPanel1.Controls.Add(this.labelMessage, 1, 0);
|
||||
this.tableLayoutPanel1.Controls.Add(this.checkBoxOption, 1, 1);
|
||||
this.tableLayoutPanel1.Controls.Add(this.checkBoxOption, 1, 2);
|
||||
this.tableLayoutPanel1.Controls.Add(this.linkLabel1, 1, 1);
|
||||
this.tableLayoutPanel1.Name = "tableLayoutPanel1";
|
||||
//
|
||||
// pictureBoxIcon
|
||||
@ -99,6 +101,13 @@ namespace XenAdmin.Dialogs
|
||||
this.checkBoxOption.Name = "checkBoxOption";
|
||||
this.checkBoxOption.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// linkLabel1
|
||||
//
|
||||
resources.ApplyResources(this.linkLabel1, "linkLabel1");
|
||||
this.linkLabel1.Name = "linkLabel1";
|
||||
this.linkLabel1.TabStop = true;
|
||||
this.linkLabel1.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkLabel1_LinkClicked);
|
||||
//
|
||||
// ThreeButtonDialog
|
||||
//
|
||||
resources.ApplyResources(this, "$this");
|
||||
@ -128,5 +137,6 @@ namespace XenAdmin.Dialogs
|
||||
private System.Windows.Forms.Button button3;
|
||||
private System.Windows.Forms.LinkLabel labelMessage;
|
||||
private System.Windows.Forms.CheckBox checkBoxOption;
|
||||
private System.Windows.Forms.LinkLabel linkLabel1;
|
||||
}
|
||||
}
|
@ -147,6 +147,20 @@ namespace XenAdmin.Dialogs
|
||||
}
|
||||
}
|
||||
|
||||
public bool ShowLinkLabel
|
||||
{
|
||||
get { return linkLabel1.Visible; }
|
||||
set { linkLabel1.Visible = value; }
|
||||
}
|
||||
|
||||
public string LinkText
|
||||
{
|
||||
get { return linkLabel1.Text; }
|
||||
set { linkLabel1.Text = value; }
|
||||
}
|
||||
|
||||
public string LinkData { get; set; }
|
||||
|
||||
public bool ShowCheckbox
|
||||
{
|
||||
get { return checkBoxOption.Visible; }
|
||||
@ -410,6 +424,16 @@ namespace XenAdmin.Dialogs
|
||||
}
|
||||
catch { } // Best effort
|
||||
}
|
||||
|
||||
private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (!string.IsNullOrEmpty(LinkData))
|
||||
System.Diagnostics.Process.Start(LinkData);
|
||||
}
|
||||
catch { }
|
||||
}
|
||||
}
|
||||
|
||||
public class NonModalThreeButtonDialog : ThreeButtonDialog
|
||||
|
@ -180,9 +180,6 @@
|
||||
<data name="button3.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>165, 3</value>
|
||||
</data>
|
||||
<data name="button3.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>3, 3, 0, 0</value>
|
||||
</data>
|
||||
<data name="button3.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>75, 30</value>
|
||||
</data>
|
||||
@ -213,9 +210,6 @@
|
||||
<data name="button2.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>84, 3</value>
|
||||
</data>
|
||||
<data name="button2.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>3, 3, 3, 0</value>
|
||||
</data>
|
||||
<data name="button2.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>75, 30</value>
|
||||
</data>
|
||||
@ -246,9 +240,6 @@
|
||||
<data name="button1.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>3, 3</value>
|
||||
</data>
|
||||
<data name="button1.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>3, 3, 3, 0</value>
|
||||
</data>
|
||||
<data name="button1.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>75, 30</value>
|
||||
</data>
|
||||
@ -277,13 +268,13 @@
|
||||
<value>Segoe UI, 9pt</value>
|
||||
</data>
|
||||
<data name="flowLayoutPanel1.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>96, 74</value>
|
||||
<value>93, 86</value>
|
||||
</data>
|
||||
<data name="flowLayoutPanel1.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>50, 0, 0, 0</value>
|
||||
</data>
|
||||
<data name="flowLayoutPanel1.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>240, 33</value>
|
||||
<value>243, 36</value>
|
||||
</data>
|
||||
<data name="flowLayoutPanel1.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>2</value>
|
||||
@ -313,10 +304,10 @@
|
||||
<value>0, 0</value>
|
||||
</data>
|
||||
<data name="labelMessage.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>43, 5</value>
|
||||
<value>41, 0</value>
|
||||
</data>
|
||||
<data name="labelMessage.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>5, 5, 5, 15</value>
|
||||
<value>3, 0, 3, 15</value>
|
||||
</data>
|
||||
<data name="labelMessage.MaximumSize" type="System.Drawing.Size, System.Drawing">
|
||||
<value>409, 9999</value>
|
||||
@ -349,7 +340,7 @@
|
||||
<value>Segoe UI, 9pt</value>
|
||||
</data>
|
||||
<data name="checkBoxOption.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>41, 52</value>
|
||||
<value>41, 64</value>
|
||||
</data>
|
||||
<data name="checkBoxOption.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>82, 19</value>
|
||||
@ -375,6 +366,39 @@
|
||||
<data name=">>checkBoxOption.ZOrder" xml:space="preserve">
|
||||
<value>3</value>
|
||||
</data>
|
||||
<data name="linkLabel1.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="linkLabel1.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Segoe UI, 9pt</value>
|
||||
</data>
|
||||
<data name="linkLabel1.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>41, 46</value>
|
||||
</data>
|
||||
<data name="linkLabel1.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>60, 15</value>
|
||||
</data>
|
||||
<data name="linkLabel1.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>5</value>
|
||||
</data>
|
||||
<data name="linkLabel1.Text" xml:space="preserve">
|
||||
<value>linkLabel1</value>
|
||||
</data>
|
||||
<data name="linkLabel1.Visible" type="System.Boolean, mscorlib">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name=">>linkLabel1.Name" xml:space="preserve">
|
||||
<value>linkLabel1</value>
|
||||
</data>
|
||||
<data name=">>linkLabel1.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>linkLabel1.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>linkLabel1.ZOrder" xml:space="preserve">
|
||||
<value>4</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
@ -388,10 +412,10 @@
|
||||
<value>10, 10, 10, 10</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.RowCount" type="System.Int32, mscorlib">
|
||||
<value>3</value>
|
||||
<value>4</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>336, 107</value>
|
||||
<value>336, 122</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>0</value>
|
||||
@ -409,7 +433,7 @@
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
|
||||
<value><?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="pictureBoxIcon" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="flowLayoutPanel1" Row="2" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="labelMessage" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="checkBoxOption" Row="1" RowSpan="1" Column="1" ColumnSpan="1" /></Controls><Columns Styles="AutoSize,0,Percent,100" /><Rows Styles="Percent,100,AutoSize,0,AutoSize,0" /></TableLayoutSettings></value>
|
||||
<value><?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="pictureBoxIcon" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="flowLayoutPanel1" Row="3" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="labelMessage" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="checkBoxOption" Row="2" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="linkLabel1" Row="1" RowSpan="1" Column="1" ColumnSpan="1" /></Controls><Columns Styles="AutoSize,0,Percent,100" /><Rows Styles="Percent,100,AutoSize,0,AutoSize,0,AutoSize,0" /></TableLayoutSettings></value>
|
||||
</data>
|
||||
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
@ -424,7 +448,7 @@
|
||||
<value>GrowAndShrink</value>
|
||||
</data>
|
||||
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
|
||||
<value>356, 127</value>
|
||||
<value>356, 142</value>
|
||||
</data>
|
||||
<data name="$this.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Segoe UI, 9pt</value>
|
||||
|
@ -76,7 +76,7 @@ namespace XenAdmin.Dialogs
|
||||
{
|
||||
// Check if vSwitch Controller is configured for the pool (CA-46299)
|
||||
Pool pool = Helpers.GetPoolOfOne(connection);
|
||||
var vSwitchController = pool != null && pool.vSwitchController();
|
||||
var vSwitchController = !Helpers.StockholmOrGreater(connection) && pool != null && pool.vSwitchController();
|
||||
|
||||
if (vSwitchController)
|
||||
{
|
||||
@ -203,21 +203,9 @@ namespace XenAdmin.Dialogs
|
||||
comboBoxNetwork.SelectedIndex = 0;
|
||||
}
|
||||
|
||||
private XenAPI.Network SelectedNetwork
|
||||
{
|
||||
get
|
||||
{
|
||||
return ((NetworkComboBoxItem)comboBoxNetwork.SelectedItem).Network;
|
||||
}
|
||||
}
|
||||
private XenAPI.Network SelectedNetwork => (comboBoxNetwork.SelectedItem as NetworkComboBoxItem)?.Network;
|
||||
|
||||
private string SelectedMac
|
||||
{
|
||||
get
|
||||
{
|
||||
return radioButtonAutogenerate.Checked ? "" : promptTextBoxMac.Text;
|
||||
}
|
||||
}
|
||||
private string SelectedMac => radioButtonAutogenerate.Checked ? "" : promptTextBoxMac.Text;
|
||||
|
||||
public VIF NewVif()
|
||||
{
|
||||
@ -387,16 +375,7 @@ namespace XenAdmin.Dialogs
|
||||
|
||||
#endregion
|
||||
|
||||
internal override string HelpName
|
||||
{
|
||||
get
|
||||
{
|
||||
if (ExistingVif != null)
|
||||
return "EditVmNetworkSettingsDialog";
|
||||
else
|
||||
return "VIFDialog";
|
||||
}
|
||||
}
|
||||
internal override string HelpName => ExistingVif == null ? "VIFDialog" : "EditVmNetworkSettingsDialog";
|
||||
}
|
||||
|
||||
public class NetworkComboBoxItem : IEquatable<NetworkComboBoxItem>
|
||||
|
@ -73,7 +73,7 @@ namespace XenAdmin.Dialogs
|
||||
vm.Locked = false;
|
||||
}
|
||||
}
|
||||
else if (Program.MainWindow.SelectObject(vm))
|
||||
else if (Program.MainWindow.SelectObjectInTree(vm))
|
||||
{
|
||||
Program.MainWindow.SwitchToTab(MainWindow.Tab.General);
|
||||
}
|
||||
|
@ -32,16 +32,22 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Linq;
|
||||
using System.Windows.Forms;
|
||||
using XenAdmin.Network;
|
||||
using XenAdmin.Core;
|
||||
using XenAdmin.Help;
|
||||
using XenAPI;
|
||||
|
||||
namespace XenAdmin.Dialogs
|
||||
{
|
||||
public partial class XenDialogBase : Form, IFormWithHelp
|
||||
{
|
||||
private static Dictionary<IXenConnection, List<XenDialogBase>> instances = new Dictionary<IXenConnection, List<XenDialogBase>>();
|
||||
private static readonly Dictionary<IXenConnection, List<XenDialogBase>> instances = new Dictionary<IXenConnection, List<XenDialogBase>>();
|
||||
private static readonly Dictionary<IXenObject, XenDialogBase> instancePerXenObject = new Dictionary<IXenObject, XenDialogBase>();
|
||||
|
||||
protected readonly IXenConnection connection;
|
||||
private IXenObject ownerXenObject;
|
||||
|
||||
private static void AddInstance(IXenConnection connection, XenDialogBase dialog)
|
||||
{
|
||||
@ -79,7 +85,24 @@ namespace XenAdmin.Dialogs
|
||||
}
|
||||
}
|
||||
|
||||
protected readonly IXenConnection connection;
|
||||
public static void CloseAll(params IXenObject[] xenObjects)
|
||||
{
|
||||
Program.AssertOnEventThread();
|
||||
|
||||
if (xenObjects == null)
|
||||
return;
|
||||
|
||||
foreach (var kvp in instancePerXenObject.ToDictionary(p => p.Key, p => p.Value))
|
||||
{
|
||||
if (!xenObjects.Contains(kvp.Key))
|
||||
continue;
|
||||
|
||||
if (kvp.Value is Form form && !form.IsDisposed)
|
||||
form.Close();
|
||||
|
||||
instancePerXenObject.Remove(kvp.Key);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The VS designer does not seem to understand optional parameters,
|
||||
@ -103,16 +126,38 @@ namespace XenAdmin.Dialogs
|
||||
AddInstance(connection, this);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// override if the reference in the help differs to the dialogs name
|
||||
/// </summary>
|
||||
internal virtual string HelpName => Name;
|
||||
|
||||
/// <summary>
|
||||
/// Allow the XenDialogBase.OnClosed to set Owner.Activate() - this will push the Owner
|
||||
/// to the top of the windows stack stealing focus.
|
||||
/// </summary>
|
||||
protected bool OwnerActivatedOnClosed { get; set; } = true;
|
||||
|
||||
public void ShowPerXenObject(IXenObject obj, Form ownerForm)
|
||||
{
|
||||
CloseAll(obj);
|
||||
ownerXenObject = obj;
|
||||
instancePerXenObject.Add(obj, this);
|
||||
Show(ownerForm);
|
||||
}
|
||||
|
||||
protected override void OnClosed(EventArgs e)
|
||||
{
|
||||
base.OnClosed(e);
|
||||
|
||||
if (ownerXenObject != null)
|
||||
{
|
||||
foreach (var kvp in instancePerXenObject.ToDictionary(p => p.Key, p => p.Value))
|
||||
{
|
||||
if (kvp.Key.Equals(ownerXenObject))
|
||||
instancePerXenObject.Remove(kvp.Key);
|
||||
}
|
||||
}
|
||||
|
||||
lock (instances)
|
||||
{
|
||||
if (connection != null && instances.ContainsKey(connection))
|
||||
@ -125,18 +170,13 @@ namespace XenAdmin.Dialogs
|
||||
Owner.Activate();
|
||||
}
|
||||
|
||||
private void XenDialogBase_Load(object sender, EventArgs e)
|
||||
{
|
||||
//this.Owner = Program.MainWindow;
|
||||
this.CenterToParent();
|
||||
FormFontFixer.Fix(this);
|
||||
}
|
||||
|
||||
public bool HasHelp()
|
||||
{
|
||||
return HelpManager.TryGetTopicId(HelpName, out _);
|
||||
}
|
||||
|
||||
#region Event handlers
|
||||
|
||||
private void XenDialogBase_HelpButtonClicked(object sender, CancelEventArgs e)
|
||||
{
|
||||
HelpManager.Launch(HelpName);
|
||||
@ -149,11 +189,6 @@ namespace XenAdmin.Dialogs
|
||||
hlpevent.Handled = true;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// override if the reference in the help differs to the dialogs name
|
||||
/// </summary>
|
||||
internal virtual string HelpName => Name;
|
||||
|
||||
private void XenDialogBase_Shown(object sender, EventArgs e)
|
||||
{
|
||||
if (Modal && Owner != null && Owner.WindowState == FormWindowState.Minimized)
|
||||
@ -162,5 +197,13 @@ namespace XenAdmin.Dialogs
|
||||
CenterToParent();
|
||||
}
|
||||
}
|
||||
|
||||
private void XenDialogBase_Load(object sender, EventArgs e)
|
||||
{
|
||||
CenterToParent();
|
||||
FormFontFixer.Fix(this);
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
|
@ -51,12 +51,10 @@ namespace XenAdmin
|
||||
void TrySelectNewObjectInTree(Predicate<object> tagMatch, bool selectNode, bool expandNode, bool ensureNodeVisible);
|
||||
void TrySelectNewObjectInTree(IXenConnection c, bool selectNode, bool expandNode, bool ensureNodeVisible);
|
||||
void RequestRefreshTreeView();
|
||||
void ShowPerXenModelObjectWizard(IXenObject obj, Form wizard);
|
||||
void ShowPerConnectionWizard(IXenConnection connection, Form wizard, Form parentForm = null);
|
||||
Form ShowForm(Type type);
|
||||
Form ShowForm(Type type, object[] args);
|
||||
void CloseActiveWizards(IXenConnection connection);
|
||||
void CloseActiveWizards(IXenObject xenObject);
|
||||
Collection<IXenConnection> GetXenConnectionsCopy();
|
||||
void SaveServerList();
|
||||
bool DoSearch(string filename);
|
||||
|
@ -118,7 +118,6 @@ namespace XenAdmin
|
||||
private bool mainWindowResized = false;
|
||||
|
||||
private readonly Dictionary<IXenConnection, IList<Form>> activePoolWizards = new Dictionary<IXenConnection, IList<Form>>();
|
||||
private readonly Dictionary<IXenObject, Form> activeXenModelObjectWizards = new Dictionary<IXenObject, Form>();
|
||||
|
||||
/// <summary>
|
||||
/// The arguments passed in on the command line.
|
||||
@ -1015,7 +1014,7 @@ namespace XenAdmin
|
||||
{
|
||||
if (host.IsLive() && host.MaintenanceMode() && host.enabled)
|
||||
{
|
||||
Program.MainWindow.CloseActiveWizards(host);
|
||||
Program.Invoke(this, () => XenDialogBase.CloseAll(host));
|
||||
|
||||
var action = new DisableHostAction(host);
|
||||
action.Completed += action_Completed;
|
||||
@ -1071,7 +1070,7 @@ namespace XenAdmin
|
||||
{
|
||||
VM vm = (VM)e.Element;
|
||||
ConsolePanel.closeVNCForSource(vm);
|
||||
CloseActiveWizards(vm);
|
||||
XenDialogBase.CloseAll(vm);
|
||||
}
|
||||
|
||||
selectedTabs.Remove(o);
|
||||
@ -1132,6 +1131,21 @@ namespace XenAdmin
|
||||
if(Helpers.GetPool(host.Connection) == null)
|
||||
host.Connection.FriendlyName = Helpers.GetName(host);
|
||||
break;
|
||||
|
||||
case "patches":
|
||||
if (!Helpers.ElyOrGreater(host))
|
||||
{
|
||||
Updates.CheckServerPatches();
|
||||
Updates.CheckServerVersion();
|
||||
}
|
||||
break;
|
||||
case "updates":
|
||||
if (Helpers.ElyOrGreater(host))
|
||||
{
|
||||
Updates.CheckServerPatches();
|
||||
Updates.CheckServerVersion();
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@ -2219,24 +2233,15 @@ namespace XenAdmin
|
||||
#region IMainWindowCommandInterface Members
|
||||
|
||||
/// <summary>
|
||||
/// Closes all per-Connection and per-VM wizards for the given connection.
|
||||
/// Closes all per-Connection and per-XenObject forms for the given connection.
|
||||
/// </summary>
|
||||
/// <param name="connection"></param>
|
||||
public void CloseActiveWizards(IXenConnection connection)
|
||||
{
|
||||
Program.Invoke(Program.MainWindow, delegate
|
||||
{
|
||||
var vms = connection.Cache.VMs;
|
||||
foreach (var kvp in activeXenModelObjectWizards)
|
||||
{
|
||||
if (kvp.Key is VM vm && vms.Contains(vm))
|
||||
{
|
||||
if (kvp.Value is Form wizard && !wizard.IsDisposed)
|
||||
wizard.Close();
|
||||
|
||||
activeXenModelObjectWizards.Remove(vm);
|
||||
}
|
||||
}
|
||||
//so far we show per-xenObject forms only for VMs and Hosts
|
||||
XenDialogBase.CloseAll(connection.Cache.VMs.Cast<IXenObject>().Union(connection.Cache.Hosts).ToArray());
|
||||
|
||||
if (activePoolWizards.TryGetValue(connection, out IList<Form> wizards))
|
||||
{
|
||||
@ -2251,36 +2256,6 @@ namespace XenAdmin
|
||||
});
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Closes all per-XenObject wizards.
|
||||
/// </summary>
|
||||
/// <param name="obj"></param>
|
||||
public void CloseActiveWizards(IXenObject obj)
|
||||
{
|
||||
Program.Invoke(Program.MainWindow, delegate
|
||||
{
|
||||
if (activeXenModelObjectWizards.TryGetValue(obj, out Form wizard))
|
||||
{
|
||||
if (!wizard.IsDisposed)
|
||||
wizard.Close();
|
||||
|
||||
activeXenModelObjectWizards.Remove(obj);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Show the given wizard, and impose a one-wizard-per-XenObject limit.
|
||||
/// </summary>
|
||||
/// <param name="obj">The relevant VM</param>
|
||||
/// <param name="wizard">The new wizard to show</param>
|
||||
public void ShowPerXenModelObjectWizard(IXenObject obj, Form wizard)
|
||||
{
|
||||
CloseActiveWizards(obj);
|
||||
activeXenModelObjectWizards.Add(obj, wizard);
|
||||
wizard.Show(this);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Show the given wizard, and impose a one-wizard-per-connection limit.
|
||||
/// </summary>
|
||||
@ -2366,9 +2341,14 @@ namespace XenAdmin
|
||||
Program.Invoke(this, method);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Selects the specified object in the treeview.
|
||||
/// </summary>
|
||||
/// <param name="xenObject">The object to be selected.</param>
|
||||
/// <returns>A value indicating whether selection was successful.</returns>
|
||||
public bool SelectObjectInTree(IXenObject xenObject)
|
||||
{
|
||||
return SelectObject(xenObject);
|
||||
return navigationPane.SelectObject(xenObject);
|
||||
}
|
||||
|
||||
public Collection<IXenConnection> GetXenConnectionsCopy()
|
||||
@ -2396,7 +2376,6 @@ namespace XenAdmin
|
||||
EditSelectedNodeInTreeView();
|
||||
}
|
||||
|
||||
|
||||
public void TrySelectNewObjectInTree(Predicate<object> tagMatch, bool selectNode, bool expandNode, bool ensureNodeVisible)
|
||||
{
|
||||
TrySelectNewNode(tagMatch, selectNode, expandNode, ensureNodeVisible);
|
||||
@ -2556,16 +2535,6 @@ namespace XenAdmin
|
||||
});
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Selects the specified object in the treeview.
|
||||
/// </summary>
|
||||
/// <param name="o">The object to be selected.</param>
|
||||
/// <returns>A value indicating whether selection was successful.</returns>
|
||||
public bool SelectObject(IXenObject o)
|
||||
{
|
||||
return navigationPane.SelectObject(o);
|
||||
}
|
||||
|
||||
private void eventsPage_GoToXenObjectRequested(IXenObject obj)
|
||||
{
|
||||
navigationPane.SwitchToInfrastructureMode();
|
||||
|
@ -58,19 +58,19 @@ namespace XenAdmin.Network
|
||||
public static void BeginConnect(IXenConnection connection, bool interactive, Form owner, bool initiateMasterSearch)
|
||||
{
|
||||
Program.AssertOnEventThread();
|
||||
RegisterEventHandlers(connection);
|
||||
|
||||
if (interactive)
|
||||
{
|
||||
// CA-214953 - Focus on this connection's dialog, if one exists, otherwise create one
|
||||
if (connectionDialogs.TryGetValue(connection, out ConnectingToServerDialog dlg))
|
||||
{
|
||||
UnregisterEventHandlers(connection);
|
||||
if (dlg.WindowState == FormWindowState.Minimized)
|
||||
dlg.WindowState = FormWindowState.Normal;
|
||||
dlg.Focus();
|
||||
return;
|
||||
}
|
||||
|
||||
RegisterEventHandlers(connection);
|
||||
dlg = new ConnectingToServerDialog(connection);
|
||||
connectionDialogs.Add(connection, dlg);
|
||||
|
||||
@ -78,7 +78,10 @@ namespace XenAdmin.Network
|
||||
connectionDialogs.Remove(connection);
|
||||
}
|
||||
else
|
||||
{
|
||||
RegisterEventHandlers(connection);
|
||||
((XenConnection)connection).BeginConnect(initiateMasterSearch, PromptForNewPassword);
|
||||
}
|
||||
}
|
||||
|
||||
private static bool PromptForNewPassword(IXenConnection connection, string oldPassword)
|
||||
|
@ -145,7 +145,7 @@
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="labelTitle.Text" xml:space="preserve">
|
||||
<value>Clustering allows you to create and use thinly provisioned (GFS2) storage repositories. Select whether you want to enable clustering on this pool. Clustering can be enabled on any management or storage network that has an IP address configured on all hosts in the pool. It is recommended to use a bonded network that is not used for storage.</value>
|
||||
<value>Clustering allows you to create and use thinly provisioned (GFS2) storage repositories. Select whether you want to enable clustering on this pool. For the cluster network use a dedicated bonded network that has an IP address configured on all hosts in the pool. Ensure that the bonded NICs are on the same L2 segment.</value>
|
||||
</data>
|
||||
<data name=">>labelTitle.Name" xml:space="preserve">
|
||||
<value>labelTitle</value>
|
||||
|
6
XenAdmin/TabPages/ManageUpdatesPage.Designer.cs
generated
6
XenAdmin/TabPages/ManageUpdatesPage.Designer.cs
generated
@ -165,19 +165,17 @@
|
||||
//
|
||||
// byUpdateToolStripMenuItem
|
||||
//
|
||||
this.byUpdateToolStripMenuItem.CheckOnClick = true;
|
||||
this.byUpdateToolStripMenuItem.Image = global::XenAdmin.Properties.Resources.notif_updates_16;
|
||||
resources.ApplyResources(this.byUpdateToolStripMenuItem, "byUpdateToolStripMenuItem");
|
||||
this.byUpdateToolStripMenuItem.Name = "byUpdateToolStripMenuItem";
|
||||
this.byUpdateToolStripMenuItem.CheckedChanged += new System.EventHandler(this.byUpdateToolStripMenuItem_CheckedChanged);
|
||||
this.byUpdateToolStripMenuItem.Click += new System.EventHandler(this.byUpdateToolStripMenuItem_Click);
|
||||
//
|
||||
// byHostToolStripMenuItem
|
||||
//
|
||||
this.byHostToolStripMenuItem.CheckOnClick = true;
|
||||
this.byHostToolStripMenuItem.Image = global::XenAdmin.Properties.Resources._000_TreeConnected_h32bit_16;
|
||||
resources.ApplyResources(this.byHostToolStripMenuItem, "byHostToolStripMenuItem");
|
||||
this.byHostToolStripMenuItem.Name = "byHostToolStripMenuItem";
|
||||
this.byHostToolStripMenuItem.CheckedChanged += new System.EventHandler(this.byHostToolStripMenuItem_CheckedChanged);
|
||||
this.byHostToolStripMenuItem.Click += new System.EventHandler(this.byHostToolStripMenuItem_Click);
|
||||
//
|
||||
// toolStripSeparator2
|
||||
//
|
||||
|
@ -66,7 +66,9 @@ namespace XenAdmin.TabPages
|
||||
private List<string> collapsedPoolRowsList = new List<string>();
|
||||
private int checksQueue;
|
||||
private bool CheckForUpdatesInProgress;
|
||||
private readonly CollectionChangeEventHandler m_updateCollectionChangedWithInvoke;
|
||||
|
||||
private volatile bool _buildInProgress;
|
||||
private volatile bool _buildRequired;
|
||||
|
||||
public ManageUpdatesPage()
|
||||
{
|
||||
@ -74,7 +76,6 @@ namespace XenAdmin.TabPages
|
||||
InitializeProgressControls();
|
||||
tableLayoutPanel1.Visible = false;
|
||||
UpdateButtonEnablement();
|
||||
m_updateCollectionChangedWithInvoke = Program.ProgramInvokeHandler(UpdatesCollectionChanged);
|
||||
toolStripSplitButtonDismiss.DefaultItem = dismissAllToolStripMenuItem;
|
||||
toolStripSplitButtonDismiss.Text = dismissAllToolStripMenuItem.Text;
|
||||
|
||||
@ -84,6 +85,7 @@ namespace XenAdmin.TabPages
|
||||
checksQueue++;
|
||||
byHostToolStripMenuItem.Checked = Properties.Settings.Default.ShowUpdatesByServer;
|
||||
byUpdateToolStripMenuItem.Checked = !Properties.Settings.Default.ShowUpdatesByServer;
|
||||
ToggleView();
|
||||
}
|
||||
finally
|
||||
{
|
||||
@ -101,7 +103,7 @@ namespace XenAdmin.TabPages
|
||||
|
||||
protected override void RegisterEventHandlers()
|
||||
{
|
||||
Updates.RegisterCollectionChanged(m_updateCollectionChangedWithInvoke);
|
||||
Updates.RegisterCollectionChanged(UpdatesCollectionChanged);
|
||||
Updates.RestoreDismissedUpdatesStarted += Updates_RestoreDismissedUpdatesStarted;
|
||||
Updates.CheckForUpdatesStarted += CheckForUpdates_CheckForUpdatesStarted;
|
||||
Updates.CheckForUpdatesCompleted += CheckForUpdates_CheckForUpdatesCompleted;
|
||||
@ -109,7 +111,7 @@ namespace XenAdmin.TabPages
|
||||
|
||||
protected override void DeregisterEventHandlers()
|
||||
{
|
||||
Updates.DeregisterCollectionChanged(m_updateCollectionChangedWithInvoke);
|
||||
Updates.DeregisterCollectionChanged(UpdatesCollectionChanged);
|
||||
Updates.RestoreDismissedUpdatesStarted -= Updates_RestoreDismissedUpdatesStarted;
|
||||
Updates.CheckForUpdatesStarted -= CheckForUpdates_CheckForUpdatesStarted;
|
||||
Updates.CheckForUpdatesCompleted -= CheckForUpdates_CheckForUpdatesCompleted;
|
||||
@ -121,25 +123,16 @@ namespace XenAdmin.TabPages
|
||||
|
||||
private void UpdatesCollectionChanged(object sender, CollectionChangeEventArgs e)
|
||||
{
|
||||
Program.AssertOnEventThread();
|
||||
|
||||
switch (e.Action)
|
||||
{
|
||||
case CollectionChangeAction.Add:
|
||||
Rebuild(); // rebuild entire alert list to ensure filtering and sorting
|
||||
break;
|
||||
case CollectionChangeAction.Remove:
|
||||
Alert a = e.Element as Alert;
|
||||
if (a != null)
|
||||
{
|
||||
RemoveUpdateRow(a);
|
||||
}
|
||||
else
|
||||
{
|
||||
var range = e.Element as List<Alert>;
|
||||
if (range != null)
|
||||
Rebuild();
|
||||
}
|
||||
if (e.Element is Alert a)
|
||||
Program.Invoke(Program.MainWindow, () => RemoveUpdateRow(a));
|
||||
else if (e.Element is List<Alert>)
|
||||
Rebuild();
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -252,18 +245,40 @@ namespace XenAdmin.TabPages
|
||||
|
||||
private void Rebuild()
|
||||
{
|
||||
Program.AssertOnEventThread();
|
||||
|
||||
if (!Visible || checksQueue > 0)
|
||||
if (_buildInProgress)
|
||||
{
|
||||
_buildRequired = true;
|
||||
return;
|
||||
}
|
||||
|
||||
SetFilterLabel();
|
||||
ToggleTopWarningVisibility();
|
||||
Program.Invoke(Program.MainWindow, () =>
|
||||
{
|
||||
if (!Visible || checksQueue > 0)
|
||||
return;
|
||||
|
||||
if (byUpdateToolStripMenuItem.Checked)
|
||||
RebuildUpdateView();
|
||||
else
|
||||
RebuildHostView();
|
||||
try
|
||||
{
|
||||
_buildInProgress = true;
|
||||
|
||||
SetFilterLabel();
|
||||
ToggleTopWarningVisibility();
|
||||
|
||||
if (byUpdateToolStripMenuItem.Checked)
|
||||
RebuildUpdateView();
|
||||
else
|
||||
RebuildHostView();
|
||||
}
|
||||
finally
|
||||
{
|
||||
_buildInProgress = false;
|
||||
|
||||
if (_buildRequired)
|
||||
{
|
||||
_buildRequired = false;
|
||||
Rebuild();
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private class UpdatePageByHostDataGridView : CollapsingPoolHostDataGridView
|
||||
@ -360,16 +375,13 @@ namespace XenAdmin.TabPages
|
||||
// fill data into row
|
||||
private void UpdateDetails()
|
||||
{
|
||||
Pool pool = Tag as Pool;
|
||||
|
||||
if (pool != null)
|
||||
if (Tag is Pool pool)
|
||||
{
|
||||
Host master = pool.Connection.Resolve(pool.master);
|
||||
SetCollapseIcon();
|
||||
_poolIconCell.Value = Images.GetImage16For(pool);
|
||||
|
||||
DataGridViewTextAndImageCell nc = _nameCell as DataGridViewTextAndImageCell;
|
||||
if (nc != null)
|
||||
if (_nameCell is DataGridViewTextAndImageCell nc)
|
||||
nc.Image = null;
|
||||
|
||||
_nameCell.Value = pool.Name();
|
||||
@ -390,51 +402,42 @@ namespace XenAdmin.TabPages
|
||||
_statusCell.Value = String.Empty;
|
||||
}
|
||||
}
|
||||
|
||||
else
|
||||
else if (Tag is Host host)
|
||||
{
|
||||
Host host = Tag as Host;
|
||||
if (host != null)
|
||||
var hostRequired = RequiredUpdatesForHost(host);
|
||||
var hostInstalled = InstalledUpdatesForHost(host);
|
||||
var outOfDate = hostRequired.Length > 0;
|
||||
|
||||
DataGridViewTextAndImageCell nc = _nameCell as DataGridViewTextAndImageCell;
|
||||
|
||||
if (_hasPool && nc != null) // host in pool
|
||||
{
|
||||
var hostRequired = RequiredUpdatesForHost(host);
|
||||
var hostInstalled = InstalledUpdatesForHost(host);
|
||||
var outOfDate = hostRequired.Length > 0;
|
||||
|
||||
DataGridViewTextAndImageCell nc = _nameCell as DataGridViewTextAndImageCell;
|
||||
|
||||
if (_hasPool && nc != null) // host in pool
|
||||
nc.Image = Images.GetImage16For(host);
|
||||
_statusCell.Value = String.Empty;
|
||||
}
|
||||
else if (!_hasPool && nc != null) // standalone host
|
||||
{
|
||||
_poolIconCell.Value = Images.GetImage16For(host);
|
||||
nc.Image = null;
|
||||
if (IsFullyPopulated)
|
||||
{
|
||||
_patchingStatusCell.Value = outOfDate
|
||||
? Properties.Resources._000_error_h32bit_16
|
||||
: Properties.Resources._000_Tick_h32bit_16;
|
||||
_statusCell.Value = outOfDate ? Messages.NOT_UPDATED : Messages.UPDATED;
|
||||
}
|
||||
else
|
||||
{
|
||||
nc.Image = Images.GetImage16For(host);
|
||||
_statusCell.Value = String.Empty;
|
||||
}
|
||||
else if (!_hasPool && nc != null) // standalone host
|
||||
{
|
||||
_poolIconCell.Value = Images.GetImage16For(host);
|
||||
nc.Image = null;
|
||||
if (IsFullyPopulated)
|
||||
{
|
||||
_patchingStatusCell.Value = outOfDate
|
||||
? Properties.Resources._000_error_h32bit_16
|
||||
: Properties.Resources._000_Tick_h32bit_16;
|
||||
_statusCell.Value = outOfDate ? Messages.NOT_UPDATED : Messages.UPDATED;
|
||||
}
|
||||
else
|
||||
{
|
||||
_statusCell.Value = String.Empty;
|
||||
}
|
||||
}
|
||||
|
||||
_nameCell.Value = host.Name();
|
||||
_versionCell.Value = host.ProductVersionTextShort();
|
||||
_installedUpdateCell.Value = hostInstalled;
|
||||
if (IsFullyPopulated)
|
||||
_requiredUpdateCell.Value = hostRequired;
|
||||
else
|
||||
_requiredUpdateCell.Value = String.Empty;
|
||||
}
|
||||
|
||||
_nameCell.Value = host.Name();
|
||||
_versionCell.Value = host.ProductVersionTextShort();
|
||||
_installedUpdateCell.Value = hostInstalled;
|
||||
_requiredUpdateCell.Value = IsFullyPopulated ? hostRequired : string.Empty;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private static string RequiredUpdatesForHost(Host host)
|
||||
@ -663,7 +666,6 @@ namespace XenAdmin.TabPages
|
||||
/// <summary>
|
||||
/// Runs all the current filters on the alert to determine if it should be shown in the list or not.
|
||||
/// </summary>
|
||||
/// <param name="alert"></param>
|
||||
private bool FilterAlert(Alert alert)
|
||||
{
|
||||
var hosts = new List<string>();
|
||||
@ -809,7 +811,7 @@ namespace XenAdmin.TabPages
|
||||
|
||||
if (!string.IsNullOrEmpty(alert.WebPageLabel))
|
||||
{
|
||||
var fix = new ToolStripMenuItem(alert.FixLinkText);
|
||||
var fix = new ToolStripMenuItem(alert.FixLinkText) {ToolTipText = alert.WebPageLabel};
|
||||
fix.Click += ToolStripMenuItemGoToWebPage_Click;
|
||||
items.Add(fix);
|
||||
}
|
||||
@ -855,7 +857,6 @@ namespace XenAdmin.TabPages
|
||||
/// After the Delete action is completed the page is refreshed and the restore dismissed
|
||||
/// button is enabled again.
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
private void DeleteAllAlertsAction_Completed(ActionBase sender)
|
||||
{
|
||||
Program.Invoke(Program.MainWindow, () =>
|
||||
@ -881,8 +882,6 @@ namespace XenAdmin.TabPages
|
||||
/// If the answer of the user to the dialog is YES, then make a list with all the updates and call
|
||||
/// DismissUpdates on that list.
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
private void dismissAllToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
DialogResult result = DialogResult.Yes;
|
||||
@ -929,8 +928,6 @@ namespace XenAdmin.TabPages
|
||||
/// If the answer of the user to the dialog is YES, then make a list of all the selected rows
|
||||
/// and call DismissUpdates on that list.
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
private void dismissSelectedToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (!Properties.Settings.Default.DoNotConfirmDismissUpdates)
|
||||
@ -1428,19 +1425,21 @@ namespace XenAdmin.TabPages
|
||||
labelProgress.MaximumSize = new Size(tableLayoutPanel3.Width - 60, tableLayoutPanel3.Size.Height);
|
||||
}
|
||||
|
||||
private void byUpdateToolStripMenuItem_CheckedChanged(object sender, EventArgs e)
|
||||
private void byUpdateToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (byUpdateToolStripMenuItem.Checked)
|
||||
if (!byUpdateToolStripMenuItem.Checked)
|
||||
{
|
||||
byUpdateToolStripMenuItem.Checked = true;
|
||||
byHostToolStripMenuItem.Checked = false;
|
||||
ToggleView();
|
||||
}
|
||||
}
|
||||
|
||||
private void byHostToolStripMenuItem_CheckedChanged(object sender, EventArgs e)
|
||||
private void byHostToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (byHostToolStripMenuItem.Checked)
|
||||
if (!byHostToolStripMenuItem.Checked)
|
||||
{
|
||||
byHostToolStripMenuItem.Checked = true;
|
||||
byUpdateToolStripMenuItem.Checked = false;
|
||||
ToggleView();
|
||||
}
|
||||
|
@ -136,7 +136,7 @@ namespace XenAdmin.Wizards.GenericPages
|
||||
}
|
||||
} while (retries-- > 0);
|
||||
|
||||
FailureReason = Messages.DELAY_LOADED_COMBO_BOX_ITEM_FAILURE_UNKOWN;
|
||||
FailureReason = Messages.DELAY_LOADED_COMBO_BOX_ITEM_FAILURE_UNKNOWN;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
@ -780,7 +780,7 @@ namespace XenAdmin.Wizards.HAWizard_Pages
|
||||
break;
|
||||
default:
|
||||
// We shouldn't really be here unless we have not iterated through all the return errors from vm.assert_agile
|
||||
msg = Messages.NOT_AGILE_UNKOWN;
|
||||
msg = Messages.NOT_AGILE_UNKNOWN;
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -230,11 +230,8 @@ namespace XenAdmin.Wizards
|
||||
nic = pageNetworkDetails.SelectedHostNic;
|
||||
}
|
||||
|
||||
|
||||
long vlan = pageNetworkDetails.VLAN;
|
||||
|
||||
NetworkAction action = pageNetworkType.SelectedNetworkType == NetworkTypes.External
|
||||
? new NetworkAction(xenConnection, network, nic, vlan)
|
||||
? new NetworkAction(xenConnection, network, nic, pageNetworkDetails.VLAN)
|
||||
: new NetworkAction(xenConnection, network, true);
|
||||
action.RunAsync();
|
||||
}
|
||||
@ -251,14 +248,18 @@ namespace XenAdmin.Wizards
|
||||
var autoPlug = pageNetworkType.SelectedNetworkType == NetworkTypes.CHIN
|
||||
? pageChinDetails.isAutomaticAddNicToVM
|
||||
: pageNetworkType.SelectedNetworkType == NetworkTypes.SRIOV
|
||||
? pageSriovDetails.isAutomaticAddNicToVM
|
||||
: pageNetworkDetails.isAutomaticAddNicToVM;
|
||||
? pageSriovDetails.AddNicToVmsAutomatically
|
||||
: pageNetworkDetails.AddNicToVmsAutomatically;
|
||||
result.SetAutoPlug(autoPlug);
|
||||
|
||||
if (pageNetworkType.SelectedNetworkType == NetworkTypes.CHIN)
|
||||
result.MTU = pageChinDetails.MTU;
|
||||
else if (pageNetworkDetails.MTU.HasValue) //Custom MTU may not be allowed if we are making a virtual network or something
|
||||
result.MTU = pageNetworkDetails.MTU.Value;
|
||||
else
|
||||
{
|
||||
int mtu = pageNetworkDetails.MTU;
|
||||
if (mtu != -1) //Custom MTU may not be allowed if we are making a virtual network or something
|
||||
result.MTU = mtu;
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
@ -161,7 +161,7 @@
|
||||
<value>Tahoma, 8pt</value>
|
||||
</data>
|
||||
<data name="$this.MinimumSize" type="System.Drawing.Size, System.Drawing">
|
||||
<value>775, 535</value>
|
||||
<value>790, 560</value>
|
||||
</data>
|
||||
<data name="$this.Text" xml:space="preserve">
|
||||
<value>NewNetworkWizard</value>
|
||||
|
@ -32,7 +32,6 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using XenAdmin.Controls;
|
||||
using XenAdmin.Core;
|
||||
using XenAPI;
|
||||
|
||||
|
||||
@ -56,11 +55,6 @@ namespace XenAdmin.Wizards.NewNetworkWizard_Pages
|
||||
return Details.Valid;
|
||||
}
|
||||
|
||||
protected override void PageLoadedCore(PageLoadedDirection direction)
|
||||
{
|
||||
HelpersGUI.FocusFirstControl(Controls);
|
||||
}
|
||||
|
||||
protected override void PageLeaveCore(PageLoadedDirection direction, ref bool cancel)
|
||||
{
|
||||
if (direction == PageLoadedDirection.Forward)
|
||||
|
@ -112,26 +112,26 @@
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<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=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<assembly alias="mscorlib" name="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<data name="tableLayoutPanel1.ColumnCount" type="System.Int32, mscorlib">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="label1.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<data name="label1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<data name="label1.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="label1.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>0, 0</value>
|
||||
</data>
|
||||
@ -154,7 +154,7 @@
|
||||
<value>label1</value>
|
||||
</data>
|
||||
<data name=">>label1.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>label1.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
@ -175,7 +175,7 @@
|
||||
<value>433, 385</value>
|
||||
</data>
|
||||
<data name="Details.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>0</value>
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name=">>Details.Name" xml:space="preserve">
|
||||
<value>Details</value>
|
||||
@ -205,13 +205,13 @@
|
||||
<value>433, 426</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>1</value>
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name=">>tableLayoutPanel1.Name" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>tableLayoutPanel1.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>tableLayoutPanel1.Parent" xml:space="preserve">
|
||||
<value>$this</value>
|
||||
@ -222,7 +222,7 @@
|
||||
<data name="tableLayoutPanel1.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
|
||||
<value><?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="label1" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="Details" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /></Controls><Columns Styles="Percent,100" /><Rows Styles="AutoSize,0,Percent,100" /></TableLayoutSettings></value>
|
||||
</data>
|
||||
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<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">
|
||||
|
@ -89,7 +89,6 @@
|
||||
this.tableLayoutPanel1.SetColumnSpan(this.tableLayoutPanelMTUWarning, 2);
|
||||
this.tableLayoutPanelMTUWarning.Controls.Add(this.pictureBox1, 0, 0);
|
||||
this.tableLayoutPanelMTUWarning.Controls.Add(this.labelMTUWarning, 1, 0);
|
||||
this.tableLayoutPanelMTUWarning.MinimumSize = new System.Drawing.Size(0, 40);
|
||||
this.tableLayoutPanelMTUWarning.Name = "tableLayoutPanelMTUWarning";
|
||||
//
|
||||
// pictureBox1
|
||||
|
@ -31,13 +31,7 @@
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Drawing;
|
||||
using System.Data;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
using XenAdmin.Controls;
|
||||
using XenAdmin.Core;
|
||||
using XenAdmin.Network;
|
||||
using XenAPI;
|
||||
|
||||
@ -55,9 +49,9 @@ namespace XenAdmin.Wizards.NewNetworkWizard_Pages
|
||||
numericUpDownMTU.Visible = labelMTU.Visible = tableLayoutPanelMTUWarning.Visible = false;
|
||||
}
|
||||
|
||||
public override string Text { get { return Messages.NETW_DETAILS_TEXT; } }
|
||||
|
||||
public override string PageTitle { get { return Messages.NETW_CHIN_DETAILS_TITLE; } }
|
||||
public override string Text => Messages.NETW_DETAILS_TEXT;
|
||||
|
||||
public override string PageTitle => Messages.NETW_CHIN_DETAILS_TITLE;
|
||||
|
||||
public override bool EnableNext()
|
||||
{
|
||||
@ -66,7 +60,7 @@ namespace XenAdmin.Wizards.NewNetworkWizard_Pages
|
||||
|
||||
protected override void PageLoadedCore(PageLoadedDirection direction)
|
||||
{
|
||||
HelpersGUI.FocusFirstControl(Controls);
|
||||
comboInterfaces.Focus();
|
||||
}
|
||||
|
||||
public override void PopulatePage()
|
||||
@ -77,20 +71,11 @@ namespace XenAdmin.Wizards.NewNetworkWizard_Pages
|
||||
public Host Host { private get; set; }
|
||||
public Pool Pool { private get; set; }
|
||||
|
||||
public XenAPI.Network SelectedInterface
|
||||
{
|
||||
get { return (XenAPI.Network)comboInterfaces.SelectedItem; }
|
||||
}
|
||||
public XenAPI.Network SelectedInterface => (XenAPI.Network)comboInterfaces.SelectedItem;
|
||||
|
||||
public bool isAutomaticAddNicToVM
|
||||
{
|
||||
get { return cbxAutomatic.Checked; }
|
||||
}
|
||||
public bool isAutomaticAddNicToVM => cbxAutomatic.Checked;
|
||||
|
||||
public long MTU
|
||||
{
|
||||
get { return (long)numericUpDownMTU.Value; }
|
||||
}
|
||||
public long MTU => (long)numericUpDownMTU.Value;
|
||||
|
||||
private void PopulateInterfaces(Pool pool, Host host, IXenConnection connection)
|
||||
{
|
||||
@ -116,7 +101,7 @@ namespace XenAdmin.Wizards.NewNetworkWizard_Pages
|
||||
}
|
||||
}
|
||||
}
|
||||
comboInterfaces.SelectedIndexChanged += new EventHandler(comboInterfaces_SelectedIndexChanged);
|
||||
comboInterfaces.SelectedIndexChanged += comboInterfaces_SelectedIndexChanged;
|
||||
|
||||
if (comboInterfaces.Items.Count > 0)
|
||||
comboInterfaces.SelectedIndex = 0;
|
||||
|
@ -112,40 +112,37 @@
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<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=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<assembly alias="mscorlib" name="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<data name="cbxAutomatic.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="cbxAutomatic.CheckAlign" type="System.Drawing.ContentAlignment, System.Drawing">
|
||||
<value>TopLeft</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.ColumnCount" type="System.Int32, mscorlib">
|
||||
<value>2</value>
|
||||
</data>
|
||||
<data name="lblNicHelp.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<data name="lblNicHelp.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="lblNicHelp.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>0, 0</value>
|
||||
<value>3, 0</value>
|
||||
</data>
|
||||
<data name="lblNicHelp.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>0, 0, 0, 30</value>
|
||||
<value>3, 0, 3, 30</value>
|
||||
</data>
|
||||
<data name="lblNicHelp.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>491, 26</value>
|
||||
<value>461, 26</value>
|
||||
</data>
|
||||
<data name="lblNicHelp.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>101</value>
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="lblNicHelp.Text" xml:space="preserve">
|
||||
<value>Select a management interface for the new network to use and configure any additional settings before proceeding.
|
||||
@ -158,7 +155,7 @@
|
||||
<value>lblNicHelp</value>
|
||||
</data>
|
||||
<data name=">>lblNicHelp.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>lblNicHelp.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
@ -170,22 +167,19 @@
|
||||
<value>Top, Left, Right</value>
|
||||
</data>
|
||||
<data name="comboInterfaces.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>119, 56</value>
|
||||
</data>
|
||||
<data name="comboInterfaces.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>0, 0, 0, 0</value>
|
||||
<value>125, 59</value>
|
||||
</data>
|
||||
<data name="comboInterfaces.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>374, 21</value>
|
||||
<value>365, 21</value>
|
||||
</data>
|
||||
<data name="comboInterfaces.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>1</value>
|
||||
<value>2</value>
|
||||
</data>
|
||||
<data name=">>comboInterfaces.Name" xml:space="preserve">
|
||||
<value>comboInterfaces</value>
|
||||
</data>
|
||||
<data name=">>comboInterfaces.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>comboInterfaces.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
@ -193,23 +187,20 @@
|
||||
<data name=">>comboInterfaces.ZOrder" xml:space="preserve">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="label2.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Left</value>
|
||||
</data>
|
||||
<data name="label2.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="label2.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<data name="label2.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>0, 56</value>
|
||||
</data>
|
||||
<data name="label2.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>0, 0, 3, 0</value>
|
||||
<value>3, 63</value>
|
||||
</data>
|
||||
<data name="label2.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>116, 21</value>
|
||||
<value>116, 13</value>
|
||||
</data>
|
||||
<data name="label2.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>0</value>
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="label2.Text" xml:space="preserve">
|
||||
<value>&Management interface:</value>
|
||||
@ -221,7 +212,7 @@
|
||||
<value>label2</value>
|
||||
</data>
|
||||
<data name=">>label2.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>label2.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
@ -236,17 +227,11 @@
|
||||
<value>2</value>
|
||||
</data>
|
||||
<data name="pictureBox1.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>0, 0</value>
|
||||
</data>
|
||||
<data name="pictureBox1.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>0, 0, 3, 0</value>
|
||||
<value>3, 3</value>
|
||||
</data>
|
||||
<data name="pictureBox1.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>16, 16</value>
|
||||
</data>
|
||||
<data name="pictureBox1.SizeMode" type="System.Windows.Forms.PictureBoxSizeMode, System.Windows.Forms">
|
||||
<value>AutoSize</value>
|
||||
</data>
|
||||
<data name="pictureBox1.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>1</value>
|
||||
</data>
|
||||
@ -254,7 +239,7 @@
|
||||
<value>pictureBox1</value>
|
||||
</data>
|
||||
<data name=">>pictureBox1.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.PictureBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Windows.Forms.PictureBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>pictureBox1.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanelMTUWarning</value>
|
||||
@ -266,19 +251,16 @@
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="labelMTUWarning.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
<value>Top</value>
|
||||
</data>
|
||||
<data name="labelMTUWarning.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="labelMTUWarning.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>19, 0</value>
|
||||
</data>
|
||||
<data name="labelMTUWarning.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>0, 0, 0, 0</value>
|
||||
<value>25, 0</value>
|
||||
</data>
|
||||
<data name="labelMTUWarning.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>474, 45</value>
|
||||
<value>465, 26</value>
|
||||
</data>
|
||||
<data name="labelMTUWarning.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>0</value>
|
||||
@ -290,7 +272,7 @@
|
||||
<value>labelMTUWarning</value>
|
||||
</data>
|
||||
<data name=">>labelMTUWarning.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>labelMTUWarning.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanelMTUWarning</value>
|
||||
@ -307,14 +289,17 @@
|
||||
<data name="tableLayoutPanelMTUWarning.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>0, 0, 0, 0</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanelMTUWarning.MinimumSize" type="System.Drawing.Size, System.Drawing">
|
||||
<value>0, 40</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanelMTUWarning.RowCount" type="System.Int32, mscorlib">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanelMTUWarning.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>493, 45</value>
|
||||
<value>493, 40</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanelMTUWarning.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>102</value>
|
||||
<value>5</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanelMTUWarning.Visible" type="System.Boolean, mscorlib">
|
||||
<value>False</value>
|
||||
@ -323,7 +308,7 @@
|
||||
<value>tableLayoutPanelMTUWarning</value>
|
||||
</data>
|
||||
<data name=">>tableLayoutPanelMTUWarning.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>tableLayoutPanelMTUWarning.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
@ -334,23 +319,20 @@
|
||||
<data name="tableLayoutPanelMTUWarning.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
|
||||
<value><?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="pictureBox1" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="labelMTUWarning" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /></Controls><Columns Styles="AutoSize,50,Percent,50" /><Rows Styles="Percent,50" /></TableLayoutSettings></value>
|
||||
</data>
|
||||
<data name="labelMTU.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Left</value>
|
||||
</data>
|
||||
<data name="labelMTU.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="labelMTU.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<data name="labelMTU.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>0, 84</value>
|
||||
</data>
|
||||
<data name="labelMTU.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>0, 7, 3, 5</value>
|
||||
<value>3, 89</value>
|
||||
</data>
|
||||
<data name="labelMTU.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>116, 20</value>
|
||||
<value>34, 13</value>
|
||||
</data>
|
||||
<data name="labelMTU.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>2</value>
|
||||
<value>3</value>
|
||||
</data>
|
||||
<data name="labelMTU.Text" xml:space="preserve">
|
||||
<value>MTU:</value>
|
||||
@ -362,7 +344,7 @@
|
||||
<value>labelMTU</value>
|
||||
</data>
|
||||
<data name=">>labelMTU.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>labelMTU.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
@ -371,22 +353,19 @@
|
||||
<value>5</value>
|
||||
</data>
|
||||
<data name="numericUpDownMTU.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>119, 84</value>
|
||||
</data>
|
||||
<data name="numericUpDownMTU.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>0, 7, 0, 5</value>
|
||||
<value>125, 86</value>
|
||||
</data>
|
||||
<data name="numericUpDownMTU.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>96, 20</value>
|
||||
</data>
|
||||
<data name="numericUpDownMTU.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>3</value>
|
||||
<value>4</value>
|
||||
</data>
|
||||
<data name=">>numericUpDownMTU.Name" xml:space="preserve">
|
||||
<value>numericUpDownMTU</value>
|
||||
</data>
|
||||
<data name=">>numericUpDownMTU.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>numericUpDownMTU.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
@ -407,13 +386,13 @@
|
||||
<value>493, 276</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>5</value>
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name=">>tableLayoutPanel1.Name" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>tableLayoutPanel1.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>tableLayoutPanel1.Parent" xml:space="preserve">
|
||||
<value>$this</value>
|
||||
@ -422,22 +401,22 @@
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
|
||||
<value><?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="lblNicHelp" Row="0" RowSpan="1" Column="0" ColumnSpan="2" /><Control Name="comboInterfaces" Row="1" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="label2" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="cbxAutomatic" Row="4" RowSpan="1" Column="0" ColumnSpan="2" /><Control Name="tableLayoutPanelMTUWarning" Row="3" RowSpan="1" Column="0" ColumnSpan="2" /><Control Name="labelMTU" Row="2" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="numericUpDownMTU" Row="2" RowSpan="1" Column="1" ColumnSpan="1" /></Controls><Columns Styles="AutoSize,0,Percent,100" /><Rows Styles="AutoSize,0,AutoSize,0,AutoSize,0,Absolute,45,Percent,100,Absolute,20" /></TableLayoutSettings></value>
|
||||
<value><?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="lblNicHelp" Row="0" RowSpan="1" Column="0" ColumnSpan="2" /><Control Name="comboInterfaces" Row="1" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="label2" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="cbxAutomatic" Row="4" RowSpan="1" Column="0" ColumnSpan="2" /><Control Name="tableLayoutPanelMTUWarning" Row="3" RowSpan="1" Column="0" ColumnSpan="2" /><Control Name="labelMTU" Row="2" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="numericUpDownMTU" Row="2" RowSpan="1" Column="1" ColumnSpan="1" /></Controls><Columns Styles="AutoSize,0,Percent,100" /><Rows Styles="AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,Percent,100" /></TableLayoutSettings></value>
|
||||
</data>
|
||||
<data name="cbxAutomatic.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="cbxAutomatic.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>3, 161</value>
|
||||
<value>3, 159</value>
|
||||
</data>
|
||||
<data name="cbxAutomatic.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>3, 7, 3, 3</value>
|
||||
<value>3, 10, 3, 3</value>
|
||||
</data>
|
||||
<data name="cbxAutomatic.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>286, 17</value>
|
||||
</data>
|
||||
<data name="cbxAutomatic.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>4</value>
|
||||
<value>6</value>
|
||||
</data>
|
||||
<data name="cbxAutomatic.Text" xml:space="preserve">
|
||||
<value>&Automatically add this network to new virtual machines.</value>
|
||||
@ -449,7 +428,7 @@
|
||||
<value>cbxAutomatic</value>
|
||||
</data>
|
||||
<data name=">>cbxAutomatic.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>cbxAutomatic.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
@ -457,7 +436,7 @@
|
||||
<data name=">>cbxAutomatic.ZOrder" xml:space="preserve">
|
||||
<value>3</value>
|
||||
</data>
|
||||
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<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">
|
||||
|
@ -29,112 +29,66 @@ namespace XenAdmin.Wizards.NewNetworkWizard_Pages
|
||||
private void InitializeComponent()
|
||||
{
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(NetWDetails));
|
||||
this.panel1 = new System.Windows.Forms.Panel();
|
||||
this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
|
||||
this.infoMtuPanel = new System.Windows.Forms.Panel();
|
||||
this.infoMtuMessage = new System.Windows.Forms.Label();
|
||||
this.pictureBox2 = new System.Windows.Forms.PictureBox();
|
||||
this.labelExternal = new System.Windows.Forms.Label();
|
||||
this.labelInternal = new System.Windows.Forms.Label();
|
||||
this.labelNIC = new System.Windows.Forms.Label();
|
||||
this.labelVLAN = new System.Windows.Forms.Label();
|
||||
this.lblNicHelp = new System.Windows.Forms.Label();
|
||||
this.numericUpDownVLAN = new System.Windows.Forms.NumericUpDown();
|
||||
this.comboBoxNICList = new System.Windows.Forms.ComboBox();
|
||||
this.labelVLAN = new System.Windows.Forms.Label();
|
||||
this.numericUpDownVLAN = new System.Windows.Forms.NumericUpDown();
|
||||
this.infoVlanPanel = new System.Windows.Forms.TableLayoutPanel();
|
||||
this.pictureBoxVlan = new System.Windows.Forms.PictureBox();
|
||||
this.labelVlanMessage = new System.Windows.Forms.Label();
|
||||
this.labelMTU = new System.Windows.Forms.Label();
|
||||
this.numericUpDownMTU = new System.Windows.Forms.NumericUpDown();
|
||||
this.panelVLANInfo = new System.Windows.Forms.Panel();
|
||||
this.labelVlanError = new System.Windows.Forms.Label();
|
||||
this.labelVLAN0Info = new System.Windows.Forms.Label();
|
||||
this.checkBoxAutomatic = new System.Windows.Forms.CheckBox();
|
||||
this.infoMtuPanel = new System.Windows.Forms.TableLayoutPanel();
|
||||
this.pictureBoxMtu = new System.Windows.Forms.PictureBox();
|
||||
this.labelMtuMessage = new System.Windows.Forms.Label();
|
||||
this.checkBoxSriov = new System.Windows.Forms.CheckBox();
|
||||
this.panel1.SuspendLayout();
|
||||
this.checkBoxAutomatic = new System.Windows.Forms.CheckBox();
|
||||
this.tableLayoutPanel1.SuspendLayout();
|
||||
this.infoMtuPanel.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.numericUpDownVLAN)).BeginInit();
|
||||
this.infoVlanPanel.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.pictureBoxVlan)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.numericUpDownMTU)).BeginInit();
|
||||
this.panelVLANInfo.SuspendLayout();
|
||||
this.infoMtuPanel.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.pictureBoxMtu)).BeginInit();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// panel1
|
||||
//
|
||||
resources.ApplyResources(this.panel1, "panel1");
|
||||
this.panel1.BackColor = System.Drawing.SystemColors.Control;
|
||||
this.panel1.Controls.Add(this.tableLayoutPanel1);
|
||||
this.panel1.Name = "panel1";
|
||||
//
|
||||
// tableLayoutPanel1
|
||||
//
|
||||
resources.ApplyResources(this.tableLayoutPanel1, "tableLayoutPanel1");
|
||||
this.tableLayoutPanel1.Controls.Add(this.infoMtuPanel, 2, 3);
|
||||
this.tableLayoutPanel1.Controls.Add(this.labelNIC, 0, 1);
|
||||
this.tableLayoutPanel1.Controls.Add(this.labelVLAN, 0, 2);
|
||||
this.tableLayoutPanel1.Controls.Add(this.lblNicHelp, 0, 0);
|
||||
this.tableLayoutPanel1.Controls.Add(this.numericUpDownVLAN, 1, 2);
|
||||
this.tableLayoutPanel1.Controls.Add(this.comboBoxNICList, 1, 1);
|
||||
this.tableLayoutPanel1.Controls.Add(this.labelMTU, 0, 3);
|
||||
this.tableLayoutPanel1.Controls.Add(this.numericUpDownMTU, 1, 3);
|
||||
this.tableLayoutPanel1.Controls.Add(this.panelVLANInfo, 2, 2);
|
||||
this.tableLayoutPanel1.Controls.Add(this.checkBoxAutomatic, 0, 5);
|
||||
this.tableLayoutPanel1.Controls.Add(this.checkBoxSriov, 0, 4);
|
||||
this.tableLayoutPanel1.Controls.Add(this.labelExternal, 0, 0);
|
||||
this.tableLayoutPanel1.Controls.Add(this.labelInternal, 0, 1);
|
||||
this.tableLayoutPanel1.Controls.Add(this.labelNIC, 0, 2);
|
||||
this.tableLayoutPanel1.Controls.Add(this.comboBoxNICList, 1, 2);
|
||||
this.tableLayoutPanel1.Controls.Add(this.labelVLAN, 0, 3);
|
||||
this.tableLayoutPanel1.Controls.Add(this.numericUpDownVLAN, 1, 3);
|
||||
this.tableLayoutPanel1.Controls.Add(this.infoVlanPanel, 2, 3);
|
||||
this.tableLayoutPanel1.Controls.Add(this.labelMTU, 0, 4);
|
||||
this.tableLayoutPanel1.Controls.Add(this.numericUpDownMTU, 1, 4);
|
||||
this.tableLayoutPanel1.Controls.Add(this.infoMtuPanel, 2, 4);
|
||||
this.tableLayoutPanel1.Controls.Add(this.checkBoxSriov, 0, 5);
|
||||
this.tableLayoutPanel1.Controls.Add(this.checkBoxAutomatic, 0, 6);
|
||||
this.tableLayoutPanel1.Name = "tableLayoutPanel1";
|
||||
//
|
||||
// infoMtuPanel
|
||||
// labelExternal
|
||||
//
|
||||
resources.ApplyResources(this.infoMtuPanel, "infoMtuPanel");
|
||||
this.tableLayoutPanel1.SetColumnSpan(this.infoMtuPanel, 2);
|
||||
this.infoMtuPanel.Controls.Add(this.infoMtuMessage);
|
||||
this.infoMtuPanel.Controls.Add(this.pictureBox2);
|
||||
this.infoMtuPanel.Name = "infoMtuPanel";
|
||||
resources.ApplyResources(this.labelExternal, "labelExternal");
|
||||
this.tableLayoutPanel1.SetColumnSpan(this.labelExternal, 4);
|
||||
this.labelExternal.Name = "labelExternal";
|
||||
//
|
||||
// infoMtuMessage
|
||||
// labelInternal
|
||||
//
|
||||
resources.ApplyResources(this.infoMtuMessage, "infoMtuMessage");
|
||||
this.infoMtuMessage.Name = "infoMtuMessage";
|
||||
//
|
||||
// pictureBox2
|
||||
//
|
||||
resources.ApplyResources(this.pictureBox2, "pictureBox2");
|
||||
this.pictureBox2.Image = global::XenAdmin.Properties.Resources._000_Info3_h32bit_16;
|
||||
this.pictureBox2.Name = "pictureBox2";
|
||||
this.pictureBox2.TabStop = false;
|
||||
resources.ApplyResources(this.labelInternal, "labelInternal");
|
||||
this.tableLayoutPanel1.SetColumnSpan(this.labelInternal, 4);
|
||||
this.labelInternal.Name = "labelInternal";
|
||||
//
|
||||
// labelNIC
|
||||
//
|
||||
resources.ApplyResources(this.labelNIC, "labelNIC");
|
||||
this.labelNIC.Name = "labelNIC";
|
||||
//
|
||||
// labelVLAN
|
||||
//
|
||||
resources.ApplyResources(this.labelVLAN, "labelVLAN");
|
||||
this.labelVLAN.Name = "labelVLAN";
|
||||
//
|
||||
// lblNicHelp
|
||||
//
|
||||
resources.ApplyResources(this.lblNicHelp, "lblNicHelp");
|
||||
this.tableLayoutPanel1.SetColumnSpan(this.lblNicHelp, 4);
|
||||
this.lblNicHelp.Name = "lblNicHelp";
|
||||
//
|
||||
// numericUpDownVLAN
|
||||
//
|
||||
resources.ApplyResources(this.numericUpDownVLAN, "numericUpDownVLAN");
|
||||
this.numericUpDownVLAN.Maximum = new decimal(new int[] {
|
||||
4094,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.numericUpDownVLAN.Minimum = new decimal(new int[] {
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.numericUpDownVLAN.Name = "numericUpDownVLAN";
|
||||
this.numericUpDownVLAN.Value = new decimal(new int[] {
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.numericUpDownVLAN.ValueChanged += new System.EventHandler(this.nudVLAN_ValueChanged);
|
||||
//
|
||||
// comboBoxNICList
|
||||
//
|
||||
this.tableLayoutPanel1.SetColumnSpan(this.comboBoxNICList, 2);
|
||||
@ -146,6 +100,37 @@ namespace XenAdmin.Wizards.NewNetworkWizard_Pages
|
||||
this.comboBoxNICList.Sorted = true;
|
||||
this.comboBoxNICList.SelectedIndexChanged += new System.EventHandler(this.cmbHostNicList_SelectedIndexChanged);
|
||||
//
|
||||
// labelVLAN
|
||||
//
|
||||
resources.ApplyResources(this.labelVLAN, "labelVLAN");
|
||||
this.labelVLAN.Name = "labelVLAN";
|
||||
//
|
||||
// numericUpDownVLAN
|
||||
//
|
||||
resources.ApplyResources(this.numericUpDownVLAN, "numericUpDownVLAN");
|
||||
this.numericUpDownVLAN.Name = "numericUpDownVLAN";
|
||||
this.numericUpDownVLAN.ValueChanged += new System.EventHandler(this.numericUpDownVLAN_ValueChanged);
|
||||
this.numericUpDownVLAN.Leave += new System.EventHandler(this.numericUpDownVLAN_Leave);
|
||||
//
|
||||
// infoVlanPanel
|
||||
//
|
||||
resources.ApplyResources(this.infoVlanPanel, "infoVlanPanel");
|
||||
this.tableLayoutPanel1.SetColumnSpan(this.infoVlanPanel, 2);
|
||||
this.infoVlanPanel.Controls.Add(this.pictureBoxVlan, 0, 0);
|
||||
this.infoVlanPanel.Controls.Add(this.labelVlanMessage, 1, 0);
|
||||
this.infoVlanPanel.Name = "infoVlanPanel";
|
||||
//
|
||||
// pictureBoxVlan
|
||||
//
|
||||
resources.ApplyResources(this.pictureBoxVlan, "pictureBoxVlan");
|
||||
this.pictureBoxVlan.Name = "pictureBoxVlan";
|
||||
this.pictureBoxVlan.TabStop = false;
|
||||
//
|
||||
// labelVlanMessage
|
||||
//
|
||||
resources.ApplyResources(this.labelVlanMessage, "labelVlanMessage");
|
||||
this.labelVlanMessage.Name = "labelVlanMessage";
|
||||
//
|
||||
// labelMTU
|
||||
//
|
||||
resources.ApplyResources(this.labelMTU, "labelMTU");
|
||||
@ -155,33 +140,27 @@ namespace XenAdmin.Wizards.NewNetworkWizard_Pages
|
||||
//
|
||||
resources.ApplyResources(this.numericUpDownMTU, "numericUpDownMTU");
|
||||
this.numericUpDownMTU.Name = "numericUpDownMTU";
|
||||
this.numericUpDownMTU.ValueChanged += new System.EventHandler(this.numericUpDownMTU_ValueChanged);
|
||||
this.numericUpDownMTU.Leave += new System.EventHandler(this.numericUpDownMTU_Leave);
|
||||
//
|
||||
// panelVLANInfo
|
||||
// infoMtuPanel
|
||||
//
|
||||
resources.ApplyResources(this.panelVLANInfo, "panelVLANInfo");
|
||||
this.tableLayoutPanel1.SetColumnSpan(this.panelVLANInfo, 2);
|
||||
this.panelVLANInfo.Controls.Add(this.labelVlanError);
|
||||
this.panelVLANInfo.Controls.Add(this.labelVLAN0Info);
|
||||
this.panelVLANInfo.Name = "panelVLANInfo";
|
||||
resources.ApplyResources(this.infoMtuPanel, "infoMtuPanel");
|
||||
this.tableLayoutPanel1.SetColumnSpan(this.infoMtuPanel, 2);
|
||||
this.infoMtuPanel.Controls.Add(this.pictureBoxMtu, 0, 0);
|
||||
this.infoMtuPanel.Controls.Add(this.labelMtuMessage, 1, 0);
|
||||
this.infoMtuPanel.Name = "infoMtuPanel";
|
||||
//
|
||||
// labelVlanError
|
||||
// pictureBoxMtu
|
||||
//
|
||||
resources.ApplyResources(this.labelVlanError, "labelVlanError");
|
||||
this.labelVlanError.ForeColor = System.Drawing.Color.Red;
|
||||
this.labelVlanError.Name = "labelVlanError";
|
||||
resources.ApplyResources(this.pictureBoxMtu, "pictureBoxMtu");
|
||||
this.pictureBoxMtu.Name = "pictureBoxMtu";
|
||||
this.pictureBoxMtu.TabStop = false;
|
||||
//
|
||||
// labelVLAN0Info
|
||||
// labelMtuMessage
|
||||
//
|
||||
resources.ApplyResources(this.labelVLAN0Info, "labelVLAN0Info");
|
||||
this.labelVLAN0Info.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||
this.labelVLAN0Info.Name = "labelVLAN0Info";
|
||||
//
|
||||
// checkBoxAutomatic
|
||||
//
|
||||
resources.ApplyResources(this.checkBoxAutomatic, "checkBoxAutomatic");
|
||||
this.tableLayoutPanel1.SetColumnSpan(this.checkBoxAutomatic, 4);
|
||||
this.checkBoxAutomatic.Name = "checkBoxAutomatic";
|
||||
this.checkBoxAutomatic.UseVisualStyleBackColor = true;
|
||||
resources.ApplyResources(this.labelMtuMessage, "labelMtuMessage");
|
||||
this.labelMtuMessage.Name = "labelMtuMessage";
|
||||
//
|
||||
// checkBoxSriov
|
||||
//
|
||||
@ -191,45 +170,51 @@ namespace XenAdmin.Wizards.NewNetworkWizard_Pages
|
||||
this.checkBoxSriov.UseVisualStyleBackColor = true;
|
||||
this.checkBoxSriov.CheckedChanged += new System.EventHandler(this.checkBoxSriov_CheckedChanged);
|
||||
//
|
||||
// checkBoxAutomatic
|
||||
//
|
||||
resources.ApplyResources(this.checkBoxAutomatic, "checkBoxAutomatic");
|
||||
this.tableLayoutPanel1.SetColumnSpan(this.checkBoxAutomatic, 4);
|
||||
this.checkBoxAutomatic.Name = "checkBoxAutomatic";
|
||||
this.checkBoxAutomatic.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// NetWDetails
|
||||
//
|
||||
resources.ApplyResources(this, "$this");
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;
|
||||
this.BackColor = System.Drawing.SystemColors.Control;
|
||||
this.Controls.Add(this.panel1);
|
||||
this.Controls.Add(this.tableLayoutPanel1);
|
||||
this.Name = "NetWDetails";
|
||||
this.panel1.ResumeLayout(false);
|
||||
this.tableLayoutPanel1.ResumeLayout(false);
|
||||
this.tableLayoutPanel1.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.numericUpDownVLAN)).EndInit();
|
||||
this.infoVlanPanel.ResumeLayout(false);
|
||||
this.infoVlanPanel.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.pictureBoxVlan)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.numericUpDownMTU)).EndInit();
|
||||
this.infoMtuPanel.ResumeLayout(false);
|
||||
this.infoMtuPanel.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.numericUpDownVLAN)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.numericUpDownMTU)).EndInit();
|
||||
this.panelVLANInfo.ResumeLayout(false);
|
||||
this.panelVLANInfo.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.pictureBoxMtu)).EndInit();
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.Panel panel1;
|
||||
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1;
|
||||
private System.Windows.Forms.Label labelNIC;
|
||||
private System.Windows.Forms.ComboBox comboBoxNICList;
|
||||
private System.Windows.Forms.NumericUpDown numericUpDownVLAN;
|
||||
private System.Windows.Forms.Label labelVLAN;
|
||||
private System.Windows.Forms.Label lblNicHelp;
|
||||
private System.Windows.Forms.Label labelInternal;
|
||||
private System.Windows.Forms.CheckBox checkBoxAutomatic;
|
||||
private System.Windows.Forms.Label labelVlanError;
|
||||
private System.Windows.Forms.Label labelMTU;
|
||||
private System.Windows.Forms.NumericUpDown numericUpDownMTU;
|
||||
private System.Windows.Forms.Panel panelVLANInfo;
|
||||
private System.Windows.Forms.Label labelVLAN0Info;
|
||||
private System.Windows.Forms.Panel infoMtuPanel;
|
||||
private System.Windows.Forms.Label infoMtuMessage;
|
||||
private System.Windows.Forms.PictureBox pictureBox2;
|
||||
private System.Windows.Forms.Label labelMtuMessage;
|
||||
private System.Windows.Forms.PictureBox pictureBoxMtu;
|
||||
private System.Windows.Forms.CheckBox checkBoxSriov;
|
||||
private System.Windows.Forms.Label labelExternal;
|
||||
private System.Windows.Forms.TableLayoutPanel infoMtuPanel;
|
||||
private System.Windows.Forms.TableLayoutPanel infoVlanPanel;
|
||||
private System.Windows.Forms.PictureBox pictureBoxVlan;
|
||||
private System.Windows.Forms.Label labelVlanMessage;
|
||||
private System.Windows.Forms.NumericUpDown numericUpDownVLAN;
|
||||
private System.Windows.Forms.NumericUpDown numericUpDownMTU;
|
||||
}
|
||||
}
|
||||
|
@ -40,56 +40,84 @@ namespace XenAdmin.Wizards.NewNetworkWizard_Pages
|
||||
{
|
||||
public partial class NetWDetails : XenTabPage
|
||||
{
|
||||
List<int> vlans;
|
||||
private List<int> vlans;
|
||||
private bool _vlanError;
|
||||
private bool _mtuError;
|
||||
private bool _populatingNics;
|
||||
|
||||
public NetWDetails()
|
||||
{
|
||||
InitializeComponent();
|
||||
numericUpDownVLAN.LostFocus += checkVLAN;
|
||||
//non-browsable events
|
||||
numericUpDownVLAN.TextChanged += numericUpDownVLAN_TextChanged;
|
||||
numericUpDownMTU.TextChanged += numericUpDownMTU_TextChanged;
|
||||
|
||||
numericUpDownMTU.Maximum = XenAPI.Network.MTU_MAX;
|
||||
numericUpDownMTU.Minimum = XenAPI.Network.MTU_MIN;
|
||||
numericUpDownMTU.Value = XenAPI.Network.MTU_DEFAULT;
|
||||
numericUpDownVLAN.Maximum = 4094;
|
||||
}
|
||||
|
||||
public override string Text { get { return Messages.NETW_DETAILS_TEXT; } }
|
||||
public override string Text => Messages.NETW_DETAILS_TEXT;
|
||||
|
||||
public override string PageTitle { get
|
||||
{
|
||||
return SelectedNetworkType == NetworkTypes.External
|
||||
? Messages.NETW_EXTERNAL_DETAILS_TITLE
|
||||
: Messages.NETW_INTERNAL_DETAILS_TITLE;
|
||||
} }
|
||||
public override string PageTitle =>
|
||||
SelectedNetworkType == NetworkTypes.External
|
||||
? Messages.NETW_EXTERNAL_DETAILS_TITLE
|
||||
: Messages.NETW_INTERNAL_DETAILS_TITLE;
|
||||
|
||||
public override bool EnableNext()
|
||||
{
|
||||
return (SelectedHostNic != null || !comboBoxNICList.Visible) && !labelVlanError.Visible;
|
||||
}
|
||||
if (_vlanError || _mtuError)
|
||||
return false;
|
||||
|
||||
protected override void PageLoadedCore(PageLoadedDirection direction)
|
||||
{
|
||||
HelpersGUI.FocusFirstControl(Controls);
|
||||
return SelectedHostNic != null || !comboBoxNICList.Visible;
|
||||
}
|
||||
|
||||
public override void PopulatePage()
|
||||
{
|
||||
PopulateHostNicList(Host, Connection);
|
||||
UpdateEnablement(SelectedNetworkType == NetworkTypes.External, Host);
|
||||
//set minimum value for VLAN
|
||||
numericUpDownVLAN.Minimum = Helpers.VLAN0Allowed(Connection) ? 0 : 1;
|
||||
}
|
||||
var external = SelectedNetworkType == NetworkTypes.External;
|
||||
|
||||
private int CurrentVLANValue
|
||||
{
|
||||
get { return Convert.ToInt32(Math.Round(numericUpDownVLAN.Value, MidpointRounding.AwayFromZero)); }
|
||||
}
|
||||
labelExternal.Visible = external;
|
||||
labelInternal.Visible = !external;
|
||||
labelNIC.Visible = external;
|
||||
comboBoxNICList.Visible = external;
|
||||
|
||||
private void checkVLAN(object sender, EventArgs e)
|
||||
{
|
||||
if (numericUpDownVLAN.Text == "")
|
||||
if (comboBoxNICList.Visible)
|
||||
{
|
||||
numericUpDownVLAN.Text = CurrentVLANValue.ToString();
|
||||
try
|
||||
{
|
||||
_populatingNics = true;
|
||||
comboBoxNICList.Items.Clear();
|
||||
|
||||
foreach (PIF ThePIF in Connection.Cache.PIFs)
|
||||
{
|
||||
if (ThePIF.host.opaque_ref == Host.opaque_ref && ThePIF.IsPhysical() &&
|
||||
(Properties.Settings.Default.ShowHiddenVMs || ThePIF.Show(Properties.Settings.Default.ShowHiddenVMs)) &&
|
||||
!ThePIF.IsBondSlave())
|
||||
{
|
||||
comboBoxNICList.Items.Add(ThePIF);
|
||||
}
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
_populatingNics = false;
|
||||
}
|
||||
|
||||
if (comboBoxNICList.Items.Count > 0)
|
||||
comboBoxNICList.SelectedIndex = 0;
|
||||
|
||||
comboBoxNICList.Focus();
|
||||
}
|
||||
|
||||
labelVLAN.Visible = external;
|
||||
numericUpDownVLAN.Visible = external;
|
||||
numericUpDownVLAN.Minimum = Helpers.VLAN0Allowed(Connection) ? 0 : 1;
|
||||
numericUpDownMTU.Visible = labelMTU.Visible = infoMtuPanel.Visible = external;
|
||||
|
||||
checkBoxSriov.Visible = SelectedHostNic != null && SelectedHostNic.IsSriovPhysicalPIF();
|
||||
|
||||
OnPageUpdated();
|
||||
}
|
||||
|
||||
#region Accessors
|
||||
@ -98,191 +126,186 @@ namespace XenAdmin.Wizards.NewNetworkWizard_Pages
|
||||
|
||||
public Host Host { private get; set; }
|
||||
|
||||
public PIF SelectedHostNic
|
||||
{
|
||||
get { return (PIF)comboBoxNICList.SelectedItem; }
|
||||
}
|
||||
public PIF SelectedHostNic => comboBoxNICList.SelectedItem as PIF;
|
||||
|
||||
public long VLAN
|
||||
{
|
||||
get { return CurrentVLANValue; }
|
||||
}
|
||||
public int VLAN => Convert.ToInt32(Math.Round(numericUpDownVLAN.Value, MidpointRounding.AwayFromZero));
|
||||
|
||||
public bool isAutomaticAddNicToVM
|
||||
{
|
||||
get { return checkBoxAutomatic.Checked; }
|
||||
}
|
||||
public bool AddNicToVmsAutomatically => checkBoxAutomatic.Checked;
|
||||
|
||||
public bool CreateVlanOnSriovNetwork
|
||||
{
|
||||
get { return checkBoxSriov.Visible && checkBoxSriov.Checked; }
|
||||
}
|
||||
public bool CreateVlanOnSriovNetwork => checkBoxSriov.Visible && checkBoxSriov.Checked;
|
||||
|
||||
/// <summary>
|
||||
/// Null if the custom MTU option is disabled
|
||||
/// Returns -1 if the custom MTU option is disabled
|
||||
/// </summary>
|
||||
public long? MTU
|
||||
{
|
||||
get
|
||||
{
|
||||
if (numericUpDownMTU.Enabled)
|
||||
return (long)numericUpDownMTU.Value;
|
||||
else
|
||||
return null;
|
||||
}
|
||||
}
|
||||
public int MTU => numericUpDownMTU.Visible && numericUpDownMTU.Enabled
|
||||
? Convert.ToInt32(Math.Round(numericUpDownMTU.Value, MidpointRounding.AwayFromZero))
|
||||
: -1;
|
||||
|
||||
#endregion
|
||||
|
||||
private void UpdateEnablement(bool external, Host host)
|
||||
private List<int> GetVLANList(PIF nic)
|
||||
{
|
||||
lblNicHelp.Text = external ? Messages.WIZARD_DESC_NETWORK_SETTINGS_EXTERNAL : Messages.WIZARD_DESC_NETWORK_SETTINGS_INTERNAL;
|
||||
comboBoxNICList.Visible = external;
|
||||
labelVLAN.Visible = external;
|
||||
numericUpDownVLAN.Visible = external;
|
||||
numericUpDownMTU.Visible = labelMTU.Visible = infoMtuPanel.Visible = external;
|
||||
labelNIC.Visible = external;
|
||||
if (comboBoxNICList.Items.Count > 0)
|
||||
comboBoxNICList.SelectedIndex = external ? comboBoxNICList.Items.Count - 1 : -1;
|
||||
checkBoxSriov.Visible = SelectedHostNic != null && SelectedHostNic.IsSriovPhysicalPIF();
|
||||
List<int> vlans = new List<int>();
|
||||
foreach (PIF pif in nic.Connection.Cache.PIFs)
|
||||
{
|
||||
if (pif.device == nic.device)
|
||||
{
|
||||
var pifIsSriov = pif.NetworkSriov() != null;
|
||||
if ((CreateVlanOnSriovNetwork && pifIsSriov) || (!CreateVlanOnSriovNetwork && !pifIsSriov))
|
||||
vlans.Add((int)pif.VLAN);
|
||||
}
|
||||
}
|
||||
|
||||
return vlans;
|
||||
}
|
||||
|
||||
private void ValidateVLANValue()
|
||||
{
|
||||
//CA-192746: do not call numericUpDown.Value or properties/methods that call it
|
||||
//in the validation method, because it auto-corrects what the user has typed
|
||||
|
||||
_vlanError = false;
|
||||
string msg = null;
|
||||
|
||||
if (!int.TryParse(numericUpDownVLAN.Text.Trim(), out int currentValue))
|
||||
{
|
||||
_vlanError = true;
|
||||
msg = Messages.INVALID_NUMBER;
|
||||
}
|
||||
else if (currentValue < numericUpDownVLAN.Minimum || numericUpDownVLAN.Maximum < currentValue)
|
||||
{
|
||||
_vlanError = true;
|
||||
msg = string.Format(Messages.NETW_DETAILS_VLAN_RANGE, numericUpDownVLAN.Minimum, numericUpDownVLAN.Maximum);
|
||||
}
|
||||
else if (vlans != null && vlans.Contains(currentValue))
|
||||
{
|
||||
_vlanError = true;
|
||||
msg = Messages.NETW_DETAILS_VLAN_NUMBER_IN_USE;
|
||||
}
|
||||
else if (currentValue == 0)
|
||||
{
|
||||
msg = Messages.NETW_VLAN_ZERO;
|
||||
}
|
||||
|
||||
if (_vlanError)
|
||||
{
|
||||
pictureBoxVlan.Image = Images.StaticImages._000_error_h32bit_16;
|
||||
labelVlanMessage.Text = msg;
|
||||
infoVlanPanel.Visible = true;
|
||||
}
|
||||
else if (!string.IsNullOrEmpty(msg))
|
||||
{
|
||||
pictureBoxVlan.Image = Images.StaticImages._000_Info3_h32bit_16;
|
||||
labelVlanMessage.Text = msg;
|
||||
infoVlanPanel.Visible = true;
|
||||
}
|
||||
else
|
||||
infoVlanPanel.Visible = false;
|
||||
|
||||
OnPageUpdated();
|
||||
}
|
||||
|
||||
private void PopulateHostNicList(Host host, IXenConnection conn)
|
||||
private void ValidateMtuValue()
|
||||
{
|
||||
comboBoxNICList.Items.Clear();
|
||||
//CA-192746: do not call numericUpDown.Value or properties/methods that call it
|
||||
//in the validation method, because it auto-corrects what the user has typed
|
||||
|
||||
foreach (PIF ThePIF in conn.Cache.PIFs)
|
||||
_mtuError = false;
|
||||
|
||||
if (!int.TryParse(numericUpDownMTU.Text.Trim(), out int currentValue))
|
||||
{
|
||||
if (ThePIF.host.opaque_ref == host.opaque_ref && ThePIF.IsPhysical() && (Properties.Settings.Default.ShowHiddenVMs || ThePIF.Show(Properties.Settings.Default.ShowHiddenVMs)) && !ThePIF.IsBondSlave())
|
||||
{
|
||||
comboBoxNICList.Items.Add(ThePIF);
|
||||
}
|
||||
_mtuError = true;
|
||||
pictureBoxMtu.Image = Images.StaticImages._000_error_h32bit_16;
|
||||
labelMtuMessage.Text = Messages.INVALID_NUMBER;
|
||||
}
|
||||
if (comboBoxNICList.Items.Count > 0)
|
||||
comboBoxNICList.SelectedIndex = 0;
|
||||
|
||||
cmbHostNicList_SelectedIndexChanged(null, null);
|
||||
}
|
||||
|
||||
private List<int> GetVLANList(PIF nic)
|
||||
{
|
||||
List<int> vlans = new List<int>();
|
||||
foreach (PIF pif in nic.Connection.Cache.PIFs)
|
||||
{
|
||||
if (pif.device == nic.device)
|
||||
{
|
||||
var pifIsSriov = pif.NetworkSriov() != null;
|
||||
if ((CreateVlanOnSriovNetwork && pifIsSriov) || (!CreateVlanOnSriovNetwork && !pifIsSriov))
|
||||
vlans.Add((int)pif.VLAN);
|
||||
}
|
||||
}
|
||||
|
||||
return vlans;
|
||||
}
|
||||
|
||||
private int GetFirstAvailableVLAN(List<int> vlans)
|
||||
{
|
||||
//CA-19111: VLAN values should only go up to the numericUpDownVLAN.Maximum (4094)
|
||||
for (int i = 1; i <= numericUpDownVLAN.Maximum; i++)
|
||||
else
|
||||
{
|
||||
if (!vlans.Contains(i))
|
||||
return i;
|
||||
if (currentValue < numericUpDownMTU.Minimum || numericUpDownMTU.Maximum < currentValue)
|
||||
_mtuError = true;
|
||||
|
||||
pictureBoxMtu.Image = Images.StaticImages._000_Info3_h32bit_16;
|
||||
labelMtuMessage.Text = numericUpDownMTU.Minimum == numericUpDownMTU.Maximum
|
||||
? string.Format(Messages.ALLOWED_MTU_VALUE, numericUpDownMTU.Minimum)
|
||||
: string.Format(Messages.ALLOWED_MTU_RANGE, numericUpDownMTU.Minimum, numericUpDownMTU.Maximum);
|
||||
}
|
||||
|
||||
return -1;
|
||||
infoMtuPanel.Visible = true;
|
||||
OnPageUpdated();
|
||||
}
|
||||
|
||||
#region Event Handlers
|
||||
|
||||
private void cmbHostNicList_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
OnPageUpdated();
|
||||
|
||||
if (SelectedHostNic == null)
|
||||
if (_populatingNics || SelectedHostNic == null)
|
||||
return;
|
||||
|
||||
checkBoxSriov.Visible = SelectedHostNic.IsSriovPhysicalPIF();
|
||||
|
||||
numericUpDownMTU.Maximum = Math.Min(SelectedHostNic.MTU, XenAPI.Network.MTU_MAX);
|
||||
|
||||
numericUpDownMTU.Enabled = numericUpDownMTU.Minimum != numericUpDownMTU.Maximum;
|
||||
|
||||
infoMtuMessage.Text = numericUpDownMTU.Minimum == numericUpDownMTU.Maximum
|
||||
? string.Format(Messages.ALLOWED_MTU_VALUE, numericUpDownMTU.Minimum)
|
||||
: string.Format(Messages.ALLOWED_MTU_RANGE, numericUpDownMTU.Minimum, numericUpDownMTU.Maximum);
|
||||
ValidateMtuValue();
|
||||
|
||||
vlans = GetVLANList(SelectedHostNic);
|
||||
|
||||
//CA-72484: check whether the currently selected VLAN is available and keep it
|
||||
int curVlan = CurrentVLANValue;
|
||||
if (!vlans.Contains(curVlan))
|
||||
if (!vlans.Contains(VLAN))
|
||||
{
|
||||
SetError(null);
|
||||
ValidateVLANValue();
|
||||
return;
|
||||
}
|
||||
|
||||
int avail_vlan = GetFirstAvailableVLAN(vlans);
|
||||
//CA-19111: VLAN values should only go up to the numericUpDownVLAN.Maximum (4094)
|
||||
for (int i = 1; i <= numericUpDownVLAN.Maximum; i++)
|
||||
{
|
||||
if (!vlans.Contains(i))
|
||||
{
|
||||
numericUpDownVLAN.Value = i;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (avail_vlan == -1)
|
||||
return;
|
||||
|
||||
numericUpDownVLAN.Value = avail_vlan;
|
||||
OnPageUpdated();
|
||||
}
|
||||
|
||||
private void nudVLAN_ValueChanged(object sender, EventArgs e)
|
||||
private void numericUpDownVLAN_Leave(object sender, EventArgs e)
|
||||
{
|
||||
if (numericUpDownVLAN.Text == "")
|
||||
numericUpDownVLAN.Text = VLAN.ToString();
|
||||
}
|
||||
|
||||
private void numericUpDownVLAN_TextChanged(object sender, EventArgs e)
|
||||
{
|
||||
ValidateVLANValue();
|
||||
}
|
||||
|
||||
void numericUpDownVLAN_TextChanged(object sender, EventArgs e)
|
||||
private void numericUpDownVLAN_ValueChanged(object sender, EventArgs e)
|
||||
{
|
||||
ValidateVLANValue();
|
||||
}
|
||||
|
||||
private void SetError(string error)
|
||||
private void numericUpDownMTU_Leave(object sender, EventArgs e)
|
||||
{
|
||||
bool visible = !string.IsNullOrEmpty(error);
|
||||
bool updatePage = labelVlanError.Visible != visible;
|
||||
labelVlanError.Visible = visible;
|
||||
if (visible)
|
||||
labelVlanError.Text = error;
|
||||
labelVLAN0Info.Visible = !visible && numericUpDownVLAN.Value == 0;
|
||||
if (updatePage)
|
||||
OnPageUpdated();
|
||||
if (numericUpDownMTU.Text == "")
|
||||
numericUpDownMTU.Text = MTU.ToString();
|
||||
}
|
||||
|
||||
private bool VLANValidNumber()
|
||||
private void numericUpDownMTU_TextChanged(object sender, EventArgs e)
|
||||
{
|
||||
int result;
|
||||
return int.TryParse(numericUpDownVLAN.Text.Trim(), out result);
|
||||
ValidateMtuValue();
|
||||
}
|
||||
|
||||
private bool VLANNumberUnique()
|
||||
private void numericUpDownMTU_ValueChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (vlans == null)
|
||||
return true;
|
||||
return !vlans.Contains(CurrentVLANValue);
|
||||
}
|
||||
|
||||
private void ValidateVLANValue()
|
||||
{
|
||||
if (!VLANValidNumber())
|
||||
{
|
||||
SetError(Messages.INVALID_NUMBER);
|
||||
return;
|
||||
}
|
||||
if (!VLANNumberUnique())
|
||||
{
|
||||
SetError(Messages.NETW_DETAILS_VLAN_NUMBER_IN_USE);
|
||||
return;
|
||||
}
|
||||
SetError(null);
|
||||
ValidateMtuValue();
|
||||
}
|
||||
|
||||
private void checkBoxSriov_CheckedChanged(object sender, EventArgs e)
|
||||
{
|
||||
vlans = GetVLANList(SelectedHostNic);
|
||||
vlans = GetVLANList(SelectedHostNic);
|
||||
ValidateVLANValue();
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
|
@ -117,141 +117,102 @@
|
||||
<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="panel1.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Top, Bottom, Left, Right</value>
|
||||
</data>
|
||||
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<data name="tableLayoutPanel1.ColumnCount" type="System.Int32, mscorlib">
|
||||
<value>4</value>
|
||||
</data>
|
||||
<data name="infoMtuPanel.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Left</value>
|
||||
</data>
|
||||
<data name="infoMtuPanel.AutoSize" type="System.Boolean, mscorlib">
|
||||
<data name="labelExternal.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="infoMtuMessage.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="infoMtuMessage.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<data name="infoMtuMessage.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<data name="labelExternal.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="infoMtuMessage.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>16, 0</value>
|
||||
<data name="labelExternal.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>3, 0</value>
|
||||
</data>
|
||||
<data name="infoMtuMessage.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>0, 0, 0, 0</value>
|
||||
<data name="labelExternal.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>3, 0, 3, 25</value>
|
||||
</data>
|
||||
<data name="infoMtuMessage.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>3, 2, 0, 0</value>
|
||||
<data name="labelExternal.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>523, 26</value>
|
||||
</data>
|
||||
<data name="infoMtuMessage.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>294, 15</value>
|
||||
</data>
|
||||
<data name="infoMtuMessage.TabIndex" type="System.Int32, mscorlib">
|
||||
<data name="labelExternal.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="infoMtuMessage.Text" xml:space="preserve">
|
||||
<value>MTU cannot be changed (the only valid value is already set)</value>
|
||||
<data name="labelExternal.Text" xml:space="preserve">
|
||||
<value>Your new network will be mapped to an existing physical network interface and assigned a VLAN number to use on that interface. You can select the physical interface you would like to use below.</value>
|
||||
</data>
|
||||
<data name=">>infoMtuMessage.Name" xml:space="preserve">
|
||||
<value>infoMtuMessage</value>
|
||||
<data name=">>labelExternal.Name" xml:space="preserve">
|
||||
<value>labelExternal</value>
|
||||
</data>
|
||||
<data name=">>infoMtuMessage.Type" xml:space="preserve">
|
||||
<data name=">>labelExternal.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>infoMtuMessage.Parent" xml:space="preserve">
|
||||
<value>infoMtuPanel</value>
|
||||
</data>
|
||||
<data name=">>infoMtuMessage.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="pictureBox2.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Left</value>
|
||||
</data>
|
||||
<data name="pictureBox2.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="pictureBox2.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>0, 0</value>
|
||||
</data>
|
||||
<data name="pictureBox2.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>16, 15</value>
|
||||
</data>
|
||||
<data name="pictureBox2.SizeMode" type="System.Windows.Forms.PictureBoxSizeMode, System.Windows.Forms">
|
||||
<value>AutoSize</value>
|
||||
</data>
|
||||
<data name="pictureBox2.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name=">>pictureBox2.Name" xml:space="preserve">
|
||||
<value>pictureBox2</value>
|
||||
</data>
|
||||
<data name=">>pictureBox2.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.PictureBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>pictureBox2.Parent" xml:space="preserve">
|
||||
<value>infoMtuPanel</value>
|
||||
</data>
|
||||
<data name=">>pictureBox2.ZOrder" xml:space="preserve">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="infoMtuPanel.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>164, 136</value>
|
||||
</data>
|
||||
<data name="infoMtuPanel.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>6, 0, 0, 2</value>
|
||||
</data>
|
||||
<data name="infoMtuPanel.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>310, 15</value>
|
||||
</data>
|
||||
<data name="infoMtuPanel.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>17</value>
|
||||
</data>
|
||||
<data name=">>infoMtuPanel.Name" xml:space="preserve">
|
||||
<value>infoMtuPanel</value>
|
||||
</data>
|
||||
<data name=">>infoMtuPanel.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=">>infoMtuPanel.Parent" xml:space="preserve">
|
||||
<data name=">>labelExternal.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>infoMtuPanel.ZOrder" xml:space="preserve">
|
||||
<data name=">>labelExternal.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="labelInternal.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="labelInternal.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="labelInternal.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>3, 51</value>
|
||||
</data>
|
||||
<data name="labelInternal.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>3, 0, 3, 25</value>
|
||||
</data>
|
||||
<data name="labelInternal.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>367, 13</value>
|
||||
</data>
|
||||
<data name="labelInternal.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="labelInternal.Text" xml:space="preserve">
|
||||
<value>Select whether you would like to automatically add this network to new VMs.</value>
|
||||
</data>
|
||||
<data name="labelInternal.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
|
||||
<value>MiddleLeft</value>
|
||||
</data>
|
||||
<data name=">>labelInternal.Name" xml:space="preserve">
|
||||
<value>labelInternal</value>
|
||||
</data>
|
||||
<data name=">>labelInternal.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>labelInternal.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>labelInternal.ZOrder" xml:space="preserve">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="labelNIC.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Left</value>
|
||||
</data>
|
||||
<data name="labelNIC.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="labelNIC.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<data name="labelNIC.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="labelNIC.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>0, 72</value>
|
||||
</data>
|
||||
<data name="labelNIC.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>0, 0, 3, 0</value>
|
||||
<value>3, 96</value>
|
||||
</data>
|
||||
<data name="labelNIC.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>35, 27</value>
|
||||
<value>28, 13</value>
|
||||
</data>
|
||||
<data name="labelNIC.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>0</value>
|
||||
<value>2</value>
|
||||
</data>
|
||||
<data name="labelNIC.Text" xml:space="preserve">
|
||||
<value>NI&C:</value>
|
||||
</data>
|
||||
<data name="labelNIC.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
|
||||
<value>MiddleLeft</value>
|
||||
</data>
|
||||
<data name=">>labelNIC.Name" xml:space="preserve">
|
||||
<value>labelNIC</value>
|
||||
</data>
|
||||
@ -262,28 +223,46 @@
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>labelNIC.ZOrder" xml:space="preserve">
|
||||
<value>1</value>
|
||||
<value>2</value>
|
||||
</data>
|
||||
<data name="comboBoxNICList.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>47, 92</value>
|
||||
</data>
|
||||
<data name="comboBoxNICList.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>241, 21</value>
|
||||
</data>
|
||||
<data name="comboBoxNICList.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>3</value>
|
||||
</data>
|
||||
<data name=">>comboBoxNICList.Name" xml:space="preserve">
|
||||
<value>comboBoxNICList</value>
|
||||
</data>
|
||||
<data name=">>comboBoxNICList.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>comboBoxNICList.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>comboBoxNICList.ZOrder" xml:space="preserve">
|
||||
<value>3</value>
|
||||
</data>
|
||||
<data name="labelVLAN.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Left</value>
|
||||
</data>
|
||||
<data name="labelVLAN.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="labelVLAN.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<data name="labelVLAN.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="labelVLAN.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>0, 110</value>
|
||||
</data>
|
||||
<data name="labelVLAN.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>0, 11, 0, 7</value>
|
||||
<value>3, 123</value>
|
||||
</data>
|
||||
<data name="labelVLAN.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>38, 18</value>
|
||||
<value>38, 13</value>
|
||||
</data>
|
||||
<data name="labelVLAN.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>2</value>
|
||||
<value>4</value>
|
||||
</data>
|
||||
<data name="labelVLAN.Text" xml:space="preserve">
|
||||
<value>&VLAN:</value>
|
||||
@ -298,61 +277,16 @@
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>labelVLAN.ZOrder" xml:space="preserve">
|
||||
<value>2</value>
|
||||
</data>
|
||||
<data name="lblNicHelp.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="lblNicHelp.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<data name="lblNicHelp.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="lblNicHelp.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>0, 0</value>
|
||||
</data>
|
||||
<data name="lblNicHelp.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>0, 0, 0, 7</value>
|
||||
</data>
|
||||
<data name="lblNicHelp.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>493, 65</value>
|
||||
</data>
|
||||
<data name="lblNicHelp.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="lblNicHelp.Text" xml:space="preserve">
|
||||
<value>Your new external network will be mapped to an existing physical network interface and assigned a VLAN number for that interface.
|
||||
|
||||
|
||||
Select the physical interface you would like to use:</value>
|
||||
</data>
|
||||
<data name="lblNicHelp.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
|
||||
<value>MiddleLeft</value>
|
||||
</data>
|
||||
<data name=">>lblNicHelp.Name" xml:space="preserve">
|
||||
<value>lblNicHelp</value>
|
||||
</data>
|
||||
<data name=">>lblNicHelp.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>lblNicHelp.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>lblNicHelp.ZOrder" xml:space="preserve">
|
||||
<value>3</value>
|
||||
<value>4</value>
|
||||
</data>
|
||||
<data name="numericUpDownVLAN.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>41, 108</value>
|
||||
</data>
|
||||
<data name="numericUpDownVLAN.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>3, 9, 0, 7</value>
|
||||
<value>47, 119</value>
|
||||
</data>
|
||||
<data name="numericUpDownVLAN.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>117, 20</value>
|
||||
<value>114, 20</value>
|
||||
</data>
|
||||
<data name="numericUpDownVLAN.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>3</value>
|
||||
<value>5</value>
|
||||
</data>
|
||||
<data name=">>numericUpDownVLAN.Name" xml:space="preserve">
|
||||
<value>numericUpDownVLAN</value>
|
||||
@ -364,49 +298,115 @@ Select the physical interface you would like to use:</value>
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>numericUpDownVLAN.ZOrder" xml:space="preserve">
|
||||
<value>4</value>
|
||||
<value>5</value>
|
||||
</data>
|
||||
<data name="comboBoxNICList.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>41, 75</value>
|
||||
<data name="infoVlanPanel.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="comboBoxNICList.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>241, 21</value>
|
||||
<data name="infoVlanPanel.AutoSizeMode" type="System.Windows.Forms.AutoSizeMode, System.Windows.Forms">
|
||||
<value>GrowAndShrink</value>
|
||||
</data>
|
||||
<data name="comboBoxNICList.TabIndex" type="System.Int32, mscorlib">
|
||||
<data name="infoVlanPanel.ColumnCount" type="System.Int32, mscorlib">
|
||||
<value>2</value>
|
||||
</data>
|
||||
<data name="pictureBoxVlan.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>3, 3</value>
|
||||
</data>
|
||||
<data name="pictureBoxVlan.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>16, 16</value>
|
||||
</data>
|
||||
<data name="pictureBoxVlan.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name=">>pictureBoxVlan.Name" xml:space="preserve">
|
||||
<value>pictureBoxVlan</value>
|
||||
</data>
|
||||
<data name=">>pictureBoxVlan.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.PictureBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>pictureBoxVlan.Parent" xml:space="preserve">
|
||||
<value>infoVlanPanel</value>
|
||||
</data>
|
||||
<data name=">>pictureBoxVlan.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="labelVlanMessage.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Left, Right</value>
|
||||
</data>
|
||||
<data name="labelVlanMessage.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="labelVlanMessage.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="labelVlanMessage.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>25, 4</value>
|
||||
</data>
|
||||
<data name="labelVlanMessage.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>331, 13</value>
|
||||
</data>
|
||||
<data name="labelVlanMessage.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name=">>labelVlanMessage.Name" xml:space="preserve">
|
||||
<value>labelVlanMessage</value>
|
||||
</data>
|
||||
<data name=">>labelVlanMessage.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>labelVlanMessage.Parent" xml:space="preserve">
|
||||
<value>infoVlanPanel</value>
|
||||
</data>
|
||||
<data name=">>labelVlanMessage.ZOrder" xml:space="preserve">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name=">>comboBoxNICList.Name" xml:space="preserve">
|
||||
<value>comboBoxNICList</value>
|
||||
<data name="infoVlanPanel.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<data name=">>comboBoxNICList.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<data name="infoVlanPanel.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>167, 119</value>
|
||||
</data>
|
||||
<data name=">>comboBoxNICList.Parent" xml:space="preserve">
|
||||
<data name="infoVlanPanel.RowCount" type="System.Int32, mscorlib">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="infoVlanPanel.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>359, 22</value>
|
||||
</data>
|
||||
<data name="infoVlanPanel.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>6</value>
|
||||
</data>
|
||||
<data name=">>infoVlanPanel.Name" xml:space="preserve">
|
||||
<value>infoVlanPanel</value>
|
||||
</data>
|
||||
<data name=">>infoVlanPanel.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=">>infoVlanPanel.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>comboBoxNICList.ZOrder" xml:space="preserve">
|
||||
<value>5</value>
|
||||
<data name=">>infoVlanPanel.ZOrder" xml:space="preserve">
|
||||
<value>6</value>
|
||||
</data>
|
||||
<data name="infoVlanPanel.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
|
||||
<value><?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="pictureBoxVlan" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="labelVlanMessage" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /></Controls><Columns Styles="AutoSize,0,Percent,100,Absolute,20" /><Rows Styles="Percent,100" /></TableLayoutSettings></value>
|
||||
</data>
|
||||
<data name="labelMTU.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Left</value>
|
||||
</data>
|
||||
<data name="labelMTU.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="labelMTU.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<data name="labelMTU.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="labelMTU.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>0, 137</value>
|
||||
</data>
|
||||
<data name="labelMTU.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>0, 2, 3, 0</value>
|
||||
<value>3, 151</value>
|
||||
</data>
|
||||
<data name="labelMTU.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>35, 18</value>
|
||||
<value>34, 13</value>
|
||||
</data>
|
||||
<data name="labelMTU.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>4</value>
|
||||
<value>7</value>
|
||||
</data>
|
||||
<data name="labelMTU.Text" xml:space="preserve">
|
||||
<value>&MTU:</value>
|
||||
@ -421,19 +421,16 @@ Select the physical interface you would like to use:</value>
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>labelMTU.ZOrder" xml:space="preserve">
|
||||
<value>6</value>
|
||||
<value>7</value>
|
||||
</data>
|
||||
<data name="numericUpDownMTU.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>41, 135</value>
|
||||
</data>
|
||||
<data name="numericUpDownMTU.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>3, 0, 0, 0</value>
|
||||
<value>47, 147</value>
|
||||
</data>
|
||||
<data name="numericUpDownMTU.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>117, 20</value>
|
||||
<value>114, 20</value>
|
||||
</data>
|
||||
<data name="numericUpDownMTU.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>5</value>
|
||||
<value>8</value>
|
||||
</data>
|
||||
<data name=">>numericUpDownMTU.Name" xml:space="preserve">
|
||||
<value>numericUpDownMTU</value>
|
||||
@ -445,127 +442,136 @@ Select the physical interface you would like to use:</value>
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>numericUpDownMTU.ZOrder" xml:space="preserve">
|
||||
<value>7</value>
|
||||
<value>8</value>
|
||||
</data>
|
||||
<data name="panelVLANInfo.AutoSize" type="System.Boolean, mscorlib">
|
||||
<data name="infoMtuPanel.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Left, Right</value>
|
||||
</data>
|
||||
<data name="infoMtuPanel.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="labelVlanError.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
<data name="infoMtuPanel.AutoSizeMode" type="System.Windows.Forms.AutoSizeMode, System.Windows.Forms">
|
||||
<value>GrowAndShrink</value>
|
||||
</data>
|
||||
<data name="labelVlanError.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Left</value>
|
||||
<data name="infoMtuPanel.ColumnCount" type="System.Int32, mscorlib">
|
||||
<value>2</value>
|
||||
</data>
|
||||
<data name="labelVlanError.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Microsoft Sans Serif, 8.25pt</value>
|
||||
</data>
|
||||
<data name="labelVlanError.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<data name="pictureBoxMtu.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="labelVlanError.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>0, 0</value>
|
||||
<data name="pictureBoxMtu.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>3, 3</value>
|
||||
</data>
|
||||
<data name="labelVlanError.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>0, 0, 0, 0</value>
|
||||
<data name="pictureBoxMtu.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>16, 16</value>
|
||||
</data>
|
||||
<data name="labelVlanError.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>174, 13</value>
|
||||
<data name="pictureBoxMtu.SizeMode" type="System.Windows.Forms.PictureBoxSizeMode, System.Windows.Forms">
|
||||
<value>AutoSize</value>
|
||||
</data>
|
||||
<data name="labelVlanError.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>6</value>
|
||||
</data>
|
||||
<data name="labelVlanError.Text" xml:space="preserve">
|
||||
<value>This VLAN number is already in use</value>
|
||||
</data>
|
||||
<data name="labelVlanError.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
|
||||
<value>MiddleLeft</value>
|
||||
</data>
|
||||
<data name="labelVlanError.Visible" type="System.Boolean, mscorlib">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name=">>labelVlanError.Name" xml:space="preserve">
|
||||
<value>labelVlanError</value>
|
||||
</data>
|
||||
<data name=">>labelVlanError.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>labelVlanError.Parent" xml:space="preserve">
|
||||
<value>panelVLANInfo</value>
|
||||
</data>
|
||||
<data name=">>labelVlanError.ZOrder" xml:space="preserve">
|
||||
<data name="pictureBoxMtu.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="labelVLAN0Info.AutoSize" type="System.Boolean, mscorlib">
|
||||
<data name=">>pictureBoxMtu.Name" xml:space="preserve">
|
||||
<value>pictureBoxMtu</value>
|
||||
</data>
|
||||
<data name=">>pictureBoxMtu.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.PictureBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>pictureBoxMtu.Parent" xml:space="preserve">
|
||||
<value>infoMtuPanel</value>
|
||||
</data>
|
||||
<data name=">>pictureBoxMtu.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="labelMtuMessage.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Left, Right</value>
|
||||
</data>
|
||||
<data name="labelMtuMessage.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="labelVLAN0Info.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<data name="labelVLAN0Info.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Microsoft Sans Serif, 8.25pt</value>
|
||||
</data>
|
||||
<data name="labelVLAN0Info.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<data name="labelMtuMessage.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="labelVLAN0Info.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>0, 0</value>
|
||||
<data name="labelMtuMessage.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>25, 4</value>
|
||||
</data>
|
||||
<data name="labelVLAN0Info.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>0, 0, 0, 0</value>
|
||||
<data name="labelMtuMessage.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>331, 13</value>
|
||||
</data>
|
||||
<data name="labelVLAN0Info.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>252, 13</value>
|
||||
<data name="labelMtuMessage.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="labelVLAN0Info.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>7</value>
|
||||
<data name=">>labelMtuMessage.Name" xml:space="preserve">
|
||||
<value>labelMtuMessage</value>
|
||||
</data>
|
||||
<data name="labelVLAN0Info.Text" xml:space="preserve">
|
||||
<value>VLAN 0 will receive all traffic not on any other VLAN</value>
|
||||
</data>
|
||||
<data name="labelVLAN0Info.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
|
||||
<value>MiddleLeft</value>
|
||||
</data>
|
||||
<data name="labelVLAN0Info.Visible" type="System.Boolean, mscorlib">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name=">>labelVLAN0Info.Name" xml:space="preserve">
|
||||
<value>labelVLAN0Info</value>
|
||||
</data>
|
||||
<data name=">>labelVLAN0Info.Type" xml:space="preserve">
|
||||
<data name=">>labelMtuMessage.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>labelVLAN0Info.Parent" xml:space="preserve">
|
||||
<value>panelVLANInfo</value>
|
||||
<data name=">>labelMtuMessage.Parent" xml:space="preserve">
|
||||
<value>infoMtuPanel</value>
|
||||
</data>
|
||||
<data name=">>labelVLAN0Info.ZOrder" xml:space="preserve">
|
||||
<data name=">>labelMtuMessage.ZOrder" xml:space="preserve">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="panelVLANInfo.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
<data name="infoMtuPanel.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>167, 147</value>
|
||||
</data>
|
||||
<data name="panelVLANInfo.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>161, 112</value>
|
||||
<data name="infoMtuPanel.RowCount" type="System.Int32, mscorlib">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="panelVLANInfo.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>3, 13, 0, 0</value>
|
||||
<data name="infoMtuPanel.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>359, 22</value>
|
||||
</data>
|
||||
<data name="panelVLANInfo.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>332, 23</value>
|
||||
<data name="infoMtuPanel.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>9</value>
|
||||
</data>
|
||||
<data name="panelVLANInfo.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>16</value>
|
||||
<data name=">>infoMtuPanel.Name" xml:space="preserve">
|
||||
<value>infoMtuPanel</value>
|
||||
</data>
|
||||
<data name=">>panelVLANInfo.Name" xml:space="preserve">
|
||||
<value>panelVLANInfo</value>
|
||||
<data name=">>infoMtuPanel.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=">>panelVLANInfo.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=">>panelVLANInfo.Parent" xml:space="preserve">
|
||||
<data name=">>infoMtuPanel.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>panelVLANInfo.ZOrder" xml:space="preserve">
|
||||
<value>8</value>
|
||||
<data name=">>infoMtuPanel.ZOrder" xml:space="preserve">
|
||||
<value>9</value>
|
||||
</data>
|
||||
<data name="infoMtuPanel.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
|
||||
<value><?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="pictureBoxMtu" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="labelMtuMessage" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /></Controls><Columns Styles="AutoSize,0,Percent,100" /><Rows Styles="AutoSize,0" /></TableLayoutSettings></value>
|
||||
</data>
|
||||
<data name="checkBoxSriov.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="checkBoxSriov.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="checkBoxSriov.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>3, 192</value>
|
||||
</data>
|
||||
<data name="checkBoxSriov.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>3, 20, 3, 3</value>
|
||||
</data>
|
||||
<data name="checkBoxSriov.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>219, 17</value>
|
||||
</data>
|
||||
<data name="checkBoxSriov.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>10</value>
|
||||
</data>
|
||||
<data name="checkBoxSriov.Text" xml:space="preserve">
|
||||
<value>Create the VLAN on the &SR-IOV network</value>
|
||||
</data>
|
||||
<data name=">>checkBoxSriov.Name" xml:space="preserve">
|
||||
<value>checkBoxSriov</value>
|
||||
</data>
|
||||
<data name=">>checkBoxSriov.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>checkBoxSriov.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>checkBoxSriov.ZOrder" xml:space="preserve">
|
||||
<value>10</value>
|
||||
</data>
|
||||
<data name="checkBoxAutomatic.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
@ -577,16 +583,16 @@ Select the physical interface you would like to use:</value>
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="checkBoxAutomatic.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>4, 209</value>
|
||||
<value>3, 232</value>
|
||||
</data>
|
||||
<data name="checkBoxAutomatic.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>4, 24, 0, 0</value>
|
||||
<value>3, 20, 3, 3</value>
|
||||
</data>
|
||||
<data name="checkBoxAutomatic.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>283, 17</value>
|
||||
</data>
|
||||
<data name="checkBoxAutomatic.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>7</value>
|
||||
<value>11</value>
|
||||
</data>
|
||||
<data name="checkBoxAutomatic.Text" xml:space="preserve">
|
||||
<value>&Automatically add this network to new virtual machines</value>
|
||||
@ -604,40 +610,7 @@ Select the physical interface you would like to use:</value>
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>checkBoxAutomatic.ZOrder" xml:space="preserve">
|
||||
<value>9</value>
|
||||
</data>
|
||||
<data name="checkBoxSriov.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="checkBoxSriov.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="checkBoxSriov.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>4, 165</value>
|
||||
</data>
|
||||
<data name="checkBoxSriov.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>4, 10, 3, 3</value>
|
||||
</data>
|
||||
<data name="checkBoxSriov.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>219, 17</value>
|
||||
</data>
|
||||
<data name="checkBoxSriov.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>6</value>
|
||||
</data>
|
||||
<data name="checkBoxSriov.Text" xml:space="preserve">
|
||||
<value>Create the VLAN on the &SR-IOV network</value>
|
||||
</data>
|
||||
<data name=">>checkBoxSriov.Name" xml:space="preserve">
|
||||
<value>checkBoxSriov</value>
|
||||
</data>
|
||||
<data name=">>checkBoxSriov.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>checkBoxSriov.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>checkBoxSriov.ZOrder" xml:space="preserve">
|
||||
<value>10</value>
|
||||
<value>11</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
@ -646,10 +619,10 @@ Select the physical interface you would like to use:</value>
|
||||
<value>0, 0</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.RowCount" type="System.Int32, mscorlib">
|
||||
<value>6</value>
|
||||
<value>7</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>493, 276</value>
|
||||
<value>529, 319</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>0</value>
|
||||
@ -661,37 +634,13 @@ Select the physical interface you would like to use:</value>
|
||||
<value>System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>tableLayoutPanel1.Parent" xml:space="preserve">
|
||||
<value>panel1</value>
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>tableLayoutPanel1.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
|
||||
<value><?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="infoMtuPanel" Row="3" RowSpan="1" Column="2" ColumnSpan="2" /><Control Name="labelNIC" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="labelVLAN" Row="2" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="lblNicHelp" Row="0" RowSpan="1" Column="0" ColumnSpan="4" /><Control Name="numericUpDownVLAN" Row="2" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="comboBoxNICList" Row="1" RowSpan="1" Column="1" ColumnSpan="2" /><Control Name="labelMTU" Row="3" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="numericUpDownMTU" Row="3" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="panelVLANInfo" Row="2" RowSpan="1" Column="2" ColumnSpan="2" /><Control Name="checkBoxAutomatic" Row="5" RowSpan="1" Column="0" ColumnSpan="4" /><Control Name="checkBoxSriov" Row="4" RowSpan="1" Column="0" ColumnSpan="4" /></Controls><Columns Styles="AutoSize,0,Absolute,120,Absolute,127,Percent,100" /><Rows Styles="AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,Percent,100,Absolute,20" /></TableLayoutSettings></value>
|
||||
</data>
|
||||
<data name="panel1.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>0, 0</value>
|
||||
</data>
|
||||
<data name="panel1.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>0, 0, 0, 0</value>
|
||||
</data>
|
||||
<data name="panel1.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>493, 276</value>
|
||||
</data>
|
||||
<data name="panel1.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name=">>panel1.Name" xml:space="preserve">
|
||||
<value>panel1</value>
|
||||
</data>
|
||||
<data name=">>panel1.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=">>panel1.Parent" xml:space="preserve">
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>panel1.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
<value><?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="labelExternal" Row="0" RowSpan="1" Column="0" ColumnSpan="4" /><Control Name="labelInternal" Row="1" RowSpan="1" Column="0" ColumnSpan="4" /><Control Name="labelNIC" Row="2" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="comboBoxNICList" Row="2" RowSpan="1" Column="1" ColumnSpan="2" /><Control Name="labelVLAN" Row="3" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="numericUpDownVLAN" Row="3" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="infoVlanPanel" Row="3" RowSpan="1" Column="2" ColumnSpan="2" /><Control Name="labelMTU" Row="4" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="numericUpDownMTU" Row="4" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="infoMtuPanel" Row="4" RowSpan="1" Column="2" ColumnSpan="2" /><Control Name="checkBoxSriov" Row="5" RowSpan="1" Column="0" ColumnSpan="4" /><Control Name="checkBoxAutomatic" Row="6" RowSpan="1" Column="0" ColumnSpan="4" /></Controls><Columns Styles="AutoSize,0,Absolute,120,Absolute,127,Percent,100" /><Rows Styles="AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,Percent,100,Absolute,20" /></TableLayoutSettings></value>
|
||||
</data>
|
||||
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
@ -703,7 +652,7 @@ Select the physical interface you would like to use:</value>
|
||||
<value>0, 0, 0, 0</value>
|
||||
</data>
|
||||
<data name="$this.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>493, 276</value>
|
||||
<value>529, 319</value>
|
||||
</data>
|
||||
<data name="$this.Text" xml:space="preserve">
|
||||
<value>Interface</value>
|
||||
|
@ -29,71 +29,59 @@ namespace XenAdmin.Wizards.NewNetworkWizard_Pages
|
||||
private void InitializeComponent()
|
||||
{
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(NetWName));
|
||||
this.panel1 = new System.Windows.Forms.Panel();
|
||||
this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
|
||||
this.txtName = new System.Windows.Forms.TextBox();
|
||||
this.txtDescription = new System.Windows.Forms.TextBox();
|
||||
this.lblDescription = new System.Windows.Forms.Label();
|
||||
this.lblName = new System.Windows.Forms.Label();
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.panel1.SuspendLayout();
|
||||
this.lblName = new System.Windows.Forms.Label();
|
||||
this.txtName = new System.Windows.Forms.TextBox();
|
||||
this.lblDescription = new System.Windows.Forms.Label();
|
||||
this.txtDescription = new System.Windows.Forms.TextBox();
|
||||
this.tableLayoutPanel1.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// panel1
|
||||
//
|
||||
resources.ApplyResources(this.panel1, "panel1");
|
||||
this.panel1.BackColor = System.Drawing.SystemColors.Control;
|
||||
this.panel1.Controls.Add(this.tableLayoutPanel1);
|
||||
this.panel1.Name = "panel1";
|
||||
//
|
||||
// tableLayoutPanel1
|
||||
//
|
||||
resources.ApplyResources(this.tableLayoutPanel1, "tableLayoutPanel1");
|
||||
this.tableLayoutPanel1.Controls.Add(this.txtName, 1, 1);
|
||||
this.tableLayoutPanel1.Controls.Add(this.txtDescription, 1, 3);
|
||||
this.tableLayoutPanel1.Controls.Add(this.lblDescription, 0, 3);
|
||||
this.tableLayoutPanel1.Controls.Add(this.lblName, 0, 1);
|
||||
this.tableLayoutPanel1.Controls.Add(this.label1, 0, 0);
|
||||
this.tableLayoutPanel1.Controls.Add(this.lblName, 0, 1);
|
||||
this.tableLayoutPanel1.Controls.Add(this.txtName, 1, 1);
|
||||
this.tableLayoutPanel1.Controls.Add(this.lblDescription, 0, 3);
|
||||
this.tableLayoutPanel1.Controls.Add(this.txtDescription, 1, 3);
|
||||
this.tableLayoutPanel1.Name = "tableLayoutPanel1";
|
||||
//
|
||||
// txtName
|
||||
// label1
|
||||
//
|
||||
this.tableLayoutPanel1.SetColumnSpan(this.txtName, 2);
|
||||
resources.ApplyResources(this.txtName, "txtName");
|
||||
this.txtName.Name = "txtName";
|
||||
this.txtName.TextChanged += new System.EventHandler(this.txtName_TextChanged);
|
||||
//
|
||||
// txtDescription
|
||||
//
|
||||
this.tableLayoutPanel1.SetColumnSpan(this.txtDescription, 2);
|
||||
resources.ApplyResources(this.txtDescription, "txtDescription");
|
||||
this.txtDescription.Name = "txtDescription";
|
||||
//
|
||||
// lblDescription
|
||||
//
|
||||
resources.ApplyResources(this.lblDescription, "lblDescription");
|
||||
this.lblDescription.Name = "lblDescription";
|
||||
resources.ApplyResources(this.label1, "label1");
|
||||
this.tableLayoutPanel1.SetColumnSpan(this.label1, 3);
|
||||
this.label1.Name = "label1";
|
||||
//
|
||||
// lblName
|
||||
//
|
||||
resources.ApplyResources(this.lblName, "lblName");
|
||||
this.lblName.Name = "lblName";
|
||||
//
|
||||
// label1
|
||||
// txtName
|
||||
//
|
||||
resources.ApplyResources(this.label1, "label1");
|
||||
this.tableLayoutPanel1.SetColumnSpan(this.label1, 4);
|
||||
this.label1.Name = "label1";
|
||||
resources.ApplyResources(this.txtName, "txtName");
|
||||
this.txtName.Name = "txtName";
|
||||
this.txtName.TextChanged += new System.EventHandler(this.txtName_TextChanged);
|
||||
//
|
||||
// lblDescription
|
||||
//
|
||||
resources.ApplyResources(this.lblDescription, "lblDescription");
|
||||
this.lblDescription.Name = "lblDescription";
|
||||
//
|
||||
// txtDescription
|
||||
//
|
||||
resources.ApplyResources(this.txtDescription, "txtDescription");
|
||||
this.txtDescription.Name = "txtDescription";
|
||||
//
|
||||
// NetWName
|
||||
//
|
||||
resources.ApplyResources(this, "$this");
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;
|
||||
this.BackColor = System.Drawing.SystemColors.Control;
|
||||
this.Controls.Add(this.panel1);
|
||||
this.Controls.Add(this.tableLayoutPanel1);
|
||||
this.Name = "NetWName";
|
||||
this.panel1.ResumeLayout(false);
|
||||
this.tableLayoutPanel1.ResumeLayout(false);
|
||||
this.tableLayoutPanel1.PerformLayout();
|
||||
this.ResumeLayout(false);
|
||||
@ -101,8 +89,6 @@ namespace XenAdmin.Wizards.NewNetworkWizard_Pages
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.Panel panel1;
|
||||
private System.Windows.Forms.Label lblName;
|
||||
private System.Windows.Forms.TextBox txtName;
|
||||
private System.Windows.Forms.Label lblDescription;
|
||||
|
@ -31,11 +31,6 @@
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Drawing;
|
||||
using System.Data;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
using XenAdmin.Controls;
|
||||
using XenAdmin.Core;
|
||||
using XenAdmin.Network;
|
||||
@ -50,9 +45,9 @@ namespace XenAdmin.Wizards.NewNetworkWizard_Pages
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
public override string Text { get { return Messages.NETW_NAME_TEXT; } }
|
||||
public override string Text => Messages.NETW_NAME_TEXT;
|
||||
|
||||
public override string PageTitle { get { return Messages.NETW_NAME_TITLE; } }
|
||||
public override string PageTitle => Messages.NETW_NAME_TITLE;
|
||||
|
||||
public override bool EnableNext()
|
||||
{
|
||||
@ -61,7 +56,7 @@ namespace XenAdmin.Wizards.NewNetworkWizard_Pages
|
||||
|
||||
protected override void PageLoadedCore(PageLoadedDirection direction)
|
||||
{
|
||||
HelpersGUI.FocusFirstControl(Controls);
|
||||
txtName.Focus();
|
||||
}
|
||||
|
||||
protected override void PageLeaveCore(PageLoadedDirection direction, ref bool cancel)
|
||||
@ -77,21 +72,9 @@ namespace XenAdmin.Wizards.NewNetworkWizard_Pages
|
||||
|
||||
public NetworkTypes SelectedNetworkType { private get; set; }
|
||||
|
||||
public string NetworkName
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.txtName.Text;
|
||||
}
|
||||
}
|
||||
public string NetworkName => txtName.Text;
|
||||
|
||||
public string NetworkDescription
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.txtDescription.Text;
|
||||
}
|
||||
}
|
||||
public string NetworkDescription => txtDescription.Text;
|
||||
|
||||
private string GetNetworkName(NetworkTypes network_type)
|
||||
{
|
||||
|
@ -112,127 +112,61 @@
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<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=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<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=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<data name="panel1.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Top, Bottom, Left, Right</value>
|
||||
</data>
|
||||
<assembly alias="mscorlib" name="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<data name="tableLayoutPanel1.ColumnCount" type="System.Int32, mscorlib">
|
||||
<value>4</value>
|
||||
</data>
|
||||
<data name="txtName.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="txtName.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>66, 43</value>
|
||||
</data>
|
||||
<data name="txtName.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>0, 0, 0, 0</value>
|
||||
</data>
|
||||
<data name="txtName.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>294, 20</value>
|
||||
</data>
|
||||
<data name="txtName.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>3</value>
|
||||
</data>
|
||||
<data name="txtName.Text" xml:space="preserve">
|
||||
<value>New Network (1)</value>
|
||||
</data>
|
||||
<data name=">>txtName.Name" xml:space="preserve">
|
||||
<value>txtName</value>
|
||||
</data>
|
||||
<data name=">>txtName.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>txtName.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>txtName.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="txtDescription.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<data name="txtDescription.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>66, 68</value>
|
||||
</data>
|
||||
<data name="txtDescription.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>0, 0, 0, 0</value>
|
||||
</data>
|
||||
<data name="txtDescription.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>294, 20</value>
|
||||
</data>
|
||||
<data name="txtDescription.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>5</value>
|
||||
</data>
|
||||
<data name=">>txtDescription.Name" xml:space="preserve">
|
||||
<value>txtDescription</value>
|
||||
</data>
|
||||
<data name=">>txtDescription.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>txtDescription.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>txtDescription.ZOrder" xml:space="preserve">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="lblDescription.AutoSize" type="System.Boolean, mscorlib">
|
||||
<data name="label1.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="lblDescription.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<data name="label1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<data name="lblDescription.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>0, 68</value>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="label1.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>3, 0</value>
|
||||
</data>
|
||||
<data name="lblDescription.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>0, 0, 3, 0</value>
|
||||
<data name="label1.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>3, 0, 3, 30</value>
|
||||
</data>
|
||||
<data name="lblDescription.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>63, 20</value>
|
||||
<data name="label1.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>394, 13</value>
|
||||
</data>
|
||||
<data name="lblDescription.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>4</value>
|
||||
<data name="label1.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="lblDescription.Text" xml:space="preserve">
|
||||
<value>&Description:</value>
|
||||
<data name="label1.Text" xml:space="preserve">
|
||||
<value>Provide a name and optional description for the new network.</value>
|
||||
</data>
|
||||
<data name="lblDescription.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
|
||||
<value>MiddleLeft</value>
|
||||
<data name=">>label1.Name" xml:space="preserve">
|
||||
<value>label1</value>
|
||||
</data>
|
||||
<data name=">>lblDescription.Name" xml:space="preserve">
|
||||
<value>lblDescription</value>
|
||||
<data name=">>label1.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>lblDescription.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>lblDescription.Parent" xml:space="preserve">
|
||||
<data name=">>label1.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>lblDescription.ZOrder" xml:space="preserve">
|
||||
<value>2</value>
|
||||
<data name=">>label1.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="lblName.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Left</value>
|
||||
</data>
|
||||
<data name="lblName.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="lblName.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<data name="lblName.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>0, 43</value>
|
||||
</data>
|
||||
<data name="lblName.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>0, 0, 0, 0</value>
|
||||
<value>3, 49</value>
|
||||
</data>
|
||||
<data name="lblName.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>66, 20</value>
|
||||
<value>38, 13</value>
|
||||
</data>
|
||||
<data name="lblName.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>2</value>
|
||||
@ -247,48 +181,96 @@
|
||||
<value>lblName</value>
|
||||
</data>
|
||||
<data name=">>lblName.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>lblName.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>lblName.ZOrder" xml:space="preserve">
|
||||
<value>3</value>
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="label1.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="label1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<data name="txtName.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<data name="label1.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>0, 0</value>
|
||||
<data name="txtName.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>72, 46</value>
|
||||
</data>
|
||||
<data name="label1.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>0, 0, 0, 0</value>
|
||||
<data name="txtName.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>285, 20</value>
|
||||
</data>
|
||||
<data name="label1.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>0, 0, 0, 30</value>
|
||||
<data name="txtName.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>3</value>
|
||||
</data>
|
||||
<data name="label1.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>400, 43</value>
|
||||
<data name="txtName.Text" xml:space="preserve">
|
||||
<value>New Network (1)</value>
|
||||
</data>
|
||||
<data name="label1.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>6</value>
|
||||
<data name=">>txtName.Name" xml:space="preserve">
|
||||
<value>txtName</value>
|
||||
</data>
|
||||
<data name="label1.Text" xml:space="preserve">
|
||||
<value>Provide a name and optional description for the new network.</value>
|
||||
<data name=">>txtName.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>label1.Name" xml:space="preserve">
|
||||
<value>label1</value>
|
||||
</data>
|
||||
<data name=">>label1.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>label1.Parent" xml:space="preserve">
|
||||
<data name=">>txtName.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>label1.ZOrder" xml:space="preserve">
|
||||
<data name=">>txtName.ZOrder" xml:space="preserve">
|
||||
<value>2</value>
|
||||
</data>
|
||||
<data name="lblDescription.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Left</value>
|
||||
</data>
|
||||
<data name="lblDescription.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="lblDescription.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>3, 80</value>
|
||||
</data>
|
||||
<data name="lblDescription.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>63, 13</value>
|
||||
</data>
|
||||
<data name="lblDescription.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>4</value>
|
||||
</data>
|
||||
<data name="lblDescription.Text" xml:space="preserve">
|
||||
<value>&Description:</value>
|
||||
</data>
|
||||
<data name="lblDescription.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
|
||||
<value>MiddleLeft</value>
|
||||
</data>
|
||||
<data name=">>lblDescription.Name" xml:space="preserve">
|
||||
<value>lblDescription</value>
|
||||
</data>
|
||||
<data name=">>lblDescription.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>lblDescription.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>lblDescription.ZOrder" xml:space="preserve">
|
||||
<value>3</value>
|
||||
</data>
|
||||
<data name="txtDescription.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<data name="txtDescription.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>72, 77</value>
|
||||
</data>
|
||||
<data name="txtDescription.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>285, 20</value>
|
||||
</data>
|
||||
<data name="txtDescription.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>5</value>
|
||||
</data>
|
||||
<data name=">>txtDescription.Name" xml:space="preserve">
|
||||
<value>txtDescription</value>
|
||||
</data>
|
||||
<data name=">>txtDescription.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>txtDescription.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>txtDescription.ZOrder" xml:space="preserve">
|
||||
<value>4</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
@ -307,48 +289,24 @@
|
||||
<value>400, 300</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>3</value>
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name=">>tableLayoutPanel1.Name" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>tableLayoutPanel1.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>tableLayoutPanel1.Parent" xml:space="preserve">
|
||||
<value>panel1</value>
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>tableLayoutPanel1.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
|
||||
<value><?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="txtName" Row="1" RowSpan="1" Column="1" ColumnSpan="2" /><Control Name="txtDescription" Row="3" RowSpan="1" Column="1" ColumnSpan="2" /><Control Name="lblDescription" Row="3" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="lblName" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="label1" Row="0" RowSpan="1" Column="0" ColumnSpan="4" /></Controls><Columns Styles="AutoSize,0,Percent,100,Absolute,40,Absolute,40" /><Rows Styles="AutoSize,0,AutoSize,0,Absolute,5,AutoSize,0,Percent,100" /></TableLayoutSettings></value>
|
||||
<value><?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="label1" Row="0" RowSpan="1" Column="0" ColumnSpan="3" /><Control Name="lblName" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="txtName" Row="1" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="lblDescription" Row="3" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="txtDescription" Row="3" RowSpan="1" Column="1" ColumnSpan="1" /></Controls><Columns Styles="AutoSize,0,Percent,100,Absolute,40,Absolute,20" /><Rows Styles="AutoSize,0,AutoSize,0,Absolute,5,AutoSize,0,Percent,100" /></TableLayoutSettings></value>
|
||||
</data>
|
||||
<data name="panel1.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>0, 0</value>
|
||||
</data>
|
||||
<data name="panel1.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>0, 0, 0, 0</value>
|
||||
</data>
|
||||
<data name="panel1.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>400, 300</value>
|
||||
</data>
|
||||
<data name="panel1.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name=">>panel1.Name" xml:space="preserve">
|
||||
<value>panel1</value>
|
||||
</data>
|
||||
<data name=">>panel1.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.Panel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>panel1.Parent" xml:space="preserve">
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>panel1.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<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">
|
||||
|
@ -100,15 +100,9 @@ namespace XenAdmin.Wizards.NewNetworkWizard_Pages
|
||||
OnPageUpdated();
|
||||
}
|
||||
|
||||
public PIF SelectedHostNic
|
||||
{
|
||||
get { return (PIF)comboBoxNicList.SelectedItem; }
|
||||
}
|
||||
public PIF SelectedHostNic => (PIF)comboBoxNicList.SelectedItem;
|
||||
|
||||
public bool isAutomaticAddNicToVM
|
||||
{
|
||||
get { return cbxAutomatic.Checked; }
|
||||
}
|
||||
public bool AddNicToVmsAutomatically => cbxAutomatic.Checked;
|
||||
|
||||
private void comboBoxNicList_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
|
@ -139,7 +139,7 @@
|
||||
<value>286, 17</value>
|
||||
</data>
|
||||
<data name="cbxAutomatic.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>5</value>
|
||||
<value>3</value>
|
||||
</data>
|
||||
<data name="cbxAutomatic.Text" xml:space="preserve">
|
||||
<value>&Automatically add this network to new virtual machines.</value>
|
||||
|
@ -31,7 +31,6 @@ namespace XenAdmin.Wizards.NewNetworkWizard_Pages
|
||||
this.components = new System.ComponentModel.Container();
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(NetWTypeSelect));
|
||||
this.toolTip = new System.Windows.Forms.ToolTip(this.components);
|
||||
this.flowLayoutPanel1 = new System.Windows.Forms.FlowLayoutPanel();
|
||||
this.lblNetTypeSel = new System.Windows.Forms.Label();
|
||||
this.rbtnExternalNetwork = new System.Windows.Forms.RadioButton();
|
||||
this.labelExternalNetwork = new System.Windows.Forms.Label();
|
||||
@ -43,50 +42,35 @@ namespace XenAdmin.Wizards.NewNetworkWizard_Pages
|
||||
this.labelCHIN = new System.Windows.Forms.Label();
|
||||
this.rbtnSriov = new System.Windows.Forms.RadioButton();
|
||||
this.labelSriov = new System.Windows.Forms.Label();
|
||||
this.warningsTable = new System.Windows.Forms.TableLayoutPanel();
|
||||
this.iconWarningChinOption = new System.Windows.Forms.PictureBox();
|
||||
this.warningTableChin = new System.Windows.Forms.TableLayoutPanel();
|
||||
this.labelWarningChinOption = new System.Windows.Forms.Label();
|
||||
this.iconWarningChinOption = new System.Windows.Forms.PictureBox();
|
||||
this.warningTableSriov = new System.Windows.Forms.TableLayoutPanel();
|
||||
this.iconWarningSriovOption = new System.Windows.Forms.PictureBox();
|
||||
this.labelWarningSriovOption = new System.Windows.Forms.Label();
|
||||
this.flowLayoutPanel1.SuspendLayout();
|
||||
this.warningsTable.SuspendLayout();
|
||||
this.iconWarningSriovOption = new System.Windows.Forms.PictureBox();
|
||||
this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
|
||||
this.warningTableChin.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.iconWarningChinOption)).BeginInit();
|
||||
this.warningTableSriov.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.iconWarningSriovOption)).BeginInit();
|
||||
this.tableLayoutPanel1.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// toolTip
|
||||
//
|
||||
this.toolTip.ShowAlways = true;
|
||||
//
|
||||
// flowLayoutPanel1
|
||||
//
|
||||
resources.ApplyResources(this.flowLayoutPanel1, "flowLayoutPanel1");
|
||||
this.flowLayoutPanel1.Controls.Add(this.lblNetTypeSel);
|
||||
this.flowLayoutPanel1.Controls.Add(this.rbtnExternalNetwork);
|
||||
this.flowLayoutPanel1.Controls.Add(this.labelExternalNetwork);
|
||||
this.flowLayoutPanel1.Controls.Add(this.rbtnInternalNetwork);
|
||||
this.flowLayoutPanel1.Controls.Add(this.label1);
|
||||
this.flowLayoutPanel1.Controls.Add(this.rbtnBondedNetwork);
|
||||
this.flowLayoutPanel1.Controls.Add(this.label3);
|
||||
this.flowLayoutPanel1.Controls.Add(this.rbtnCHIN);
|
||||
this.flowLayoutPanel1.Controls.Add(this.labelCHIN);
|
||||
this.flowLayoutPanel1.Controls.Add(this.rbtnSriov);
|
||||
this.flowLayoutPanel1.Controls.Add(this.labelSriov);
|
||||
this.flowLayoutPanel1.Controls.Add(this.warningsTable);
|
||||
this.flowLayoutPanel1.Controls.Add(this.warningTableSriov);
|
||||
this.flowLayoutPanel1.Name = "flowLayoutPanel1";
|
||||
//
|
||||
// lblNetTypeSel
|
||||
//
|
||||
resources.ApplyResources(this.lblNetTypeSel, "lblNetTypeSel");
|
||||
this.tableLayoutPanel1.SetColumnSpan(this.lblNetTypeSel, 2);
|
||||
this.lblNetTypeSel.Name = "lblNetTypeSel";
|
||||
//
|
||||
// rbtnExternalNetwork
|
||||
//
|
||||
resources.ApplyResources(this.rbtnExternalNetwork, "rbtnExternalNetwork");
|
||||
this.rbtnExternalNetwork.Checked = true;
|
||||
this.tableLayoutPanel1.SetColumnSpan(this.rbtnExternalNetwork, 2);
|
||||
this.rbtnExternalNetwork.Name = "rbtnExternalNetwork";
|
||||
this.rbtnExternalNetwork.TabStop = true;
|
||||
this.rbtnExternalNetwork.UseVisualStyleBackColor = true;
|
||||
@ -99,6 +83,7 @@ namespace XenAdmin.Wizards.NewNetworkWizard_Pages
|
||||
// rbtnInternalNetwork
|
||||
//
|
||||
resources.ApplyResources(this.rbtnInternalNetwork, "rbtnInternalNetwork");
|
||||
this.tableLayoutPanel1.SetColumnSpan(this.rbtnInternalNetwork, 2);
|
||||
this.rbtnInternalNetwork.Name = "rbtnInternalNetwork";
|
||||
this.rbtnInternalNetwork.UseVisualStyleBackColor = true;
|
||||
//
|
||||
@ -110,6 +95,7 @@ namespace XenAdmin.Wizards.NewNetworkWizard_Pages
|
||||
// rbtnBondedNetwork
|
||||
//
|
||||
resources.ApplyResources(this.rbtnBondedNetwork, "rbtnBondedNetwork");
|
||||
this.tableLayoutPanel1.SetColumnSpan(this.rbtnBondedNetwork, 2);
|
||||
this.rbtnBondedNetwork.Name = "rbtnBondedNetwork";
|
||||
this.rbtnBondedNetwork.UseVisualStyleBackColor = true;
|
||||
//
|
||||
@ -121,6 +107,7 @@ namespace XenAdmin.Wizards.NewNetworkWizard_Pages
|
||||
// rbtnCHIN
|
||||
//
|
||||
resources.ApplyResources(this.rbtnCHIN, "rbtnCHIN");
|
||||
this.tableLayoutPanel1.SetColumnSpan(this.rbtnCHIN, 2);
|
||||
this.rbtnCHIN.Name = "rbtnCHIN";
|
||||
this.rbtnCHIN.UseVisualStyleBackColor = true;
|
||||
//
|
||||
@ -132,6 +119,7 @@ namespace XenAdmin.Wizards.NewNetworkWizard_Pages
|
||||
// rbtnSriov
|
||||
//
|
||||
resources.ApplyResources(this.rbtnSriov, "rbtnSriov");
|
||||
this.tableLayoutPanel1.SetColumnSpan(this.rbtnSriov, 2);
|
||||
this.rbtnSriov.Name = "rbtnSriov";
|
||||
this.rbtnSriov.UseVisualStyleBackColor = true;
|
||||
//
|
||||
@ -140,12 +128,17 @@ namespace XenAdmin.Wizards.NewNetworkWizard_Pages
|
||||
resources.ApplyResources(this.labelSriov, "labelSriov");
|
||||
this.labelSriov.Name = "labelSriov";
|
||||
//
|
||||
// warningsTable
|
||||
// warningTableChin
|
||||
//
|
||||
resources.ApplyResources(this.warningsTable, "warningsTable");
|
||||
this.warningsTable.Controls.Add(this.iconWarningChinOption, 0, 1);
|
||||
this.warningsTable.Controls.Add(this.labelWarningChinOption, 1, 1);
|
||||
this.warningsTable.Name = "warningsTable";
|
||||
resources.ApplyResources(this.warningTableChin, "warningTableChin");
|
||||
this.warningTableChin.Controls.Add(this.labelWarningChinOption, 1, 0);
|
||||
this.warningTableChin.Controls.Add(this.iconWarningChinOption, 0, 0);
|
||||
this.warningTableChin.Name = "warningTableChin";
|
||||
//
|
||||
// labelWarningChinOption
|
||||
//
|
||||
resources.ApplyResources(this.labelWarningChinOption, "labelWarningChinOption");
|
||||
this.labelWarningChinOption.Name = "labelWarningChinOption";
|
||||
//
|
||||
// iconWarningChinOption
|
||||
//
|
||||
@ -154,18 +147,18 @@ namespace XenAdmin.Wizards.NewNetworkWizard_Pages
|
||||
this.iconWarningChinOption.Name = "iconWarningChinOption";
|
||||
this.iconWarningChinOption.TabStop = false;
|
||||
//
|
||||
// labelWarningChinOption
|
||||
//
|
||||
resources.ApplyResources(this.labelWarningChinOption, "labelWarningChinOption");
|
||||
this.labelWarningChinOption.Name = "labelWarningChinOption";
|
||||
//
|
||||
// warningTableSriov
|
||||
//
|
||||
resources.ApplyResources(this.warningTableSriov, "warningTableSriov");
|
||||
this.warningTableSriov.Controls.Add(this.iconWarningSriovOption, 0, 1);
|
||||
this.warningTableSriov.Controls.Add(this.labelWarningSriovOption, 1, 1);
|
||||
this.warningTableSriov.Controls.Add(this.labelWarningSriovOption, 1, 0);
|
||||
this.warningTableSriov.Controls.Add(this.iconWarningSriovOption, 0, 0);
|
||||
this.warningTableSriov.Name = "warningTableSriov";
|
||||
//
|
||||
// labelWarningSriovOption
|
||||
//
|
||||
resources.ApplyResources(this.labelWarningSriovOption, "labelWarningSriovOption");
|
||||
this.labelWarningSriovOption.Name = "labelWarningSriovOption";
|
||||
//
|
||||
// iconWarningSriovOption
|
||||
//
|
||||
resources.ApplyResources(this.iconWarningSriovOption, "iconWarningSriovOption");
|
||||
@ -173,27 +166,39 @@ namespace XenAdmin.Wizards.NewNetworkWizard_Pages
|
||||
this.iconWarningSriovOption.Name = "iconWarningSriovOption";
|
||||
this.iconWarningSriovOption.TabStop = false;
|
||||
//
|
||||
// labelWarningSriovOption
|
||||
// tableLayoutPanel1
|
||||
//
|
||||
resources.ApplyResources(this.labelWarningSriovOption, "labelWarningSriovOption");
|
||||
this.labelWarningSriovOption.Name = "labelWarningSriovOption";
|
||||
resources.ApplyResources(this.tableLayoutPanel1, "tableLayoutPanel1");
|
||||
this.tableLayoutPanel1.Controls.Add(this.lblNetTypeSel, 0, 0);
|
||||
this.tableLayoutPanel1.Controls.Add(this.rbtnExternalNetwork, 0, 1);
|
||||
this.tableLayoutPanel1.Controls.Add(this.labelExternalNetwork, 1, 2);
|
||||
this.tableLayoutPanel1.Controls.Add(this.rbtnInternalNetwork, 0, 3);
|
||||
this.tableLayoutPanel1.Controls.Add(this.label1, 1, 4);
|
||||
this.tableLayoutPanel1.Controls.Add(this.rbtnBondedNetwork, 0, 5);
|
||||
this.tableLayoutPanel1.Controls.Add(this.label3, 1, 6);
|
||||
this.tableLayoutPanel1.Controls.Add(this.rbtnCHIN, 0, 7);
|
||||
this.tableLayoutPanel1.Controls.Add(this.labelCHIN, 1, 8);
|
||||
this.tableLayoutPanel1.Controls.Add(this.warningTableChin, 1, 9);
|
||||
this.tableLayoutPanel1.Controls.Add(this.rbtnSriov, 0, 10);
|
||||
this.tableLayoutPanel1.Controls.Add(this.labelSriov, 1, 11);
|
||||
this.tableLayoutPanel1.Controls.Add(this.warningTableSriov, 1, 12);
|
||||
this.tableLayoutPanel1.Name = "tableLayoutPanel1";
|
||||
//
|
||||
// NetWTypeSelect
|
||||
//
|
||||
resources.ApplyResources(this, "$this");
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;
|
||||
this.Controls.Add(this.flowLayoutPanel1);
|
||||
this.Controls.Add(this.tableLayoutPanel1);
|
||||
this.Name = "NetWTypeSelect";
|
||||
this.flowLayoutPanel1.ResumeLayout(false);
|
||||
this.flowLayoutPanel1.PerformLayout();
|
||||
this.warningsTable.ResumeLayout(false);
|
||||
this.warningsTable.PerformLayout();
|
||||
this.warningTableChin.ResumeLayout(false);
|
||||
this.warningTableChin.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.iconWarningChinOption)).EndInit();
|
||||
this.warningTableSriov.ResumeLayout(false);
|
||||
this.warningTableSriov.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.iconWarningSriovOption)).EndInit();
|
||||
this.tableLayoutPanel1.ResumeLayout(false);
|
||||
this.tableLayoutPanel1.PerformLayout();
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
@ -208,15 +213,15 @@ namespace XenAdmin.Wizards.NewNetworkWizard_Pages
|
||||
private System.Windows.Forms.Label label3;
|
||||
private System.Windows.Forms.Label labelCHIN;
|
||||
private System.Windows.Forms.RadioButton rbtnCHIN;
|
||||
private System.Windows.Forms.FlowLayoutPanel flowLayoutPanel1;
|
||||
private System.Windows.Forms.ToolTip toolTip;
|
||||
private System.Windows.Forms.TableLayoutPanel warningsTable;
|
||||
private System.Windows.Forms.PictureBox iconWarningChinOption;
|
||||
private System.Windows.Forms.Label labelWarningChinOption;
|
||||
private System.Windows.Forms.TableLayoutPanel warningTableChin;
|
||||
private System.Windows.Forms.RadioButton rbtnSriov;
|
||||
private System.Windows.Forms.Label labelSriov;
|
||||
private System.Windows.Forms.TableLayoutPanel warningTableSriov;
|
||||
private System.Windows.Forms.PictureBox iconWarningSriovOption;
|
||||
private System.Windows.Forms.Label labelWarningSriovOption;
|
||||
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1;
|
||||
private System.Windows.Forms.Label labelWarningChinOption;
|
||||
private System.Windows.Forms.PictureBox iconWarningChinOption;
|
||||
}
|
||||
}
|
||||
|
@ -32,12 +32,10 @@
|
||||
using System;
|
||||
using System.Linq;
|
||||
using XenAdmin.Core;
|
||||
using XenAdmin.Network;
|
||||
using XenAPI;
|
||||
using XenAdmin.Controls;
|
||||
|
||||
|
||||
|
||||
namespace XenAdmin.Wizards.NewNetworkWizard_Pages
|
||||
{
|
||||
public partial class NetWTypeSelect : XenTabPage
|
||||
@ -45,91 +43,84 @@ namespace XenAdmin.Wizards.NewNetworkWizard_Pages
|
||||
public NetWTypeSelect()
|
||||
{
|
||||
InitializeComponent();
|
||||
this.rbtnExternalNetwork.Checked = true;
|
||||
rbtnExternalNetwork.Checked = true;
|
||||
}
|
||||
|
||||
public override string Text { get { return Messages.NETW_TYPE_SELECT_TEXT; } }
|
||||
public override string Text => Messages.NETW_TYPE_SELECT_TEXT;
|
||||
|
||||
public override string PageTitle => Messages.NETW_TYPE_SELECT_TITLE;
|
||||
|
||||
public NetworkTypes SelectedNetworkType =>
|
||||
rbtnBondedNetwork.Checked
|
||||
? NetworkTypes.Bonded
|
||||
: rbtnExternalNetwork.Checked
|
||||
? NetworkTypes.External
|
||||
: rbtnCHIN.Checked
|
||||
? NetworkTypes.CHIN
|
||||
: rbtnSriov.Checked
|
||||
? NetworkTypes.SRIOV
|
||||
: NetworkTypes.Internal;
|
||||
|
||||
public override string PageTitle { get { return Messages.NETW_TYPE_SELECT_TITLE; } }
|
||||
|
||||
public override void PopulatePage()
|
||||
{
|
||||
Update(Connection);
|
||||
}
|
||||
|
||||
public NetworkTypes SelectedNetworkType
|
||||
{
|
||||
get
|
||||
{
|
||||
return rbtnBondedNetwork.Checked
|
||||
? NetworkTypes.Bonded
|
||||
: rbtnExternalNetwork.Checked
|
||||
? NetworkTypes.External
|
||||
: rbtnCHIN.Checked
|
||||
? NetworkTypes.CHIN
|
||||
: rbtnSriov.Checked
|
||||
? NetworkTypes.SRIOV
|
||||
: NetworkTypes.Internal;
|
||||
}
|
||||
}
|
||||
|
||||
private void Update(IXenConnection connection)
|
||||
{
|
||||
Host master = Helpers.GetMaster(connection);
|
||||
if (master == null)
|
||||
Pool pool = Helpers.GetPoolOfOne(Connection);
|
||||
if (pool == null)
|
||||
return;
|
||||
|
||||
Pool pool = Helpers.GetPoolOfOne(connection);
|
||||
labelCHIN.Visible = rbtnCHIN.Visible = !HiddenFeatures.CrossServerPrivateNetworkHidden;
|
||||
if (!pool.vSwitchController())
|
||||
if (HiddenFeatures.CrossServerPrivateNetworkHidden || Helpers.StockholmOrGreater(Connection))
|
||||
{
|
||||
rbtnCHIN.Checked = false;
|
||||
rbtnCHIN.Visible = labelCHIN.Visible = false;
|
||||
warningTableChin.Visible = false;
|
||||
}
|
||||
else if (!pool.vSwitchController())
|
||||
{
|
||||
rbtnCHIN.Visible = labelCHIN.Visible = true;
|
||||
rbtnCHIN.Enabled = labelCHIN.Enabled = false;
|
||||
|
||||
labelWarningChinOption.Text =
|
||||
Helpers.FeatureForbidden(connection, Host.RestrictVSwitchController) ?
|
||||
String.Format(Messages.FEATURE_DISABLED, Messages.CHIN) :
|
||||
Messages.CHINS_NEED_VSWITCHCONTROLLER;
|
||||
labelWarningChinOption.Text = Helpers.FeatureForbidden(Connection, Host.RestrictVSwitchController)
|
||||
? string.Format(Messages.FEATURE_DISABLED, Messages.CHIN)
|
||||
: Messages.CHINS_NEED_VSWITCHCONTROLLER;
|
||||
|
||||
iconWarningChinOption.Visible = labelWarningChinOption.Visible = !HiddenFeatures.CrossServerPrivateNetworkHidden;
|
||||
|
||||
rbtnExternalNetwork.Checked = true;
|
||||
warningTableChin.Visible = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
rbtnCHIN.Visible = labelCHIN.Visible = true;
|
||||
rbtnCHIN.Enabled = labelCHIN.Enabled = true;
|
||||
iconWarningChinOption.Visible = labelWarningChinOption.Visible = false;
|
||||
warningTableChin.Visible = false;
|
||||
}
|
||||
|
||||
bool hasNicCanEnableSriov = pool.Connection.Cache.PIFs.Any(pif => pif.IsPhysical() && pif.SriovCapable() && !pif.IsSriovPhysicalPIF());
|
||||
bool sriovFeatureForbidden = Helpers.FeatureForbidden(connection, Host.RestrictSriovNetwork);
|
||||
bool sriovFeatureForbidden = Helpers.FeatureForbidden(Connection, Host.RestrictSriovNetwork);
|
||||
|
||||
if (!Helpers.KolkataOrGreater(pool.Connection))
|
||||
{
|
||||
iconWarningSriovOption.Visible = labelWarningSriovOption.Visible = false;
|
||||
rbtnSriov.Visible = labelSriov.Visible = false;
|
||||
warningTableSriov.Visible = false;
|
||||
}
|
||||
else if (Helpers.FeatureForbidden(pool.Connection, Host.SriovNetworkDisabled) ||
|
||||
sriovFeatureForbidden || !pool.HasSriovNic() || !hasNicCanEnableSriov)
|
||||
sriovFeatureForbidden || !pool.HasSriovNic() || !hasNicCanEnableSriov)
|
||||
{
|
||||
rbtnSriov.Checked = false;
|
||||
rbtnSriov.Visible = labelSriov.Visible = true;
|
||||
rbtnSriov.Enabled = labelSriov.Enabled = false;
|
||||
|
||||
labelWarningSriovOption.Text =
|
||||
Helpers.FeatureForbidden(pool.Connection, Host.SriovNetworkDisabled)
|
||||
? String.Format(Messages.FEATURE_EXPERIMENTAL, Messages.NETWORK_SRIOV)
|
||||
? string.Format(Messages.FEATURE_EXPERIMENTAL, Messages.NETWORK_SRIOV)
|
||||
: sriovFeatureForbidden
|
||||
? String.Format(Messages.FEATURE_DISABLED, Messages.NETWORK_SRIOV)
|
||||
? string.Format(Messages.FEATURE_DISABLED, Messages.NETWORK_SRIOV)
|
||||
: pool.HasSriovNic()
|
||||
? Messages.NICS_ARE_SRIOV_ENABLED
|
||||
: Messages.SRIOV_NEED_NICSUPPORT;
|
||||
|
||||
iconWarningSriovOption.Visible = labelWarningSriovOption.Visible = true;
|
||||
warningTableSriov.Visible = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
rbtnSriov.Enabled = labelCHIN.Enabled = true;
|
||||
iconWarningSriovOption.Visible = labelWarningSriovOption.Visible = false;
|
||||
rbtnSriov.Visible = labelSriov.Visible = true;
|
||||
rbtnSriov.Enabled = labelSriov.Enabled = true;
|
||||
warningTableSriov.Visible = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -121,61 +121,28 @@
|
||||
<value>17, 17</value>
|
||||
</metadata>
|
||||
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<data name="flowLayoutPanel1.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="lblNetTypeSel.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<data name="lblNetTypeSel.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="lblNetTypeSel.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>3, 3</value>
|
||||
</data>
|
||||
<data name="lblNetTypeSel.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>3, 3, 3, 3</value>
|
||||
</data>
|
||||
<data name="lblNetTypeSel.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>279, 13</value>
|
||||
</data>
|
||||
<data name="lblNetTypeSel.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="lblNetTypeSel.Text" xml:space="preserve">
|
||||
<value>Select the type of new network you would like to create:</value>
|
||||
</data>
|
||||
<data name="lblNetTypeSel.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
|
||||
<value>MiddleLeft</value>
|
||||
</data>
|
||||
<data name=">>lblNetTypeSel.Name" xml:space="preserve">
|
||||
<value>lblNetTypeSel</value>
|
||||
</data>
|
||||
<data name=">>lblNetTypeSel.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>lblNetTypeSel.Parent" xml:space="preserve">
|
||||
<value>flowLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>lblNetTypeSel.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
<data name="tableLayoutPanel1.ColumnCount" type="System.Int32, mscorlib">
|
||||
<value>2</value>
|
||||
</data>
|
||||
<data name="rbtnExternalNetwork.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="rbtnExternalNetwork.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Tahoma, 8.25pt, style=Bold</value>
|
||||
</data>
|
||||
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<data name="rbtnExternalNetwork.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="rbtnExternalNetwork.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>20, 29</value>
|
||||
<value>3, 23</value>
|
||||
</data>
|
||||
<data name="rbtnExternalNetwork.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>20, 10, 3, 3</value>
|
||||
<value>3, 10, 3, 3</value>
|
||||
</data>
|
||||
<data name="rbtnExternalNetwork.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>122, 17</value>
|
||||
@ -193,28 +160,25 @@
|
||||
<value>System.Windows.Forms.RadioButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>rbtnExternalNetwork.Parent" xml:space="preserve">
|
||||
<value>flowLayoutPanel1</value>
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>rbtnExternalNetwork.ZOrder" xml:space="preserve">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="labelExternalNetwork.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Top, Left, Right</value>
|
||||
</data>
|
||||
<data name="labelExternalNetwork.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="labelExternalNetwork.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<data name="labelExternalNetwork.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="labelExternalNetwork.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>46, 49</value>
|
||||
</data>
|
||||
<data name="labelExternalNetwork.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>46, 0, 3, 3</value>
|
||||
<value>18, 43</value>
|
||||
</data>
|
||||
<data name="labelExternalNetwork.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>359, 13</value>
|
||||
<value>409, 13</value>
|
||||
</data>
|
||||
<data name="labelExternalNetwork.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>2</value>
|
||||
@ -229,7 +193,7 @@
|
||||
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>labelExternalNetwork.Parent" xml:space="preserve">
|
||||
<value>flowLayoutPanel1</value>
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>labelExternalNetwork.ZOrder" xml:space="preserve">
|
||||
<value>2</value>
|
||||
@ -244,10 +208,10 @@
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="rbtnInternalNetwork.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>20, 71</value>
|
||||
<value>3, 66</value>
|
||||
</data>
|
||||
<data name="rbtnInternalNetwork.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>20, 6, 3, 3</value>
|
||||
<value>3, 10, 3, 3</value>
|
||||
</data>
|
||||
<data name="rbtnInternalNetwork.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>196, 17</value>
|
||||
@ -265,7 +229,7 @@
|
||||
<value>System.Windows.Forms.RadioButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>rbtnInternalNetwork.Parent" xml:space="preserve">
|
||||
<value>flowLayoutPanel1</value>
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>rbtnInternalNetwork.ZOrder" xml:space="preserve">
|
||||
<value>3</value>
|
||||
@ -273,17 +237,17 @@
|
||||
<data name="label1.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="label1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<data name="label1.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="label1.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>46, 91</value>
|
||||
</data>
|
||||
<data name="label1.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>46, 0, 3, 3</value>
|
||||
<value>18, 86</value>
|
||||
</data>
|
||||
<data name="label1.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>359, 26</value>
|
||||
<value>409, 26</value>
|
||||
</data>
|
||||
<data name="label1.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>4</value>
|
||||
@ -299,7 +263,7 @@ This can be used as a private connection between VMs on the same host.</value>
|
||||
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>label1.Parent" xml:space="preserve">
|
||||
<value>flowLayoutPanel1</value>
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>label1.ZOrder" xml:space="preserve">
|
||||
<value>4</value>
|
||||
@ -314,10 +278,10 @@ This can be used as a private connection between VMs on the same host.</value>
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="rbtnBondedNetwork.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>20, 126</value>
|
||||
<value>3, 122</value>
|
||||
</data>
|
||||
<data name="rbtnBondedNetwork.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>20, 6, 3, 3</value>
|
||||
<value>3, 10, 3, 3</value>
|
||||
</data>
|
||||
<data name="rbtnBondedNetwork.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>117, 17</value>
|
||||
@ -335,7 +299,7 @@ This can be used as a private connection between VMs on the same host.</value>
|
||||
<value>System.Windows.Forms.RadioButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>rbtnBondedNetwork.Parent" xml:space="preserve">
|
||||
<value>flowLayoutPanel1</value>
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>rbtnBondedNetwork.ZOrder" xml:space="preserve">
|
||||
<value>5</value>
|
||||
@ -343,17 +307,17 @@ This can be used as a private connection between VMs on the same host.</value>
|
||||
<data name="label3.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="label3.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<data name="label3.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="label3.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>46, 146</value>
|
||||
</data>
|
||||
<data name="label3.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>46, 0, 3, 3</value>
|
||||
<value>18, 142</value>
|
||||
</data>
|
||||
<data name="label3.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>320, 26</value>
|
||||
<value>409, 26</value>
|
||||
</data>
|
||||
<data name="label3.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>6</value>
|
||||
@ -369,7 +333,7 @@ This will create a single higher performing channel.</value>
|
||||
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>label3.Parent" xml:space="preserve">
|
||||
<value>flowLayoutPanel1</value>
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>label3.ZOrder" xml:space="preserve">
|
||||
<value>6</value>
|
||||
@ -384,10 +348,10 @@ This will create a single higher performing channel.</value>
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="rbtnCHIN.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>20, 181</value>
|
||||
<value>3, 178</value>
|
||||
</data>
|
||||
<data name="rbtnCHIN.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>20, 6, 3, 3</value>
|
||||
<value>3, 10, 3, 3</value>
|
||||
</data>
|
||||
<data name="rbtnCHIN.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>193, 17</value>
|
||||
@ -405,28 +369,25 @@ This will create a single higher performing channel.</value>
|
||||
<value>System.Windows.Forms.RadioButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>rbtnCHIN.Parent" xml:space="preserve">
|
||||
<value>flowLayoutPanel1</value>
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>rbtnCHIN.ZOrder" xml:space="preserve">
|
||||
<value>7</value>
|
||||
</data>
|
||||
<data name="labelCHIN.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Top, Left, Right</value>
|
||||
</data>
|
||||
<data name="labelCHIN.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="labelCHIN.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<data name="labelCHIN.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="labelCHIN.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>46, 201</value>
|
||||
</data>
|
||||
<data name="labelCHIN.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>46, 0, 3, 3</value>
|
||||
<value>18, 198</value>
|
||||
</data>
|
||||
<data name="labelCHIN.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>359, 39</value>
|
||||
<value>409, 39</value>
|
||||
</data>
|
||||
<data name="labelCHIN.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>8</value>
|
||||
@ -443,92 +404,50 @@ This type of network requires the vSwitch Controller to be running.</value>
|
||||
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>labelCHIN.Parent" xml:space="preserve">
|
||||
<value>flowLayoutPanel1</value>
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>labelCHIN.ZOrder" xml:space="preserve">
|
||||
<value>8</value>
|
||||
</data>
|
||||
<data name="rbtnSriov.AutoSize" type="System.Boolean, mscorlib">
|
||||
<data name="warningTableChin.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="rbtnSriov.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Tahoma, 8.25pt, style=Bold</value>
|
||||
</data>
|
||||
<data name="rbtnSriov.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="rbtnSriov.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>20, 249</value>
|
||||
</data>
|
||||
<data name="rbtnSriov.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>20, 6, 3, 3</value>
|
||||
</data>
|
||||
<data name="rbtnSriov.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>115, 17</value>
|
||||
</data>
|
||||
<data name="rbtnSriov.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>9</value>
|
||||
</data>
|
||||
<data name="rbtnSriov.Text" xml:space="preserve">
|
||||
<value>S&R-IOV Network</value>
|
||||
</data>
|
||||
<data name=">>rbtnSriov.Name" xml:space="preserve">
|
||||
<value>rbtnSriov</value>
|
||||
</data>
|
||||
<data name=">>rbtnSriov.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=">>rbtnSriov.Parent" xml:space="preserve">
|
||||
<value>flowLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>rbtnSriov.ZOrder" xml:space="preserve">
|
||||
<value>9</value>
|
||||
</data>
|
||||
<data name="labelSriov.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Top, Left, Right</value>
|
||||
</data>
|
||||
<data name="labelSriov.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="labelSriov.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="labelSriov.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>46, 269</value>
|
||||
</data>
|
||||
<data name="labelSriov.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>46, 0, 3, 3</value>
|
||||
</data>
|
||||
<data name="labelSriov.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>359, 13</value>
|
||||
</data>
|
||||
<data name="labelSriov.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>10</value>
|
||||
</data>
|
||||
<data name="labelSriov.Text" xml:space="preserve">
|
||||
<value>Enable SR-IOV on a NIC and create an SR-IOV network on that NIC.</value>
|
||||
</data>
|
||||
<data name=">>labelSriov.Name" xml:space="preserve">
|
||||
<value>labelSriov</value>
|
||||
</data>
|
||||
<data name=">>labelSriov.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>labelSriov.Parent" xml:space="preserve">
|
||||
<value>flowLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>labelSriov.ZOrder" xml:space="preserve">
|
||||
<value>10</value>
|
||||
</data>
|
||||
<data name="warningsTable.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="warningsTable.ColumnCount" type="System.Int32, mscorlib">
|
||||
<data name="warningTableChin.ColumnCount" type="System.Int32, mscorlib">
|
||||
<value>2</value>
|
||||
</data>
|
||||
<data name="iconWarningChinOption.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<data name="labelWarningChinOption.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Left</value>
|
||||
</data>
|
||||
<data name="labelWarningChinOption.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="labelWarningChinOption.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="labelWarningChinOption.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>25, 4</value>
|
||||
</data>
|
||||
<data name="labelWarningChinOption.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>45, 13</value>
|
||||
</data>
|
||||
<data name="labelWarningChinOption.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="labelWarningChinOption.Text" xml:space="preserve">
|
||||
<value>warning</value>
|
||||
</data>
|
||||
<data name=">>labelWarningChinOption.Name" xml:space="preserve">
|
||||
<value>labelWarningChinOption</value>
|
||||
</data>
|
||||
<data name=">>labelWarningChinOption.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>labelWarningChinOption.Parent" xml:space="preserve">
|
||||
<value>warningTableChin</value>
|
||||
</data>
|
||||
<data name=">>labelWarningChinOption.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="iconWarningChinOption.ErrorImage" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
@ -557,86 +476,146 @@ This type of network requires the vSwitch Controller to be running.</value>
|
||||
<value>System.Windows.Forms.PictureBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>iconWarningChinOption.Parent" xml:space="preserve">
|
||||
<value>warningsTable</value>
|
||||
<value>warningTableChin</value>
|
||||
</data>
|
||||
<data name=">>iconWarningChinOption.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="labelWarningChinOption.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Left</value>
|
||||
</data>
|
||||
<data name="labelWarningChinOption.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="labelWarningChinOption.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="labelWarningChinOption.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>25, 4</value>
|
||||
</data>
|
||||
<data name="labelWarningChinOption.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>3, 3, 3, 3</value>
|
||||
</data>
|
||||
<data name="labelWarningChinOption.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>45, 13</value>
|
||||
</data>
|
||||
<data name="labelWarningChinOption.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="labelWarningChinOption.Text" xml:space="preserve">
|
||||
<value>warning</value>
|
||||
</data>
|
||||
<data name=">>labelWarningChinOption.Name" xml:space="preserve">
|
||||
<value>labelWarningChinOption</value>
|
||||
</data>
|
||||
<data name=">>labelWarningChinOption.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>labelWarningChinOption.Parent" xml:space="preserve">
|
||||
<value>warningsTable</value>
|
||||
</data>
|
||||
<data name=">>labelWarningChinOption.ZOrder" xml:space="preserve">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="warningsTable.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>3, 291</value>
|
||||
<data name="warningTableChin.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<data name="warningsTable.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>3, 6, 3, 1</value>
|
||||
<data name="warningTableChin.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>18, 240</value>
|
||||
</data>
|
||||
<data name="warningsTable.RowCount" type="System.Int32, mscorlib">
|
||||
<value>2</value>
|
||||
<data name="warningTableChin.RowCount" type="System.Int32, mscorlib">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="warningsTable.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>73, 22</value>
|
||||
<data name="warningTableChin.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>409, 22</value>
|
||||
</data>
|
||||
<data name="warningsTable.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>11</value>
|
||||
<data name="warningTableChin.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>9</value>
|
||||
</data>
|
||||
<data name=">>warningsTable.Name" xml:space="preserve">
|
||||
<value>warningsTable</value>
|
||||
<data name=">>warningTableChin.Name" xml:space="preserve">
|
||||
<value>warningTableChin</value>
|
||||
</data>
|
||||
<data name=">>warningsTable.Type" xml:space="preserve">
|
||||
<data name=">>warningTableChin.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=">>warningsTable.Parent" xml:space="preserve">
|
||||
<value>flowLayoutPanel1</value>
|
||||
<data name=">>warningTableChin.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>warningsTable.ZOrder" xml:space="preserve">
|
||||
<data name=">>warningTableChin.ZOrder" xml:space="preserve">
|
||||
<value>9</value>
|
||||
</data>
|
||||
<data name="warningTableChin.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
|
||||
<value><?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="labelWarningChinOption" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="iconWarningChinOption" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /></Controls><Columns Styles="AutoSize,0,Percent,100" /><Rows Styles="AutoSize,0" /></TableLayoutSettings></value>
|
||||
</data>
|
||||
<data name="rbtnSriov.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="rbtnSriov.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Tahoma, 8.25pt, style=Bold</value>
|
||||
</data>
|
||||
<data name="rbtnSriov.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="rbtnSriov.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>3, 275</value>
|
||||
</data>
|
||||
<data name="rbtnSriov.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>3, 10, 3, 3</value>
|
||||
</data>
|
||||
<data name="rbtnSriov.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>115, 17</value>
|
||||
</data>
|
||||
<data name="rbtnSriov.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>10</value>
|
||||
</data>
|
||||
<data name="rbtnSriov.Text" xml:space="preserve">
|
||||
<value>S&R-IOV Network</value>
|
||||
</data>
|
||||
<data name=">>rbtnSriov.Name" xml:space="preserve">
|
||||
<value>rbtnSriov</value>
|
||||
</data>
|
||||
<data name=">>rbtnSriov.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=">>rbtnSriov.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>rbtnSriov.ZOrder" xml:space="preserve">
|
||||
<value>10</value>
|
||||
</data>
|
||||
<data name="labelSriov.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="labelSriov.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<data name="labelSriov.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="labelSriov.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>18, 295</value>
|
||||
</data>
|
||||
<data name="labelSriov.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>409, 13</value>
|
||||
</data>
|
||||
<data name="labelSriov.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>11</value>
|
||||
</data>
|
||||
<data name="warningsTable.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
|
||||
<value><?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="iconWarningChinOption" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="labelWarningChinOption" Row="1" RowSpan="1" Column="1" ColumnSpan="1" /></Controls><Columns Styles="AutoSize,0,Percent,100" /><Rows Styles="AutoSize,0,AutoSize,0,Absolute,20" /></TableLayoutSettings></value>
|
||||
<data name="labelSriov.Text" xml:space="preserve">
|
||||
<value>Enable SR-IOV on a NIC and create an SR-IOV network on that NIC.</value>
|
||||
</data>
|
||||
<data name="warningTableSriov.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
<data name=">>labelSriov.Name" xml:space="preserve">
|
||||
<value>labelSriov</value>
|
||||
</data>
|
||||
<data name=">>labelSriov.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>labelSriov.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>labelSriov.ZOrder" xml:space="preserve">
|
||||
<value>11</value>
|
||||
</data>
|
||||
<data name="warningTableSriov.ColumnCount" type="System.Int32, mscorlib">
|
||||
<value>2</value>
|
||||
</data>
|
||||
<data name="iconWarningSriovOption.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<data name="labelWarningSriovOption.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Left</value>
|
||||
</data>
|
||||
<data name="labelWarningSriovOption.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="labelWarningSriovOption.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="labelWarningSriovOption.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>25, 4</value>
|
||||
</data>
|
||||
<data name="labelWarningSriovOption.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>45, 13</value>
|
||||
</data>
|
||||
<data name="labelWarningSriovOption.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="labelWarningSriovOption.Text" xml:space="preserve">
|
||||
<value>warning</value>
|
||||
</data>
|
||||
<data name=">>labelWarningSriovOption.Name" xml:space="preserve">
|
||||
<value>labelWarningSriovOption</value>
|
||||
</data>
|
||||
<data name=">>labelWarningSriovOption.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>labelWarningSriovOption.Parent" xml:space="preserve">
|
||||
<value>warningTableSriov</value>
|
||||
</data>
|
||||
<data name=">>labelWarningSriovOption.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="iconWarningSriovOption.ErrorImage" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
@ -668,55 +647,19 @@ This type of network requires the vSwitch Controller to be running.</value>
|
||||
<value>warningTableSriov</value>
|
||||
</data>
|
||||
<data name=">>iconWarningSriovOption.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="labelWarningSriovOption.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Left</value>
|
||||
</data>
|
||||
<data name="labelWarningSriovOption.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="labelWarningSriovOption.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="labelWarningSriovOption.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>25, 4</value>
|
||||
</data>
|
||||
<data name="labelWarningSriovOption.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>3, 3, 3, 3</value>
|
||||
</data>
|
||||
<data name="labelWarningSriovOption.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>45, 13</value>
|
||||
</data>
|
||||
<data name="labelWarningSriovOption.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="labelWarningSriovOption.Text" xml:space="preserve">
|
||||
<value>warning</value>
|
||||
</data>
|
||||
<data name=">>labelWarningSriovOption.Name" xml:space="preserve">
|
||||
<value>labelWarningSriovOption</value>
|
||||
</data>
|
||||
<data name=">>labelWarningSriovOption.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>labelWarningSriovOption.Parent" xml:space="preserve">
|
||||
<value>warningTableSriov</value>
|
||||
</data>
|
||||
<data name=">>labelWarningSriovOption.ZOrder" xml:space="preserve">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="warningTableSriov.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>3, 314</value>
|
||||
<data name="warningTableSriov.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Top</value>
|
||||
</data>
|
||||
<data name="warningTableSriov.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>3, 0, 3, 12</value>
|
||||
<data name="warningTableSriov.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>18, 311</value>
|
||||
</data>
|
||||
<data name="warningTableSriov.RowCount" type="System.Int32, mscorlib">
|
||||
<value>2</value>
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="warningTableSriov.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>73, 22</value>
|
||||
<value>409, 22</value>
|
||||
</data>
|
||||
<data name="warningTableSriov.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>12</value>
|
||||
@ -728,36 +671,72 @@ This type of network requires the vSwitch Controller to be running.</value>
|
||||
<value>System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>warningTableSriov.Parent" xml:space="preserve">
|
||||
<value>flowLayoutPanel1</value>
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>warningTableSriov.ZOrder" xml:space="preserve">
|
||||
<value>12</value>
|
||||
</data>
|
||||
<data name="warningTableSriov.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
|
||||
<value><?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="iconWarningSriovOption" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="labelWarningSriovOption" Row="1" RowSpan="1" Column="1" ColumnSpan="1" /></Controls><Columns Styles="AutoSize,0,Percent,100" /><Rows Styles="AutoSize,0,AutoSize,0" /></TableLayoutSettings></value>
|
||||
<value><?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="labelWarningSriovOption" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="iconWarningSriovOption" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /></Controls><Columns Styles="AutoSize,0,Percent,100" /><Rows Styles="AutoSize,0,Absolute,20" /></TableLayoutSettings></value>
|
||||
</data>
|
||||
<data name="flowLayoutPanel1.FlowDirection" type="System.Windows.Forms.FlowDirection, System.Windows.Forms">
|
||||
<value>TopDown</value>
|
||||
<data name="tableLayoutPanel1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<data name="flowLayoutPanel1.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<data name="tableLayoutPanel1.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>0, 0</value>
|
||||
</data>
|
||||
<data name="flowLayoutPanel1.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>504, 395</value>
|
||||
<data name="tableLayoutPanel1.RowCount" type="System.Int32, mscorlib">
|
||||
<value>13</value>
|
||||
</data>
|
||||
<data name="flowLayoutPanel1.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>9</value>
|
||||
<data name="tableLayoutPanel1.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>430, 360</value>
|
||||
</data>
|
||||
<data name=">>flowLayoutPanel1.Name" xml:space="preserve">
|
||||
<value>flowLayoutPanel1</value>
|
||||
<data name="tableLayoutPanel1.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name=">>flowLayoutPanel1.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.FlowLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<data name=">>tableLayoutPanel1.Name" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>flowLayoutPanel1.Parent" xml:space="preserve">
|
||||
<data name=">>tableLayoutPanel1.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=">>tableLayoutPanel1.Parent" xml:space="preserve">
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>flowLayoutPanel1.ZOrder" xml:space="preserve">
|
||||
<data name=">>tableLayoutPanel1.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
|
||||
<value><?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="lblNetTypeSel" Row="0" RowSpan="1" Column="0" ColumnSpan="2" /><Control Name="rbtnExternalNetwork" Row="1" RowSpan="1" Column="0" ColumnSpan="2" /><Control Name="labelExternalNetwork" Row="2" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="rbtnInternalNetwork" Row="3" RowSpan="1" Column="0" ColumnSpan="2" /><Control Name="label1" Row="4" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="rbtnBondedNetwork" Row="5" RowSpan="1" Column="0" ColumnSpan="2" /><Control Name="label3" Row="6" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="rbtnCHIN" Row="7" RowSpan="1" Column="0" ColumnSpan="2" /><Control Name="labelCHIN" Row="8" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="warningTableChin" Row="9" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="rbtnSriov" Row="10" RowSpan="1" Column="0" ColumnSpan="2" /><Control Name="labelSriov" Row="11" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="warningTableSriov" Row="12" RowSpan="1" Column="1" ColumnSpan="1" /></Controls><Columns Styles="Absolute,15,Percent,100" /><Rows Styles="AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0" /></TableLayoutSettings></value>
|
||||
</data>
|
||||
<data name="lblNetTypeSel.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="lblNetTypeSel.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>3, 0</value>
|
||||
</data>
|
||||
<data name="lblNetTypeSel.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>279, 13</value>
|
||||
</data>
|
||||
<data name="lblNetTypeSel.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="lblNetTypeSel.Text" xml:space="preserve">
|
||||
<value>Select the type of new network you would like to create:</value>
|
||||
</data>
|
||||
<data name="lblNetTypeSel.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
|
||||
<value>MiddleLeft</value>
|
||||
</data>
|
||||
<data name=">>lblNetTypeSel.Name" xml:space="preserve">
|
||||
<value>lblNetTypeSel</value>
|
||||
</data>
|
||||
<data name=">>lblNetTypeSel.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>lblNetTypeSel.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>lblNetTypeSel.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">
|
||||
@ -769,11 +748,8 @@ This type of network requires the vSwitch Controller to be running.</value>
|
||||
<data name="$this.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Tahoma, 8.25pt</value>
|
||||
</data>
|
||||
<data name="$this.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>0, 32, 0, 0</value>
|
||||
</data>
|
||||
<data name="$this.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>430, 358</value>
|
||||
<value>430, 360</value>
|
||||
</data>
|
||||
<data name="$this.Text" xml:space="preserve">
|
||||
<value>Select Type</value>
|
||||
|
@ -216,7 +216,7 @@ namespace XenAdmin.Wizards.NewSRWizard_Pages.Frontends
|
||||
|
||||
private bool RunProbe(Host master, FibreChannelDescriptor srDescriptor, out List<SR.SRInfo> srs)
|
||||
{
|
||||
srs = null;
|
||||
srs = new List<SR.SRInfo>();
|
||||
var action = new SrProbeAction(Connection, master, srDescriptor.SrType, srDescriptor.DeviceConfig);
|
||||
|
||||
using (var dlg = new ActionProgressDialog(action, ProgressBarStyle.Marquee))
|
||||
@ -234,6 +234,12 @@ namespace XenAdmin.Wizards.NewSRWizard_Pages.Frontends
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
//CA-335356 special treatment of case where gfs2 cannot see the same devices as lvmohba
|
||||
if (srDescriptor.SrType == SR.SRTypes.gfs2 && action.Exception is Failure f && f.ErrorDescription.Count > 1 &&
|
||||
f.ErrorDescription[0].StartsWith("SR_BACKEND_FAILURE") && f.ErrorDescription[1] == "DeviceNotFoundException")
|
||||
return true;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -122,7 +122,7 @@ namespace XenAdmin.Wizards.NewSRWizard_Pages.Frontends
|
||||
HelpersGUI.PerformIQNCheck();
|
||||
|
||||
if (direction == PageLoadedDirection.Forward)
|
||||
HelpersGUI.FocusFirstControl(Controls);
|
||||
textBoxIscsiHost.Focus();
|
||||
}
|
||||
|
||||
protected override void PageLeaveCore(PageLoadedDirection direction, ref bool cancel)
|
||||
|
@ -109,7 +109,7 @@ namespace XenAdmin.Wizards.NewSRWizard_Pages.Frontends
|
||||
protected override void PageLoadedCore(PageLoadedDirection direction)
|
||||
{
|
||||
if (direction == PageLoadedDirection.Forward)
|
||||
HelpersGUI.FocusFirstControl(Controls);
|
||||
NfsServerPathComboBox.Focus();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
@ -74,7 +74,7 @@ namespace XenAdmin.Wizards.NewSRWizard_Pages
|
||||
protected override void PageLoadedCore(PageLoadedDirection direction)
|
||||
{
|
||||
if (direction == PageLoadedDirection.Forward)
|
||||
HelpersGUI.FocusFirstControl(Controls);
|
||||
textBoxName.Focus();
|
||||
}
|
||||
|
||||
public override void PopulatePage()
|
||||
|
@ -356,6 +356,45 @@ namespace XenAdmin.Wizards.PatchingWizard
|
||||
|
||||
groups.Add(new CheckGroup(Messages.CHECKING_HOST_LIVENESS_STATUS, livenessChecks));
|
||||
|
||||
if (WizardMode == WizardMode.NewVersion)
|
||||
{
|
||||
//vSwitch controller check - for each pool
|
||||
var vSwitchChecks = (from Pool pool in SelectedPools
|
||||
let check = new VSwitchControllerCheck(pool.Connection.Resolve(pool.master), UpdateAlert?.NewServerVersion)
|
||||
where check.CanRun()
|
||||
select check as Check).ToList();
|
||||
|
||||
if (vSwitchChecks.Count > 0)
|
||||
groups.Add(new CheckGroup(Messages.CHECKING_VSWITCH_CONTROLLER_GROUP, vSwitchChecks));
|
||||
|
||||
//protocol check - for each pool
|
||||
var sslChecks = (from Pool pool in SelectedPools
|
||||
let check = new PoolLegacySslCheck(pool.Connection.Resolve(pool.master), UpdateAlert?.NewServerVersion)
|
||||
where check.CanRun()
|
||||
select check as Check).ToList();
|
||||
|
||||
if (sslChecks.Count > 0)
|
||||
groups.Add(new CheckGroup(Messages.CHECKING_SECURITY_PROTOCOL_GROUP, sslChecks));
|
||||
|
||||
//power on mode check - for each host
|
||||
var iloChecks = (from Host host in SelectedServers
|
||||
let check = new PowerOniLoCheck(host, UpdateAlert?.NewServerVersion)
|
||||
where check.CanRun()
|
||||
select check as Check).ToList();
|
||||
|
||||
if (iloChecks.Count > 0)
|
||||
groups.Add(new CheckGroup(Messages.CHECKING_POWER_ON_MODE_GROUP, iloChecks));
|
||||
|
||||
//PVGuestsCheck checks
|
||||
var pvChecks = (from Pool pool in SelectedPools
|
||||
let check = new PVGuestsCheck(pool.Connection.Resolve(pool.master), false)
|
||||
where check.CanRun()
|
||||
select check as Check).ToList();
|
||||
|
||||
if (pvChecks.Count > 0)
|
||||
groups.Add(new CheckGroup(Messages.CHECKING_PV_GUESTS, pvChecks));
|
||||
}
|
||||
|
||||
//HA checks
|
||||
|
||||
var haChecks = new List<Check>();
|
||||
@ -490,37 +529,6 @@ namespace XenAdmin.Wizards.PatchingWizard
|
||||
|
||||
}
|
||||
|
||||
if (highestNewVersion != null || UpdateAlert?.NewServerVersion != null)
|
||||
{
|
||||
//PVGuestsCheck checks
|
||||
var pvChecks = (from Pool pool in SelectedPools
|
||||
let check = new PVGuestsCheck(pool.Connection.Resolve(pool.master), false)
|
||||
where check.CanRun()
|
||||
select check as Check).ToList();
|
||||
|
||||
if (pvChecks.Count > 0)
|
||||
groups.Add(new CheckGroup(Messages.CHECKING_PV_GUESTS, pvChecks));
|
||||
|
||||
//protocol check - for each pool
|
||||
var sslChecks = (from Pool pool in SelectedPools
|
||||
let check = new PoolLegacySslCheck(pool.Connection.Resolve(pool.master),
|
||||
highestNewVersion ?? UpdateAlert?.NewServerVersion)
|
||||
where check.CanRun()
|
||||
select check as Check).ToList();
|
||||
|
||||
if (sslChecks.Count > 0)
|
||||
groups.Add(new CheckGroup(Messages.CHECKING_SECURITY_PROTOCOL_GROUP, sslChecks));
|
||||
|
||||
//power on mode check - for each host
|
||||
var iloChecks = (from Host host in SelectedServers
|
||||
let check = new PowerOniLoCheck(host, highestNewVersion ?? UpdateAlert?.NewServerVersion)
|
||||
where check.CanRun()
|
||||
select check as Check).ToList();
|
||||
|
||||
if (iloChecks.Count > 0)
|
||||
groups.Add(new CheckGroup(Messages.CHECKING_POWER_ON_MODE_GROUP, iloChecks));
|
||||
}
|
||||
|
||||
return groups;
|
||||
}
|
||||
|
||||
|
@ -60,6 +60,7 @@ namespace XenAdmin.Wizards.PatchingWizard
|
||||
this.ColumnDescription = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.ColumnDate = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.webPageColumn = new System.Windows.Forms.DataGridViewLinkColumn();
|
||||
this._backgroundWorker = new System.ComponentModel.BackgroundWorker();
|
||||
this.tableLayoutPanel1.SuspendLayout();
|
||||
this.tableLayoutPanel2.SuspendLayout();
|
||||
this.panel1.SuspendLayout();
|
||||
@ -287,6 +288,12 @@ namespace XenAdmin.Wizards.PatchingWizard
|
||||
this.webPageColumn.ReadOnly = true;
|
||||
this.webPageColumn.Resizable = System.Windows.Forms.DataGridViewTriState.True;
|
||||
//
|
||||
// _backgroundWorker
|
||||
//
|
||||
this._backgroundWorker.WorkerSupportsCancellation = true;
|
||||
this._backgroundWorker.DoWork += new System.ComponentModel.DoWorkEventHandler(this._backgroundWorker_DoWork);
|
||||
this._backgroundWorker.RunWorkerCompleted += new System.ComponentModel.RunWorkerCompletedEventHandler(this._backgroundWorker_RunWorkerCompleted);
|
||||
//
|
||||
// PatchingWizard_SelectPatchPage
|
||||
//
|
||||
resources.ApplyResources(this, "$this");
|
||||
@ -331,5 +338,6 @@ namespace XenAdmin.Wizards.PatchingWizard
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn ColumnDescription;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn ColumnDate;
|
||||
private System.Windows.Forms.DataGridViewLinkColumn webPageColumn;
|
||||
private System.ComponentModel.BackgroundWorker _backgroundWorker;
|
||||
}
|
||||
}
|
||||
|
@ -69,22 +69,52 @@ namespace XenAdmin.Wizards.PatchingWizard
|
||||
downloadUpdateRadioButton.Checked = true;
|
||||
}
|
||||
|
||||
private void RegisterEvents()
|
||||
{
|
||||
Updates.CheckForUpdatesStarted += CheckForUpdates_CheckForUpdatesStarted;
|
||||
Updates.CheckForUpdatesCompleted += CheckForUpdates_CheckForUpdatesCompleted;
|
||||
Updates.RestoreDismissedUpdatesStarted += Updates_RestoreDismissedUpdatesStarted;
|
||||
}
|
||||
|
||||
private void UnRegisterEvents()
|
||||
{
|
||||
Updates.RestoreDismissedUpdatesStarted -= Updates_RestoreDismissedUpdatesStarted;
|
||||
Updates.CheckForUpdatesStarted -= CheckForUpdates_CheckForUpdatesStarted;
|
||||
Updates.CheckForUpdatesCompleted -= CheckForUpdates_CheckForUpdatesCompleted;
|
||||
}
|
||||
|
||||
private void CheckForUpdates_CheckForUpdatesStarted()
|
||||
{
|
||||
Program.Invoke(Program.MainWindow, StartCheckForUpdates);
|
||||
Program.Invoke(Program.MainWindow, () =>
|
||||
{
|
||||
StartCheckForUpdates(); //call this before setting CheckForUpdatesInProgress
|
||||
CheckForUpdatesInProgress = true;
|
||||
});
|
||||
}
|
||||
|
||||
private void Updates_RestoreDismissedUpdatesStarted()
|
||||
{
|
||||
Program.Invoke(Program.MainWindow, StartCheckForUpdates);
|
||||
Program.Invoke(Program.MainWindow, () =>
|
||||
{
|
||||
StartCheckForUpdates(); //call this before setting CheckForUpdatesInProgress
|
||||
CheckForUpdatesInProgress = true;
|
||||
});
|
||||
}
|
||||
|
||||
private void CheckForUpdates_CheckForUpdatesCompleted(bool succeeded, string errorMessage)
|
||||
{
|
||||
Program.Invoke(Program.MainWindow, ()=>
|
||||
{
|
||||
CheckForUpdatesInProgress = false;
|
||||
FinishCheckForUpdates(); //call this after setting CheckForUpdatesInProgress
|
||||
});
|
||||
}
|
||||
|
||||
private void StartCheckForUpdates()
|
||||
{
|
||||
if (CheckForUpdatesInProgress)
|
||||
if (CheckForUpdatesInProgress || _backgroundWorker.IsBusy)
|
||||
return;
|
||||
|
||||
CheckForUpdatesInProgress = true;
|
||||
dataGridViewPatches.Rows.Clear();
|
||||
tableLayoutPanelSpinner.Visible = true;
|
||||
RestoreDismUpdatesButton.Enabled = false;
|
||||
@ -92,17 +122,16 @@ namespace XenAdmin.Wizards.PatchingWizard
|
||||
OnPageUpdated();
|
||||
}
|
||||
|
||||
private void CheckForUpdates_CheckForUpdatesCompleted(bool succeeded, string errorMessage)
|
||||
private void FinishCheckForUpdates()
|
||||
{
|
||||
Program.Invoke(Program.MainWindow, delegate
|
||||
{
|
||||
tableLayoutPanelSpinner.Visible = false;
|
||||
PopulatePatchesBox();
|
||||
RefreshListButton.Enabled = true;
|
||||
RestoreDismUpdatesButton.Enabled = true;
|
||||
CheckForUpdatesInProgress = false;
|
||||
OnPageUpdated();
|
||||
});
|
||||
if (CheckForUpdatesInProgress || _backgroundWorker.IsBusy)
|
||||
return;
|
||||
|
||||
tableLayoutPanelSpinner.Visible = false;
|
||||
PopulatePatchesBox();
|
||||
RefreshListButton.Enabled = true;
|
||||
RestoreDismUpdatesButton.Enabled = true;
|
||||
OnPageUpdated();
|
||||
}
|
||||
|
||||
public void SelectDownloadAlert(XenServerPatchAlert alert)
|
||||
@ -113,30 +142,20 @@ namespace XenAdmin.Wizards.PatchingWizard
|
||||
if (row.UpdateAlert.Equals(alert))
|
||||
{
|
||||
row.Selected = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public override string Text
|
||||
{
|
||||
get { return Messages.PATCHINGWIZARD_SELECTPATCHPAGE_TEXT; }
|
||||
}
|
||||
public override string Text => Messages.PATCHINGWIZARD_SELECTPATCHPAGE_TEXT;
|
||||
|
||||
public override string PageTitle
|
||||
{
|
||||
get { return Messages.PATCHINGWIZARD_SELECTPATCHPAGE_TITLE; }
|
||||
}
|
||||
public override string PageTitle => Messages.PATCHINGWIZARD_SELECTPATCHPAGE_TITLE;
|
||||
|
||||
public override string HelpID
|
||||
{
|
||||
get { return "SelectUpdate"; }
|
||||
}
|
||||
public override string HelpID => "SelectUpdate";
|
||||
|
||||
protected override void PageLoadedCore(PageLoadedDirection direction)
|
||||
{
|
||||
Updates.CheckForUpdatesStarted += CheckForUpdates_CheckForUpdatesStarted;
|
||||
Updates.CheckForUpdatesCompleted += CheckForUpdates_CheckForUpdatesCompleted;
|
||||
Updates.RestoreDismissedUpdatesStarted += Updates_RestoreDismissedUpdatesStarted;
|
||||
RegisterEvents();
|
||||
|
||||
if (direction == PageLoadedDirection.Forward)
|
||||
{
|
||||
@ -159,18 +178,15 @@ namespace XenAdmin.Wizards.PatchingWizard
|
||||
downloadUpdateRadioButton.Checked = true;
|
||||
}
|
||||
|
||||
Updates.CheckServerPatches();
|
||||
PopulatePatchesBox();
|
||||
OnPageUpdated();
|
||||
StartCheckForUpdates(); //call this before starting the _backgroundWorker
|
||||
_backgroundWorker.RunWorkerAsync();
|
||||
}
|
||||
|
||||
firstLoad = false;
|
||||
}
|
||||
|
||||
private bool IsInAutomatedUpdatesMode
|
||||
{
|
||||
get { return AutomatedUpdatesRadioButton.Visible && AutomatedUpdatesRadioButton.Checked; }
|
||||
}
|
||||
private bool IsInAutomatedUpdatesMode =>
|
||||
AutomatedUpdatesRadioButton.Visible && AutomatedUpdatesRadioButton.Checked;
|
||||
|
||||
public WizardMode WizardMode
|
||||
{
|
||||
@ -188,6 +204,7 @@ namespace XenAdmin.Wizards.PatchingWizard
|
||||
return WizardMode.SingleUpdate;
|
||||
}
|
||||
}
|
||||
|
||||
public KeyValuePair<XenServerPatch, string> PatchFromDisk { get; private set; }
|
||||
|
||||
protected override void PageLeaveCore(PageLoadedDirection direction, ref bool cancel)
|
||||
@ -252,8 +269,8 @@ namespace XenAdmin.Wizards.PatchingWizard
|
||||
}
|
||||
}
|
||||
|
||||
if (!unzippedFiles.Contains(unzippedUpdateFilePath))
|
||||
unzippedFiles.Add(unzippedUpdateFilePath);
|
||||
if (!UnzippedUpdateFiles.Contains(unzippedUpdateFilePath))
|
||||
UnzippedUpdateFiles.Add(unzippedUpdateFilePath);
|
||||
|
||||
SelectedPatchFilePath = unzippedUpdateFilePath;
|
||||
}
|
||||
@ -274,11 +291,7 @@ namespace XenAdmin.Wizards.PatchingWizard
|
||||
}
|
||||
|
||||
if (!cancel) //unsubscribe only if we are really leaving this page
|
||||
{
|
||||
Updates.RestoreDismissedUpdatesStarted -= Updates_RestoreDismissedUpdatesStarted;
|
||||
Updates.CheckForUpdatesStarted -= CheckForUpdates_CheckForUpdatesStarted;
|
||||
Updates.CheckForUpdatesCompleted -= CheckForUpdates_CheckForUpdatesCompleted;
|
||||
}
|
||||
UnRegisterEvents();
|
||||
}
|
||||
|
||||
private XenServerPatchAlert GetAlertFromFile(string fileName, out bool hasUpdateXml)
|
||||
@ -356,15 +369,17 @@ namespace XenAdmin.Wizards.PatchingWizard
|
||||
dataGridViewPatches.SuspendLayout();
|
||||
dataGridViewPatches.Rows.Clear();
|
||||
|
||||
var rowList = new List<DataGridViewRow>();
|
||||
|
||||
foreach (Alert alert in updates)
|
||||
{
|
||||
if (!(alert is XenServerPatchAlert patchAlert))
|
||||
continue;
|
||||
|
||||
PatchGridViewRow row = new PatchGridViewRow(patchAlert);
|
||||
if (!dataGridViewPatches.Rows.Contains(row))
|
||||
if (!rowList.Contains(row))
|
||||
{
|
||||
dataGridViewPatches.Rows.Add(row);
|
||||
rowList.Add(row);
|
||||
|
||||
if (patchAlert.RequiredXenCenterVersion != null)
|
||||
{
|
||||
@ -374,6 +389,8 @@ namespace XenAdmin.Wizards.PatchingWizard
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
dataGridViewPatches.Rows.AddRange(rowList.ToArray());
|
||||
}
|
||||
finally
|
||||
{
|
||||
@ -383,22 +400,19 @@ namespace XenAdmin.Wizards.PatchingWizard
|
||||
|
||||
public override void PageCancelled(ref bool cancel)
|
||||
{
|
||||
Updates.RestoreDismissedUpdatesStarted -= Updates_RestoreDismissedUpdatesStarted;
|
||||
Updates.CheckForUpdatesStarted -= CheckForUpdates_CheckForUpdatesStarted;
|
||||
Updates.CheckForUpdatesCompleted -= CheckForUpdates_CheckForUpdatesCompleted;
|
||||
UnRegisterEvents();
|
||||
|
||||
if (_backgroundWorker.IsBusy)
|
||||
_backgroundWorker.CancelAsync();
|
||||
}
|
||||
|
||||
public override bool EnableNext()
|
||||
{
|
||||
if (CheckForUpdatesInProgress)
|
||||
{
|
||||
if (CheckForUpdatesInProgress || _backgroundWorker.IsBusy)
|
||||
return false;
|
||||
}
|
||||
|
||||
if (IsInAutomatedUpdatesMode)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
if (downloadUpdateRadioButton.Checked)
|
||||
{
|
||||
@ -422,28 +436,33 @@ namespace XenAdmin.Wizards.PatchingWizard
|
||||
|
||||
public override bool EnablePrevious()
|
||||
{
|
||||
return !CheckForUpdatesInProgress;
|
||||
return !CheckForUpdatesInProgress && !_backgroundWorker.IsBusy;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// List to store unzipped files to be removed later by PatchingWizard
|
||||
/// </summary>
|
||||
private readonly List<string> unzippedFiles = new List<string>();
|
||||
|
||||
public List<string> UnzippedUpdateFiles
|
||||
{
|
||||
get { return unzippedFiles; }
|
||||
}
|
||||
public List<string> UnzippedUpdateFiles { get; } = new List<string>();
|
||||
|
||||
public string FilePath
|
||||
{
|
||||
get { return fileNameTextBox.Text; }
|
||||
set { fileNameTextBox.Text = value; }
|
||||
get => fileNameTextBox.Text;
|
||||
set => fileNameTextBox.Text = value;
|
||||
}
|
||||
|
||||
public UpdateType SelectedUpdateType { get; set; }
|
||||
public UpdateType SelectedUpdateType { get; private set; }
|
||||
|
||||
public string SelectedPatchFilePath { get; set; }
|
||||
public string SelectedPatchFilePath { get; private set; }
|
||||
|
||||
private void _backgroundWorker_DoWork(object sender, System.ComponentModel.DoWorkEventArgs e)
|
||||
{
|
||||
Updates.CheckServerPatches();
|
||||
}
|
||||
|
||||
private void _backgroundWorker_RunWorkerCompleted(object sender, System.ComponentModel.RunWorkerCompletedEventArgs e)
|
||||
{
|
||||
FinishCheckForUpdates();
|
||||
}
|
||||
|
||||
#region DataGridView
|
||||
|
||||
@ -486,16 +505,14 @@ namespace XenAdmin.Wizards.PatchingWizard
|
||||
|
||||
private class PatchGridViewRow : DataGridViewExRow, IEquatable<PatchGridViewRow>
|
||||
{
|
||||
private readonly XenServerPatchAlert _alert;
|
||||
|
||||
private DataGridViewTextBoxCell _nameCell = new DataGridViewTextBoxCell();
|
||||
private DataGridViewTextBoxCell _descriptionCell = new DataGridViewTextBoxCell();
|
||||
private DataGridViewTextBoxCell _dateCell = new DataGridViewTextBoxCell();
|
||||
private DataGridViewLinkCell _webPageCell = new DataGridViewLinkCell();
|
||||
private readonly DataGridViewTextBoxCell _nameCell = new DataGridViewTextBoxCell();
|
||||
private readonly DataGridViewTextBoxCell _descriptionCell = new DataGridViewTextBoxCell();
|
||||
private readonly DataGridViewTextBoxCell _dateCell = new DataGridViewTextBoxCell();
|
||||
private readonly DataGridViewLinkCell _webPageCell = new DataGridViewLinkCell();
|
||||
|
||||
public PatchGridViewRow(XenServerPatchAlert alert)
|
||||
{
|
||||
_alert = alert;
|
||||
UpdateAlert = alert;
|
||||
Cells.AddRange(_nameCell, _descriptionCell, _dateCell, _webPageCell);
|
||||
|
||||
_nameCell.Value = String.Format(alert.Name);
|
||||
@ -503,12 +520,10 @@ namespace XenAdmin.Wizards.PatchingWizard
|
||||
_dateCell.Value = HelpersGUI.DateTimeToString(alert.Timestamp.ToLocalTime(), Messages.DATEFORMAT_DMY,
|
||||
true);
|
||||
_webPageCell.Value = Messages.PATCHING_WIZARD_WEBPAGE_CELL;
|
||||
_webPageCell.ToolTipText = alert.WebPageLabel;
|
||||
}
|
||||
|
||||
public XenServerPatchAlert UpdateAlert
|
||||
{
|
||||
get { return _alert; }
|
||||
}
|
||||
public XenServerPatchAlert UpdateAlert { get; }
|
||||
|
||||
public bool Equals(PatchGridViewRow other)
|
||||
{
|
||||
@ -524,8 +539,8 @@ namespace XenAdmin.Wizards.PatchingWizard
|
||||
|
||||
public override bool Equals(object obj)
|
||||
{
|
||||
if (obj is PatchGridViewRow)
|
||||
return this.Equals((PatchGridViewRow) obj);
|
||||
if (obj is PatchGridViewRow row)
|
||||
return Equals(row);
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -536,9 +551,8 @@ namespace XenAdmin.Wizards.PatchingWizard
|
||||
if (c is DataGridViewLinkCell)
|
||||
continue;
|
||||
|
||||
var cell = c as DataGridViewCell;
|
||||
if (c != null)
|
||||
((DataGridViewCell) c).ToolTipText = toolTip;
|
||||
if (c is DataGridViewCell cell)
|
||||
cell.ToolTipText = toolTip;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -627,7 +641,7 @@ namespace XenAdmin.Wizards.PatchingWizard
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
|
||||
public enum UpdateType { Legacy, ISO }
|
||||
}
|
||||
|
@ -736,6 +736,9 @@
|
||||
<data name="tableLayoutPanel1.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
|
||||
<value><?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="labelWithoutAutomatedUpdates" Row="1" RowSpan="1" Column="0" ColumnSpan="3" /><Control Name="labelWithAutomatedUpdates" Row="0" RowSpan="1" Column="0" ColumnSpan="3" /><Control Name="AutomatedUpdatesRadioButton" Row="2" RowSpan="1" Column="0" ColumnSpan="3" /><Control Name="automatedUpdatesOptionLabel" Row="3" RowSpan="1" Column="1" ColumnSpan="2" /><Control Name="downloadUpdateRadioButton" Row="4" RowSpan="1" Column="0" ColumnSpan="3" /><Control Name="RefreshListButton" Row="6" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="RestoreDismUpdatesButton" Row="6" RowSpan="1" Column="2" ColumnSpan="1" /><Control Name="selectFromDiskRadioButton" Row="7" RowSpan="1" Column="0" ColumnSpan="3" /><Control Name="tableLayoutPanel2" Row="8" RowSpan="1" Column="1" ColumnSpan="2" /><Control Name="panel1" Row="5" RowSpan="1" Column="1" ColumnSpan="2" /></Controls><Columns Styles="Absolute,20,AutoSize,0,Percent,100,Absolute,20" /><Rows Styles="AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,Percent,100,AutoSize,0,AutoSize,0,AutoSize,0" /></TableLayoutSettings></value>
|
||||
</data>
|
||||
<metadata name="_backgroundWorker.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</metadata>
|
||||
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
@ -769,6 +772,12 @@
|
||||
<data name=">>webPageColumn.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.DataGridViewLinkColumn, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>_backgroundWorker.Name" xml:space="preserve">
|
||||
<value>_backgroundWorker</value>
|
||||
</data>
|
||||
<data name=">>_backgroundWorker.Type" xml:space="preserve">
|
||||
<value>System.ComponentModel.BackgroundWorker, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>$this.Name" xml:space="preserve">
|
||||
<value>PatchingWizard_SelectPatchPage</value>
|
||||
</data>
|
||||
|
@ -199,6 +199,15 @@ namespace XenAdmin.Wizards.RollingUpgradeWizard
|
||||
groups.Add(new CheckGroup(Messages.CHECKING_SAFE_TO_UPGRADE, safeToUpgradeChecks));
|
||||
}
|
||||
|
||||
//vSwitch controller check - for each pool
|
||||
var vSwitchChecks = (from Host server in SelectedMasters
|
||||
let check = new VSwitchControllerCheck(server, InstallMethodConfig, ManualUpgrade)
|
||||
where check.CanRun()
|
||||
select check as Check).ToList();
|
||||
|
||||
if (vSwitchChecks.Count > 0)
|
||||
groups.Add(new CheckGroup(Messages.CHECKING_VSWITCH_CONTROLLER_GROUP, vSwitchChecks));
|
||||
|
||||
//protocol check - for each pool
|
||||
var sslChecks = (from Host server in SelectedMasters
|
||||
let check = new PoolLegacySslCheck(server, InstallMethodConfig, ManualUpgrade)
|
||||
@ -217,6 +226,15 @@ namespace XenAdmin.Wizards.RollingUpgradeWizard
|
||||
if (iloChecks.Count > 0)
|
||||
groups.Add(new CheckGroup(Messages.CHECKING_POWER_ON_MODE_GROUP, iloChecks));
|
||||
|
||||
//Checking PV guests - for hosts that have any PV guests and warn the user before the upgrade.
|
||||
var pvChecks = (from Host server in SelectedMasters
|
||||
let check = new PVGuestsCheck(server, true, ManualUpgrade, InstallMethodConfig)
|
||||
where check.CanRun()
|
||||
select check as Check).ToList();
|
||||
|
||||
if (pvChecks.Count > 0)
|
||||
groups.Add(new CheckGroup(Messages.CHECKING_PV_GUESTS, pvChecks));
|
||||
|
||||
//HA checks - for each pool
|
||||
var haChecks = (from Host server in SelectedMasters
|
||||
select new HAOffCheck(server) as Check).ToList();
|
||||
@ -256,15 +274,6 @@ namespace XenAdmin.Wizards.RollingUpgradeWizard
|
||||
groups.Add(new CheckGroup(Messages.CHECKING_CLUSTERING_STATUS, gfs2Checks));
|
||||
}
|
||||
|
||||
//Checking PV guests - for hosts that have any PV guests and warn the user before the upgrade.
|
||||
var pvChecks = (from Host server in SelectedMasters
|
||||
let check = new PVGuestsCheck(server, true, ManualUpgrade, InstallMethodConfig)
|
||||
where check.CanRun()
|
||||
select check as Check).ToList();
|
||||
|
||||
if (pvChecks.Count > 0)
|
||||
groups.Add(new CheckGroup(Messages.CHECKING_PV_GUESTS, pvChecks));
|
||||
|
||||
//Checking automated updates are possible if apply updates checkbox is ticked
|
||||
if (ApplyUpdatesToNewVersion)
|
||||
{
|
||||
|
@ -241,6 +241,7 @@
|
||||
<Compile Include="Diagnostics\Checks\HostNeedsRebootCheck.cs" />
|
||||
<Compile Include="Diagnostics\Checks\SafeToUpgradeCheck.cs" />
|
||||
<Compile Include="Diagnostics\Checks\ServerSelectionCheck.cs" />
|
||||
<Compile Include="Diagnostics\Checks\VSwitchControllerCheck.cs" />
|
||||
<Compile Include="Diagnostics\Checks\XenCenterVersionCheck.cs" />
|
||||
<Compile Include="Diagnostics\Checks\HostMemoryPostUpgradeCheck.cs" />
|
||||
<Compile Include="Diagnostics\Problems\HostProblem\BrokenSR.cs" />
|
||||
@ -259,6 +260,7 @@
|
||||
<Compile Include="Diagnostics\Problems\PoolProblem\CPUIncompatibilityProblem.cs" />
|
||||
<Compile Include="Diagnostics\Problems\PoolProblem\NotLicensedForAutomatedUpdatesWarning.cs" />
|
||||
<Compile Include="Diagnostics\Problems\PoolProblem\ServerSelectionProblem.cs" />
|
||||
<Compile Include="Diagnostics\Problems\PoolProblem\VSwitchControllerProblem.cs" />
|
||||
<Compile Include="Diagnostics\Problems\UtilityProblem\CfuNotAvailableProblem.cs" />
|
||||
<Compile Include="Diagnostics\Problems\VMProblem\InvalidVCPUConfiguration.cs" />
|
||||
<Compile Include="Dialogs\AddVGPUDialog.cs">
|
||||
@ -6990,4 +6992,4 @@
|
||||
|
||||
copy "$(ProjectDir)\..\packages\putty.exe" "$(TargetDir)"</PostBuildEvent>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
</Project>
|
||||
|
@ -264,7 +264,7 @@ namespace XenAdmin.XenSearch
|
||||
|
||||
private void ClickHandler(IXenObject o)
|
||||
{
|
||||
if (Program.MainWindow.SelectObject(o) && Program.MainWindow.TheTabControl.TabPages.Contains(Program.MainWindow.TabPageGeneral))
|
||||
if (Program.MainWindow.SelectObjectInTree(o) && Program.MainWindow.TheTabControl.TabPages.Contains(Program.MainWindow.TabPageGeneral))
|
||||
{
|
||||
Program.MainWindow.SwitchToTab(MainWindow.Tab.General);
|
||||
}
|
||||
|
@ -59,11 +59,6 @@ namespace XenAdminTests
|
||||
{
|
||||
}
|
||||
|
||||
public void ShowPerXenModelObjectWizard(IXenObject obj, Form wizard)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public void ShowPerConnectionWizard(IXenConnection connection, Form wizard, Form parentForm = null)
|
||||
{
|
||||
|
||||
@ -84,11 +79,6 @@ namespace XenAdminTests
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public void CloseActiveWizards(IXenObject xenObject)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public System.Collections.ObjectModel.Collection<IXenConnection> GetXenConnectionsCopy()
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
|
@ -1,4 +1,35 @@
|
||||
using System;
|
||||
/* Copyright (c) Citrix Systems, Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms,
|
||||
* with or without modification, are permitted provided
|
||||
* that the following conditions are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above
|
||||
* copyright notice, this list of conditions and the
|
||||
* following disclaimer.
|
||||
* * Redistributions in binary form must reproduce the above
|
||||
* copyright notice, this list of conditions and the
|
||||
* following disclaimer in the documentation and/or other
|
||||
* materials provided with the distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
|
||||
* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
||||
* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
|
||||
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Runtime.Serialization.Formatters.Binary;
|
||||
|
@ -1,4 +1,35 @@
|
||||
using System.Collections.Generic;
|
||||
/* Copyright (c) Citrix Systems, Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms,
|
||||
* with or without modification, are permitted provided
|
||||
* that the following conditions are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above
|
||||
* copyright notice, this list of conditions and the
|
||||
* following disclaimer.
|
||||
* * Redistributions in binary form must reproduce the above
|
||||
* copyright notice, this list of conditions and the
|
||||
* following disclaimer in the documentation and/or other
|
||||
* materials provided with the distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
|
||||
* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
||||
* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
|
||||
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
using System.Collections.Generic;
|
||||
using NUnit.Framework;
|
||||
using XenAdmin.Core;
|
||||
|
||||
|
@ -345,6 +345,9 @@
|
||||
<data name="Label-SR.SRTypes-cslg" xml:space="preserve">
|
||||
<value>StorageLink</value>
|
||||
</data>
|
||||
<data name="Label-SR.SRTypes-dummy" xml:space="preserve">
|
||||
<value>不明</value>
|
||||
</data>
|
||||
<data name="Label-SR.SRTypes-ebs" xml:space="preserve">
|
||||
<value>Elastic Block Storage</value>
|
||||
</data>
|
||||
@ -390,6 +393,9 @@
|
||||
<data name="Label-SR.SRTypes-shm" xml:space="preserve">
|
||||
<value>Local Performance Monitoring</value>
|
||||
</data>
|
||||
<data name="Label-SR.SRTypes-tmpfs" xml:space="preserve">
|
||||
<value>不明</value>
|
||||
</data>
|
||||
<data name="Label-SR.SRTypes-udev" xml:space="preserve">
|
||||
<value>udev</value>
|
||||
</data>
|
||||
|
@ -345,6 +345,9 @@
|
||||
<data name="Label-SR.SRTypes-cslg" xml:space="preserve">
|
||||
<value>StorageLink</value>
|
||||
</data>
|
||||
<data name="Label-SR.SRTypes-dummy" xml:space="preserve">
|
||||
<value>未知</value>
|
||||
</data>
|
||||
<data name="Label-SR.SRTypes-ebs" xml:space="preserve">
|
||||
<value>弹性块存储</value>
|
||||
</data>
|
||||
@ -390,6 +393,9 @@
|
||||
<data name="Label-SR.SRTypes-shm" xml:space="preserve">
|
||||
<value>本地性能监视</value>
|
||||
</data>
|
||||
<data name="Label-SR.SRTypes-tmpfs" xml:space="preserve">
|
||||
<value>未知</value>
|
||||
</data>
|
||||
<data name="Label-SR.SRTypes-udev" xml:space="preserve">
|
||||
<value>udev</value>
|
||||
</data>
|
||||
|
@ -117,15 +117,6 @@
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="ACTIVATION_FORM_URL" xml:space="preserve">
|
||||
<value>https://{0}/index.html?transactionID={1}</value>
|
||||
</data>
|
||||
<data name="ACTIVATION_SERVER" xml:space="preserve">
|
||||
<value>activate.vmd.citrix.com</value>
|
||||
</data>
|
||||
<data name="ACTIVATION_URL" xml:space="preserve">
|
||||
<value>https://{0}/reactivation_server.php</value>
|
||||
</data>
|
||||
<data name="HEALTH_CHECK_PRIVACY_STATEMENT_URL" xml:space="preserve">
|
||||
<value>https://cis.citrix.com/legal/</value>
|
||||
</data>
|
||||
|
@ -117,15 +117,6 @@
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="ACTIVATION_FORM_URL" xml:space="preserve">
|
||||
<value>https://{0}/index.html?transactionID={1}</value>
|
||||
</data>
|
||||
<data name="ACTIVATION_SERVER" xml:space="preserve">
|
||||
<value>activate.vmd.citrix.com</value>
|
||||
</data>
|
||||
<data name="ACTIVATION_URL" xml:space="preserve">
|
||||
<value>https://{0}/reactivation_server.php</value>
|
||||
</data>
|
||||
<data name="HEALTH_CHECK_PRIVACY_STATEMENT_URL" xml:space="preserve">
|
||||
<value>https://cis.citrix.com/legal/</value>
|
||||
</data>
|
||||
|
142
XenModel/Messages.Designer.cs
generated
142
XenModel/Messages.Designer.cs
generated
@ -7329,6 +7329,24 @@ namespace XenAdmin {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to vSwitch Controller check.
|
||||
/// </summary>
|
||||
public static string CHECKING_VSWITCH_CONTROLLER {
|
||||
get {
|
||||
return ResourceManager.GetString("CHECKING_VSWITCH_CONTROLLER", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Checking vSwitch Controller configuration.
|
||||
/// </summary>
|
||||
public static string CHECKING_VSWITCH_CONTROLLER_GROUP {
|
||||
get {
|
||||
return ResourceManager.GetString("CHECKING_VSWITCH_CONTROLLER_GROUP", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Checking [XenCenter] version.
|
||||
/// </summary>
|
||||
@ -11568,9 +11586,9 @@ namespace XenAdmin {
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to unable to determine failure reason.
|
||||
/// </summary>
|
||||
public static string DELAY_LOADED_COMBO_BOX_ITEM_FAILURE_UNKOWN {
|
||||
public static string DELAY_LOADED_COMBO_BOX_ITEM_FAILURE_UNKNOWN {
|
||||
get {
|
||||
return ResourceManager.GetString("DELAY_LOADED_COMBO_BOX_ITEM_FAILURE_UNKOWN", resourceCulture);
|
||||
return ResourceManager.GetString("DELAY_LOADED_COMBO_BOX_ITEM_FAILURE_UNKNOWN", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
@ -15276,7 +15294,7 @@ namespace XenAdmin {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The following Vms could not be resumed:.
|
||||
/// Looks up a localized string similar to The following VMs could not be resumed:.
|
||||
/// </summary>
|
||||
public static string ERROR_DIALOG_RESUME_VM_TEXT {
|
||||
get {
|
||||
@ -19792,7 +19810,7 @@ namespace XenAdmin {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The server could not complete the import due to an unkown error..
|
||||
/// Looks up a localized string similar to The server could not complete the import due to an unknown error..
|
||||
/// </summary>
|
||||
public static string IMPORT_GENERIC_FAIL {
|
||||
get {
|
||||
@ -20191,7 +20209,7 @@ namespace XenAdmin {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The [Xenserver] Template that you are attempting to import already exists in the selected pool..
|
||||
/// Looks up a localized string similar to The [XenServer] Template that you are attempting to import already exists in the selected pool..
|
||||
/// </summary>
|
||||
public static string IMPORT_TEMPLATE_ALREADY_EXISTS {
|
||||
get {
|
||||
@ -21046,7 +21064,16 @@ namespace XenAdmin {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Invalid hostname.
|
||||
/// Looks up a localized string similar to Invalid disk size.
|
||||
/// </summary>
|
||||
public static string INVALID_DISK_SIZE {
|
||||
get {
|
||||
return ResourceManager.GetString("INVALID_DISK_SIZE", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Invalid host name.
|
||||
/// </summary>
|
||||
public static string INVALID_HOST {
|
||||
get {
|
||||
@ -21055,7 +21082,7 @@ namespace XenAdmin {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Invalid disk size.
|
||||
/// Looks up a localized string similar to Invalid number.
|
||||
/// </summary>
|
||||
public static string INVALID_NUMBER {
|
||||
get {
|
||||
@ -21401,7 +21428,7 @@ namespace XenAdmin {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Learn more.
|
||||
/// Looks up a localized string similar to Learn more....
|
||||
/// </summary>
|
||||
public static string LEARN_MORE {
|
||||
get {
|
||||
@ -24581,6 +24608,15 @@ namespace XenAdmin {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Allowed VLAN range: {0} to {1}.
|
||||
/// </summary>
|
||||
public static string NETW_DETAILS_VLAN_RANGE {
|
||||
get {
|
||||
return ResourceManager.GetString("NETW_DETAILS_VLAN_RANGE", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Configure the new network.
|
||||
/// </summary>
|
||||
@ -24635,6 +24671,15 @@ namespace XenAdmin {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to VLAN 0 will receive all traffic not on any other VLAN.
|
||||
/// </summary>
|
||||
public static string NETW_VLAN_ZERO {
|
||||
get {
|
||||
return ResourceManager.GetString("NETW_VLAN_ZERO", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Network.
|
||||
/// </summary>
|
||||
@ -25637,7 +25682,7 @@ namespace XenAdmin {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to This server's linux pack installation state differs from that of the master.
|
||||
/// Looks up a localized string similar to This server's Linux pack installation state differs from that of the master.
|
||||
/// </summary>
|
||||
public static string NEWPOOL_LINUXPACK {
|
||||
get {
|
||||
@ -25749,7 +25794,7 @@ namespace XenAdmin {
|
||||
///
|
||||
///As SMB storage repositories are shared, the virtual disks stored in them allow VMs to be started on any server in a resource pool and to be migrated between them using Live Migration.
|
||||
///
|
||||
///When you configure a SMB storage repository, you simply provide the hostname or IP address of the SMB server, the user name, the password and the path to a directory that will be [rest of string was truncated]";.
|
||||
///When you configure a SMB storage repository, you simply provide the host name or IP address of the SMB server, the user name, the password and the path to a directory that will b [rest of string was truncated]";.
|
||||
/// </summary>
|
||||
public static string NEWSR_CIFS_BLURB {
|
||||
get {
|
||||
@ -26251,7 +26296,7 @@ namespace XenAdmin {
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to If you have access to a Network Appliance (NetApp) filer with sufficient disk space, running a version of Data ONTAP 7G (version 7.2 or greater), you can configure a custom NetApp Storage Repository.
|
||||
///
|
||||
///The driver uses the ZAPI interface to the filer to create a group of FlexVols which correspond to an SR. VDIs are created as virtual LUNs on the filer, and attached to the host using an iSCSI data path.
|
||||
///The driver uses the XAPI interface to the filer to create a group of FlexVols which correspond to an SR. VDIs are created as virtual LUNs on the filer, and attached to the host using an iSCSI data path.
|
||||
///
|
||||
///VM cloning uses the snapshot and clone capabilities of the filer to provide high performance and to e [rest of string was truncated]";.
|
||||
/// </summary>
|
||||
@ -26437,7 +26482,7 @@ namespace XenAdmin {
|
||||
///
|
||||
///As NFS storage repositories are shared, the virtual disks stored in them allow VMs to be started on any server in a resource pool and to be migrated between them using Live Migration.
|
||||
///
|
||||
///When you configure an NFS storage repository, you simply provide the hostname or IP address of the NFS server and the path to a directory that will be used to contain the storage reposit [rest of string was truncated]";.
|
||||
///When you configure an NFS storage repository, you simply provide the host name or IP address of the NFS server and the path to a directory that will be used to contain the storage reposi [rest of string was truncated]";.
|
||||
/// </summary>
|
||||
public static string NEWSR_VHDONFS_BLURB {
|
||||
get {
|
||||
@ -27695,9 +27740,9 @@ namespace XenAdmin {
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The VM is not agile. Restart cannot be guaranteed..
|
||||
/// </summary>
|
||||
public static string NOT_AGILE_UNKOWN {
|
||||
public static string NOT_AGILE_UNKNOWN {
|
||||
get {
|
||||
return ResourceManager.GetString("NOT_AGILE_UNKOWN", resourceCulture);
|
||||
return ResourceManager.GetString("NOT_AGILE_UNKNOWN", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
@ -29723,7 +29768,7 @@ namespace XenAdmin {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Server '{0}' could not be evacuated because there was not enough free memory on the other servers to migrate all the VMs from this server. Please suspend or shutdown some VMs and then press Retry to resume the process..
|
||||
/// Looks up a localized string similar to Server '{0}' could not be evacuated because there was not enough free memory on the other servers to migrate all the VMs from this server. Please suspend or shut down some VMs and then press Retry to resume the process..
|
||||
/// </summary>
|
||||
public static string PLAN_ACTION_FAILURE_NOT_ENOUGH_MEMORY {
|
||||
get {
|
||||
@ -30148,7 +30193,7 @@ namespace XenAdmin {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to {0}: Support for paravirtualized (PV) guests has been removed as of {1}. Click "Learn more" to see the list of supported guest operating systems. .
|
||||
/// Looks up a localized string similar to {0}: Support for paravirtualized (PV) guests has been removed in {1}. Click Learn more to see the list of supported guest operating systems..
|
||||
/// </summary>
|
||||
public static string POOL_HAS_PV_GUEST_WARNING {
|
||||
get {
|
||||
@ -30638,6 +30683,33 @@ namespace XenAdmin {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to {0}: Support for the vSwitch Controller has been removed in {1}..
|
||||
/// </summary>
|
||||
public static string PROBLEM_VSWITCH_CONTROLLER_DESCRIPTION {
|
||||
get {
|
||||
return ResourceManager.GetString("PROBLEM_VSWITCH_CONTROLLER_DESCRIPTION", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Support for the vSwitch Controller has been removed in {0}. You must deconfigure the controller because any features that require it will no longer work. Please click the link below for more information..
|
||||
/// </summary>
|
||||
public static string PROBLEM_VSWITCH_CONTROLLER_INFO_ERROR {
|
||||
get {
|
||||
return ResourceManager.GetString("PROBLEM_VSWITCH_CONTROLLER_INFO_ERROR", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to If you are upgrading to {0} and above, you must deconfigure the vSwitch Controller because support for it has been removed in this release and any features that require it will no longer work. Please click the link below for more information..
|
||||
/// </summary>
|
||||
public static string PROBLEM_VSWITCH_CONTROLLER_INFO_WARNING {
|
||||
get {
|
||||
return ResourceManager.GetString("PROBLEM_VSWITCH_CONTROLLER_INFO_WARNING", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to [XenCenter] version.
|
||||
/// </summary>
|
||||
@ -33940,7 +34012,7 @@ namespace XenAdmin {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Enter a valid hostname or IP address and try again..
|
||||
/// Looks up a localized string similar to Enter a valid host name or IP address and try again..
|
||||
/// </summary>
|
||||
public static string SOLUTION_NOT_FOUND {
|
||||
get {
|
||||
@ -34011,15 +34083,6 @@ namespace XenAdmin {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to This SR cannot be detached with [XenCenter]..
|
||||
/// </summary>
|
||||
public static string SR_CANNOT_BE_DETACHED_WITH_XC {
|
||||
get {
|
||||
return ResourceManager.GetString("SR_CANNOT_BE_DETACHED_WITH_XC", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to This SR cannot be forgotten with [XenCenter]..
|
||||
/// </summary>
|
||||
@ -36722,15 +36785,6 @@ namespace XenAdmin {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Select the checkboxes for each server you want to update. Select a pool checkbox to select all the available servers in the pool..
|
||||
/// </summary>
|
||||
public static string UPDATES_WIZARD_PAGE1_TOPTEXT {
|
||||
get {
|
||||
return ResourceManager.GetString("UPDATES_WIZARD_PAGE1_TOPTEXT", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to {0}: The update has already been applied to this server. This server will be skipped..
|
||||
/// </summary>
|
||||
@ -39670,24 +39724,6 @@ namespace XenAdmin {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Your new network will be mapped to an existing physical network interface and assigned a VLAN number to use on that interface. You can select the physical interface you would like to use below..
|
||||
/// </summary>
|
||||
public static string WIZARD_DESC_NETWORK_SETTINGS_EXTERNAL {
|
||||
get {
|
||||
return ResourceManager.GetString("WIZARD_DESC_NETWORK_SETTINGS_EXTERNAL", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Check the box below if you would like to automatically add this network to new VMs..
|
||||
/// </summary>
|
||||
public static string WIZARD_DESC_NETWORK_SETTINGS_INTERNAL {
|
||||
get {
|
||||
return ResourceManager.GetString("WIZARD_DESC_NETWORK_SETTINGS_INTERNAL", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to There was an internal error completing this wizard. Please see the logs for more information..
|
||||
/// </summary>
|
||||
|
@ -997,7 +997,7 @@
|
||||
<value>ヘルス チェック設定の転送</value>
|
||||
</data>
|
||||
<data name="ACTION_UPDATE_INTEGRATED_GPU_PASSTHROUGH_TITLE" xml:space="preserve">
|
||||
<value>'{0}' 上の統合された GPU パススルーの更新 </value>
|
||||
<value>'{0}' 上の統合された GPU パススルーの更新</value>
|
||||
</data>
|
||||
<data name="ACTION_UPLOADPATCHTOMASTERPLANACTION_FAILED" xml:space="preserve">
|
||||
<value>アップロード エラー。パッチはアップロードされましたが、ホストで見つかりません。</value>
|
||||
@ -4110,7 +4110,7 @@ VM 移行処理のパフォーマンスや信頼性を向上させるため、
|
||||
<data name="DELAY_LOADED_COMBO_BOX_ITEM_FAILURE_REASON" xml:space="preserve">
|
||||
<value>{0} - {1}</value>
|
||||
</data>
|
||||
<data name="DELAY_LOADED_COMBO_BOX_ITEM_FAILURE_UNKOWN" xml:space="preserve">
|
||||
<data name="DELAY_LOADED_COMBO_BOX_ITEM_FAILURE_UNKNOWN" xml:space="preserve">
|
||||
<value>失敗理由を特定できません</value>
|
||||
</data>
|
||||
<data name="DELAY_LOADING_COMBO_BOX_WAITING" xml:space="preserve">
|
||||
@ -5943,7 +5943,7 @@ CD をイジェクトしてから再試行してください。</value>
|
||||
<value>メモリ</value>
|
||||
</data>
|
||||
<data name="GENERAL_HEADING_MEMORY_VCPUS" xml:space="preserve">
|
||||
<value>メモリと VCPU</value>
|
||||
<value>メモリと vCPU</value>
|
||||
</data>
|
||||
<data name="GENERAL_HEADING_STATUS" xml:space="preserve">
|
||||
<value>状態</value>
|
||||
@ -7575,6 +7575,9 @@ SCSI ID: {2}
|
||||
<data name="LICENSE_NO_MULTISELECT_ACTIVATE" xml:space="preserve">
|
||||
<value>[XenServer] Express をアクティブ化するときは、サーバーを 1 つだけ選択してください。</value>
|
||||
</data>
|
||||
<data name="LICENSE_NO_MULTISELECT_LICENSE" xml:space="preserve">
|
||||
<value>{0} より前のサーバーにライセンスを適用する場合、一度に 1 つのサーバーのみを選択する必要があります。</value>
|
||||
</data>
|
||||
<data name="LICENSE_REGULAR_GRACE_TOOLTIP" xml:space="preserve">
|
||||
<value>ライセンス サーバー {0} に接続できません。再接続の猶予期間は {1} までです。</value>
|
||||
</data>
|
||||
@ -9594,7 +9597,7 @@ VM が再起動したら、[[Citrix VM Tools] をインストール] を再度
|
||||
<data name="NOT_AGILE_SR_NOT_SHARED" xml:space="preserve">
|
||||
<value>この VM の SR は共有されていません。再起動は保証されません。</value>
|
||||
</data>
|
||||
<data name="NOT_AGILE_UNKOWN" xml:space="preserve">
|
||||
<data name="NOT_AGILE_UNKNOWN" xml:space="preserve">
|
||||
<value>この VM はアジャイルではありません。再起動は保証されません。</value>
|
||||
</data>
|
||||
<data name="NOT_AGILE_VM_HAS_SRIOV_VIF" xml:space="preserve">
|
||||
@ -12623,9 +12626,6 @@ SR-IOV ネットワークを有効にするには、サーバーの再起動が
|
||||
<data name="UPDATES_WIZARD_OUT_OF_DATE_TOOLS" xml:space="preserve">
|
||||
<value>{0}: 最新の [Citrix VM Tools] がインストールされるまで、VM {1} を一時停止することはできません。</value>
|
||||
</data>
|
||||
<data name="UPDATES_WIZARD_PAGE1_TOPTEXT" xml:space="preserve">
|
||||
<value>アップデート対象のサーバーのチェックボックスをオンにしてください。プール内で使用可能なすべてのサーバーをアップデートするには、プールのチェックボックスをオンにします。</value>
|
||||
</data>
|
||||
<data name="UPDATES_WIZARD_PATCH_ALREADY_APPLIED" xml:space="preserve">
|
||||
<value>{0}: アップデートはこのサーバーに適用済みです。このサーバーはスキップされます。</value>
|
||||
</data>
|
||||
@ -13021,10 +13021,10 @@ SR-IOV ネットワークを有効にするには、サーバーの再起動が
|
||||
<value>Mbps</value>
|
||||
</data>
|
||||
<data name="VAL_MICSEC" xml:space="preserve">
|
||||
<value>マイクロ秒</value>
|
||||
<value>μs</value>
|
||||
</data>
|
||||
<data name="VAL_MILSEC" xml:space="preserve">
|
||||
<value>ミリ秒</value>
|
||||
<value>ms</value>
|
||||
</data>
|
||||
<data name="VAL_MILWATT" xml:space="preserve">
|
||||
<value>mW</value>
|
||||
@ -13042,7 +13042,7 @@ SR-IOV ネットワークを有効にするには、サーバーの再起動が
|
||||
<value>0.0</value>
|
||||
</data>
|
||||
<data name="VAL_SEC" xml:space="preserve">
|
||||
<value>秒</value>
|
||||
<value>s</value>
|
||||
</data>
|
||||
<data name="VAL_TERB" xml:space="preserve">
|
||||
<value>TB</value>
|
||||
@ -13418,7 +13418,7 @@ SR-IOV ネットワークを有効にするには、サーバーの再起動が
|
||||
<value>この VM にはパススルー GPU が割り当てられています。</value>
|
||||
</data>
|
||||
<data name="VM_LIVE_CHANGES_NOT_SUPPORTED_MESSAGE" xml:space="preserve">
|
||||
<value>メモリや VCPU への変更は、VM の再起動後に反映されます。</value>
|
||||
<value>メモリや vCPU への変更は、VM の再起動後に反映されます。</value>
|
||||
</data>
|
||||
<data name="VM_LIVE_CHANGES_NOT_SUPPORTED_TITLE" xml:space="preserve">
|
||||
<value>VM の全般設定の変更</value>
|
||||
|
@ -2628,6 +2628,12 @@ Do you want to assign it to the schedule '{2}' instead?</value>
|
||||
<data name="CHECKING_SECURITY_PROTOCOL_GROUP" xml:space="preserve">
|
||||
<value>Checking security protocol</value>
|
||||
</data>
|
||||
<data name="CHECKING_VSWITCH_CONTROLLER" xml:space="preserve">
|
||||
<value>vSwitch Controller check</value>
|
||||
</data>
|
||||
<data name="CHECKING_VSWITCH_CONTROLLER_GROUP" xml:space="preserve">
|
||||
<value>Checking vSwitch Controller configuration</value>
|
||||
</data>
|
||||
<data name="CHECKING_SERVER_NEEDS_REBOOT" xml:space="preserve">
|
||||
<value>Checking reboots required</value>
|
||||
</data>
|
||||
@ -4117,7 +4123,7 @@ For optimal performance and reliability during VM migration, ensure that the net
|
||||
<data name="DELAY_LOADED_COMBO_BOX_ITEM_FAILURE_REASON" xml:space="preserve">
|
||||
<value>{0} - {1}</value>
|
||||
</data>
|
||||
<data name="DELAY_LOADED_COMBO_BOX_ITEM_FAILURE_UNKOWN" xml:space="preserve">
|
||||
<data name="DELAY_LOADED_COMBO_BOX_ITEM_FAILURE_UNKNOWN" xml:space="preserve">
|
||||
<value>unable to determine failure reason</value>
|
||||
</data>
|
||||
<data name="DELAY_LOADING_COMBO_BOX_WAITING" xml:space="preserve">
|
||||
@ -5365,7 +5371,7 @@ Would you like to eject these ISOs before continuing?</value>
|
||||
<value>Error Resuming VM on Server</value>
|
||||
</data>
|
||||
<data name="ERROR_DIALOG_RESUME_VM_TEXT" xml:space="preserve">
|
||||
<value>The following Vms could not be resumed:</value>
|
||||
<value>The following VMs could not be resumed:</value>
|
||||
</data>
|
||||
<data name="ERROR_DIALOG_RESUME_VM_TITLE" xml:space="preserve">
|
||||
<value>Error Resuming VM</value>
|
||||
@ -6939,7 +6945,7 @@ This might result in failure to migrate VMs to this server during the RPU or to
|
||||
<value>Review End User License Agreement (EULA)</value>
|
||||
</data>
|
||||
<data name="IMPORT_GENERIC_FAIL" xml:space="preserve">
|
||||
<value>The server could not complete the import due to an unkown error.</value>
|
||||
<value>The server could not complete the import due to an unknown error.</value>
|
||||
</data>
|
||||
<data name="IMPORT_INCOMPLETE_FILES" xml:space="preserve">
|
||||
<value>The exported files are incomplete or in an unrecognized format.</value>
|
||||
@ -7074,7 +7080,7 @@ This might result in failure to migrate VMs to this server during the RPU or to
|
||||
<value>Locate the file you want to import</value>
|
||||
</data>
|
||||
<data name="IMPORT_TEMPLATE_ALREADY_EXISTS" xml:space="preserve">
|
||||
<value>The [Xenserver] Template that you are attempting to import already exists in the selected pool.</value>
|
||||
<value>The [XenServer] Template that you are attempting to import already exists in the selected pool.</value>
|
||||
</data>
|
||||
<data name="IMPORT_TEMPLATE_CONFIGURE_STORAGE" xml:space="preserve">
|
||||
<value>Configure storage for the new template</value>
|
||||
@ -7310,11 +7316,14 @@ This might result in failure to migrate VMs to this server during the RPU or to
|
||||
<data name="INTERFACES_COUNT" xml:space="preserve">
|
||||
<value>Interfaces: {0}</value>
|
||||
</data>
|
||||
<data name="INVALID_DISK_SIZE" xml:space="preserve">
|
||||
<value>Invalid disk size</value>
|
||||
</data>
|
||||
<data name="INVALID_HOST" xml:space="preserve">
|
||||
<value>Invalid hostname</value>
|
||||
<value>Invalid host name</value>
|
||||
</data>
|
||||
<data name="INVALID_NUMBER" xml:space="preserve">
|
||||
<value>Invalid disk size</value>
|
||||
<value>Invalid number</value>
|
||||
</data>
|
||||
<data name="INVALID_PARAMETER" xml:space="preserve">
|
||||
<value>Invalid parameter</value>
|
||||
@ -7444,7 +7453,7 @@ Size: {3}</value>
|
||||
<value>License Manager</value>
|
||||
</data>
|
||||
<data name="LEARN_MORE" xml:space="preserve">
|
||||
<value>Learn more</value>
|
||||
<value>Learn more...</value>
|
||||
</data>
|
||||
<data name="LEAVING_AD" xml:space="preserve">
|
||||
<value>Enter a user name and password with sufficient privileges to remove your machine account from AD. Authentication will be disabled even if the machine account cannot be removed.</value>
|
||||
@ -8678,6 +8687,9 @@ You should only proceed if you have verified that these settings are correct.</v
|
||||
<data name="NETW_DETAILS_VLAN_NUMBER_IN_USE" xml:space="preserve">
|
||||
<value>This VLAN number is already in use</value>
|
||||
</data>
|
||||
<data name="NETW_DETAILS_VLAN_RANGE" xml:space="preserve">
|
||||
<value>Allowed VLAN range: {0} to {1}</value>
|
||||
</data>
|
||||
<data name="NETW_EXTERNAL_DETAILS_TITLE" xml:space="preserve">
|
||||
<value>Configure the new network</value>
|
||||
</data>
|
||||
@ -8696,6 +8708,9 @@ You should only proceed if you have verified that these settings are correct.</v
|
||||
<data name="NETW_TYPE_SELECT_TITLE" xml:space="preserve">
|
||||
<value>Choose the type of network to create</value>
|
||||
</data>
|
||||
<data name="NETW_VLAN_ZERO" xml:space="preserve">
|
||||
<value>VLAN 0 will receive all traffic not on any other VLAN</value>
|
||||
</data>
|
||||
<data name="NEVER" xml:space="preserve">
|
||||
<value>Never</value>
|
||||
</data>
|
||||
@ -8754,7 +8769,7 @@ You should only proceed if you have verified that these settings are correct.</v
|
||||
<value>This server does not have the same license as the pool master</value>
|
||||
</data>
|
||||
<data name="NEWPOOL_LINUXPACK" xml:space="preserve">
|
||||
<value>This server's linux pack installation state differs from that of the master</value>
|
||||
<value>This server's Linux pack installation state differs from that of the master</value>
|
||||
</data>
|
||||
<data name="NEWPOOL_MASTER_CONNECTING" xml:space="preserve">
|
||||
<value>The master is still connecting</value>
|
||||
@ -8791,7 +8806,7 @@ You should only proceed if you have verified that these settings are correct.</v
|
||||
|
||||
As SMB storage repositories are shared, the virtual disks stored in them allow VMs to be started on any server in a resource pool and to be migrated between them using Live Migration.
|
||||
|
||||
When you configure a SMB storage repository, you simply provide the hostname or IP address of the SMB server, the user name, the password and the path to a directory that will be used to contain the storage repository. The SMB server must be configured to export the specified path to all servers in the pool.</value>
|
||||
When you configure a SMB storage repository, you simply provide the host name or IP address of the SMB server, the user name, the password and the path to a directory that will be used to contain the storage repository. The SMB server must be configured to export the specified path to all servers in the pool.</value>
|
||||
</data>
|
||||
<data name="NEWSR_CIFS_ISO_BLURB" xml:space="preserve">
|
||||
<value>Select this option if you have a library of VM installation ISO images available as a Windows (SMB/CIFS) share that you want to attach to your host or pool.</value>
|
||||
@ -8972,7 +8987,7 @@ Do you want to reattach the SR?</value>
|
||||
<data name="NEWSR_NETAPP_BLURB" xml:space="preserve">
|
||||
<value>If you have access to a Network Appliance (NetApp) filer with sufficient disk space, running a version of Data ONTAP 7G (version 7.2 or greater), you can configure a custom NetApp Storage Repository.
|
||||
|
||||
The driver uses the ZAPI interface to the filer to create a group of FlexVols which correspond to an SR. VDIs are created as virtual LUNs on the filer, and attached to the host using an iSCSI data path.
|
||||
The driver uses the XAPI interface to the filer to create a group of FlexVols which correspond to an SR. VDIs are created as virtual LUNs on the filer, and attached to the host using an iSCSI data path.
|
||||
|
||||
VM cloning uses the snapshot and clone capabilities of the filer to provide high performance and to ensure compatibility with existing ONTAP filer management tools.</value>
|
||||
</data>
|
||||
@ -9038,7 +9053,7 @@ VM cloning uses the snapshot and clone capabilities of the filer to provide high
|
||||
|
||||
As NFS storage repositories are shared, the virtual disks stored in them allow VMs to be started on any server in a resource pool and to be migrated between them using Live Migration.
|
||||
|
||||
When you configure an NFS storage repository, you simply provide the hostname or IP address of the NFS server and the path to a directory that will be used to contain the storage repository. The NFS server must be configured to export the specified path to all servers in the pool.</value>
|
||||
When you configure an NFS storage repository, you simply provide the host name or IP address of the NFS server and the path to a directory that will be used to contain the storage repository. The NFS server must be configured to export the specified path to all servers in the pool.</value>
|
||||
</data>
|
||||
<data name="NEWSR_VHDONFS_TYPE_NAME" xml:space="preserve">
|
||||
<value>NFS</value>
|
||||
@ -9611,7 +9626,7 @@ It is strongly recommended that you Cancel and apply the latest version of the p
|
||||
<data name="NOT_AGILE_SR_NOT_SHARED" xml:space="preserve">
|
||||
<value>The VM is using a non-shared SR. Restart cannot be guaranteed.</value>
|
||||
</data>
|
||||
<data name="NOT_AGILE_UNKOWN" xml:space="preserve">
|
||||
<data name="NOT_AGILE_UNKNOWN" xml:space="preserve">
|
||||
<value>The VM is not agile. Restart cannot be guaranteed.</value>
|
||||
</data>
|
||||
<data name="NOT_AGILE_VM_HAS_SRIOV_VIF" xml:space="preserve">
|
||||
@ -10342,7 +10357,7 @@ File not found</value>
|
||||
<value>Server '{0}' could not be evacuated because there were no servers available to accommodate all the VMs being migrated from this server. Please reboot the other servers that are pending a reboot following the update installation, and then press Retry to resume the process.</value>
|
||||
</data>
|
||||
<data name="PLAN_ACTION_FAILURE_NOT_ENOUGH_MEMORY" xml:space="preserve">
|
||||
<value>Server '{0}' could not be evacuated because there was not enough free memory on the other servers to migrate all the VMs from this server. Please suspend or shutdown some VMs and then press Retry to resume the process.</value>
|
||||
<value>Server '{0}' could not be evacuated because there was not enough free memory on the other servers to migrate all the VMs from this server. Please suspend or shut down some VMs and then press Retry to resume the process.</value>
|
||||
</data>
|
||||
<data name="PLAN_ACTION_STATUS_INSTALLING_XENSERVER" xml:space="preserve">
|
||||
<value>Installing [XenServer] on '{0}'...</value>
|
||||
@ -10494,7 +10509,7 @@ Please reconnect the host and try again</value>
|
||||
<value>This pool has no shared storage</value>
|
||||
</data>
|
||||
<data name="POOL_HAS_PV_GUEST_WARNING" xml:space="preserve">
|
||||
<value>{0}: Support for paravirtualized (PV) guests has been removed as of {1}. Click "Learn more" to see the list of supported guest operating systems. </value>
|
||||
<value>{0}: Support for paravirtualized (PV) guests has been removed in {1}. Click Learn more to see the list of supported guest operating systems.</value>
|
||||
</data>
|
||||
<data name="POOL_IS_PARTIALLY_LICENSED" xml:space="preserve">
|
||||
<value>The pool is partially licensed</value>
|
||||
@ -10586,6 +10601,15 @@ Please reconnect the host and try again</value>
|
||||
<data name="PROBLEM_LEGACY_PROTOCOL_INFO_SERVER" xml:space="preserve">
|
||||
<value>If you are upgrading to {0} and above, you will not be able to use security protocols earlier than TLS 1.2 for communication with the server and you may lose permanently access to it.</value>
|
||||
</data>
|
||||
<data name="PROBLEM_VSWITCH_CONTROLLER_DESCRIPTION" xml:space="preserve">
|
||||
<value>{0}: Support for the vSwitch Controller has been removed in {1}.</value>
|
||||
</data>
|
||||
<data name="PROBLEM_VSWITCH_CONTROLLER_INFO_ERROR" xml:space="preserve">
|
||||
<value>Support for the vSwitch Controller has been removed in {0}. You must deconfigure the controller because any features that require it will no longer work. Please click the link below for more information.</value>
|
||||
</data>
|
||||
<data name="PROBLEM_VSWITCH_CONTROLLER_INFO_WARNING" xml:space="preserve">
|
||||
<value>If you are upgrading to {0} and above, you must deconfigure the vSwitch Controller because support for it has been removed in this release and any features that require it will no longer work. Please click the link below for more information.</value>
|
||||
</data>
|
||||
<data name="PROBLEM_MAC_ADDRESS_IS_DUPLICATE" xml:space="preserve">
|
||||
<value>The MAC address entered has already been assigned to the VM:
|
||||
{1}
|
||||
@ -11763,7 +11787,7 @@ Do you want to connect to the pool master '{1}'?</value>
|
||||
<value>Please wait and then try again.</value>
|
||||
</data>
|
||||
<data name="SOLUTION_NOT_FOUND" xml:space="preserve">
|
||||
<value>Enter a valid hostname or IP address and try again.</value>
|
||||
<value>Enter a valid host name or IP address and try again.</value>
|
||||
</data>
|
||||
<data name="SOLUTION_NO_PERMISSION" xml:space="preserve">
|
||||
<value>Try again with a more privileged user account.</value>
|
||||
@ -11839,9 +11863,6 @@ You may need to reboot your server(s) to enable SR-IOV network.</value>
|
||||
<data name="SR_CANNOT_BE_DESTROYED_WITH_XC" xml:space="preserve">
|
||||
<value>This SR cannot be destroyed with [XenCenter].</value>
|
||||
</data>
|
||||
<data name="SR_CANNOT_BE_DETACHED_WITH_XC" xml:space="preserve">
|
||||
<value>This SR cannot be detached with [XenCenter].</value>
|
||||
</data>
|
||||
<data name="SR_CANNOT_BE_FORGOTTEN_WITH_XC" xml:space="preserve">
|
||||
<value>This SR cannot be forgotten with [XenCenter].</value>
|
||||
</data>
|
||||
@ -12661,9 +12682,6 @@ Please check your settings and try again.</value>
|
||||
<data name="UPDATES_WIZARD_OUT_OF_DATE_TOOLS" xml:space="preserve">
|
||||
<value>{0}: The VM {1} cannot be suspended until it has up to date [Citrix VM Tools].</value>
|
||||
</data>
|
||||
<data name="UPDATES_WIZARD_PAGE1_TOPTEXT" xml:space="preserve">
|
||||
<value>Select the checkboxes for each server you want to update. Select a pool checkbox to select all the available servers in the pool.</value>
|
||||
</data>
|
||||
<data name="UPDATES_WIZARD_PATCH_ALREADY_APPLIED" xml:space="preserve">
|
||||
<value>{0}: The update has already been applied to this server. This server will be skipped.</value>
|
||||
</data>
|
||||
@ -13698,12 +13716,6 @@ Schedule:
|
||||
<data name="WIZARD_BUTTON_NEXT" xml:space="preserve">
|
||||
<value>&Next ></value>
|
||||
</data>
|
||||
<data name="WIZARD_DESC_NETWORK_SETTINGS_EXTERNAL" xml:space="preserve">
|
||||
<value>Your new network will be mapped to an existing physical network interface and assigned a VLAN number to use on that interface. You can select the physical interface you would like to use below.</value>
|
||||
</data>
|
||||
<data name="WIZARD_DESC_NETWORK_SETTINGS_INTERNAL" xml:space="preserve">
|
||||
<value>Check the box below if you would like to automatically add this network to new VMs.</value>
|
||||
</data>
|
||||
<data name="WIZARD_INTERNAL_ERROR" xml:space="preserve">
|
||||
<value>There was an internal error completing this wizard. Please see the logs for more information.</value>
|
||||
</data>
|
||||
@ -14463,4 +14475,4 @@ You will need to navigate to the Console on each of the selected VMs to complete
|
||||
<data name="YOU_ARE_HERE" xml:space="preserve">
|
||||
<value>You are here</value>
|
||||
</data>
|
||||
</root>
|
||||
</root>
|
||||
|
@ -1234,7 +1234,7 @@
|
||||
<value>关闭</value>
|
||||
</data>
|
||||
<data name="ACTION_VM_SNAPSHOT_TITLE" xml:space="preserve">
|
||||
<value>正在生成 VM“{0}”的快照...</value>
|
||||
<value>正在创建 VM“{0}”的快照...</value>
|
||||
</data>
|
||||
<data name="ACTION_VM_STARTED" xml:space="preserve">
|
||||
<value>已启动</value>
|
||||
@ -4105,7 +4105,7 @@
|
||||
<data name="DELAY_LOADED_COMBO_BOX_ITEM_FAILURE_REASON" xml:space="preserve">
|
||||
<value>{0} - {1}</value>
|
||||
</data>
|
||||
<data name="DELAY_LOADED_COMBO_BOX_ITEM_FAILURE_UNKOWN" xml:space="preserve">
|
||||
<data name="DELAY_LOADED_COMBO_BOX_ITEM_FAILURE_UNKNOWN" xml:space="preserve">
|
||||
<value>无法确定失败原因</value>
|
||||
</data>
|
||||
<data name="DELAY_LOADING_COMBO_BOX_WAITING" xml:space="preserve">
|
||||
@ -5937,7 +5937,7 @@
|
||||
<value>内存</value>
|
||||
</data>
|
||||
<data name="GENERAL_HEADING_MEMORY_VCPUS" xml:space="preserve">
|
||||
<value>内存和 VCPU</value>
|
||||
<value>内存和 vCPU</value>
|
||||
</data>
|
||||
<data name="GENERAL_HEADING_STATUS" xml:space="preserve">
|
||||
<value>状态</value>
|
||||
@ -6659,9 +6659,9 @@
|
||||
<value>本地和远程({0})</value>
|
||||
</data>
|
||||
<data name="HOST_MEMORY_POST_UPGRADE_DEFAULT_WARNING_LONG" xml:space="preserve">
|
||||
<value>如果要升级到 [XenServer] {1} 及更高版本,则将增加 {0} 上的控制域内存。
|
||||
<value>如果要升级到 [XenServer] {1} 及更高版本,则将增加 {0} 上的控制域内存。
|
||||
|
||||
这可能会导致在 RPU 期间无法将 VM 迁移到此服务器,或在升级后无法容纳当前位于此服务器上的所有 VM。</value>
|
||||
这可能会导致在 RPU 期间无法将 VM 迁移到此服务器,或者在升级后无法容纳当前位于此服务器上的所有 VM。</value>
|
||||
</data>
|
||||
<data name="HOST_MEMORY_POST_UPGRADE_DEFAULT_WARNING_SHORT" xml:space="preserve">
|
||||
<value>{0}: 由于控制域内存可能会增加,此服务器可能在升级后无法容纳其所有 VM。 </value>
|
||||
@ -6926,7 +6926,7 @@
|
||||
<value>服务器因出现未知错误而无法完成导入。</value>
|
||||
</data>
|
||||
<data name="IMPORT_INCOMPLETE_FILES" xml:space="preserve">
|
||||
<value>导出的文件不完整,或格式无法识别。</value>
|
||||
<value>导出的文件不完整,或者格式无法识别。</value>
|
||||
</data>
|
||||
<data name="IMPORT_OPTIONS_PAGE_CANNOT_USE_SELECTED_ISO_LIBRARY" xml:space="preserve">
|
||||
<value>修复 ISO 无法复制到选定的 SR</value>
|
||||
@ -7570,6 +7570,9 @@ SCSI ID: {2}
|
||||
<data name="LICENSE_NO_MULTISELECT_ACTIVATE" xml:space="preserve">
|
||||
<value>激活 [XenServer] Express 时,必须一次选择一个服务器。</value>
|
||||
</data>
|
||||
<data name="LICENSE_NO_MULTISELECT_LICENSE" xml:space="preserve">
|
||||
<value>许可使用早于 {0} 的服务器时,必须一次选择一台服务器。</value>
|
||||
</data>
|
||||
<data name="LICENSE_REGULAR_GRACE_TOOLTIP" xml:space="preserve">
|
||||
<value>无法访问许可证服务器 {0}。您可以在 {1} 之前重新连接许可证服务器。</value>
|
||||
</data>
|
||||
@ -9593,7 +9596,7 @@ VM 克隆使用文件管理器的快照和克隆功能来实现高性能,并
|
||||
<data name="NOT_AGILE_SR_NOT_SHARED" xml:space="preserve">
|
||||
<value>VM 使用非共享 SR。无法保证重新启动。</value>
|
||||
</data>
|
||||
<data name="NOT_AGILE_UNKOWN" xml:space="preserve">
|
||||
<data name="NOT_AGILE_UNKNOWN" xml:space="preserve">
|
||||
<value>VM 无灵活性。无法保证重新启动。</value>
|
||||
</data>
|
||||
<data name="NOT_AGILE_VM_HAS_SRIOV_VIF" xml:space="preserve">
|
||||
@ -11441,7 +11444,7 @@ VM 克隆使用文件管理器的快照和克隆功能来实现高性能,并
|
||||
<value>池主服务器上的当前时间为: {0}</value>
|
||||
</data>
|
||||
<data name="SERVER_TOO_OLD" xml:space="preserve">
|
||||
<value>此版本的 [XenCenter] 支持 [XenServer] {0} 及更高版本。</value>
|
||||
<value>本版本的 [XenCenter] 支持 [XenServer] {0} 及更高版本。</value>
|
||||
</data>
|
||||
<data name="SERVER_TOO_OLD_SOLUTION" xml:space="preserve">
|
||||
<value>使用早期版本的 [XenCenter] 管理此服务器。</value>
|
||||
@ -12620,9 +12623,6 @@ VM 克隆使用文件管理器的快照和克隆功能来实现高性能,并
|
||||
<data name="UPDATES_WIZARD_OUT_OF_DATE_TOOLS" xml:space="preserve">
|
||||
<value>{0}: 安装最新版本的 [Citrix VM Tools] 之前不能暂停 VM {1}。</value>
|
||||
</data>
|
||||
<data name="UPDATES_WIZARD_PAGE1_TOPTEXT" xml:space="preserve">
|
||||
<value>选中要更新的每个服务器对应的复选框。选中池的复选框可选择该池中的所有可用服务器。</value>
|
||||
</data>
|
||||
<data name="UPDATES_WIZARD_PATCH_ALREADY_APPLIED" xml:space="preserve">
|
||||
<value>{0}: 更新已应用到该服务器。将跳过该服务器。</value>
|
||||
</data>
|
||||
@ -13415,7 +13415,7 @@ VM 克隆使用文件管理器的快照和克隆功能来实现高性能,并
|
||||
<value>已为此 VM 分配了直通 GPU。</value>
|
||||
</data>
|
||||
<data name="VM_LIVE_CHANGES_NOT_SUPPORTED_MESSAGE" xml:space="preserve">
|
||||
<value>内存和/或 VCPU 更改将在重新启动 VM 时生效。</value>
|
||||
<value>内存和/或 vCPU 更改将在重新启动 VM 时生效。</value>
|
||||
</data>
|
||||
<data name="VM_LIVE_CHANGES_NOT_SUPPORTED_TITLE" xml:space="preserve">
|
||||
<value>VM 常规更改</value>
|
||||
|
@ -218,11 +218,6 @@ namespace XenAPI
|
||||
return null;
|
||||
}
|
||||
|
||||
public bool IsDetachable()
|
||||
{
|
||||
return !IsDetached() && !HasRunningVMs() && CanCreateWithXenCenter();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Can create with XC, or is citrix storage link gateway. Special case alert!
|
||||
/// </summary>
|
||||
|
@ -112,10 +112,10 @@
|
||||
<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>
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.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>
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="ACTIVATION_WHILE_NOT_FREE" xml:space="preserve">
|
||||
<value>アクティブ化キーを適用するには、エディションの設定が free である必要があります。</value>
|
||||
@ -1353,7 +1353,7 @@
|
||||
<value>指定された SMB バージョンは使用できません。1.0 または 3.0 を選択してください</value>
|
||||
</data>
|
||||
<data name="SR_BACKEND_FAILURE_228" xml:space="preserve">
|
||||
<value>xe-mount-isosr には "-o" が必要です</value>
|
||||
<value>xe-mount-iso-sr には "-o" が必要です</value>
|
||||
</data>
|
||||
<data name="SR_BACKEND_FAILURE_24" xml:space="preserve">
|
||||
<value>指定した VDI は現在使用中です。</value>
|
||||
|
@ -112,10 +112,10 @@
|
||||
<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>
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.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>
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="ACTIVATION_WHILE_NOT_FREE" xml:space="preserve">
|
||||
<value>仅当版本设置为“免费”时,才能应用激活密钥。</value>
|
||||
@ -1353,7 +1353,7 @@
|
||||
<value>不允许使用给定的 SMB 版本。请选择 1.0 或 3.0</value>
|
||||
</data>
|
||||
<data name="SR_BACKEND_FAILURE_228" xml:space="preserve">
|
||||
<value>需要 -o 以及 xe-mount-isosr</value>
|
||||
<value>需要 -o 以及 xe-mount-iso-sr</value>
|
||||
</data>
|
||||
<data name="SR_BACKEND_FAILURE_24" xml:space="preserve">
|
||||
<value>指定的 VDI 当前正在使用</value>
|
||||
|
@ -121,7 +121,7 @@
|
||||
<value>Xen アプライアンス ウィザード</value>
|
||||
</data>
|
||||
<data name="CONVERT_VMX_VSSD_CAPTION" xml:space="preserve">
|
||||
<value>VMWare VMX から変換済み</value>
|
||||
<value>VMware VMX から変換済み</value>
|
||||
</data>
|
||||
<data name="CONVERT_VPC_VSSD_CAPTION" xml:space="preserve">
|
||||
<value>Virtual PC から変換済み</value>
|
||||
|
@ -121,7 +121,7 @@
|
||||
<value>Xen Appliance Wizard</value>
|
||||
</data>
|
||||
<data name="CONVERT_VMX_VSSD_CAPTION" xml:space="preserve">
|
||||
<value>Converted from VMWare VMX</value>
|
||||
<value>Converted from VMware VMX</value>
|
||||
</data>
|
||||
<data name="CONVERT_VPC_VSSD_CAPTION" xml:space="preserve">
|
||||
<value>Converted from Virtual PC</value>
|
||||
|
@ -121,7 +121,7 @@
|
||||
<value>Xen 设备向导</value>
|
||||
</data>
|
||||
<data name="CONVERT_VMX_VSSD_CAPTION" xml:space="preserve">
|
||||
<value>转换自 VMWare VMX</value>
|
||||
<value>转换自 VMware VMX</value>
|
||||
</data>
|
||||
<data name="CONVERT_VPC_VSSD_CAPTION" xml:space="preserve">
|
||||
<value>转换自 Virtual PC</value>
|
||||
|
6
XenOvfTransport/Messages.Designer.cs
generated
6
XenOvfTransport/Messages.Designer.cs
generated
@ -313,7 +313,7 @@ namespace XenOvfTransport {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Please shutdown or suspend virtual machine {0} before exporting..
|
||||
/// Looks up a localized string similar to Please shut down or suspend virtual machine {0} before exporting..
|
||||
/// </summary>
|
||||
internal static string ERROR_VM_NOT_HALTED {
|
||||
get {
|
||||
@ -439,7 +439,7 @@ namespace XenOvfTransport {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Failed to shutdown Transfer VM..
|
||||
/// Looks up a localized string similar to Failed to shut down the Transfer VM..
|
||||
/// </summary>
|
||||
internal static string ISCSI_SHUTDOWN_ERROR {
|
||||
get {
|
||||
@ -448,7 +448,7 @@ namespace XenOvfTransport {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Failed to start Transfer VM..
|
||||
/// Looks up a localized string similar to Failed to start the Transfer VM..
|
||||
/// </summary>
|
||||
internal static string ISCSI_START_ERROR {
|
||||
get {
|
||||
|
@ -202,7 +202,7 @@
|
||||
<value>Failed to find virtual machine {0}.</value>
|
||||
</data>
|
||||
<data name="ERROR_VM_NOT_HALTED" xml:space="preserve">
|
||||
<value>Please shutdown or suspend virtual machine {0} before exporting.</value>
|
||||
<value>Please shut down or suspend virtual machine {0} before exporting.</value>
|
||||
</data>
|
||||
<data name="EXPORT_PROMPT" xml:space="preserve">
|
||||
<value>Export: </value>
|
||||
@ -244,10 +244,10 @@
|
||||
<value>The address of the Transfer VM is unknown.</value>
|
||||
</data>
|
||||
<data name="ISCSI_SHUTDOWN_ERROR" xml:space="preserve">
|
||||
<value>Failed to shutdown Transfer VM.</value>
|
||||
<value>Failed to shut down the Transfer VM.</value>
|
||||
</data>
|
||||
<data name="ISCSI_START_ERROR" xml:space="preserve">
|
||||
<value>Failed to start Transfer VM.</value>
|
||||
<value>Failed to start the Transfer VM.</value>
|
||||
</data>
|
||||
<data name="ISCSI_VERIFY_CANCELLED" xml:space="preserve">
|
||||
<value>Canceled virtual disk verification after export.</value>
|
||||
|
@ -1,4 +1,35 @@
|
||||
using System.Reflection;
|
||||
/* Copyright (c) Citrix Systems, Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms,
|
||||
* with or without modification, are permitted provided
|
||||
* that the following conditions are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above
|
||||
* copyright notice, this list of conditions and the
|
||||
* following disclaimer.
|
||||
* * Redistributions in binary form must reproduce the above
|
||||
* copyright notice, this list of conditions and the
|
||||
* following disclaimer in the documentation and/or other
|
||||
* materials provided with the distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
|
||||
* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
||||
* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
|
||||
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
|
@ -1,44 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Copyright (c) Citrix Systems, Inc.
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms,
|
||||
# with or without modification, are permitted provided
|
||||
# that the following conditions are met:
|
||||
#
|
||||
# * Redistributions of source code must retain the above
|
||||
# copyright notice, this list of conditions and the
|
||||
# following disclaimer.
|
||||
# * Redistributions in binary form must reproduce the above
|
||||
# copyright notice, this list of conditions and the
|
||||
# following disclaimer in the documentation and/or other
|
||||
# materials provided with the distribution.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
|
||||
# CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
||||
# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
|
||||
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
# SUCH DAMAGE.
|
||||
|
||||
set -eu
|
||||
|
||||
echo "INFO: copyrightcheck"
|
||||
|
||||
dir="$( cd -P "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||
src="$( cd -P "$( dirname "${BASH_SOURCE[0]}" )/../.." && pwd )"
|
||||
|
||||
output=$( /usr/bin/find "$src/XenAdmin" "$src/XenModel" "$src/XenOvfApi" "$src/XenOvfTransport" "$src/mk" "$src/Branding" "$src/XenServerHealthCheckTests" "$src/devtools" -not -ipath '*obj/*' -type f \( -iname \*.cs -o -iname \*.sh \) -not -ipath '*Designer*' -exec grep -L "Copyright (c) Citrix Systems, Inc." {} \;)
|
||||
|
||||
echo "$output" | sed -e "s,$src/,,g"
|
||||
|
||||
test -z "$output"
|
@ -1,35 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Copyright (c) Citrix Systems, Inc.
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms,
|
||||
# with or without modification, are permitted provided
|
||||
# that the following conditions are met:
|
||||
#
|
||||
# * Redistributions of source code must retain the above
|
||||
# copyright notice, this list of conditions and the
|
||||
# following disclaimer.
|
||||
# * Redistributions in binary form must reproduce the above
|
||||
# copyright notice, this list of conditions and the
|
||||
# following disclaimer in the documentation and/or other
|
||||
# materials provided with the distribution.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
|
||||
# CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
||||
# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
|
||||
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
# SUCH DAMAGE.
|
||||
|
||||
set -eu
|
||||
|
||||
grep -q 'AutoScaleMode\.\(Font\|None\)' "$1" && echo "$1 has incorrect AutoScaleMode!"
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user