mirror of
https://github.com/xcp-ng/xenadmin.git
synced 2025-01-20 15:29:26 +01:00
More fixes including CA-381728, CA-381618, CA-381225 (#3205)
* CA-381728: If no post-update tasks exist, XenCenter should explicitly state so. Also, livepatches should be shown if other guidance is absent. Signed-off-by: Konstantina Chremmou <Konstantina.Chremmou@cloud.com> * Missing placeholders for building locally without applying branding. Signed-off-by: Konstantina Chremmou <Konstantina.Chremmou@cloud.com> * Missing help links. Also removed scripts that are not used any more. Signed-off-by: Konstantina Chremmou <Konstantina.Chremmou@cloud.com> * CA-381618: The HA/WLB off check is a pool, not a host check. Signed-off-by: Konstantina Chremmou <Konstantina.Chremmou@cloud.com> * CA-381225: Corrected order of running update guidance (also uses input from CA-381718). Signed-off-by: Konstantina Chremmou <Konstantina.Chremmou@cloud.com> * UPDATES_URL has been renamed to XC_UPDATES_URL. Signed-off-by: Konstantina Chremmou <Konstantina.Chremmou@cloud.com> --------- Signed-off-by: Konstantina Chremmou <Konstantina.Chremmou@cloud.com>
This commit is contained in:
parent
002bcbfecf
commit
de1120f18b
@ -41,4 +41,11 @@ BRANDING_PV_TOOLS="[Guest Tools]"
|
||||
BRANDING_PRODUCT_VERSION_TEXT=0.0.0
|
||||
BRANDING_XC_PRODUCT_VERSION=0.0.0
|
||||
BRANDING_XC_PRODUCT_VERSION_INSTALLER=0.0.0
|
||||
UPDATES_URL="[Updates url]"
|
||||
XC_UPDATES_URL="[Xc updates url]"
|
||||
CFU_URL="[Cfu url]"
|
||||
YUM_REPO_BASE_BIN="[YumRepoBaseBin]"
|
||||
YUM_REPO_BASE_SRC="[YumRepoBaseSource]"
|
||||
YUM_REPO_EARLY_ACCESS_BIN="[YumRepoEarlyAccessBin]"
|
||||
YUM_REPO_EARLY_ACCESS_SRC="[YumRepoEarlyAccessSource]"
|
||||
YUM_REPO_NORMAL_BIN="[YumRepoNormalBin]"
|
||||
YUM_REPO_NORMAL_SRC="[YumRepoNormalSource]"
|
||||
|
@ -105,7 +105,7 @@ namespace XenAdmin.Alerts
|
||||
|
||||
public override string FixLinkText => Messages.UPDATES_GENERAL_TAB_SYNC_NOW;
|
||||
|
||||
public override string HelpID => "TODO";
|
||||
public override string HelpID => "OutOfSyncWithCdnAlert";
|
||||
|
||||
public override string Title => _outOfSyncSpan == TimeSpan.Zero
|
||||
? Messages.ALERT_CDN_NEVER_SYNC_TITLE
|
||||
@ -159,7 +159,7 @@ namespace XenAdmin.Alerts
|
||||
|
||||
public override string FixLinkText => Messages.ALERT_CDN_REPO_NOT_CONFIGURED_ACTION_LINK;
|
||||
|
||||
public override string HelpID => "TODO";
|
||||
public override string HelpID => "YumRepoNotConfiguredAlert";
|
||||
|
||||
public override string Title => string.Format(Messages.ALERT_CDN_REPO_NOT_CONFIGURED_TITLE, Connection.Name);
|
||||
}
|
||||
|
@ -145,7 +145,7 @@ namespace XenAdmin.Controls
|
||||
if (GpuGroup == null)
|
||||
{
|
||||
//this refers to the item "None"
|
||||
displayName = Messages.GPU_NONE;
|
||||
displayName = Messages.NONE_UPPER;
|
||||
}
|
||||
else if (VgpuTypes == null || VgpuTypes.Length == 0 || VgpuTypes[0] == null)
|
||||
{
|
||||
|
@ -103,7 +103,7 @@ namespace XenAdmin.Controls
|
||||
/// Gets the value by which the help files section for this page is identified
|
||||
/// Most derived classes override it to return a fixed string
|
||||
/// </summary>
|
||||
public virtual string HelpID => "";
|
||||
public virtual string HelpID => string.Empty;
|
||||
|
||||
public virtual string NextText(bool isLastPage)
|
||||
{
|
||||
|
@ -1,71 +0,0 @@
|
||||
/* Copyright (c) Cloud Software Group, Inc.
|
||||
*
|
||||
* 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 XenAPI;
|
||||
using XenAdmin.Diagnostics.Problems;
|
||||
using XenAdmin.Core;
|
||||
using XenAdmin.Diagnostics.Problems.PoolProblem;
|
||||
|
||||
|
||||
namespace XenAdmin.Diagnostics.Checks
|
||||
{
|
||||
class HAOffCheck : HostPostLivenessCheck
|
||||
{
|
||||
public HAOffCheck(Host host)
|
||||
: base(host)
|
||||
{
|
||||
}
|
||||
|
||||
protected override Problem RunHostCheck()
|
||||
{
|
||||
Pool pool = Helpers.GetPoolOfOne(Host.Connection);
|
||||
if (pool == null)
|
||||
return null;
|
||||
|
||||
if (pool.ha_enabled)
|
||||
return new HAEnabledProblem(this, pool);
|
||||
if (Helpers.WlbEnabled(pool.Connection))
|
||||
return new WLBEnabledProblem(this, pool);
|
||||
return null;
|
||||
}
|
||||
|
||||
public override string Description => Messages.HA_CHECK_DESCRIPTION;
|
||||
|
||||
public override string SuccessfulCheckDescription
|
||||
{
|
||||
get
|
||||
{
|
||||
var pool = Helpers.GetPool(Host.Connection);
|
||||
return string.Format(Messages.PATCHING_WIZARD_CHECK_ON_XENOBJECT_OK,
|
||||
pool != null ? pool.Name() : Host.Name(), Description);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -28,27 +28,34 @@
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
using System.Collections.Generic;
|
||||
using XenAdmin.Core;
|
||||
using XenAdmin.Diagnostics.Problems;
|
||||
using XenAdmin.Diagnostics.Problems.PoolProblem;
|
||||
using XenAPI;
|
||||
|
||||
|
||||
namespace XenAdmin.Wizards.PatchingWizard.PlanActions
|
||||
namespace XenAdmin.Diagnostics.Checks
|
||||
{
|
||||
public class BringBabiesBackAction : HostPlanAction
|
||||
class HaWlbOffCheck : PoolCheck
|
||||
{
|
||||
private readonly List<XenRef<VM>> _vms;
|
||||
private readonly bool _enableOnly;
|
||||
|
||||
public BringBabiesBackAction(List<XenRef<VM>> vms, Host host, bool enableOnly)
|
||||
: base(host)
|
||||
public HaWlbOffCheck(Pool pool)
|
||||
: base(pool)
|
||||
{
|
||||
_vms = vms;
|
||||
_enableOnly = enableOnly;
|
||||
}
|
||||
|
||||
protected override void RunWithSession(ref Session session)
|
||||
protected override Problem RunCheck()
|
||||
{
|
||||
BringBabiesBack(ref session, _vms, _enableOnly);
|
||||
if (Pool.ha_enabled)
|
||||
return new HAEnabledProblem(this, Pool);
|
||||
|
||||
if (Helpers.WlbEnabled(Pool.Connection))
|
||||
return new WLBEnabledProblem(this, Pool);
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public override string Description => Messages.HA_WLB_CHECK_DESCRIPTION;
|
||||
|
||||
public override string SuccessfulCheckDescription => string.Format(Messages.PATCHING_WIZARD_CHECK_ON_XENOBJECT_OK, Pool.Name(), Description);
|
||||
}
|
||||
}
|
@ -113,6 +113,8 @@ namespace XenAdmin.Dialogs.ServerUpdates
|
||||
tabControl1.SelectTab(_configLcmTab);
|
||||
}
|
||||
|
||||
internal override string HelpName => "ConfigureUpdatesDialog";
|
||||
|
||||
|
||||
private sealed class OptionsTabPage : TabPage
|
||||
{
|
||||
|
@ -190,7 +190,7 @@
|
||||
<value>pools-rootpassword</value>
|
||||
</data>
|
||||
<data name="ClientIdDialog" xml:space="preserve">
|
||||
<value>updates-applying</value>
|
||||
<value>updates-applying-ch</value>
|
||||
</data>
|
||||
<data name="CloseXenCenterWarningDialog" xml:space="preserve">
|
||||
<value>intro-start</value>
|
||||
@ -198,6 +198,9 @@
|
||||
<data name="ConfigureAdDialogAccessChanged" xml:space="preserve">
|
||||
<value>users-overview</value>
|
||||
</data>
|
||||
<data name="ConfigureUpdatesDialog" xml:space="preserve">
|
||||
<value>updates-autoconfig</value>
|
||||
</data>
|
||||
<data name="ConfirmTemplateConvertDialog" xml:space="preserve">
|
||||
<value>templates-new</value>
|
||||
</data>
|
||||
@ -271,7 +274,7 @@
|
||||
<value>vms-relocate</value>
|
||||
</data>
|
||||
<data name="CssExpiryAlert" xml:space="preserve">
|
||||
<value></value>
|
||||
<value>systemalerts</value>
|
||||
</data>
|
||||
<data name="CustomFieldsDialog" xml:space="preserve">
|
||||
<value>resources-customfields</value>
|
||||
@ -300,9 +303,6 @@
|
||||
<data name="DRFailoverWizard_Dryrun_PrechecksPane" xml:space="preserve">
|
||||
<value>dr-testfailover</value>
|
||||
</data>
|
||||
<data name="DRFailoverWizard_Dryrun_RbacPane" xml:space="preserve">
|
||||
<value>9830</value>
|
||||
</data>
|
||||
<data name="DRFailoverWizard_Dryrun_RecoverPane" xml:space="preserve">
|
||||
<value>dr-testfailover</value>
|
||||
</data>
|
||||
@ -411,9 +411,6 @@
|
||||
<data name="EditVmNetworkSettingsDialog" xml:space="preserve">
|
||||
<value>vms-network-properties</value>
|
||||
</data>
|
||||
<data name="EditVMPPGeneralSettingsDialog" xml:space="preserve">
|
||||
<value>6536</value>
|
||||
</data>
|
||||
<data name="EditVMSSGeneralSettingsDialog" xml:space="preserve">
|
||||
<value>vms-snapshotschedule-manage-policy</value>
|
||||
</data>
|
||||
@ -588,6 +585,9 @@
|
||||
<data name="IscsiDeviceConfigDialog" xml:space="preserve">
|
||||
<value>dr-testfailover</value>
|
||||
</data>
|
||||
<data name="LeafCoalesceAlert" xml:space="preserve">
|
||||
<value>systemalerts</value>
|
||||
</data>
|
||||
<data name="LicenseKeyDialog" xml:space="preserve">
|
||||
<value>licensing-about</value>
|
||||
</data>
|
||||
@ -603,8 +603,11 @@
|
||||
<data name="LVMoHBAWarningDialog" xml:space="preserve">
|
||||
<value>storage-pools-add-hba</value>
|
||||
</data>
|
||||
<data name="ManageUpdatesDialog" xml:space="preserve">
|
||||
<value>updates-applying</value>
|
||||
<data name="ManageCdnUpdatesTabPage" xml:space="preserve">
|
||||
<value>updates-applying-xs</value>
|
||||
</data>
|
||||
<data name="ManageUpdatesTabPage" xml:space="preserve">
|
||||
<value>updates-applying-ch</value>
|
||||
</data>
|
||||
<data name="MemoryUsageMessageAlert" xml:space="preserve">
|
||||
<value>systemalerts</value>
|
||||
@ -846,32 +849,14 @@
|
||||
<data name="OptionsDialog" xml:space="preserve">
|
||||
<value>intro-options</value>
|
||||
</data>
|
||||
<data name="PatchingWizard_ApplyUpdatePane" xml:space="preserve">
|
||||
<value>updates-applying</value>
|
||||
<data name="OutOfSyncWithCdnAlert" xml:space="preserve">
|
||||
<value>systemalerts</value>
|
||||
</data>
|
||||
<data name="PatchingWizard_BeforeyoustartPane" xml:space="preserve">
|
||||
<value>updates-applying</value>
|
||||
<data name="PatchingWizard_ch" xml:space="preserve">
|
||||
<value>updates-applying-ch</value>
|
||||
</data>
|
||||
<data name="PatchingWizard_InstallUpdatePane" xml:space="preserve">
|
||||
<value>updates-applying</value>
|
||||
</data>
|
||||
<data name="PatchingWizard_SelectPatchPane" xml:space="preserve">
|
||||
<value>updates-applying</value>
|
||||
</data>
|
||||
<data name="PatchingWizard_SelectServersPane" xml:space="preserve">
|
||||
<value>updates-applying</value>
|
||||
</data>
|
||||
<data name="PatchingWizard_SelectUpdatePane" xml:space="preserve">
|
||||
<value>updates-applying</value>
|
||||
</data>
|
||||
<data name="PatchingWizard_UpdateModePane" xml:space="preserve">
|
||||
<value>updates-applying</value>
|
||||
</data>
|
||||
<data name="PatchingWizard_UpdatePrechecksPane" xml:space="preserve">
|
||||
<value>updates-applying</value>
|
||||
</data>
|
||||
<data name="PatchingWizard_UploadPatchPane" xml:space="preserve">
|
||||
<value>updates-applying</value>
|
||||
<data name="PatchingWizard_xs" xml:space="preserve">
|
||||
<value>updates-applying-xs</value>
|
||||
</data>
|
||||
<data name="PoolJoinAdConfiguring" xml:space="preserve">
|
||||
<value>pools-add-host</value>
|
||||
@ -1074,9 +1059,6 @@
|
||||
<data name="UnknownCertificateDialog" xml:space="preserve">
|
||||
<value>hosts-reconnect</value>
|
||||
</data>
|
||||
<data name="UpdatesDialog" xml:space="preserve">
|
||||
<value>updates-applying</value>
|
||||
</data>
|
||||
<data name="VcpuWarningDialog" xml:space="preserve">
|
||||
<value>vms-properties</value>
|
||||
</data>
|
||||
@ -1135,12 +1117,15 @@
|
||||
<value>updates-xencenter</value>
|
||||
</data>
|
||||
<data name="XenServerPatchAlert" xml:space="preserve">
|
||||
<value>updates-applying</value>
|
||||
<value>updates-applying-ch</value>
|
||||
</data>
|
||||
<data name="XenServerUpdateAlert" xml:space="preserve">
|
||||
<value>updates-applying</value>
|
||||
<value>updates-applying-ch</value>
|
||||
</data>
|
||||
<data name="StorageReadCaching" xml:space="preserve">
|
||||
<value>storage-readcaching</value>
|
||||
</data>
|
||||
<data name="YumRepoNotConfiguredAlert" xml:space="preserve">
|
||||
<value>systemalerts</value>
|
||||
</data>
|
||||
</root>
|
@ -1,8 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
dir=$(dirname "$0")
|
||||
|
||||
cat $dir/HelpManager.resx | sed -e 's#
##g' | awk '
|
||||
/data name="/ { FS="\""; NAME=$2; }
|
||||
/<value>.*<\/value>/ { print "#define " NAME " " $1; }' |
|
||||
sed -e 's# *<value># #g' | sed -e 's#</value>##g' | grep -v Icon1 | grep -v Bitmap1 | grep -v Name1 | sort -nk 3
|
@ -1,8 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
dir=$(dirname "$0")
|
||||
|
||||
cat $dir/HelpManager.resx | sed -e 's#
##g' | awk '
|
||||
/data name="/ { FS="\""; NAME=$2; }
|
||||
/<value>.*<\/value>/ { print NAME "," $1; }' |
|
||||
sed -e 's# *<value># #g' | sed -e 's#</value>##g' | grep -v Icon1 | grep -v Bitmap1 | grep -v Name1 | sort -nk 3
|
@ -2563,7 +2563,7 @@ namespace XenAdmin
|
||||
foreach (var page in _notificationPages)
|
||||
{
|
||||
if (page.Visible)
|
||||
return alertPage.HelpID;
|
||||
return page.HelpID;
|
||||
}
|
||||
|
||||
if (TheTabControl.SelectedTab.Controls.Count > 0 && TheTabControl.SelectedTab.Controls[0] is IControlWithHelp ctrl)
|
||||
|
@ -119,7 +119,7 @@ namespace XenAdmin.SettingsPanels
|
||||
if (Helpers.GpusAvailable(Connection))
|
||||
{
|
||||
var vGpus = VGpus;
|
||||
txt = vGpus.Count > 0 ? string.Join(",", vGpus.Select(v => v.VGpuTypeDescription())) : Messages.GPU_NONE;
|
||||
txt = vGpus.Count > 0 ? string.Join(",", vGpus.Select(v => v.VGpuTypeDescription())) : Messages.NONE_UPPER;
|
||||
}
|
||||
|
||||
return txt;
|
||||
|
@ -205,16 +205,19 @@ namespace XenAdmin.TabPages.CdnUpdates
|
||||
SetValues(Host.Name(), Images.GetImage16For(Images.GetIconFor(Host)), channel: channel,
|
||||
lastSync: lastSyncTime, lastUpdate: lastUpdateTime);
|
||||
|
||||
if (poolUpdateInfo != null && hostUpdateInfo != null)
|
||||
if (poolUpdateInfo != null && hostUpdateInfo != null && hostUpdateInfo.UpdateIDs.Length > 0)
|
||||
{
|
||||
if (hostUpdateInfo.RecommendedGuidance.Length > 0)
|
||||
if (hostUpdateInfo.RecommendedGuidance.Contains(CdnGuidance.EvacuateHost) ||
|
||||
hostUpdateInfo.RecommendedGuidance.Contains(CdnGuidance.RebootHost))
|
||||
{
|
||||
_childRows.Add(new PostUpdateActionRow(hostUpdateInfo.RecommendedGuidance));
|
||||
|
||||
if (hostUpdateInfo.LivePatches.Length > 0 && !hostUpdateInfo.RecommendedGuidance.Contains(CdnGuidance.RebootHost))
|
||||
_childRows.Add(new LivePatchActionRow());
|
||||
_childRows.Add(new PreUpdateActionRow());
|
||||
}
|
||||
|
||||
_childRows.Add(new PostUpdateActionRow(hostUpdateInfo.RecommendedGuidance.Where(g => g != CdnGuidance.EvacuateHost).ToArray()));
|
||||
|
||||
if (hostUpdateInfo.LivePatches.Length > 0 && !hostUpdateInfo.RecommendedGuidance.Contains(CdnGuidance.RebootHost))
|
||||
_childRows.Add(new LivePatchActionRow());
|
||||
|
||||
var categories = hostUpdateInfo.GetUpdateCategories(poolUpdateInfo);
|
||||
|
||||
_childRows.AddRange(categories.Select(c => new UpdateCategoryRow(c.Item1, c.Item2) as CdnExpandableRow));
|
||||
@ -282,11 +285,23 @@ namespace XenAdmin.TabPages.CdnUpdates
|
||||
}
|
||||
}
|
||||
|
||||
internal class PreUpdateActionRow : CdnExpandableRow
|
||||
{
|
||||
public PreUpdateActionRow()
|
||||
{
|
||||
SetValues(Messages.HOTFIX_PRE_UPDATE_ACTIONS, Images.StaticImages.rightArrowLong_Blue_16);
|
||||
}
|
||||
}
|
||||
|
||||
internal class PostUpdateActionRow : CdnExpandableRow
|
||||
{
|
||||
public PostUpdateActionRow(CdnGuidance[] guidance)
|
||||
{
|
||||
var text = string.Format(Messages.HOTFIX_POST_UPDATE_ACTIONS, string.Join(Environment.NewLine, guidance.Select(Cdn.FriendlyInstruction)));
|
||||
var guidanceString = guidance.Length > 0
|
||||
? string.Join(Environment.NewLine, guidance.Select(Cdn.FriendlyInstruction))
|
||||
: Messages.NONE_UPPER;
|
||||
|
||||
var text = string.Format(Messages.HOTFIX_POST_UPDATE_ACTIONS, guidanceString);
|
||||
SetValues(text, Images.StaticImages.rightArrowLong_Blue_16);
|
||||
}
|
||||
}
|
||||
|
@ -211,7 +211,7 @@ namespace XenAdmin.TabPages
|
||||
else
|
||||
{
|
||||
buttonDisableHa.Visible = false;
|
||||
labelStatus.Text = String.Format(Messages.HAPANEL_BLURB, Helpers.GetName(pool).Ellipsise(30));
|
||||
labelStatus.Text = String.Format(Messages.HA_PANEL_BLURB, Helpers.GetName(pool).Ellipsise(30));
|
||||
}
|
||||
|
||||
if ( xenObject is SR sr)
|
||||
|
@ -94,7 +94,7 @@ namespace XenAdmin.TabPages
|
||||
Updates.CdnUpdateInfoChanged -= Cdn_UpdateInfoChanged;
|
||||
}
|
||||
|
||||
public override string HelpID => "ManageUpdatesDialog";
|
||||
public override string HelpID => "ManageCdnUpdatesTabPage";
|
||||
|
||||
public override NotificationsSubMode NotificationsSubMode => NotificationsSubMode.UpdatesFromCdn;
|
||||
|
||||
|
@ -120,7 +120,7 @@ namespace XenAdmin.TabPages
|
||||
Updates.CheckForServerUpdatesCompleted -= CheckForUpdates_CheckForUpdatesCompleted;
|
||||
}
|
||||
|
||||
public override string HelpID => "ManageUpdatesDialog";
|
||||
public override string HelpID => "ManageUpdatesTabPage";
|
||||
|
||||
public override NotificationsSubMode NotificationsSubMode => NotificationsSubMode.Updates;
|
||||
|
||||
|
@ -293,6 +293,11 @@ namespace XenAdmin.Wizards.PatchingWizard
|
||||
base.FinishWizard();
|
||||
}
|
||||
|
||||
protected override string WizardPaneHelpID()
|
||||
{
|
||||
return PatchingWizard_FirstPage.IsNewGeneration ? "PatchingWizard_xs" : "PatchingWizard_ch";
|
||||
}
|
||||
|
||||
private void CleanUploadedPatches(bool forceCleanSelectedPatch = false)
|
||||
{
|
||||
var list = new List<AsyncAction>();
|
||||
|
@ -32,6 +32,7 @@ using System.Collections.Generic;
|
||||
using XenAPI;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using XenAdmin.Actions;
|
||||
using XenAdmin.Core;
|
||||
using XenAdmin.Alerts;
|
||||
using XenAdmin.Wizards.PatchingWizard.PlanActions;
|
||||
@ -61,8 +62,6 @@ namespace XenAdmin.Wizards.PatchingWizard
|
||||
|
||||
public override string PageTitle => Messages.PATCHINGWIZARD_AUTOUPDATINGPAGE_TITLE;
|
||||
|
||||
public override string HelpID => string.Empty;
|
||||
|
||||
#endregion
|
||||
|
||||
#region AutomatedUpdatesBesePage overrides
|
||||
@ -172,28 +171,49 @@ namespace XenAdmin.Wizards.PatchingWizard
|
||||
|
||||
private HostPlan GetCdnUpdatePlanActionsForHost(Host host, CdnPoolUpdateInfo poolUpdateInfo, CdnHostUpdateInfo hostUpdateInfo)
|
||||
{
|
||||
// pre-update tasks and, last in the list, the update itself
|
||||
var planActionsPerHost = new List<PlanAction>();
|
||||
// post-update tasks
|
||||
var delayedActionsPerHost = new List<PlanAction>();
|
||||
|
||||
if (hostUpdateInfo.RecommendedGuidance.Length > 0 && PostUpdateTasksAutomatically)
|
||||
// hostUpdateInfo.RecommendedGuidance is what's prescribed by the metadata,
|
||||
// host.pending_guidances is what's left there from previous updates
|
||||
|
||||
// evacuate host is a pre-update task and needs to be done either the user has
|
||||
// opted to carry out the post-update tasks automatically or manually, see CA-381225
|
||||
// restart toolstack should run before other post-update tasks, see CA-381718
|
||||
|
||||
if (hostUpdateInfo.RecommendedGuidance.Contains(CdnGuidance.RestartToolstack) ||
|
||||
host.pending_guidances.Contains(update_guidances.restart_toolstack))
|
||||
{
|
||||
if (hostUpdateInfo.RecommendedGuidance.Contains(CdnGuidance.RebootHost))
|
||||
{
|
||||
planActionsPerHost.Add(new EvacuateHostPlanAction(host));
|
||||
delayedActionsPerHost.Add(new RestartHostPlanAction(host, host.GetRunningVMs()));
|
||||
}
|
||||
else if (hostUpdateInfo.RecommendedGuidance.Contains(CdnGuidance.RestartToolstack))
|
||||
{
|
||||
if (PostUpdateTasksAutomatically)
|
||||
delayedActionsPerHost.Add(new RestartAgentPlanAction(host));
|
||||
}
|
||||
else if (hostUpdateInfo.RecommendedGuidance.Contains(CdnGuidance.EvacuateHost))
|
||||
{
|
||||
planActionsPerHost.Add(new EvacuateHostPlanAction(host));
|
||||
}
|
||||
else if (hostUpdateInfo.RecommendedGuidance.Contains(CdnGuidance.RestartDeviceModel))
|
||||
{
|
||||
}
|
||||
|
||||
if (hostUpdateInfo.RecommendedGuidance.Contains(CdnGuidance.RebootHost) ||
|
||||
host.pending_guidances.Contains(update_guidances.reboot_host) ||
|
||||
host.pending_guidances.Contains(update_guidances.reboot_host_on_livepatch_failure))
|
||||
{
|
||||
planActionsPerHost.Add(new EvacuateHostPlanAction(host));
|
||||
|
||||
if (PostUpdateTasksAutomatically)
|
||||
delayedActionsPerHost.Add(new RestartHostPlanAction(host, host.GetRunningVMs()));
|
||||
}
|
||||
|
||||
if (hostUpdateInfo.RecommendedGuidance.Contains(CdnGuidance.EvacuateHost) &&
|
||||
!planActionsPerHost.Any(a => a is EvacuateHostPlanAction))
|
||||
{
|
||||
planActionsPerHost.Add(new EvacuateHostPlanAction(host));
|
||||
}
|
||||
|
||||
if (PostUpdateTasksAutomatically)
|
||||
delayedActionsPerHost.Add(new EnableHostPlanAction(host));
|
||||
|
||||
if (hostUpdateInfo.RecommendedGuidance.Contains(CdnGuidance.RestartDeviceModel) ||
|
||||
host.pending_guidances.Contains(update_guidances.restart_device_model))
|
||||
{
|
||||
if (PostUpdateTasksAutomatically)
|
||||
delayedActionsPerHost.Add(new RebootVMsPlanAction(host, host.GetRunningVMs()));
|
||||
}
|
||||
}
|
||||
|
||||
planActionsPerHost.Add(new ApplyCdnUpdatesPlanAction(host, poolUpdateInfo));
|
||||
|
@ -64,8 +64,6 @@ namespace XenAdmin.Wizards.PatchingWizard
|
||||
|
||||
public override string PageTitle => Messages.BEFORE_YOU_START;
|
||||
|
||||
public override string HelpID => "Beforeyoustart";
|
||||
|
||||
public bool IsNewGeneration
|
||||
{
|
||||
get => radioButtonCdn.Checked;
|
||||
|
@ -57,8 +57,6 @@ namespace XenAdmin.Wizards.PatchingWizard
|
||||
|
||||
public override string PageTitle => Messages.PATCHINGWIZARD_MODEPAGE_TITLE;
|
||||
|
||||
public override string HelpID => "UpdateMode";
|
||||
|
||||
public override bool EnablePrevious()
|
||||
{
|
||||
return true;
|
||||
@ -293,24 +291,37 @@ namespace XenAdmin.Wizards.PatchingWizard
|
||||
|
||||
foreach (var hostUpdateInfo in poolUpdateInfo.HostsWithUpdates)
|
||||
{
|
||||
if (hostUpdateInfo.RecommendedGuidance.Length > 0)
|
||||
var host = pool.Connection.Resolve(new XenRef<Host>(hostUpdateInfo.HostOpaqueRef));
|
||||
if (host != null)
|
||||
{
|
||||
var host = pool.Connection.Resolve(new XenRef<Host>(hostUpdateInfo.HostOpaqueRef));
|
||||
if (host != null)
|
||||
var hostSb = new StringBuilder();
|
||||
|
||||
var msg = host.IsCoordinator() ? $"{host.Name()} ({Messages.COORDINATOR})" : host.Name();
|
||||
hostSb.AppendIndented(msg).AppendLine();
|
||||
|
||||
//evacuate host is a pre-update task and will be done regardless the mode selected
|
||||
|
||||
if (hostUpdateInfo.RecommendedGuidance.Contains(CdnGuidance.RestartToolstack) ||
|
||||
host.pending_guidances.Contains(update_guidances.restart_toolstack))
|
||||
{
|
||||
var hostSb = new StringBuilder();
|
||||
|
||||
var msg = host.IsCoordinator() ? $"{host.Name()} ({Messages.COORDINATOR})" : host.Name();
|
||||
hostSb.AppendIndented(msg).AppendLine();
|
||||
|
||||
foreach (var g in hostUpdateInfo.RecommendedGuidance)
|
||||
hostSb.AppendIndented(Cdn.FriendlyInstruction(g), 4).AppendLine();
|
||||
|
||||
if (hostUpdateInfo.LivePatches.Length > 0 && !hostUpdateInfo.RecommendedGuidance.Contains(CdnGuidance.RebootHost))
|
||||
hostSb.AppendIndented(Messages.HOTFIX_POST_UPDATE_LIVEPATCH_ACTIONS, 4).AppendLine();
|
||||
|
||||
hostDict[host] = hostSb;
|
||||
hostSb.AppendIndented(Cdn.FriendlyInstruction(CdnGuidance.RestartToolstack), 4).AppendLine();
|
||||
}
|
||||
|
||||
if (hostUpdateInfo.RecommendedGuidance.Contains(CdnGuidance.RebootHost) ||
|
||||
host.pending_guidances.Contains(update_guidances.reboot_host) ||
|
||||
host.pending_guidances.Contains(update_guidances.reboot_host_on_livepatch_failure))
|
||||
{
|
||||
hostSb.AppendIndented(Cdn.FriendlyInstruction(CdnGuidance.RebootHost), 4).AppendLine();
|
||||
}
|
||||
|
||||
if (hostUpdateInfo.RecommendedGuidance.Contains(CdnGuidance.RestartDeviceModel) ||
|
||||
host.pending_guidances.Contains(update_guidances.restart_device_model))
|
||||
hostSb.AppendIndented(Cdn.FriendlyInstruction(CdnGuidance.RestartDeviceModel), 4).AppendLine();
|
||||
|
||||
if (hostUpdateInfo.LivePatches.Length > 0 && !hostUpdateInfo.RecommendedGuidance.Contains(CdnGuidance.RebootHost))
|
||||
hostSb.AppendIndented(Messages.HOTFIX_POST_UPDATE_LIVEPATCH_ACTIONS, 4).AppendLine();
|
||||
|
||||
hostDict[host] = hostSb;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -83,11 +83,6 @@ namespace XenAdmin.Wizards.PatchingWizard
|
||||
}
|
||||
}
|
||||
|
||||
public override string HelpID
|
||||
{
|
||||
get { return "InstallUpdate"; }
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region AutomatedUpdatesBesePage overrides
|
||||
|
@ -104,8 +104,6 @@ namespace XenAdmin.Wizards.PatchingWizard
|
||||
|
||||
public override string Text => Messages.PATCHINGWIZARD_PRECHECKPAGE_TEXT;
|
||||
|
||||
public override string HelpID => "UpdatePrechecks";
|
||||
|
||||
private void Connection_ConnectionStateChanged(IXenConnection conn)
|
||||
{
|
||||
Program.Invoke(this, RefreshRechecks);
|
||||
@ -364,11 +362,9 @@ namespace XenAdmin.Wizards.PatchingWizard
|
||||
//HA checks
|
||||
|
||||
var haChecks = new List<Check>();
|
||||
foreach (Host host in SelectedServers)
|
||||
{
|
||||
if (Helpers.HostIsCoordinator(host))
|
||||
haChecks.Add(new HAOffCheck(host));
|
||||
}
|
||||
foreach (Pool pool in SelectedPools)
|
||||
haChecks.Add(new HaWlbOffCheck(pool));
|
||||
|
||||
groups.Add(new CheckGroup(Messages.CHECKING_HA_STATUS, haChecks));
|
||||
|
||||
//PBDsPluggedCheck
|
||||
|
@ -216,8 +216,6 @@ namespace XenAdmin.Wizards.PatchingWizard
|
||||
|
||||
public override string PageTitle => Messages.PATCHINGWIZARD_SELECTPATCHPAGE_TITLE;
|
||||
|
||||
public override string HelpID => "SelectUpdate";
|
||||
|
||||
protected override void PageLoadedCore(PageLoadedDirection direction)
|
||||
{
|
||||
RegisterEvents();
|
||||
|
@ -72,8 +72,6 @@ namespace XenAdmin.Wizards.PatchingWizard
|
||||
|
||||
public override string PageTitle => Messages.PATCHINGWIZARD_SELECTSERVERPAGE_TITLE;
|
||||
|
||||
public override string HelpID => "SelectServers";
|
||||
|
||||
protected override void PageLoadedCore(PageLoadedDirection direction)
|
||||
{
|
||||
poolSelectionOnly = WizardMode == WizardMode.AutomatedUpdates ||
|
||||
|
@ -120,14 +120,9 @@ namespace XenAdmin.Wizards.PatchingWizard
|
||||
|
||||
#region XenTabPage overrides
|
||||
|
||||
public override string Text { get { return Messages.PATCHINGWIZARD_UPLOADPAGE_TEXT; } }
|
||||
public override string Text => Messages.PATCHINGWIZARD_UPLOADPAGE_TEXT;
|
||||
|
||||
public override string PageTitle
|
||||
{
|
||||
get { return Messages.PATCHINGWIZARD_UPLOADPAGE_TITLE_ONLY_UPLOAD; }
|
||||
}
|
||||
|
||||
public override string HelpID { get { return "UploadPatch"; } }
|
||||
public override string PageTitle => Messages.PATCHINGWIZARD_UPLOADPAGE_TITLE_ONLY_UPLOAD;
|
||||
|
||||
public override bool EnableNext()
|
||||
{
|
||||
|
@ -57,6 +57,7 @@ namespace XenAdmin.Wizards.PatchingWizard.PlanActions
|
||||
log.DebugFormat("Disabling host {0}", host.Name());
|
||||
AddProgressStep(string.Format(Messages.UPDATES_WIZARD_ENTERING_MAINTENANCE_MODE, host.Name()));
|
||||
Host.disable(session, HostXenRef.opaque_ref);
|
||||
Connection.WaitFor(() => !host.enabled, null);
|
||||
}
|
||||
|
||||
AddProgressStep(string.Format(Messages.UPDATES_WIZARD_APPLYING_UPDATES_FROM_CDN, host.Name()));
|
||||
|
@ -1,48 +0,0 @@
|
||||
/* Copyright (c) Cloud Software Group, Inc.
|
||||
*
|
||||
* 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 XenAPI;
|
||||
|
||||
|
||||
namespace XenAdmin.Wizards.PatchingWizard.PlanActions
|
||||
{
|
||||
public class EvacuateHostPlanAction : HostPlanAction
|
||||
{
|
||||
public EvacuateHostPlanAction(Host host)
|
||||
: base(host)
|
||||
{
|
||||
}
|
||||
|
||||
protected override void RunWithSession(ref Session session)
|
||||
{
|
||||
EvacuateHost(ref session);
|
||||
}
|
||||
}
|
||||
}
|
@ -67,6 +67,7 @@ namespace XenAdmin.Wizards.PatchingWizard.PlanActions
|
||||
AddProgressStep(string.Format(Messages.UPDATES_WIZARD_ENTERING_MAINTENANCE_MODE, hostObj.Name()));
|
||||
log.DebugFormat("Disabling host {0}", hostObj.Name());
|
||||
Host.disable(session, HostXenRef.opaque_ref);
|
||||
Connection.WaitFor(() => !hostObj.enabled, null);
|
||||
}
|
||||
|
||||
if (vms.Count > 0)
|
||||
@ -225,4 +226,51 @@ namespace XenAdmin.Wizards.PatchingWizard.PlanActions
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public class BringBabiesBackAction : HostPlanAction
|
||||
{
|
||||
private readonly List<XenRef<VM>> _vms;
|
||||
private readonly bool _enableOnly;
|
||||
|
||||
public BringBabiesBackAction(List<XenRef<VM>> vms, Host host, bool enableOnly)
|
||||
: base(host)
|
||||
{
|
||||
_vms = vms;
|
||||
_enableOnly = enableOnly;
|
||||
}
|
||||
|
||||
protected override void RunWithSession(ref Session session)
|
||||
{
|
||||
BringBabiesBack(ref session, _vms, _enableOnly);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public class EvacuateHostPlanAction : HostPlanAction
|
||||
{
|
||||
public EvacuateHostPlanAction(Host host)
|
||||
: base(host)
|
||||
{
|
||||
}
|
||||
|
||||
protected override void RunWithSession(ref Session session)
|
||||
{
|
||||
EvacuateHost(ref session);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public class EnableHostPlanAction : HostPlanAction
|
||||
{
|
||||
public EnableHostPlanAction(Host host)
|
||||
: base(host)
|
||||
{
|
||||
}
|
||||
|
||||
protected override void RunWithSession(ref Session session)
|
||||
{
|
||||
WaitForHostToBecomeEnabled(session, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -260,9 +260,8 @@ namespace XenAdmin.Wizards.RollingUpgradeWizard
|
||||
groups.Add(new CheckGroup(Messages.CHECKING_PV_GUESTS, pvChecks));
|
||||
|
||||
//HA checks - for each pool
|
||||
var haChecks = (from Host server in SelectedCoordinators
|
||||
select new HAOffCheck(server) as Check).ToList();
|
||||
|
||||
var haChecks = (from Pool pool in SelectedPools
|
||||
select new HaWlbOffCheck(pool) as Check).ToList();
|
||||
|
||||
if (haChecks.Count > 0)
|
||||
groups.Add(new CheckGroup(Messages.CHECKING_HA_STATUS, haChecks));
|
||||
|
@ -711,7 +711,7 @@
|
||||
<Compile Include="Core\History.cs" />
|
||||
<Compile Include="Core\Registry.cs" />
|
||||
<Compile Include="Core\Updates.cs" />
|
||||
<Compile Include="Diagnostics\Checks\HAOffCheck.cs" />
|
||||
<Compile Include="Diagnostics\Checks\HaWlbOffCheck.cs" />
|
||||
<Compile Include="Diagnostics\Problems\VMProblem\CannotMigrateVM.cs" />
|
||||
<Compile Include="Diagnostics\Problems\PoolProblem\HAEnabledProblem.cs" />
|
||||
<Compile Include="Dialogs\BondProperties.cs">
|
||||
@ -4246,7 +4246,6 @@
|
||||
<DependentUpon>PatchingWizard_FirstPage.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Wizards\PatchingWizard\PlanActions\ApplyPatchPlanAction.cs" />
|
||||
<Compile Include="Wizards\PatchingWizard\PlanActions\BringBabiesBackAction.cs" />
|
||||
<Compile Include="Wizards\PatchingWizard\PatchingWizard.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
@ -4283,7 +4282,6 @@
|
||||
<Compile Include="Wizards\PatchingWizard\PatchingWizard_SelectServers.Designer.cs">
|
||||
<DependentUpon>PatchingWizard_SelectServers.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Wizards\PatchingWizard\PlanActions\EvacuateHostPlanAction.cs" />
|
||||
<Compile Include="Wizards\PatchingWizard\PlanActions\PlanAction.cs" />
|
||||
<Compile Include="Wizards\PatchingWizard\PlanActions\PlanActionWithSession.cs" />
|
||||
<Compile Include="Wizards\PatchingWizard\PlanActions\RebootPlanAction.cs" />
|
||||
|
73
XenModel/Messages.Designer.cs
generated
73
XenModel/Messages.Designer.cs
generated
@ -18517,15 +18517,6 @@ namespace XenAdmin {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to None.
|
||||
/// </summary>
|
||||
public static string GPU_NONE {
|
||||
get {
|
||||
return ResourceManager.GetString("GPU_NONE", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to On {0}:.
|
||||
/// </summary>
|
||||
@ -18898,15 +18889,6 @@ namespace XenAdmin {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to HA and WLB check.
|
||||
/// </summary>
|
||||
public static string HA_CHECK_DESCRIPTION {
|
||||
get {
|
||||
return ResourceManager.GetString("HA_CHECK_DESCRIPTION", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Choose a heartbeat SR.
|
||||
/// </summary>
|
||||
@ -19429,6 +19411,17 @@ namespace XenAdmin {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to HA is not currently enabled for pool '{0}'.
|
||||
///
|
||||
///Click Configure HA to enable HA for this pool and allow your virtual machines to be automatically restarted in the event of unexpected server failure..
|
||||
/// </summary>
|
||||
public static string HA_PANEL_BLURB {
|
||||
get {
|
||||
return ResourceManager.GetString("HA_PANEL_BLURB", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to HA restart priority.
|
||||
/// </summary>
|
||||
@ -19560,13 +19553,11 @@ namespace XenAdmin {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to HA is not currently enabled for pool '{0}'.
|
||||
///
|
||||
///Click Configure HA to enable HA for this pool and allow your virtual machines to be automatically restarted in the event of unexpected server failure..
|
||||
/// Looks up a localized string similar to HA and WLB check.
|
||||
/// </summary>
|
||||
public static string HAPANEL_BLURB {
|
||||
public static string HA_WLB_CHECK_DESCRIPTION {
|
||||
get {
|
||||
return ResourceManager.GetString("HAPANEL_BLURB", resourceCulture);
|
||||
return ResourceManager.GetString("HA_WLB_CHECK_DESCRIPTION", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
@ -20540,6 +20531,15 @@ namespace XenAdmin {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to This server will be evacuated prior to installing updates.
|
||||
/// </summary>
|
||||
public static string HOTFIX_PRE_UPDATE_ACTIONS {
|
||||
get {
|
||||
return ResourceManager.GetString("HOTFIX_PRE_UPDATE_ACTIONS", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to {0} packages will be updated.
|
||||
/// </summary>
|
||||
@ -28628,6 +28628,15 @@ namespace XenAdmin {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to None.
|
||||
/// </summary>
|
||||
public static string NONE_UPPER {
|
||||
get {
|
||||
return ResourceManager.GetString("NONE_UPPER", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The VM is not using a shared network. Restart cannot be guaranteed..
|
||||
/// </summary>
|
||||
@ -30775,15 +30784,6 @@ namespace XenAdmin {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to None.
|
||||
/// </summary>
|
||||
public static string PIF_NONE {
|
||||
get {
|
||||
return ResourceManager.GetString("PIF_NONE", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Static.
|
||||
/// </summary>
|
||||
@ -42323,15 +42323,6 @@ namespace XenAdmin {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to None.
|
||||
/// </summary>
|
||||
public static string WLB_OPT_REASON_NONE {
|
||||
get {
|
||||
return ResourceManager.GetString("WLB_OPT_REASON_NONE", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Release Resource.
|
||||
/// </summary>
|
||||
|
@ -6466,9 +6466,6 @@ Would you like to eject these ISOs before continuing?</value>
|
||||
<data name="GPU_GROUP_NAME_AND_NO_OF_GPUS_ONE" xml:space="preserve">
|
||||
<value>{0} (1 GPU)</value>
|
||||
</data>
|
||||
<data name="GPU_NONE" xml:space="preserve">
|
||||
<value>None</value>
|
||||
</data>
|
||||
<data name="GPU_ON_HOST_LABEL" xml:space="preserve">
|
||||
<value>On {0}:</value>
|
||||
</data>
|
||||
@ -6601,9 +6598,6 @@ not currently live:
|
||||
<data name="HA_CANNOT_EVACUATE_COORDINATOR" xml:space="preserve">
|
||||
<value>Server '{0}' cannot be placed in Maintenance Mode because it is the coordinator of an HA-enabled pool.</value>
|
||||
</data>
|
||||
<data name="HA_CHECK_DESCRIPTION" xml:space="preserve">
|
||||
<value>HA and WLB check</value>
|
||||
</data>
|
||||
<data name="HA_CHOOSESR_PAGE_PAGETITLE" xml:space="preserve">
|
||||
<value>Choose a heartbeat SR</value>
|
||||
</data>
|
||||
@ -6790,6 +6784,11 @@ Reduce protection levels, or bring more servers online to increase the maximum s
|
||||
<data name="HA_PAGE_ENABLING" xml:space="preserve">
|
||||
<value>HA is currently being enabled for '{0}'.</value>
|
||||
</data>
|
||||
<data name="HA_PANEL_BLURB" xml:space="preserve">
|
||||
<value>HA is not currently enabled for pool '{0}'.
|
||||
|
||||
Click Configure HA to enable HA for this pool and allow your virtual machines to be automatically restarted in the event of unexpected server failure.</value>
|
||||
</data>
|
||||
<data name="HA_RESTART_PRIORITY" xml:space="preserve">
|
||||
<value>HA restart priority</value>
|
||||
</data>
|
||||
@ -6836,10 +6835,8 @@ Click Configure HA to alter the settings displayed below.</value>
|
||||
<data name="HA_WIZARD_FINISH_PAGE_TITLE" xml:space="preserve">
|
||||
<value>Review configuration and activate HA</value>
|
||||
</data>
|
||||
<data name="HAPANEL_BLURB" xml:space="preserve">
|
||||
<value>HA is not currently enabled for pool '{0}'.
|
||||
|
||||
Click Configure HA to enable HA for this pool and allow your virtual machines to be automatically restarted in the event of unexpected server failure.</value>
|
||||
<data name="HA_WLB_CHECK_DESCRIPTION" xml:space="preserve">
|
||||
<value>HA and WLB check</value>
|
||||
</data>
|
||||
<data name="HAS_CUSTOM_FIELDS" xml:space="preserve">
|
||||
<value>Has any custom field</value>
|
||||
@ -7170,6 +7167,9 @@ This might result in failure to migrate VMs to this server during the RPU or to
|
||||
<data name="HOTFIX_POST_UPDATE_LIVEPATCH_ACTIONS" xml:space="preserve">
|
||||
<value>This server will be live patched. If live patch fails, a server reboot will be required.</value>
|
||||
</data>
|
||||
<data name="HOTFIX_PRE_UPDATE_ACTIONS" xml:space="preserve">
|
||||
<value>This server will be evacuated prior to installing updates</value>
|
||||
</data>
|
||||
<data name="HOTFIX_RPMS_TO_INSTALL" xml:space="preserve">
|
||||
<value>{0} packages will be updated</value>
|
||||
</data>
|
||||
@ -9942,6 +9942,9 @@ When you configure an NFS storage repository, you simply provide the host name o
|
||||
<data name="NONE_PARENS" xml:space="preserve">
|
||||
<value>(None)</value>
|
||||
</data>
|
||||
<data name="NONE_UPPER" xml:space="preserve">
|
||||
<value>None</value>
|
||||
</data>
|
||||
<data name="NOT_AGILE_NETWORK_NOT_SHARED" xml:space="preserve">
|
||||
<value>The VM is not using a shared network. Restart cannot be guaranteed.</value>
|
||||
</data>
|
||||
@ -10666,9 +10669,6 @@ This will cancel the upload process.</value>
|
||||
<data name="PIF_NIC" xml:space="preserve">
|
||||
<value>NIC {0}</value>
|
||||
</data>
|
||||
<data name="PIF_NONE" xml:space="preserve">
|
||||
<value>None</value>
|
||||
</data>
|
||||
<data name="PIF_STATIC" xml:space="preserve">
|
||||
<value>Static</value>
|
||||
</data>
|
||||
@ -14585,9 +14585,6 @@ A {1} user cannot alter the Workload Balancing settings.</value>
|
||||
<data name="WLB_OPT_REASON_NETWORKWRITE" xml:space="preserve">
|
||||
<value>Network Writes</value>
|
||||
</data>
|
||||
<data name="WLB_OPT_REASON_NONE" xml:space="preserve">
|
||||
<value>None</value>
|
||||
</data>
|
||||
<data name="WLB_OPT_REASON_POWEROFF" xml:space="preserve">
|
||||
<value>Release Resource</value>
|
||||
</data>
|
||||
|
@ -362,7 +362,7 @@ namespace XenAPI
|
||||
switch (ip_configuration_mode)
|
||||
{
|
||||
case ip_configuration_mode.None:
|
||||
return Messages.PIF_NONE;
|
||||
return Messages.NONE_UPPER;
|
||||
case ip_configuration_mode.DHCP:
|
||||
return Messages.PIF_DHCP;
|
||||
case ip_configuration_mode.Static:
|
||||
|
@ -203,7 +203,7 @@ sha256sum ${OUTPUT_DIR}/${BRANDING_BRAND_CONSOLE_NO_SPACE}-source.zip > ${OUTPUT
|
||||
echo "INFO: Generating XCUpdates.xml"
|
||||
|
||||
# UPDATE_URL points at the updates XML, we need to point to the MSI
|
||||
msi_url="${UPDATES_URL/XCUpdates.xml/$BRANDING_BRAND_CONSOLE_NO_SPACE.msi}"
|
||||
msi_url="${XC_UPDATES_URL/XCUpdates.xml/$BRANDING_BRAND_CONSOLE_NO_SPACE.msi}"
|
||||
|
||||
output_xml="<?xml version=\"1.0\" ?>
|
||||
<patchdata>
|
||||
|
Loading…
Reference in New Issue
Block a user