diff --git a/XenAdmin/Actions/GUIActions/ExternalPluginAction.cs b/XenAdmin/Actions/GUIActions/ExternalPluginAction.cs
index e8c6cd7e9..ba28de1af 100644
--- a/XenAdmin/Actions/GUIActions/ExternalPluginAction.cs
+++ b/XenAdmin/Actions/GUIActions/ExternalPluginAction.cs
@@ -188,7 +188,7 @@ namespace XenAdmin.Actions
{
ShellCmd cmd = _menuItemFeature.ShellCmd;
RbacMethodList methodsToCheck = cmd.RequiredMethods.Count == 0 ? _menuItemFeature.GetMethodList(cmd.RequiredMethodList) : cmd.RequiredMethods;
- if (methodsToCheck == null || xenConnection.Session == null || xenConnection.Session.IsLocalSuperuser || !Helpers.MidnightRideOrGreater(xenConnection))
+ if (methodsToCheck == null || xenConnection.Session == null || xenConnection.Session.IsLocalSuperuser)
{
return;
}
diff --git a/XenAdmin/Actions/GUIActions/Wlb/WlbOptimizePoolAction.cs b/XenAdmin/Actions/GUIActions/Wlb/WlbOptimizePoolAction.cs
index 70467fcdc..3b6b73adf 100644
--- a/XenAdmin/Actions/GUIActions/Wlb/WlbOptimizePoolAction.cs
+++ b/XenAdmin/Actions/GUIActions/Wlb/WlbOptimizePoolAction.cs
@@ -72,7 +72,6 @@ namespace XenAdmin.Actions.Wlb
ApiMethodsToRoleCheck.Add("pool.sync_database");
ApiMethodsToRoleCheck.Add("pool.set_ha_host_failures_to_tolerate");
ApiMethodsToRoleCheck.Add("vm.set_ha_restart_priority");
- ApiMethodsToRoleCheck.Add("vm.set_ha_always_run");
ApiMethodsToRoleCheck.Add("vm.assert_can_boot_here");
ApiMethodsToRoleCheck.Add("vm.assert_agile");
@@ -405,12 +404,6 @@ namespace XenAdmin.Actions.Wlb
/// progress bar end point
private static void SetHaProtection(bool protect, AsyncAction action, VM vm, int start, int end)
{
- if (!Helpers.BostonOrGreater(vm.Connection))
- {
- // Enable or disable HA protection for the VM.
- XenAPI.VM.set_ha_always_run(action.Session, vm.opaque_ref, protect);
- }
-
// Do database sync. Helps to ensure that the change persists over master failover.
action.RelatedTask = XenAPI.Pool.async_sync_database(action.Session);
action.PollToCompletion(start, end);
diff --git a/XenAdmin/Actions/SetCslgCredentialsAction.cs b/XenAdmin/Actions/SetCslgCredentialsAction.cs
index 23a81e5ea..d9edc5fee 100644
--- a/XenAdmin/Actions/SetCslgCredentialsAction.cs
+++ b/XenAdmin/Actions/SetCslgCredentialsAction.cs
@@ -51,7 +51,7 @@ namespace XenAdmin.Actions
{
Util.ThrowIfEnumerableParameterNullOrEmpty(connections, "connections");
- _connections = Util.GetList(connections).FindAll(c => c.IsConnected && Helpers.GetPoolOfOne(c) != null && Helpers.MidnightRideOrGreater(c) && !Helpers.FeatureForbidden(c, XenAPI.Host.RestrictStorageChoices));
+ _connections = Util.GetList(connections).FindAll(c => c.IsConnected && Helpers.GetPoolOfOne(c) != null && !Helpers.FeatureForbidden(c, XenAPI.Host.RestrictStorageChoices));
_host = host;
_username = username;
_password = password;
diff --git a/XenAdmin/Actions/SetCslgCredentialsToPoolAction.cs b/XenAdmin/Actions/SetCslgCredentialsToPoolAction.cs
index 86e9719aa..b36344b70 100644
--- a/XenAdmin/Actions/SetCslgCredentialsToPoolAction.cs
+++ b/XenAdmin/Actions/SetCslgCredentialsToPoolAction.cs
@@ -64,11 +64,6 @@ namespace XenAdmin.Actions
throw new ArgumentException("Pool not licensed.", "host");
}
- if (!Helpers.MidnightRideOrGreater(connection))
- {
- throw new ArgumentException("Pool must by Midnight Ride or later.", "host");
- }
-
XenAPI.Pool pool = Helpers.GetPool(Connection);
if (pool != null)
diff --git a/XenAdmin/Commands/DRConfigureCommand.cs b/XenAdmin/Commands/DRConfigureCommand.cs
index 4a247e80a..b8a9358e0 100644
--- a/XenAdmin/Commands/DRConfigureCommand.cs
+++ b/XenAdmin/Commands/DRConfigureCommand.cs
@@ -124,7 +124,7 @@ namespace XenAdmin.Commands
protected override bool CanExecuteCore(SelectedItemCollection selection)
{
- return selection.FirstAsXenObject != null && selection.FirstAsXenObject.Connection != null && selection.FirstAsXenObject.Connection.IsConnected && Helpers.BostonOrGreater(selection.FirstAsXenObject.Connection)
+ return selection.FirstAsXenObject != null && selection.FirstAsXenObject.Connection != null && selection.FirstAsXenObject.Connection.IsConnected
&& (selection.PoolAncestor != null || selection.HostAncestor != null); //CA-61207: this check ensures there's no cross-pool selection
}
diff --git a/XenAdmin/Commands/DRDryrunCommand.cs b/XenAdmin/Commands/DRDryrunCommand.cs
index 365550b0d..bd364ffae 100644
--- a/XenAdmin/Commands/DRDryrunCommand.cs
+++ b/XenAdmin/Commands/DRDryrunCommand.cs
@@ -100,7 +100,7 @@ namespace XenAdmin.Commands
protected override bool CanExecuteCore(SelectedItemCollection selection)
{
- return selection.Count == 1 && selection.FirstAsXenObject != null && selection.FirstAsXenObject.Connection != null && Helpers.BostonOrGreater(selection.FirstAsXenObject.Connection);
+ return selection.Count == 1 && selection.FirstAsXenObject != null && selection.FirstAsXenObject.Connection != null;
}
public override string ContextMenuText
diff --git a/XenAdmin/Commands/DRFailbackCommand.cs b/XenAdmin/Commands/DRFailbackCommand.cs
index 5aeec6732..9d311bd20 100644
--- a/XenAdmin/Commands/DRFailbackCommand.cs
+++ b/XenAdmin/Commands/DRFailbackCommand.cs
@@ -103,7 +103,7 @@ namespace XenAdmin.Commands
protected override bool CanExecuteCore(SelectedItemCollection selection)
{
- return selection.Count == 1 && selection.FirstAsXenObject != null && selection.FirstAsXenObject.Connection != null && Helpers.BostonOrGreater(selection.FirstAsXenObject.Connection);
+ return selection.Count == 1 && selection.FirstAsXenObject != null && selection.FirstAsXenObject.Connection != null;
}
public override string ContextMenuText
diff --git a/XenAdmin/Commands/DRFailoverCommand.cs b/XenAdmin/Commands/DRFailoverCommand.cs
index e7b6f9633..001b99a84 100644
--- a/XenAdmin/Commands/DRFailoverCommand.cs
+++ b/XenAdmin/Commands/DRFailoverCommand.cs
@@ -100,7 +100,7 @@ namespace XenAdmin.Commands
protected override bool CanExecuteCore(SelectedItemCollection selection)
{
- return selection.Count==1&&selection.FirstAsXenObject != null && selection.FirstAsXenObject.Connection != null && Helpers.BostonOrGreater(selection.FirstAsXenObject.Connection);
+ return selection.Count==1 && selection.FirstAsXenObject != null && selection.FirstAsXenObject.Connection != null;
}
public override string ContextMenuText
diff --git a/XenAdmin/Commands/DestroyBondCommand.cs b/XenAdmin/Commands/DestroyBondCommand.cs
index 5fd7b08e5..4d05a2be9 100644
--- a/XenAdmin/Commands/DestroyBondCommand.cs
+++ b/XenAdmin/Commands/DestroyBondCommand.cs
@@ -82,20 +82,7 @@ namespace XenAdmin.Commands
// We just want one, so that we can name it.
PIF pif = pifs[0];
- string new_name;
- string msg;
- if (network != null && !Helpers.BostonOrGreater(network.Connection) && network.Connection.ResolveAll(network.VIFs).Count > 0)
- {
- // We have a live pre-Boston network. Tell the user that we're going to rename it.
- new_name = Helpers.MakeUniqueName(Messages.RENAMED_BOND, GetAllNetworkNames(network.Connection));
- msg = string.Format(Messages.DELETE_BOND_WITH_VIFS_MESSAGE, pif.Name, new_name);
- }
- else
- {
- // It's not in use -- delete the network as well as the bonds and PIFs.
- new_name = null;
- msg = string.Format(Messages.DELETE_BOND_MESSAGE, pif.Name);
- }
+ string msg = string.Format(Messages.DELETE_BOND_MESSAGE, pif.Name);
bool will_disturb_primary = NetworkingHelper.ContainsPrimaryManagement(pifs);
bool will_disturb_secondary = NetworkingHelper.ContainsSecondaryManagement(pifs);
@@ -147,7 +134,7 @@ namespace XenAdmin.Commands
// done the right thing and that the bond hasn't been deleted in the meantime. (CA-27436).
Bond bond = pif.BondMasterOf;
if (bond != null)
- new Actions.DestroyBondAction(bond, new_name).RunAsync();
+ new Actions.DestroyBondAction(bond, null).RunAsync();
}
}
}
diff --git a/XenAdmin/Commands/DisasterRecoveryCommand.cs b/XenAdmin/Commands/DisasterRecoveryCommand.cs
index ec1958a01..6c3e795fc 100644
--- a/XenAdmin/Commands/DisasterRecoveryCommand.cs
+++ b/XenAdmin/Commands/DisasterRecoveryCommand.cs
@@ -97,7 +97,7 @@ namespace XenAdmin.Commands
protected override bool CanExecuteCore(SelectedItemCollection selection)
{
- return selection.FirstAsXenObject != null && selection.FirstAsXenObject.Connection != null && selection.FirstAsXenObject.Connection.IsConnected && Helpers.BostonOrGreater(selection.FirstAsXenObject.Connection)
+ return selection.FirstAsXenObject != null && selection.FirstAsXenObject.Connection != null && selection.FirstAsXenObject.Connection.IsConnected
&& (selection.PoolAncestor != null || selection.HostAncestor != null); //CA-61207: this check ensures there's no cross-pool selection
}
@@ -137,14 +137,5 @@ namespace XenAdmin.Commands
return Messages.DISASTER_RECOVERY_CONTEXT_MENU;
}
}
-
- protected override string GetCantExecuteReasonCore(SelectedItem item)
- {
- if (!Helpers.BostonOrGreater(item.XenObject.Connection))
- return Messages.ONLY_IN_BOSTON_OR_LATER;
-
-
- return base.GetCantExecuteReasonCore(item);
- }
}
}
diff --git a/XenAdmin/Commands/DisconnectWlbServerCommand.cs b/XenAdmin/Commands/DisconnectWlbServerCommand.cs
index 0c562f388..46b179bc6 100644
--- a/XenAdmin/Commands/DisconnectWlbServerCommand.cs
+++ b/XenAdmin/Commands/DisconnectWlbServerCommand.cs
@@ -103,14 +103,5 @@ namespace XenAdmin.Commands
}
return false;
}
-
- protected override string GetCantExecuteReasonCore(SelectedItem item)
- {
- IXenConnection connection = item.Connection;
- Host best_host = item.HostAncestor ?? (connection == null ? null : Helpers.GetMaster(connection));
- bool george_or_greater = best_host != null && Helpers.GeorgeOrGreater(best_host);
-
- return george_or_greater ? base.GetCantExecuteReasonCore(item) : string.Format(Messages.FEATURE_NOT_AVAILABLE_NEED_GEORGE, Messages.WLB);
- }
}
}
diff --git a/XenAdmin/Commands/HACommand.cs b/XenAdmin/Commands/HACommand.cs
index 72b108bcd..2d90a0816 100644
--- a/XenAdmin/Commands/HACommand.cs
+++ b/XenAdmin/Commands/HACommand.cs
@@ -79,7 +79,7 @@ namespace XenAdmin.Commands
if (pool == null)
return;
- if (Helpers.FeatureForbidden(pool, Host.RestrictHAFloodgate))
+ if (Helpers.FeatureForbidden(pool, Host.RestrictHA))
{
// Show upsell dialog
UpsellDialog dlg = new UpsellDialog(Messages.UPSELL_BLURB_HA, InvisibleMessages.UPSELL_LEARNMOREURL_HA);
@@ -113,7 +113,7 @@ namespace XenAdmin.Commands
{
Host master = Helpers.GetMaster(poolAncestor.Connection);
- if (master == null || master.RestrictHAOrlando || HelpersGUI.FindActiveHaAction(poolAncestor.Connection) != null || poolAncestor.Locked)
+ if (master == null || HelpersGUI.FindActiveHaAction(poolAncestor.Connection) != null || poolAncestor.Locked)
{
return false;
}
@@ -135,7 +135,7 @@ namespace XenAdmin.Commands
{
Host master = Helpers.GetMaster(poolAncestor.Connection);
- if (master == null || master.RestrictHAOrlando)
+ if (master == null)
{
return Messages.FIELD_DISABLED;
}
diff --git a/XenAdmin/Commands/HostReconnectAsCommand.cs b/XenAdmin/Commands/HostReconnectAsCommand.cs
index ec555fa3c..a91c58d00 100644
--- a/XenAdmin/Commands/HostReconnectAsCommand.cs
+++ b/XenAdmin/Commands/HostReconnectAsCommand.cs
@@ -73,8 +73,6 @@ namespace XenAdmin.Commands
if (selection.Count == 1)
{
IXenConnection connection = selection[0].Connection;
- if (!XenAdmin.Core.Helpers.GeorgeOrGreater(connection))
- return false;
bool connected = connection != null && connection.IsConnected;
Host host = selection[0].XenObject as Host;
bool is_host = (host != null);
diff --git a/XenAdmin/Commands/InstallToolsCommand.cs b/XenAdmin/Commands/InstallToolsCommand.cs
index caa609a55..32ead573a 100644
--- a/XenAdmin/Commands/InstallToolsCommand.cs
+++ b/XenAdmin/Commands/InstallToolsCommand.cs
@@ -310,8 +310,6 @@ namespace XenAdmin.Commands
if (xenConnection.Session == null)
return false;
- if (!Helpers.MidnightRideOrGreater(xenConnection))
- return true;
RbacMethodList r = new RbacMethodList("http/connect_console");
if (Role.CanPerform(r, xenConnection, false))
return true;
diff --git a/XenAdmin/Commands/PoolReconnectAsCommand.cs b/XenAdmin/Commands/PoolReconnectAsCommand.cs
index 323a8f878..feacecbda 100644
--- a/XenAdmin/Commands/PoolReconnectAsCommand.cs
+++ b/XenAdmin/Commands/PoolReconnectAsCommand.cs
@@ -74,8 +74,6 @@ namespace XenAdmin.Commands
if (selection.Count == 1)
{
IXenConnection connection = selection[0].Connection;
- if (!XenAdmin.Core.Helpers.GeorgeOrGreater(connection))
- return false;
bool connected = connection != null && connection.IsConnected;
bool inPool = selection[0].PoolAncestor != null;
diff --git a/XenAdmin/Commands/TakeSnapshotCommand.cs b/XenAdmin/Commands/TakeSnapshotCommand.cs
index 16c4738f7..e5568afc2 100644
--- a/XenAdmin/Commands/TakeSnapshotCommand.cs
+++ b/XenAdmin/Commands/TakeSnapshotCommand.cs
@@ -131,7 +131,7 @@ namespace XenAdmin.Commands
private static bool CanExecute(VM vm)
{
- return vm != null && !vm.is_a_template && !vm.Locked && Helpers.GeorgeOrGreater(vm.Connection) && (vm.allowed_operations.Contains(vm_operations.snapshot) || vm.allowed_operations.Contains(vm_operations.checkpoint));
+ return vm != null && !vm.is_a_template && !vm.Locked && (vm.allowed_operations.Contains(vm_operations.snapshot) || vm.allowed_operations.Contains(vm_operations.checkpoint));
}
protected override bool CanExecuteCore(SelectedItemCollection selection)
@@ -153,23 +153,6 @@ namespace XenAdmin.Commands
}
}
- protected override string GetCantExecuteReasonCore(SelectedItem item)
- {
- Host host = item.HostAncestor;
-
- if (host == null && item.Connection != null)
- {
- host = Helpers.GetMaster(item.Connection);
- }
-
- if (host == null || !Helpers.GeorgeOrGreater(host))
- {
- return Messages.SNAPSHOT_REQUIRE_GEORGE;
- }
-
- return base.GetCantExecuteReasonCore(item);
- }
-
public override string MenuText
{
get
diff --git a/XenAdmin/Commands/VMGroupCommand.cs b/XenAdmin/Commands/VMGroupCommand.cs
index 3ea1e43fb..630adf56e 100644
--- a/XenAdmin/Commands/VMGroupCommand.cs
+++ b/XenAdmin/Commands/VMGroupCommand.cs
@@ -98,19 +98,6 @@ namespace XenAdmin.Commands
&& (selection.PoolAncestor != null || selection.HostAncestor != null); //CA-61207: this check ensures there's no cross-pool selection
}
- protected override string GetCantExecuteReasonCore(SelectedItem item)
- {
- Pool poolAncestor = item.PoolAncestor;
-
- if (poolAncestor != null)
- {
- string reason = VMGroup.CantExecuteReason(poolAncestor.Connection);
- if (!string.IsNullOrEmpty(reason))
- return reason;
- }
- return base.GetCantExecuteReasonCore(item);
- }
-
public override string ContextMenuText
{
get
diff --git a/XenAdmin/Commands/ViewWorkloadReportsCommand.cs b/XenAdmin/Commands/ViewWorkloadReportsCommand.cs
index 94be45419..de2b8b62f 100644
--- a/XenAdmin/Commands/ViewWorkloadReportsCommand.cs
+++ b/XenAdmin/Commands/ViewWorkloadReportsCommand.cs
@@ -123,14 +123,5 @@ namespace XenAdmin.Commands
}
return false;
}
-
- protected override string GetCantExecuteReasonCore(SelectedItem item)
- {
- IXenConnection connection = item.Connection;
- Host best_host = item.HostAncestor ?? (connection == null ? null : Helpers.GetMaster(connection));
- bool george_or_greater = best_host != null && Helpers.GeorgeOrGreater(best_host);
-
- return george_or_greater ? base.GetCantExecuteReasonCore(item) : string.Format(Messages.FEATURE_NOT_AVAILABLE_NEED_GEORGE, Messages.WLB);
- }
}
}
diff --git a/XenAdmin/Controls/AD/LoggedInLabel.cs b/XenAdmin/Controls/AD/LoggedInLabel.cs
index b0240a687..49d1b6f9f 100644
--- a/XenAdmin/Controls/AD/LoggedInLabel.cs
+++ b/XenAdmin/Controls/AD/LoggedInLabel.cs
@@ -118,8 +118,7 @@ namespace XenAdmin.Controls
labelLoggedInAs.Visible = true;
// get the logged in username from the session to update the logged in label
- if (connection.Session.IsLocalSuperuser || XenAdmin.Core.Helpers.GetMaster(connection).external_auth_type != Auth.AUTH_TYPE_AD ||
- !Helpers.MidnightRideOrGreater(Connection))
+ if (connection.Session.IsLocalSuperuser || XenAdmin.Core.Helpers.GetMaster(connection).external_auth_type != Auth.AUTH_TYPE_AD)
{
labelUsername.Text = connection.Session.UserFriendlyName;
}
diff --git a/XenAdmin/Controls/BondDetails.Designer.cs b/XenAdmin/Controls/BondDetails.Designer.cs
index bf9cbbff8..10f9278ca 100644
--- a/XenAdmin/Controls/BondDetails.Designer.cs
+++ b/XenAdmin/Controls/BondDetails.Designer.cs
@@ -214,7 +214,6 @@ namespace XenAdmin.Controls
this.tableLayoutPanelBondMode.Controls.Add(this.radioButtonLacpSrcMac, 0, 3);
this.tableLayoutPanelBondMode.Controls.Add(this.radioButtonBalanceSlb, 0, 0);
this.tableLayoutPanelBondMode.Controls.Add(this.radioButtonActiveBackup, 0, 1);
- this.tableLayoutPanelBondMode.MinimumSize = new System.Drawing.Size(0, 40);
this.tableLayoutPanelBondMode.Name = "tableLayoutPanelBondMode";
//
// radioButtonLacpTcpudpPorts
diff --git a/XenAdmin/Controls/BondDetails.cs b/XenAdmin/Controls/BondDetails.cs
index 4b29979fe..bed166145 100644
--- a/XenAdmin/Controls/BondDetails.cs
+++ b/XenAdmin/Controls/BondDetails.cs
@@ -215,22 +215,13 @@ namespace XenAdmin.Controls
private void ShowHideControls()
{
- labelMTU.Visible = numericUpDownMTU.Visible = Helpers.CowleyOrGreater(Connection);
- groupBoxBondMode.Visible = Helpers.BostonOrGreater(Connection);
radioButtonLacpSrcMac.Visible = radioButtonLacpTcpudpPorts.Visible = Helpers.SupportsLinkAggregationBond(Connection);
}
private string PIFDescription(PIF pif)
{
Bond bond = pif.BondSlaveOf;
- if (bond != null)
- return string.Format(Messages.ALREADY_IN_BOND, bond.Name);
-
- XenAPI.Network network = Connection.Resolve(pif.network);
- if (network != null && !Helpers.BostonOrGreater(network.Connection) && network.HasActiveVIFs) // in Boston, can make a bond even if there are active VMs (PR-1006)
- return Messages.PIF_IN_USE_BY_VMS;
-
- return "";
+ return bond == null ? "" : string.Format(Messages.ALREADY_IN_BOND, bond.Name);
}
internal DialogResult ShowCreationWarning()
diff --git a/XenAdmin/Controls/BondDetails.resx b/XenAdmin/Controls/BondDetails.resx
index bf413811f..6ef04d688 100644
--- a/XenAdmin/Controls/BondDetails.resx
+++ b/XenAdmin/Controls/BondDetails.resx
@@ -112,20 +112,20 @@
2.0
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
+
Bottom, Left
-
+
True
-
+
TopLeft
@@ -169,7 +169,7 @@
label1
- System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
panelLACPWarning
@@ -199,7 +199,7 @@
pictureBox1
- System.Windows.Forms.PictureBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.PictureBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
panelLACPWarning
@@ -229,7 +229,7 @@
panelLACPWarning
- System.Windows.Forms.Panel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
tableLayoutPanel1
@@ -250,7 +250,7 @@
numericUpDownMTU
- System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
tableLayoutPanel1
@@ -261,7 +261,7 @@
Top, Bottom, Left, Right
-
+
True
@@ -270,7 +270,7 @@
5
-
+
True
@@ -279,7 +279,7 @@
50
-
+
True
@@ -288,7 +288,7 @@
55
-
+
True
@@ -297,7 +297,7 @@
85
-
+
True
@@ -306,7 +306,7 @@
63
-
+
True
@@ -315,7 +315,7 @@
65
-
+
True
@@ -324,7 +324,7 @@
66
-
+
True
@@ -333,7 +333,7 @@
66
-
+
True
@@ -355,7 +355,7 @@
dataGridView1
- System.Windows.Forms.DataGridView, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.DataGridView, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
tableLayoutPanel1
@@ -391,7 +391,7 @@
labelMTU
- System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
tableLayoutPanel1
@@ -436,7 +436,7 @@
radioButtonLacpTcpudpPorts
- System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.RadioButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
tableLayoutPanelBondMode
@@ -466,7 +466,7 @@
radioButtonLacpSrcMac
- System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.RadioButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
tableLayoutPanelBondMode
@@ -496,7 +496,7 @@
radioButtonBalanceSlb
- System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.RadioButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
tableLayoutPanelBondMode
@@ -526,7 +526,7 @@
radioButtonActiveBackup
- System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.RadioButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
tableLayoutPanelBondMode
@@ -543,6 +543,9 @@
0, 0, 0, 0
+
+ 0, 40
+
4
@@ -556,7 +559,7 @@
tableLayoutPanelBondMode
- System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
groupBoxBondMode
@@ -592,7 +595,7 @@
groupBoxBondMode
- System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
tableLayoutPanel1
@@ -619,7 +622,7 @@
tableLayoutPanel1
- System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
$this
@@ -655,7 +658,7 @@
cbxAutomatic
- System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
tableLayoutPanel1
@@ -708,7 +711,7 @@
PCI Bus Path
-
+
True
@@ -721,108 +724,108 @@
ColumnCheckBox
- System.Windows.Forms.DataGridViewCheckBoxColumn, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.DataGridViewCheckBoxColumn, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
ColumnNic
- System.Windows.Forms.DataGridViewTextBoxColumn, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.DataGridViewTextBoxColumn, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
ColumnMac
- System.Windows.Forms.DataGridViewTextBoxColumn, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.DataGridViewTextBoxColumn, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
ColumnLinkStatus
- System.Windows.Forms.DataGridViewTextBoxColumn, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.DataGridViewTextBoxColumn, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
ColumnSpeed
- System.Windows.Forms.DataGridViewTextBoxColumn, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.DataGridViewTextBoxColumn, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
ColumnDuplex
- System.Windows.Forms.DataGridViewTextBoxColumn, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.DataGridViewTextBoxColumn, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
ColumnVendor
- System.Windows.Forms.DataGridViewTextBoxColumn, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.DataGridViewTextBoxColumn, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
ColumnDevice
- System.Windows.Forms.DataGridViewTextBoxColumn, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.DataGridViewTextBoxColumn, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
ColumnPci
- System.Windows.Forms.DataGridViewTextBoxColumn, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.DataGridViewTextBoxColumn, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
dataGridViewTextBoxColumn1
- System.Windows.Forms.DataGridViewTextBoxColumn, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.DataGridViewTextBoxColumn, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
dataGridViewTextBoxColumn2
- System.Windows.Forms.DataGridViewTextBoxColumn, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.DataGridViewTextBoxColumn, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
dataGridViewTextBoxColumn3
- System.Windows.Forms.DataGridViewTextBoxColumn, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.DataGridViewTextBoxColumn, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
dataGridViewTextBoxColumn4
- System.Windows.Forms.DataGridViewTextBoxColumn, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.DataGridViewTextBoxColumn, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
dataGridViewTextBoxColumn5
- System.Windows.Forms.DataGridViewTextBoxColumn, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.DataGridViewTextBoxColumn, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
dataGridViewTextBoxColumn6
- System.Windows.Forms.DataGridViewTextBoxColumn, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.DataGridViewTextBoxColumn, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
dataGridViewTextBoxColumn7
- System.Windows.Forms.DataGridViewTextBoxColumn, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.DataGridViewTextBoxColumn, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
dataGridViewTextBoxColumn8
- System.Windows.Forms.DataGridViewTextBoxColumn, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.DataGridViewTextBoxColumn, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
BondDetails
- System.Windows.Forms.UserControl, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.UserControl, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
\ No newline at end of file
diff --git a/XenAdmin/Controls/ConsolePanel.cs b/XenAdmin/Controls/ConsolePanel.cs
index 5605fe456..445495298 100644
--- a/XenAdmin/Controls/ConsolePanel.cs
+++ b/XenAdmin/Controls/ConsolePanel.cs
@@ -221,7 +221,7 @@ namespace XenAdmin.Controls
public static bool RbacDenied(VM source, out List AllowedRoles)
{
- if (source == null || source.Connection == null || !Helpers.MidnightRideOrGreater(source.Connection))
+ if (source == null || source.Connection == null)
{
AllowedRoles = null;
return false;
diff --git a/XenAdmin/Controls/CustomDataGraph/GraphList.cs b/XenAdmin/Controls/CustomDataGraph/GraphList.cs
index 5e274bc0e..d855d5b17 100644
--- a/XenAdmin/Controls/CustomDataGraph/GraphList.cs
+++ b/XenAdmin/Controls/CustomDataGraph/GraphList.cs
@@ -455,7 +455,6 @@ namespace XenAdmin.Controls.CustomDataGraph
get
{
return !XenObject.Connection.Session.IsLocalSuperuser &&
- Helpers.MidnightRideOrGreater(XenObject.Connection) &&
!Registry.DontSudo;
}
}
diff --git a/XenAdmin/Controls/GPU/GpuPlacementPolicyPanel.Designer.cs b/XenAdmin/Controls/GPU/GpuPlacementPolicyPanel.Designer.cs
index e3c1e5019..72eba4a6a 100644
--- a/XenAdmin/Controls/GPU/GpuPlacementPolicyPanel.Designer.cs
+++ b/XenAdmin/Controls/GPU/GpuPlacementPolicyPanel.Designer.cs
@@ -42,7 +42,6 @@
resources.ApplyResources(this.panelWithBorder, "panelWithBorder");
this.panelWithBorder.BackColor = System.Drawing.Color.Transparent;
this.panelWithBorder.Controls.Add(this.containerPanel);
- this.panelWithBorder.MinimumSize = new System.Drawing.Size(755, 30);
this.panelWithBorder.Name = "panelWithBorder";
//
// containerPanel
@@ -50,7 +49,6 @@
resources.ApplyResources(this.containerPanel, "containerPanel");
this.containerPanel.Controls.Add(this.placementPolicyLabel);
this.containerPanel.Controls.Add(this.editPlacementPolicyButton);
- this.containerPanel.MinimumSize = new System.Drawing.Size(755, 33);
this.containerPanel.Name = "containerPanel";
//
// placementPolicyLabel
@@ -73,7 +71,6 @@
this.BackColor = System.Drawing.Color.Transparent;
this.Controls.Add(this.panelWithBorder);
this.DoubleBuffered = true;
- this.MinimumSize = new System.Drawing.Size(400, 32);
this.Name = "GpuPlacementPolicyPanel";
this.VisibleChanged += new System.EventHandler(this.GpuPlacementPolicyPanel_VisibleChanged);
this.panelWithBorder.ResumeLayout(false);
diff --git a/XenAdmin/Controls/GPU/GpuPlacementPolicyPanel.resx b/XenAdmin/Controls/GPU/GpuPlacementPolicyPanel.resx
index 3659bfed0..a597c86b0 100644
--- a/XenAdmin/Controls/GPU/GpuPlacementPolicyPanel.resx
+++ b/XenAdmin/Controls/GPU/GpuPlacementPolicyPanel.resx
@@ -112,16 +112,16 @@
2.0
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
+
True
-
+
GrowAndShrink
@@ -140,7 +140,7 @@
NoControl
-
+
3, 7
@@ -160,7 +160,7 @@
placementPolicyLabel
- System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
containerPanel
@@ -193,7 +193,7 @@
editPlacementPolicyButton
- System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
containerPanel
@@ -204,6 +204,9 @@
1, 1
+
+ 755, 33
+
1046, 33
@@ -217,7 +220,7 @@
containerPanel
- System.Windows.Forms.FlowLayoutPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.FlowLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
panelWithBorder
@@ -234,6 +237,9 @@
0, 0, 0, 0
+
+ 755, 30
+
755, 35
@@ -252,7 +258,7 @@
0
-
+
True
@@ -264,6 +270,9 @@
0, 0, 0, 0
+
+ 400, 32
+
464, 35
@@ -271,6 +280,6 @@
GpuPlacementPolicyPanel
- System.Windows.Forms.UserControl, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.UserControl, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
\ No newline at end of file
diff --git a/XenAdmin/Controls/MainWindowControls/NavigationPane.cs b/XenAdmin/Controls/MainWindowControls/NavigationPane.cs
index 43ccdb737..49cb06838 100644
--- a/XenAdmin/Controls/MainWindowControls/NavigationPane.cs
+++ b/XenAdmin/Controls/MainWindowControls/NavigationPane.cs
@@ -114,7 +114,9 @@ namespace XenAdmin.Controls.MainWindowControls
Search.SearchesChanged += PopulateSearchDropDown;
PopulateSearchDropDown();
- buttonInfraBig.Checked = true;
+ // TODO: Remove
+ // comment markers
+ // buttonInfraBig.Checked = true;
}
protected override void OnResize(EventArgs e)
diff --git a/XenAdmin/Controls/NetworkingTab/NetworkList.cs b/XenAdmin/Controls/NetworkingTab/NetworkList.cs
index 457ac32d0..13e563666 100644
--- a/XenAdmin/Controls/NetworkingTab/NetworkList.cs
+++ b/XenAdmin/Controls/NetworkingTab/NetworkList.cs
@@ -167,7 +167,8 @@ namespace XenAdmin.Controls.NetworkingTab
this.VlanColumn,
this.AutoColumn,
this.LinkStatusColumn,
- this.NetworkMacColumn});
+ this.NetworkMacColumn,
+ this.MtuColumn});
//CA-47050: the Description column should be autosized to Fill, but should not become smaller than a minimum
//width, which here is chosen to be the column header width. To find what this width is set temporarily the
@@ -176,10 +177,6 @@ namespace XenAdmin.Controls.NetworkingTab
int storedWidth = this.DescriptionColumn.Width;
this.DescriptionColumn.AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
this.DescriptionColumn.MinimumWidth = storedWidth;
-
- // add MTU to grid view on Network tab for pools and hosts, for Cowley or greater only (CA-45643)
- if (Helpers.CowleyOrGreater(_xenObject.Connection))
- NetworksGridView.Columns.Add(this.MtuColumn);
}
finally
{
@@ -904,12 +901,9 @@ namespace XenAdmin.Controls.NetworkingTab
VlanCell,
AutoCell,
LinkStatusCell,
- MacCell);
+ MacCell,
+ MtuCell);
- // add MTU to grid view on Network tab for pools and hosts, for Cowley or greater only (CA-45643)
- if (Helpers.CowleyOrGreater(Xmo.Connection))
- Cells.Add(this.MtuCell);
-
Network.PropertyChanged += Server_PropertyChanged;
Program.Invoke(Program.MainWindow, UpdateDetails);
diff --git a/XenAdmin/Controls/Wlb/WlbOptimizePool.cs b/XenAdmin/Controls/Wlb/WlbOptimizePool.cs
index 57b5da140..e2ead2fa7 100644
--- a/XenAdmin/Controls/Wlb/WlbOptimizePool.cs
+++ b/XenAdmin/Controls/Wlb/WlbOptimizePool.cs
@@ -837,8 +837,6 @@ namespace XenAdmin.Controls.Wlb
private bool PassedRbacChecks()
{
- if (!Helpers.MidnightRideOrGreater(_pool.Connection))
- return true;
return Role.CanPerform(WLB_PERMISSION_CHECKS, this._pool.Connection);
}
#endregion
diff --git a/XenAdmin/Core/VMGroup.cs b/XenAdmin/Core/VMGroup.cs
index 217d9db91..ed037f455 100644
--- a/XenAdmin/Core/VMGroup.cs
+++ b/XenAdmin/Core/VMGroup.cs
@@ -182,23 +182,8 @@ namespace XenAdmin.Core
return false;
return typeof(T) == typeof(VMPP) ?
- Helpers.CowleyOrGreater(connection) && Registry.VMPRFeatureEnabled :
- Helpers.BostonOrGreater(connection);
- }
-
- internal static string CantExecuteReason(IXenConnection connection)
- {
- if (typeof(T) == typeof(VMPP))
- {
- if (!Helpers.CowleyOrGreater(connection))
- return Messages.ONLY_IN_COWLEY_OR_LATER;
- }
- else
- {
- if (!Helpers.BostonOrGreater(connection))
- return Messages.ONLY_IN_BOSTON_OR_LATER;
- }
- return null;
+ Registry.VMPRFeatureEnabled :
+ true;
}
internal static Predicate FeatureRestricted
diff --git a/XenAdmin/Diagnostics/Checks/HostHasHotfixCheck.cs b/XenAdmin/Diagnostics/Checks/HostHasHotfixCheck.cs
index d153277e1..a376aede0 100644
--- a/XenAdmin/Diagnostics/Checks/HostHasHotfixCheck.cs
+++ b/XenAdmin/Diagnostics/Checks/HostHasHotfixCheck.cs
@@ -64,23 +64,12 @@ namespace XenAdmin.Diagnostics.Checks
return new HostDoesNotHaveHotfix(this, Host);
}
- if (Helpers.BostonOrGreater(Host) && !Helpers.SanibelOrGreater(Host)
+ if (!Helpers.SanibelOrGreater(Host)
&& hotfixFactory.Hotfix(HotfixFactory.HotfixableServerVersion.Boston).ShouldBeAppliedTo(Host))
{
return new HostDoesNotHaveHotfix(this, Host);
}
- if (Helpers.CowleyOrGreater(Host) && !Helpers.BostonOrGreater(Host)
- && hotfixFactory.Hotfix(HotfixFactory.HotfixableServerVersion.Cowley).ShouldBeAppliedTo(Host))
- {
- return new HostDoesNotHaveHotfix(this, Host);
- }
-
- if (Helpers.MidnightRideOrGreater(Host) && !Helpers.CowleyOrGreater(Host)
- && hotfixFactory.Hotfix(HotfixFactory.HotfixableServerVersion.MNR).ShouldBeAppliedTo(Host))
- {
- return new HostDoesNotHaveHotfix(this, Host);
- }
return null;
}
diff --git a/XenAdmin/Diagnostics/Hotfixing/HotfixFactory.cs b/XenAdmin/Diagnostics/Hotfixing/HotfixFactory.cs
index f2e5e14e6..350d130e3 100644
--- a/XenAdmin/Diagnostics/Hotfixing/HotfixFactory.cs
+++ b/XenAdmin/Diagnostics/Hotfixing/HotfixFactory.cs
@@ -94,12 +94,8 @@ namespace XenAdmin.Diagnostics.Hotfixing
return Hotfix(HotfixableServerVersion.Creedence);
if (Helpers.SanibelOrGreater(host) && !Helpers.CreedenceOrGreater(host))
return Hotfix(HotfixableServerVersion.SanibelToClearwater);
- if (Helpers.BostonOrGreater(host) && !Helpers.SanibelOrGreater(host))
+ if (!Helpers.SanibelOrGreater(host))
return Hotfix(HotfixableServerVersion.Boston);
- if (Helpers.CowleyOrGreater(host) && !Helpers.BostonOrGreater(host))
- return Hotfix(HotfixableServerVersion.Cowley);
- if (Helpers.MidnightRideOrGreater(host) && !Helpers.CowleyOrGreater(host))
- return Hotfix(HotfixableServerVersion.MNR);
return null;
}
diff --git a/XenAdmin/Dialogs/ChangeStorageLinkPasswordDialog.resx b/XenAdmin/Dialogs/ChangeStorageLinkPasswordDialog.resx
index 5640b1f89..88e833375 100644
--- a/XenAdmin/Dialogs/ChangeStorageLinkPasswordDialog.resx
+++ b/XenAdmin/Dialogs/ChangeStorageLinkPasswordDialog.resx
@@ -112,16 +112,16 @@
2.0
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
+
Right
-
+
Segoe UI, 9pt
@@ -134,7 +134,7 @@
75, 23
-
+
12
@@ -145,7 +145,7 @@
btnCancel
- System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
flowLayoutPanel2
@@ -178,7 +178,7 @@
btnOK
- System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
flowLayoutPanel2
@@ -202,7 +202,7 @@
pictureBox1
- System.Windows.Forms.PictureBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.PictureBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
flowLayoutPanel1
@@ -253,7 +253,7 @@
label1
- System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
flowLayoutPanel1
@@ -280,7 +280,7 @@
flowLayoutPanel1
- System.Windows.Forms.FlowLayoutPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.FlowLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
tableLayoutPanel1
@@ -316,7 +316,7 @@
flowLayoutPanel2
- System.Windows.Forms.FlowLayoutPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.FlowLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
tableLayoutPanel1
@@ -355,7 +355,7 @@
label2
- System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
tableLayoutPanel2
@@ -391,7 +391,7 @@
label3
- System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
tableLayoutPanel2
@@ -427,7 +427,7 @@
label4
- System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
tableLayoutPanel2
@@ -463,7 +463,7 @@
label5
- System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
tableLayoutPanel2
@@ -493,7 +493,7 @@
UsernameTextBox
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
tableLayoutPanel2
@@ -523,7 +523,7 @@
OldPasswordTextBox
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
tableLayoutPanel2
@@ -553,7 +553,7 @@
NewPasswordTextBox
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
tableLayoutPanel2
@@ -583,7 +583,7 @@
ConfirmPasswordTextBox
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
tableLayoutPanel2
@@ -613,7 +613,7 @@
tableLayoutPanel2
- System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
tableLayoutPanel1
@@ -646,7 +646,7 @@
tableLayoutPanel1
- System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
$this
@@ -657,7 +657,7 @@
<?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="flowLayoutPanel1" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="flowLayoutPanel2" Row="2" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="tableLayoutPanel2" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /></Controls><Columns Styles="Percent,100" /><Rows Styles="AutoSize,0,Percent,100,AutoSize,0" /></TableLayoutSettings>
-
+
True
diff --git a/XenAdmin/Dialogs/EvacuateHostDialog.cs b/XenAdmin/Dialogs/EvacuateHostDialog.cs
index d40743760..a32e6a9e8 100644
--- a/XenAdmin/Dialogs/EvacuateHostDialog.cs
+++ b/XenAdmin/Dialogs/EvacuateHostDialog.cs
@@ -813,7 +813,6 @@ namespace XenAdmin.Dialogs
List validRoles = new List();
if (!connection.Session.IsLocalSuperuser
- && Helpers.MidnightRideOrGreater(connection)
&& !Registry.DontSudo
&& !Role.CanPerform(new RbacMethodList(rbacMethods), connection, out validRoles))
{
diff --git a/XenAdmin/Dialogs/ImportStorageLinkVolumeDialog.cs b/XenAdmin/Dialogs/ImportStorageLinkVolumeDialog.cs
index 877ad830e..3f82df522 100644
--- a/XenAdmin/Dialogs/ImportStorageLinkVolumeDialog.cs
+++ b/XenAdmin/Dialogs/ImportStorageLinkVolumeDialog.cs
@@ -144,7 +144,7 @@ namespace XenAdmin.Dialogs
}
var dontShow = new List();
- foreach (IXenConnection c in ConnectionsManager.XenConnectionsCopy.FindAll(c => c.IsConnected && Helpers.MidnightRideOrGreater(c)))
+ foreach (IXenConnection c in ConnectionsManager.XenConnectionsCopy.FindAll(c => c.IsConnected))
{
foreach (VDI vdi in c.Cache.VDIs)
{
diff --git a/XenAdmin/Dialogs/LicenseManager/LicenseActivationRequest.cs b/XenAdmin/Dialogs/LicenseManager/LicenseActivationRequest.cs
index 838c416e7..ab77aa36b 100644
--- a/XenAdmin/Dialogs/LicenseManager/LicenseActivationRequest.cs
+++ b/XenAdmin/Dialogs/LicenseManager/LicenseActivationRequest.cs
@@ -66,7 +66,7 @@ namespace XenAdmin.Dialogs
//This check used to be "_expiresText != Messages.LICENSE_NEVER" but I've swapped it for
//"!host.isOEM" according to the ticket CA-37336 where this 3rd part of the check was added
//OEM licenses (< XS ver 5.5) have perpetual (2036) expiry dates
- return host.IsFreeLicense() && host.IsFloodgateOrLater() && !host.isOEM && !Helpers.ClearwaterOrGreater(host);
+ return host.IsFreeLicense() && !host.isOEM && !Helpers.ClearwaterOrGreater(host);
}
public static bool CanActivate(Pool pool)
diff --git a/XenAdmin/Dialogs/NameAndConnectionPrompt.cs b/XenAdmin/Dialogs/NameAndConnectionPrompt.cs
index 4e38da9a5..6902a37d8 100644
--- a/XenAdmin/Dialogs/NameAndConnectionPrompt.cs
+++ b/XenAdmin/Dialogs/NameAndConnectionPrompt.cs
@@ -86,7 +86,6 @@ namespace XenAdmin.Dialogs
IXenObject xo = comboBox.Items[i] as IXenObject;
if (xo != null
&& (xo.Connection.Session.IsLocalSuperuser
- || !Helpers.MidnightRideOrGreater(xo.Connection)
|| !XenAdmin.Commands.CrossConnectionCommand.IsReadOnly(xo.Connection)))
{
nonReadOnlyIndex = i;
diff --git a/XenAdmin/Dialogs/PropertiesDialog.cs b/XenAdmin/Dialogs/PropertiesDialog.cs
index 2c6dec873..231996b6b 100644
--- a/XenAdmin/Dialogs/PropertiesDialog.cs
+++ b/XenAdmin/Dialogs/PropertiesDialog.cs
@@ -150,17 +150,7 @@ namespace XenAdmin.Dialogs
{
ShowTab(VCpuMemoryEditPage = new CPUMemoryEditPage());
ShowTab(StartupOptionsEditPage = new BootOptionsEditPage());
-
- if (!Helpers.BostonOrGreater(xenObjectCopy.Connection) && Helpers.FeatureForbidden(xenObjectCopy, Host.RestrictHAFloodgate))
- {
- VMHAUpsellEditPage = new UpsellPage {Image = Properties.Resources._001_PowerOn_h32bit_16, Text = Messages.START_UP_OPTIONS};
- VMHAUpsellEditPage.SetAllTexts(Messages.UPSELL_BLURB_HA, InvisibleMessages.UPSELL_LEARNMOREURL_HA);
- ShowTab(VMHAUpsellEditPage);
- }
- else
- {
- ShowTab(VMHAEditPage = new VMHAEditPage {VerticalTabs = verticalTabs});
- }
+ ShowTab(VMHAEditPage = new VMHAEditPage {VerticalTabs = verticalTabs});
}
if (is_vm || is_host || (is_sr && Helpers.ClearwaterOrGreater(connection)))
@@ -189,24 +179,16 @@ namespace XenAdmin.Dialogs
{
ShowTab(PerfmonAlertOptionsEditPage = new PerfmonAlertOptionsPage());
}
-
- if (!Helpers.FeatureForbidden(xenObjectCopy, Host.RestrictStorageChoices)
- && !Helpers.BostonOrGreater(xenObjectCopy.Connection)
- && Helpers.MidnightRideOrGreater(xenObjectCopy.Connection))
- ShowTab(StorageLinkPage = new StorageLinkEditPage());
}
if (is_host)
{
ShowTab(hostMultipathPage1 = new HostMultipathPage());
-
- if (Helpers.MidnightRideOrGreater(xenObject.Connection))
- ShowTab(HostPowerONEditPage = new HostPowerONEditPage());
-
+ ShowTab(HostPowerONEditPage = new HostPowerONEditPage());
ShowTab(LogDestinationEditPage = new LogDestinationEditPage());
}
- if (is_pool && Helpers.MidnightRideOrGreater(xenObject.Connection))
+ if (is_pool)
ShowTab(PoolPowerONEditPage = new PoolPowerONEditPage());
if ((is_pool_or_standalone && Helpers.VGpuCapability(xenObjectCopy.Connection))
@@ -226,18 +208,15 @@ namespace XenAdmin.Dialogs
if (is_vm && ((VM)xenObjectCopy).CanHaveGpu)
{
- if (Helpers.BostonOrGreater(xenObject.Connection))
+ if (Helpers.FeatureForbidden(xenObjectCopy, Host.RestrictGpu))
{
- if (Helpers.FeatureForbidden(xenObjectCopy, Host.RestrictGpu))
- {
- GpuUpsellEditPage = new UpsellPage { Image = Properties.Resources._000_GetMemoryInfo_h32bit_16, Text = Messages.GPU };
- GpuUpsellEditPage.SetAllTexts(Messages.UPSELL_BLURB_GPU, InvisibleMessages.UPSELL_LEARNMOREURL_GPU);
- ShowTab(GpuUpsellEditPage);
- }
- else
- {
- ShowTab(GpuEditPage = new GpuEditPage());
- }
+ GpuUpsellEditPage = new UpsellPage { Image = Properties.Resources._000_GetMemoryInfo_h32bit_16, Text = Messages.GPU };
+ GpuUpsellEditPage.SetAllTexts(Messages.UPSELL_BLURB_GPU, InvisibleMessages.UPSELL_LEARNMOREURL_GPU);
+ ShowTab(GpuUpsellEditPage);
+ }
+ else
+ {
+ ShowTab(GpuEditPage = new GpuEditPage());
}
}
diff --git a/XenAdmin/Dialogs/VmSnapshotDialog.cs b/XenAdmin/Dialogs/VmSnapshotDialog.cs
index 0f6d7f2cb..ed54f9483 100644
--- a/XenAdmin/Dialogs/VmSnapshotDialog.cs
+++ b/XenAdmin/Dialogs/VmSnapshotDialog.cs
@@ -145,9 +145,7 @@ namespace XenAdmin.Dialogs
private void pictureBoxQuiesceInfo_Click(object sender, EventArgs e)
{
string tt;
- if (!Helpers.MidnightRideOrGreater(_VM.Connection))
- tt = string.Format(Messages.FEATURE_NOT_AVAILABLE_NEED_MR_PLURAL, Messages.QUIESCED_SNAPSHOTS);
- else if (Helpers.FeatureForbidden(_VM, Host.RestrictVss))
+ if (Helpers.FeatureForbidden(_VM, Host.RestrictVss))
tt = Messages.FIELD_DISABLED;
else if (_VM.power_state != vm_power_state.Running)
tt = Messages.INFO_QUIESCE_MODE_POWER_STATE.Replace("\\n", "\n");
@@ -176,9 +174,7 @@ namespace XenAdmin.Dialogs
private void CheckpointInfoPictureBox_Click(object sender, EventArgs e)
{
string tt;
- if (!Helpers.MidnightRideOrGreater(_VM.Connection))
- tt = string.Format(Messages.FEATURE_NOT_AVAILABLE_NEED_MR_ENTERPRISE_OR_PLATINUM_PLURAL.Replace("\\n", "\n"), Messages.DISKMEMORY_SNAPSHOTS);
- else if (Helpers.FeatureForbidden(_VM, Host.RestrictCheckpoint))
+ if (Helpers.FeatureForbidden(_VM, Host.RestrictCheckpoint))
tt = string.Format(Messages.FEATURE_NOT_AVAILABLE_NEED_ENTERPRISE_OR_PLATINUM_PLURAL.Replace("\\n", "\n"), Messages.DISKMEMORY_SNAPSHOTS);
else if (_VM.power_state != vm_power_state.Running)
tt = Messages.INFO_DISKMEMORY_MODE_POWER_STATE.Replace("\\n", "\n");
diff --git a/XenAdmin/MainWindow.cs b/XenAdmin/MainWindow.cs
index f2d9c76f6..cd4fa3681 100644
--- a/XenAdmin/MainWindow.cs
+++ b/XenAdmin/MainWindow.cs
@@ -1322,13 +1322,9 @@ namespace XenAdmin
// 'Home' tab is only visible if the 'Overview' tree node is selected, or if the tree is
// empty (i.e. at startup).
bool show_home = SelectionManager.Selection.Count == 1 && SelectionManager.Selection[0].Value == null;
- // Only show the HA tab if the host's license has the HA flag set
- bool has_ha_license_flag = selectionMaster != null && !selectionMaster.RestrictHAOrlando;
- bool george_or_greater = Helpers.GeorgeOrGreater(selectionConnection);
- bool mr_or_greater = Helpers.MidnightRideOrGreater(selectionConnection);
// The upsell pages use the first selected XenObject: but they're only shown if there is only one selected object (see calls to ShowTab() below).
bool dmc_upsell = Helpers.FeatureForbidden(SelectionManager.Selection.FirstAsXenObject, Host.RestrictDMC);
- bool ha_upsell = Helpers.FeatureForbidden(SelectionManager.Selection.FirstAsXenObject, Host.RestrictHAFloodgate);
+ bool ha_upsell = Helpers.FeatureForbidden(SelectionManager.Selection.FirstAsXenObject, Host.RestrictHA);
bool wlb_upsell = Helpers.FeatureForbidden(SelectionManager.Selection.FirstAsXenObject, Host.RestrictWLB);
bool is_connected = selectionConnection != null && selectionConnection.IsConnected;
@@ -1350,7 +1346,7 @@ namespace XenAdmin
NewTabCount = 0;
ShowTab(TabPageHome, !SearchMode && show_home);
ShowTab(TabPageGeneral, !multi && !SearchMode && (isVMSelected || (isHostSelected && (isHostLive || !is_connected)) || isPoolSelected || isSRSelected || isStorageLinkSelected || isDockerContainerSelected));
- ShowTab(dmc_upsell ? TabPageBallooningUpsell : TabPageBallooning, !multi && !SearchMode && mr_or_greater && (isVMSelected || (isHostSelected && isHostLive) || isPoolSelected));
+ ShowTab(dmc_upsell ? TabPageBallooningUpsell : TabPageBallooning, !multi && !SearchMode && (isVMSelected || (isHostSelected && isHostLive) || isPoolSelected));
ShowTab(TabPageStorage, !multi && !SearchMode && (isRealVMSelected || (isTemplateSelected && !selectedTemplateHasProvisionXML)));
ShowTab(TabPageSR, !multi && !SearchMode && (isSRSelected || isStorageLinkSRSelected));
ShowTab(TabPagePhysicalStorage, !multi && !SearchMode && ((isHostSelected && isHostLive) || isPoolSelected));
@@ -1374,14 +1370,14 @@ namespace XenAdmin
ShowTab(TabPageConsole, !shownConsoleReplacement && !multi && !SearchMode && (isRealVMSelected || (isHostSelected && isHostLive)));
ShowTab(TabPagePeformance, !multi && !SearchMode && (isRealVMSelected || (isHostSelected && isHostLive)));
- ShowTab(ha_upsell ? TabPageHAUpsell : TabPageHA, !multi && !SearchMode && isPoolSelected && has_ha_license_flag);
- ShowTab(TabPageSnapshots, !multi && !SearchMode && george_or_greater && isRealVMSelected);
+ ShowTab(ha_upsell ? TabPageHAUpsell : TabPageHA, !multi && !SearchMode && isPoolSelected);
+ ShowTab(TabPageSnapshots, !multi && !SearchMode && isRealVMSelected);
//Any Clearwater XenServer, or WLB is not licensed on XenServer, the WLB tab and any WLB menu items disappear completely.
if(!(SelectionManager.Selection.All(s => Helpers.IsClearwater(s.Connection)) || wlb_upsell ))
- ShowTab(TabPageWLB, !multi && !SearchMode && isPoolSelected && george_or_greater);
+ ShowTab(TabPageWLB, !multi && !SearchMode && isPoolSelected);
- ShowTab(TabPageAD, !multi && !SearchMode && (isPoolSelected || isHostSelected && isHostLive) && george_or_greater);
+ ShowTab(TabPageAD, !multi && !SearchMode && (isPoolSelected || isHostSelected && isHostLive));
foreach (TabPageFeature f in pluginManager.GetAllFeatures(f => !f.IsConsoleReplacement && !multi && f.ShowTab))
ShowTab(f.TabPage, true);
@@ -1609,9 +1605,6 @@ namespace XenAdmin
IXenConnection connection = SelectionManager.Selection.GetConnectionOfFirstItem();
bool vm = SelectionManager.Selection.FirstIsRealVM && !((VM)SelectionManager.Selection.First).Locked;
- Host best_host = hostAncestor ?? (connection == null ? null : Helpers.GetMaster(connection));
- bool george_or_greater = best_host != null && Helpers.GeorgeOrGreater(best_host);
-
exportSettingsToolStripMenuItem.Enabled = ConnectionsManager.XenConnectionsCopy.Count > 0;
this.MenuShortcuts = true;
@@ -1619,7 +1612,7 @@ namespace XenAdmin
startOnHostToolStripMenuItem.Available = startOnHostToolStripMenuItem.Enabled;
resumeOnToolStripMenuItem.Available = resumeOnToolStripMenuItem.Enabled;
relocateToolStripMenuItem.Available = relocateToolStripMenuItem.Enabled;
- storageLinkToolStripMenuItem.Available = storageLinkToolStripMenuItem.Enabled;
+ storageLinkToolStripMenuItem.Available = true;// storageLinkToolStripMenuItem.Enabled;
sendCtrlAltDelToolStripMenuItem.Enabled = (TheTabControl.SelectedTab == TabPageConsole) && vm && ((VM)SelectionManager.Selection.First).power_state == vm_power_state.Running;
templatesToolStripMenuItem1.Checked = Properties.Settings.Default.DefaultTemplatesVisible;
diff --git a/XenAdmin/Network/SSL.cs b/XenAdmin/Network/SSL.cs
index f958ee86c..8322f35ed 100644
--- a/XenAdmin/Network/SSL.cs
+++ b/XenAdmin/Network/SSL.cs
@@ -128,7 +128,7 @@ namespace XenAdmin.Network
if (AcceptCertificate)
log.Debug("Adding cert after confirmation");
else
- log.Debug("User refejected new cert");
+ log.Debug("User rejected new cert");
return AcceptCertificate;
}
}
diff --git a/XenAdmin/Network/StorageLinkConnectionManager.cs b/XenAdmin/Network/StorageLinkConnectionManager.cs
index a56f5122d..5f8ac3381 100644
--- a/XenAdmin/Network/StorageLinkConnectionManager.cs
+++ b/XenAdmin/Network/StorageLinkConnectionManager.cs
@@ -148,7 +148,7 @@ namespace XenAdmin.Network.StorageLink
{
Pool pool = Helpers.GetPoolOfOne(c);
- if (c.IsConnected && pool != null && Helpers.MidnightRideOrGreater(c) && !Helpers.FeatureForbidden(c, Host.RestrictStorageChoices))
+ if (c.IsConnected && pool != null && !Helpers.FeatureForbidden(c, Host.RestrictStorageChoices))
{
Settings.CslgCredentials localCreds = null;
Invoke(() => localCreds = Settings.GetCslgCredentials(c));
@@ -190,29 +190,6 @@ namespace XenAdmin.Network.StorageLink
private List GetAllStorageLinkCredentials()
{
var output = new List();
-
- foreach (IXenConnection connection in GetXenConnectionsCopy())
- {
- if (connection.IsConnected && !Helpers.FeatureForbidden(connection, XenAPI.Host.RestrictStorageChoices) && !Helpers.BostonOrGreater(connection) && Helpers.CowleyOrGreater(connection))
- {
- Pool pool = Helpers.GetPoolOfOne(connection);
-
- if (pool != null) // can be null if still connecting.
- {
- var allCreds = new List { pool.GetStorageLinkCredentials() };
- allCreds.AddRange(Array.ConvertAll(connection.Cache.PBDs, p => p.GetStorageLinkCredentials()));
- allCreds.RemoveAll(c => c == null || !c.IsValid || string.IsNullOrEmpty(c.Password));
-
- foreach (StorageLinkCredentials creds in allCreds)
- {
- if (null == output.Find(c => c.Host == creds.Host && c.Username == creds.Username))
- {
- output.Add(creds);
- }
- }
- }
- }
- }
return output;
}
diff --git a/XenAdmin/SettingsPanels/BootOptionsEditPage.Designer.cs b/XenAdmin/SettingsPanels/BootOptionsEditPage.Designer.cs
index d0a5b2925..10a1b4857 100644
--- a/XenAdmin/SettingsPanels/BootOptionsEditPage.Designer.cs
+++ b/XenAdmin/SettingsPanels/BootOptionsEditPage.Designer.cs
@@ -32,6 +32,8 @@ namespace XenAdmin.SettingsPanels
this.m_textBoxOsParams = new System.Windows.Forms.TextBox();
this.label3 = new System.Windows.Forms.Label();
this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
+ this.m_autoHeightLabelHvm = new XenAdmin.Controls.Common.AutoHeightLabel();
+ this.m_autoHeightLabelNonHvm = new XenAdmin.Controls.Common.AutoHeightLabel();
this.m_tlpHvm = new System.Windows.Forms.TableLayoutPanel();
this.label1 = new System.Windows.Forms.Label();
this.m_buttonUp = new System.Windows.Forms.Button();
@@ -40,9 +42,6 @@ namespace XenAdmin.SettingsPanels
this.m_tlpNonHvm = new System.Windows.Forms.TableLayoutPanel();
this.label2 = new System.Windows.Forms.Label();
this.m_comboBoxBootDevice = new System.Windows.Forms.ComboBox();
- this.m_checkBoxAutoBoot = new System.Windows.Forms.CheckBox();
- this.m_autoHeightLabelHvm = new XenAdmin.Controls.Common.AutoHeightLabel();
- this.m_autoHeightLabelNonHvm = new XenAdmin.Controls.Common.AutoHeightLabel();
this.tableLayoutPanel1.SuspendLayout();
this.m_tlpHvm.SuspendLayout();
this.m_tlpNonHvm.SuspendLayout();
@@ -63,11 +62,22 @@ namespace XenAdmin.SettingsPanels
resources.ApplyResources(this.tableLayoutPanel1, "tableLayoutPanel1");
this.tableLayoutPanel1.Controls.Add(this.m_autoHeightLabelHvm, 0, 0);
this.tableLayoutPanel1.Controls.Add(this.m_autoHeightLabelNonHvm, 0, 1);
- this.tableLayoutPanel1.Controls.Add(this.m_tlpHvm, 0, 5);
- this.tableLayoutPanel1.Controls.Add(this.m_tlpNonHvm, 0, 6);
- this.tableLayoutPanel1.Controls.Add(this.m_checkBoxAutoBoot, 0, 3);
+ this.tableLayoutPanel1.Controls.Add(this.m_tlpHvm, 0, 3);
+ this.tableLayoutPanel1.Controls.Add(this.m_tlpNonHvm, 0, 4);
this.tableLayoutPanel1.Name = "tableLayoutPanel1";
//
+ // m_autoHeightLabelHvm
+ //
+ resources.ApplyResources(this.m_autoHeightLabelHvm, "m_autoHeightLabelHvm");
+ this.tableLayoutPanel1.SetColumnSpan(this.m_autoHeightLabelHvm, 4);
+ this.m_autoHeightLabelHvm.Name = "m_autoHeightLabelHvm";
+ //
+ // m_autoHeightLabelNonHvm
+ //
+ resources.ApplyResources(this.m_autoHeightLabelNonHvm, "m_autoHeightLabelNonHvm");
+ this.tableLayoutPanel1.SetColumnSpan(this.m_autoHeightLabelNonHvm, 3);
+ this.m_autoHeightLabelNonHvm.Name = "m_autoHeightLabelNonHvm";
+ //
// m_tlpHvm
//
resources.ApplyResources(this.m_tlpHvm, "m_tlpHvm");
@@ -127,24 +137,6 @@ namespace XenAdmin.SettingsPanels
this.m_comboBoxBootDevice.Name = "m_comboBoxBootDevice";
this.m_comboBoxBootDevice.SelectedIndexChanged += new System.EventHandler(this.m_comboBoxBootDevice_SelectedIndexChanged);
//
- // m_checkBoxAutoBoot
- //
- resources.ApplyResources(this.m_checkBoxAutoBoot, "m_checkBoxAutoBoot");
- this.m_checkBoxAutoBoot.Name = "m_checkBoxAutoBoot";
- this.m_checkBoxAutoBoot.UseVisualStyleBackColor = true;
- //
- // m_autoHeightLabelHvm
- //
- resources.ApplyResources(this.m_autoHeightLabelHvm, "m_autoHeightLabelHvm");
- this.tableLayoutPanel1.SetColumnSpan(this.m_autoHeightLabelHvm, 4);
- this.m_autoHeightLabelHvm.Name = "m_autoHeightLabelHvm";
- //
- // m_autoHeightLabelNonHvm
- //
- resources.ApplyResources(this.m_autoHeightLabelNonHvm, "m_autoHeightLabelNonHvm");
- this.tableLayoutPanel1.SetColumnSpan(this.m_autoHeightLabelNonHvm, 3);
- this.m_autoHeightLabelNonHvm.Name = "m_autoHeightLabelNonHvm";
- //
// BootOptionsEditPage
//
resources.ApplyResources(this, "$this");
@@ -177,8 +169,7 @@ namespace XenAdmin.SettingsPanels
private System.Windows.Forms.Label label1;
private System.Windows.Forms.Button m_buttonUp;
private System.Windows.Forms.Button m_buttonDown;
- private System.Windows.Forms.CheckedListBox m_checkedListBox;
- private System.Windows.Forms.CheckBox m_checkBoxAutoBoot;
+ private System.Windows.Forms.CheckedListBox m_checkedListBox;
}
}
diff --git a/XenAdmin/SettingsPanels/BootOptionsEditPage.cs b/XenAdmin/SettingsPanels/BootOptionsEditPage.cs
index 48f868721..8c1fbbcc2 100644
--- a/XenAdmin/SettingsPanels/BootOptionsEditPage.cs
+++ b/XenAdmin/SettingsPanels/BootOptionsEditPage.cs
@@ -79,8 +79,7 @@ namespace XenAdmin.SettingsPanels
{
get
{
- bool autoBootChanged = Helpers.BostonOrGreater(vm.Connection) ? false : m_checkBoxAutoBoot.Checked != vm.AutoPowerOn;
- return autoBootChanged || (vm.IsHVM && GetOrder() != vm.BootOrder) || (m_textBoxOsParams.Text != vm.PV_args) || (VMPVBootableDVD() != bootFromCD);
+ return (vm.IsHVM && GetOrder() != vm.BootOrder) || (m_textBoxOsParams.Text != vm.PV_args) || (VMPVBootableDVD() != bootFromCD);
}
}
@@ -88,9 +87,6 @@ namespace XenAdmin.SettingsPanels
{
vm.BootOrder = GetOrder();
- if (!Helpers.BostonOrGreater(vm.Connection))
- vm.AutoPowerOn = m_checkBoxAutoBoot.Checked;
-
vm.PV_args = m_textBoxOsParams.Text;
return new DelegatedAsyncAction(vm.Connection, "Change VBDs bootable", "Change VBDs bootable", null,
@@ -163,16 +159,10 @@ namespace XenAdmin.SettingsPanels
string order = String.Join(", ", driveLetters.ToArray());
- if (!Helpers.BostonOrGreater(vm.Connection) && m_checkBoxAutoBoot.Checked)
- return String.Format(Messages.BOOTORDER_AUTOSTART, order);
- else
- return String.Format(Messages.BOOTORDER, order);
+ return String.Format(Messages.BOOTORDER, order);
}
- if (!Helpers.BostonOrGreater(vm.Connection) && m_checkBoxAutoBoot.Checked)
- return Messages.AUTOSTART;
- else
- return Messages.NONE_DEFINED;
+ return Messages.NONE_DEFINED;
}
}
@@ -194,14 +184,6 @@ namespace XenAdmin.SettingsPanels
private void Repopulate()
{
- if (Helpers.BostonOrGreater(vm.Connection))
- m_checkBoxAutoBoot.Visible = false;
- else
- {
- m_checkBoxAutoBoot.Visible = true;
- m_checkBoxAutoBoot.Checked = vm.AutoPowerOn;
- }
-
BootDeviceAndOrderEnabled(vm.IsHVM);
if (vm.IsHVM)
diff --git a/XenAdmin/SettingsPanels/BootOptionsEditPage.resx b/XenAdmin/SettingsPanels/BootOptionsEditPage.resx
index 79d9a162f..d5ac2e55e 100644
--- a/XenAdmin/SettingsPanels/BootOptionsEditPage.resx
+++ b/XenAdmin/SettingsPanels/BootOptionsEditPage.resx
@@ -379,7 +379,7 @@
Fill
- 3, 144
+ 3, 101
4
@@ -478,13 +478,13 @@
Fill
- 3, 258
+ 3, 215
4
- 444, 165
+ 444, 208
5
@@ -504,36 +504,6 @@
<?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="label3" Row="2" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="m_textBoxOsParams" Row="2" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="label2" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="m_comboBoxBootDevice" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /></Controls><Columns Styles="AutoSize,0,Percent,65,Percent,35" /><Rows Styles="AutoSize,0,Absolute,20,AutoSize,0,Percent,100,Absolute,20,Absolute,20" /></TableLayoutSettings>
-
- True
-
-
- NoControl
-
-
- 3, 101
-
-
- 142, 17
-
-
- 3
-
-
- Auto-start on server boot
-
-
- m_checkBoxAutoBoot
-
-
- System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tableLayoutPanel1
-
-
- 4
-
Fill
@@ -541,7 +511,7 @@
0, 0
- 7
+ 5
450, 426
@@ -562,7 +532,7 @@
0
- <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="m_autoHeightLabelHvm" Row="0" RowSpan="1" Column="0" ColumnSpan="4" /><Control Name="m_autoHeightLabelNonHvm" Row="1" RowSpan="1" Column="0" ColumnSpan="3" /><Control Name="m_tlpHvm" Row="5" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="m_tlpNonHvm" Row="6" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="m_checkBoxAutoBoot" Row="3" RowSpan="1" Column="0" ColumnSpan="1" /></Controls><Columns Styles="Percent,100" /><Rows Styles="AutoSize,0,AutoSize,0,Absolute,20,AutoSize,0,Absolute,20,AutoSize,0,AutoSize,0" /></TableLayoutSettings>
+ <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="m_autoHeightLabelHvm" Row="0" RowSpan="1" Column="0" ColumnSpan="4" /><Control Name="m_autoHeightLabelNonHvm" Row="1" RowSpan="1" Column="0" ColumnSpan="3" /><Control Name="m_tlpHvm" Row="3" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="m_tlpNonHvm" Row="4" RowSpan="1" Column="0" ColumnSpan="1" /></Controls><Columns Styles="Percent,100" /><Rows Styles="AutoSize,0,AutoSize,0,Absolute,20,AutoSize,0,AutoSize,0,Absolute,20,Absolute,20" /></TableLayoutSettings>
True
diff --git a/XenAdmin/SettingsPanels/CPUMemoryEditPage.cs b/XenAdmin/SettingsPanels/CPUMemoryEditPage.cs
index 5b6bf2145..65b6c87e6 100644
--- a/XenAdmin/SettingsPanels/CPUMemoryEditPage.cs
+++ b/XenAdmin/SettingsPanels/CPUMemoryEditPage.cs
@@ -177,8 +177,7 @@ namespace XenAdmin.SettingsPanels
public void SetXenObjects(IXenObject orig, IXenObject clone)
{
vm = (VM)clone;
- MROrGreater = Helpers.MidnightRideOrGreater(vm.Connection);
- ShowMemory = !MROrGreater || Helpers.FeatureForbidden(vm, Host.RestrictDMC);
+ ShowMemory = Helpers.FeatureForbidden(vm, Host.RestrictDMC);
Repopulate();
}
diff --git a/XenAdmin/SettingsPanels/EditNetworkPage.cs b/XenAdmin/SettingsPanels/EditNetworkPage.cs
index df237e523..9c54af174 100644
--- a/XenAdmin/SettingsPanels/EditNetworkPage.cs
+++ b/XenAdmin/SettingsPanels/EditNetworkPage.cs
@@ -329,7 +329,7 @@ namespace XenAdmin.SettingsPanels
HostPNICList.SelectedItem = pif.Name;
}
- bool hasBondMode = HasBondMode;
+ bool hasBondMode = network.IsBond;
groupBoxBondMode.Visible = hasBondMode;
bool supportsLinkAggregation = Helpers.SupportsLinkAggregationBond(network.Connection);
@@ -679,17 +679,6 @@ namespace XenAdmin.SettingsPanels
return null;
}
- ///
- /// Does the network being edited support bond mode (i.e., is it a bond of Boston or later)?
- ///
- private bool HasBondMode
- {
- get
- {
- return network.IsBond && Helpers.BostonOrGreater(network.Connection);
- }
- }
-
///
/// The mode of the bond associated with this network. Assumes HasBondMode has already been tested,
/// and that the Bond objects on each host have the same mode.
diff --git a/XenAdmin/SettingsPanels/GpuEditPage.cs b/XenAdmin/SettingsPanels/GpuEditPage.cs
index 7ccbb1bfb..ab7b650bb 100644
--- a/XenAdmin/SettingsPanels/GpuEditPage.cs
+++ b/XenAdmin/SettingsPanels/GpuEditPage.cs
@@ -94,7 +94,6 @@ namespace XenAdmin.SettingsPanels
public void SetXenObjects(IXenObject orig, IXenObject clone)
{
Trace.Assert(clone is VM); // only VMs should show this page
- Trace.Assert(Helpers.BostonOrGreater(clone.Connection)); // If not Boston or greater, we shouldn't see this page
Trace.Assert(!Helpers.FeatureForbidden(clone, Host.RestrictGpu)); // If license insufficient, we show upsell page instead
vm = (VM)clone;
diff --git a/XenAdmin/SettingsPanels/StorageLinkEditPage.cs b/XenAdmin/SettingsPanels/StorageLinkEditPage.cs
index 8ab2f6777..6a4806a88 100644
--- a/XenAdmin/SettingsPanels/StorageLinkEditPage.cs
+++ b/XenAdmin/SettingsPanels/StorageLinkEditPage.cs
@@ -57,7 +57,7 @@ namespace XenAdmin.SettingsPanels
private static List GetValidConnections()
{
- return ConnectionsManager.XenConnectionsCopy.FindAll(c => c.IsConnected && Helpers.GetPoolOfOne(c) != null && Helpers.MidnightRideOrGreater(c) && !Helpers.FeatureForbidden(c, Host.RestrictStorageChoices));
+ return ConnectionsManager.XenConnectionsCopy.FindAll(c => c.IsConnected && Helpers.GetPoolOfOne(c) != null && !Helpers.FeatureForbidden(c, Host.RestrictStorageChoices));
}
#region IEditPage Members
@@ -81,7 +81,7 @@ namespace XenAdmin.SettingsPanels
_xenObjectCopy = clone;
allServersCheckBox.Checked = true;
- if (_xenObjectCopy != null && Helpers.MidnightRideOrGreater(_xenObjectCopy.Connection))
+ if (_xenObjectCopy != null)
{
Pool pool = Helpers.GetPoolOfOne(_xenObjectCopy.Connection);
diff --git a/XenAdmin/SettingsPanels/VMHAEditPage.cs b/XenAdmin/SettingsPanels/VMHAEditPage.cs
index f28775f12..ab66636b5 100644
--- a/XenAdmin/SettingsPanels/VMHAEditPage.cs
+++ b/XenAdmin/SettingsPanels/VMHAEditPage.cs
@@ -74,8 +74,6 @@ namespace XenAdmin.SettingsPanels
///
private readonly List hostMetrics = new List();
- private static bool showStartOrderAndDelay;
-
private readonly CollectionChangeEventHandler Host_CollectionChangedWithInvoke;
#endregion
@@ -105,13 +103,6 @@ namespace XenAdmin.SettingsPanels
if (vm == null)
return "";
- // Disable editing if pool master doesn't have HA license flag
- Host host = Helpers.GetMaster(vm.Connection);
- if (host == null || host.RestrictHAOrlando)
- {
- return Messages.HA_LICENSE_DISABLED;
- }
-
Pool pool = Helpers.GetPool(vm.Connection);
if (pool == null)
{
@@ -339,16 +330,9 @@ namespace XenAdmin.SettingsPanels
private void UpdateEnablement()
{
- // hide start order and delay for pre-Boston VMs
- showStartOrderAndDelay = !Helpers.HaIgnoreStartupOptions(vm.Connection);
- if (!showStartOrderAndDelay)
- {
- groupBoxStartupOptions.Visible = false;
- }
-
// Disable editing if pool master doesn't have HA license flag
Host host = Helpers.GetMaster(vm.Connection);
- if (host == null || host.RestrictHA)
+ if (host == null || Host.RestrictHA(host))
{
m_labelHaStatus.Text = Messages.HA_LICENSE_DISABLED;
m_tlpPriority.Visible = false;
@@ -420,7 +404,7 @@ namespace XenAdmin.SettingsPanels
private bool ChangesMadeInStartupOptions()
{
- return showStartOrderAndDelay && (nudOrder.Value != origOrder || nudStartDelay.Value != origStartDelay);
+ return nudOrder.Value != origOrder || nudStartDelay.Value != origStartDelay;
}
public VM.HA_Restart_Priority SelectedPriority { get; private set; }
@@ -551,7 +535,7 @@ namespace XenAdmin.SettingsPanels
// If skankPanel is disabled, so is editing
var validToSaveHA = !IsHaEditable() || this.vm != null && !haNtolIndicator.UpdateInProgress && haNtolIndicator.Ntol >= 0;
- var validToSaveStartupOptions = !showStartOrderAndDelay || this.vm != null;
+ var validToSaveStartupOptions = this.vm != null;
return validToSaveHA && validToSaveStartupOptions;
}
@@ -606,10 +590,6 @@ namespace XenAdmin.SettingsPanels
{
if (pool == null)
return;
- Host master = Helpers.GetMaster(pool.Connection);
- if (master == null || master.RestrictHAOrlando)
- return;
-
HAPage.EditHA(pool);
}
diff --git a/XenAdmin/SettingsPanels/Wlb/WlbAutomationPage.cs b/XenAdmin/SettingsPanels/Wlb/WlbAutomationPage.cs
index 74e91959d..a26d2ba82 100644
--- a/XenAdmin/SettingsPanels/Wlb/WlbAutomationPage.cs
+++ b/XenAdmin/SettingsPanels/Wlb/WlbAutomationPage.cs
@@ -92,57 +92,46 @@ namespace XenAdmin.SettingsPanels
// Set up the Automation checkboxes
checkBoxUseAutomation.Checked = _poolConfiguration.AutoBalanceEnabled;
- if (Helpers.MidnightRideOrGreater(_connection))
+ checkBoxEnablePowerManagement.Checked = _poolConfiguration.PowerManagementEnabled;
+ checkBoxEnablePowerManagement.Enabled = checkBoxUseAutomation.Checked;
+
+ this.decentGroupBoxPowerManagementHosts.Enabled = true;
+
+ // Set up the Power Management Host enlistment listview
+ listViewExPowerManagementHosts.Columns.Clear();
+ listViewExPowerManagementHosts.Columns.Add(String.Empty, 25);
+ listViewExPowerManagementHosts.Columns.Add(Messages.WLB_HOST_SERVER, 220); // "Host Server"
+ listViewExPowerManagementHosts.Columns.Add(Messages.WLB_POWERON_MODE, 95); // "PowerOn Mode"
+ listViewExPowerManagementHosts.Columns.Add(Messages.WLB_LAST_POWERON_SUCCEEDED, 135); // "Tested"
+
+ foreach (Host host in _connection.Cache.Hosts)
{
- checkBoxEnablePowerManagement.Checked = _poolConfiguration.PowerManagementEnabled;
- checkBoxEnablePowerManagement.Enabled = checkBoxUseAutomation.Checked;
+ bool participatesInPowerManagement = false;
+ string powerManagementTested = Messages.NO;
- this.decentGroupBoxPowerManagementHosts.Enabled = true;
-
- // Set up the Power Management Host enlistment listview
- listViewExPowerManagementHosts.Columns.Clear();
- listViewExPowerManagementHosts.Columns.Add(String.Empty, 25);
- listViewExPowerManagementHosts.Columns.Add(Messages.WLB_HOST_SERVER, 220); // "Host Server"
- listViewExPowerManagementHosts.Columns.Add(Messages.WLB_POWERON_MODE, 95); // "PowerOn Mode"
- listViewExPowerManagementHosts.Columns.Add(Messages.WLB_LAST_POWERON_SUCCEEDED, 135); // "Tested"
-
- foreach (Host host in _connection.Cache.Hosts)
+ if (_poolConfiguration.HostConfigurations.ContainsKey(host.uuid))
{
- bool participatesInPowerManagement = false;
- string powerManagementTested = Messages.NO;
-
- if (_poolConfiguration.HostConfigurations.ContainsKey(host.uuid))
- {
- participatesInPowerManagement = _poolConfiguration.HostConfigurations[host.uuid].ParticipatesInPowerManagement;
- powerManagementTested = _poolConfiguration.HostConfigurations[host.uuid].LastPowerOnSucceeded ? Messages.YES : Messages.NO;
- }
-
- ListViewItem thisItem = new ListViewItem();
- thisItem.Tag = host;
- thisItem.Checked = participatesInPowerManagement;
- if (host.IsMaster())
- {
- thisItem.SubItems.Add(string.Format("{0} ({1})", host.Name, Messages.POOL_MASTER));
- }
- else
- {
- thisItem.SubItems.Add(host.Name);
- }
- if (Helpers.MidnightRideOrGreater(_connection))
- {
- thisItem.SubItems.Add(GetHostPowerOnMode(host.power_on_mode));
- }
- thisItem.SubItems.Add(powerManagementTested);
- listViewExPowerManagementHosts.Items.Add(thisItem);
+ participatesInPowerManagement = _poolConfiguration.HostConfigurations[host.uuid].ParticipatesInPowerManagement;
+ powerManagementTested = _poolConfiguration.HostConfigurations[host.uuid].LastPowerOnSucceeded ? Messages.YES : Messages.NO;
}
- labelNoHosts.Visible = (listViewExPowerManagementHosts.Items.Count == 0);
- }
- else
- {
- this.checkBoxEnablePowerManagement.Enabled = false;
- this.decentGroupBoxPowerManagementHosts.Enabled = false;
+ ListViewItem thisItem = new ListViewItem();
+ thisItem.Tag = host;
+ thisItem.Checked = participatesInPowerManagement;
+ if (host.IsMaster())
+ {
+ thisItem.SubItems.Add(string.Format("{0} ({1})", host.Name, Messages.POOL_MASTER));
+ }
+ else
+ {
+ thisItem.SubItems.Add(host.Name);
+ }
+ thisItem.SubItems.Add(GetHostPowerOnMode(host.power_on_mode));
+ thisItem.SubItems.Add(powerManagementTested);
+ listViewExPowerManagementHosts.Items.Add(thisItem);
}
+
+ labelNoHosts.Visible = (listViewExPowerManagementHosts.Items.Count == 0);
_loading = false;
}
@@ -204,15 +193,7 @@ namespace XenAdmin.SettingsPanels
_hasChanged = true;
}
- if (Helpers.MidnightRideOrGreater(_connection))
- {
- checkBoxEnablePowerManagement.Enabled = checkBoxUseAutomation.Checked;
- }
- else
- {
- this.checkBoxEnablePowerManagement.Enabled = false;
- }
-
+ checkBoxEnablePowerManagement.Enabled = checkBoxUseAutomation.Checked;
}
private void checkBoxEnablePowerManagement_CheckedChanged(object sender, EventArgs e)
@@ -288,7 +269,7 @@ namespace XenAdmin.SettingsPanels
private bool HostCannotParticipateInPowerManagement(Host host)
{
- return host.IsMaster() || (string.IsNullOrEmpty(host.power_on_mode) && Helpers.MidnightRideOrGreater(_connection));
+ return host.IsMaster() || string.IsNullOrEmpty(host.power_on_mode);
}
private void listViewExPowerManagementHosts_DrawSubItem(object sender, DrawListViewSubItemEventArgs e)
diff --git a/XenAdmin/TabPages/AdPage.Designer.cs b/XenAdmin/TabPages/AdPage.Designer.cs
index 7978ebbc4..9297aed45 100644
--- a/XenAdmin/TabPages/AdPage.Designer.cs
+++ b/XenAdmin/TabPages/AdPage.Designer.cs
@@ -154,14 +154,13 @@ namespace XenAdmin.TabPages
dataGridViewCellStyle5.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
dataGridViewCellStyle5.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
this.GridViewSubjectList.DefaultCellStyle = dataGridViewCellStyle5;
- this.GridViewSubjectList.MaximumSize = new System.Drawing.Size(900, 500);
this.GridViewSubjectList.Name = "GridViewSubjectList";
this.GridViewSubjectList.RowHeadersVisible = false;
this.GridViewSubjectList.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect;
- this.GridViewSubjectList.SortCompare += new System.Windows.Forms.DataGridViewSortCompareEventHandler(this.GridViewSubjectList_SortCompare);
- this.GridViewSubjectList.MouseUp += new System.Windows.Forms.MouseEventHandler(this.GridViewSubjectList_MouseClick);
this.GridViewSubjectList.CellMouseDoubleClick += new System.Windows.Forms.DataGridViewCellMouseEventHandler(this.GridViewSubjectList_CellMouseClick);
this.GridViewSubjectList.SelectionChanged += new System.EventHandler(this.GridViewSubjectList_SelectionChanged);
+ this.GridViewSubjectList.SortCompare += new System.Windows.Forms.DataGridViewSortCompareEventHandler(this.GridViewSubjectList_SortCompare);
+ this.GridViewSubjectList.MouseUp += new System.Windows.Forms.MouseEventHandler(this.GridViewSubjectList_MouseClick);
//
// ColumnExpand
//
@@ -246,7 +245,6 @@ namespace XenAdmin.TabPages
resources.ApplyResources(this.tableLayoutPanel2, "tableLayoutPanel2");
this.tableLayoutPanel2.Controls.Add(this.labelBlurb, 0, 0);
this.tableLayoutPanel2.Controls.Add(this.buttonJoinLeave, 0, 1);
- this.tableLayoutPanel2.MaximumSize = new System.Drawing.Size(900, 100);
this.tableLayoutPanel2.Name = "tableLayoutPanel2";
//
// labelBlurb
@@ -316,7 +314,6 @@ namespace XenAdmin.TabPages
this.panel1.Controls.Add(this.panel2);
this.panel1.Controls.Add(this.LabelGridViewDisabled);
resources.ApplyResources(this.panel1, "panel1");
- this.panel1.MaximumSize = new System.Drawing.Size(900, 540);
this.panel1.Name = "panel1";
//
// panel2
diff --git a/XenAdmin/TabPages/AdPage.cs b/XenAdmin/TabPages/AdPage.cs
index 20f6529ed..f45db7096 100644
--- a/XenAdmin/TabPages/AdPage.cs
+++ b/XenAdmin/TabPages/AdPage.cs
@@ -80,7 +80,6 @@ namespace XenAdmin.TabPages
if (_xenObject == null)
return;
- SetRbacVisible(Helpers.MidnightRideOrGreater(_xenObject.Connection));
pool = Helpers.GetPoolOfOne(_xenObject.Connection);
if (pool == null)
{
@@ -167,17 +166,6 @@ namespace XenAdmin.TabPages
pool.Connection.Session.PropertyChanged -= new System.ComponentModel.PropertyChangedEventHandler(Session_PropertyChanged);
}
- ///
- /// Toggles whether the RBAC controls are visible on this control
- ///
- ///
- private void SetRbacVisible(bool p)
- {
- ButtonChangeRoles.Visible = p;
- toolStripMenuItemChangeRoles.Visible = p;
- GridViewSubjectList.Columns["ColumnRoles"].Visible = p;
- }
-
///
/// We keep track of the actions in currently running so we can disable the tab if we are in the middle of configuring AD.
///
@@ -637,27 +625,20 @@ namespace XenAdmin.TabPages
}
else
{
- if (!Helpers.MidnightRideOrGreater(subject.Connection))
+ //Generate the role list
+ string s = "";
+ List roles = subject.Connection.ResolveAll(subject.roles);
+ roles.Sort();
+ roles.Reverse();
+ foreach (Role r in roles)
{
- expandedRoles = contractedRoles = "";
+ s = String.Format("{0}\n{1}", s, r.FriendlyName);
}
- else
- {
- //Generate the role list
- string s = "";
- List roles = subject.Connection.ResolveAll(subject.roles);
- roles.Sort();
- roles.Reverse();
- foreach (Role r in roles)
- {
- s = String.Format("{0}\n{1}", s, r.FriendlyName);
- }
- expandedRoles = s;
- contractedRoles = roles.Count > 0 ?
- roles.Count > 1 ? roles[0].FriendlyName.AddEllipsis() : roles[0].FriendlyName
- : "";
+ expandedRoles = s;
+ contractedRoles = roles.Count > 0 ?
+ roles.Count > 1 ? roles[0].FriendlyName.AddEllipsis() : roles[0].FriendlyName
+ : "";
- }
contractedSubjectInfo = new List>();
contractedSubjectInfo.Add(new KeyValuePair(subject.DisplayName ?? subject.SubjectName ?? "", ""));
expandedSubjectInfo = Subject.ExtractKvpInfo(subject);
diff --git a/XenAdmin/TabPages/AdPage.resx b/XenAdmin/TabPages/AdPage.resx
index 4ca8615f3..fd6dd36ef 100644
--- a/XenAdmin/TabPages/AdPage.resx
+++ b/XenAdmin/TabPages/AdPage.resx
@@ -112,19 +112,19 @@
2.0
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
+
25
-
+
True
-
+
Qk32AgAAAAAAADYAAAAoAAAADgAAABAAAAABABgAAAAAAAAAAADEDgAAxA4AAAAAAAAAAAAAAAAAAAAA
@@ -151,7 +151,7 @@
20
-
+
True
@@ -163,19 +163,19 @@
50
-
+
True
Subject
-
+
True
Roles
-
+
True
@@ -184,7 +184,7 @@
50
-
+
True
@@ -196,7 +196,7 @@
5
-
+
17, 17
@@ -233,9 +233,9 @@
contextMenuStripADBox
- System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
+
Fill
@@ -251,6 +251,9 @@
0, 0, 0, 0
+
+ 900, 500
+
900, 475
@@ -261,7 +264,7 @@
GridViewSubjectList
- System.Windows.Forms.DataGridView, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.DataGridView, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
panel1
@@ -291,7 +294,7 @@
buttonAdd
- System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
flowLayoutPanel1
@@ -324,7 +327,7 @@
ButtonRemove
- System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
tTipRemoveButton
@@ -381,7 +384,7 @@
ButtonLogout
- System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
tTipLogoutButton
@@ -438,7 +441,7 @@
ButtonChangeRoles
- System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
tTipChangeRole
@@ -486,7 +489,7 @@
flowLayoutPanel1
- System.Windows.Forms.FlowLayoutPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.FlowLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
panel1
@@ -519,7 +522,7 @@
label2
- System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
panel2
@@ -543,7 +546,7 @@
panel2
- System.Windows.Forms.Panel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
panel1
@@ -579,7 +582,7 @@
LabelGridViewDisabled
- System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
panel1
@@ -593,6 +596,9 @@
10, 94
+
+ 900, 540
+
900, 540
@@ -603,7 +609,7 @@
panel1
- System.Windows.Forms.Panel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
pageContainerPanel
@@ -639,7 +645,7 @@
label1
- System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
pageContainerPanel
@@ -684,7 +690,7 @@
labelBlurb
- System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
tableLayoutPanel2
@@ -714,7 +720,7 @@
buttonJoinLeave
- System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
tableLayoutPanel2
@@ -731,6 +737,9 @@
10, 10
+
+ 900, 100
+
2
@@ -744,7 +753,7 @@
tableLayoutPanel2
- System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
pageContainerPanel
@@ -765,20 +774,20 @@
pageContainerPanel
- System.Windows.Forms.Panel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
$this
- 0
+ 1
-
- 25
-
-
+
True
+
+ 25
+
96, 96
@@ -789,67 +798,67 @@
addToolStripMenuItem
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
toolStripMenuItemRemove
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
toolStripSeparator1
- System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
toolStripMenuItemLogout
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
toolStripMenuItemChangeRoles
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
ColumnExpand
- System.Windows.Forms.DataGridViewImageColumn, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.DataGridViewImageColumn, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
ColumnTypeImage
- System.Windows.Forms.DataGridViewImageColumn, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.DataGridViewImageColumn, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
ColumnSubject
- System.Windows.Forms.DataGridViewTextBoxColumn, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.DataGridViewTextBoxColumn, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
ColumnRoles
- System.Windows.Forms.DataGridViewTextBoxColumn, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.DataGridViewTextBoxColumn, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
ColumnStatus
- System.Windows.Forms.DataGridViewTextBoxColumn, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.DataGridViewTextBoxColumn, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
ColumnDummy
- System.Windows.Forms.DataGridViewTextBoxColumn, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.DataGridViewTextBoxColumn, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
AdPage
diff --git a/XenAdmin/TabPages/GeneralTabPage.cs b/XenAdmin/TabPages/GeneralTabPage.cs
index c1c495d7b..ce8dac611 100644
--- a/XenAdmin/TabPages/GeneralTabPage.cs
+++ b/XenAdmin/TabPages/GeneralTabPage.cs
@@ -904,12 +904,6 @@ namespace XenAdmin.TabPages
PDSection s = pdSectionBootOptions;
- if (!Helpers.BostonOrGreater(vm.Connection))
- {
- s.AddEntry(FriendlyName("VM.auto_boot"), Helpers.BoolToString(vm.AutoPowerOn),
- new PropertiesToolStripMenuItem(new VmEditStartupOptionsCommand(Program.MainWindow, vm)));
- }
-
if (vm.IsHVM)
{
s.AddEntry(FriendlyName("VM.BootOrder"), HVMBootOrder(vm),
@@ -1158,7 +1152,7 @@ namespace XenAdmin.TabPages
s.AddEntry(FriendlyName("host.uptime"), uptime == null ? "" : host.Uptime.ToString());
s.AddEntry(FriendlyName("host.agentUptime"), agentUptime == null ? "" : host.AgentUptime.ToString());
- if ((Helpers.GeorgeOrGreater(xenObject.Connection) && host.external_auth_type == Auth.AUTH_TYPE_AD))
+ if (host.external_auth_type == Auth.AUTH_TYPE_AD)
s.AddEntry(FriendlyName("host.external_auth_service_name"), host.external_auth_service_name);
}
else if (xenObject is VM)
@@ -1169,12 +1163,12 @@ namespace XenAdmin.TabPages
s.AddEntry(FriendlyName("VM.OperatingMode"), vm.IsHVM ? Messages.VM_OPERATING_MODE_HVM : Messages.VM_OPERATING_MODE_PV);
- if (!vm.DefaultTemplate && Helpers.MidnightRideOrGreater(vm.Connection))
+ if (!vm.DefaultTemplate)
{
s.AddEntry(Messages.BIOS_STRINGS_COPIED, vm.BiosStringsCopied ? Messages.YES : Messages.NO);
}
- if (Helpers.BostonOrGreater(vm.Connection) && vm.Connection != null)
+ if (vm.Connection != null)
{
var appl = vm.Connection.Resolve(vm.appliance);
if (appl != null)
diff --git a/XenAdmin/TabPages/HAPage.cs b/XenAdmin/TabPages/HAPage.cs
index dfb0484e9..f0c8f94b2 100644
--- a/XenAdmin/TabPages/HAPage.cs
+++ b/XenAdmin/TabPages/HAPage.cs
@@ -267,15 +267,12 @@ namespace XenAdmin.TabPages
private RbacMethodList HA_PERMISSION_CHECKS = new RbacMethodList(
"pool.set_ha_host_failures_to_tolerate",
"pool.sync_database",
- "vm.set_ha_always_run",
"vm.set_ha_restart_priority",
"pool.ha_compute_hypothetical_max_host_failures_to_tolerate"
);
private bool PassedRbacChecks()
{
- if (!Helpers.MidnightRideOrGreater(pool.Connection))
- return true;
return Role.CanPerform(HA_PERMISSION_CHECKS, pool.Connection);
}
@@ -305,13 +302,6 @@ namespace XenAdmin.TabPages
private void generatePoolHABox(Pool pool)
{
- Host master = Helpers.GetMaster(pool.Connection);
- if (master == null || master.RestrictHAOrlando)
- {
- // Don't generate the box at all
- return;
- }
-
if (!pool.ha_enabled)
return;
@@ -543,13 +533,6 @@ namespace XenAdmin.TabPages
private void generateSRHABox(SR sr)
{
- Host master = Helpers.GetMaster(sr.Connection);
- if (master == null)
- return;
- if (master.RestrictHAOrlando)
- // Don't generate the box at all
- return;
-
CustomListRow header = CreateHeader(Messages.HA_CONFIGURATION_TITLE);
customListPanel.AddRow(header);
@@ -629,10 +612,6 @@ namespace XenAdmin.TabPages
{
if (pool == null)
return;
- Host master = Helpers.GetMaster(pool.Connection);
- if (master == null || master.RestrictHAOrlando)
- return;
-
EditHA(pool);
}
diff --git a/XenAdmin/TabPages/SnapshotsPage.cs b/XenAdmin/TabPages/SnapshotsPage.cs
index 61939a395..15b2c1b46 100644
--- a/XenAdmin/TabPages/SnapshotsPage.cs
+++ b/XenAdmin/TabPages/SnapshotsPage.cs
@@ -56,7 +56,6 @@ namespace XenAdmin.TabPages
private static readonly log4net.ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
private VM m_VM = null;
private bool m_NeedToUpdate = false;
- private bool m_TreeViewEnabled = false;
private float defaultWidthProperties;
private readonly ToolTip toolTipDescriptionLabel = new ToolTip();
@@ -138,34 +137,18 @@ namespace XenAdmin.TabPages
VM_BatchCollectionChanged);
m_VM.PropertyChanged += snapshot_PropertyChanged;
//Version setup
- m_TreeViewEnabled = Helpers.MidnightRideOrGreater(m_VM.Connection);
- toolStripMenuItemScheduledSnapshots.Available = toolStripSeparatorView.Available = Helpers.CowleyOrGreater(m_VM.Connection)
- && Registry.VMPRFeatureEnabled;
- if (m_TreeViewEnabled && VM.SnapshotView != SnapshotsView.ListView)
+ toolStripMenuItemScheduledSnapshots.Available = toolStripSeparatorView.Available = Registry.VMPRFeatureEnabled;
+ if (VM.SnapshotView != SnapshotsView.ListView)
TreeViewChecked();
else
- {
GridViewChecked();
- }
- if (m_TreeViewEnabled)
- {
- toolStripButtonTreeView.Enabled = true;
- toolStripButtonTreeView.ToolTipText = "";
+ toolStripButtonTreeView.Enabled = true;
+ toolStripButtonTreeView.ToolTipText = "";
- revertButton.Enabled = true;
- toolTipContainerRevertButton.SetToolTip("");
- }
- else
- {
- toolStripButtonTreeView.Enabled = false;
- toolStripButtonTreeView.ToolTipText =
- string.Format(Messages.FEATURE_NOT_AVAILABLE_NEED_MR, Messages.SNAPSHOT_TREE_VIEW);
+ revertButton.Enabled = true;
+ toolTipContainerRevertButton.SetToolTip("");
- revertButton.Enabled = false;
- toolTipContainerRevertButton.SetToolTip(
- string.Format(Messages.FEATURE_NOT_AVAILABLE_NEED_MR, Messages.SNAPSHOT_REVERT));
- }
//toolStripButtonListView.Enabled = toolStripButtonTreeView.Enabled = true;
//Refresh items
BuildList();
@@ -197,7 +180,7 @@ namespace XenAdmin.TabPages
private void RefreshVMProtectionPanel()
{
- if (Helpers.CowleyOrGreater(VM.Connection) && Registry.VMPRFeatureEnabled && !Helpers.ClearwaterOrGreater(VM.Connection))
+ if (Registry.VMPRFeatureEnabled && !Helpers.ClearwaterOrGreater(VM.Connection))
{
panelVMPP.Visible = true;
var vmpp = VM.Connection.Resolve(VM.protection_policy);
@@ -307,16 +290,9 @@ namespace XenAdmin.TabPages
}
toolStripButtonListView.Enabled = true;
IList roots = RefreshDataGridView(snapshots);
- if (m_TreeViewEnabled)
- {
- toolStripButtonTreeView.Enabled = true;
- RefreshTreeView(roots);
- SelectPreviousItemVMTreeView();
- }
- else
- {
- GridViewChecked();
- }
+ toolStripButtonTreeView.Enabled = true;
+ RefreshTreeView(roots);
+ SelectPreviousItemVMTreeView();
UpdateSpinningIcon();
}
}
@@ -634,17 +610,7 @@ namespace XenAdmin.TabPages
private void EnableAllButtons()
{
- if (m_TreeViewEnabled)
- {
- revertButton.Enabled = true;
- }
- else
- {
- revertButton.Enabled = false;
- toolTipContainerRevertButton.SetToolTip(string.Format(
- Messages.FEATURE_NOT_AVAILABLE_NEED_MR, Messages.SNAPSHOT_REVERT));
- }
-
+ revertButton.Enabled = true;
saveButton.Enabled = true;
deleteButton.Enabled = true;
}
@@ -1198,14 +1164,11 @@ namespace XenAdmin.TabPages
{
contextMenuStrip.Items.Clear();
- if (m_TreeViewEnabled)
- {
- contextMenuStrip.Items.AddRange(new ToolStripItem[]
- {
- revertToolStripMenuItem,
- saveVMToolStripSeparator
- });
- }
+ contextMenuStrip.Items.AddRange(new ToolStripItem[]
+ {
+ revertToolStripMenuItem,
+ saveVMToolStripSeparator
+ });
contextMenuStrip.Items.AddRange(new ToolStripItem[]
{
saveVMToolStripMenuItem,
diff --git a/XenAdmin/TabPages/SrStoragePage.cs b/XenAdmin/TabPages/SrStoragePage.cs
index 6a8d17b85..aea2ddd54 100644
--- a/XenAdmin/TabPages/SrStoragePage.cs
+++ b/XenAdmin/TabPages/SrStoragePage.cs
@@ -561,17 +561,8 @@ namespace XenAdmin.TabPages
case 0:
return VDI.Name;
case 1:
- if (Helpers.BostonOrGreater(VDI.Connection))
- {
- string name;
- if (VDI.sm_config.TryGetValue("displayname", out name))
- {
- return name;
- }
- return string.Empty;
- }
- StorageLinkVolume volume = showStorageLink ? VDI.StorageLinkVolume(Program.StorageLinkConnections.GetCopy()) : null;
- return volume == null ? string.Empty : volume.Name;
+ string name;
+ return VDI.sm_config.TryGetValue("displayname", out name) ? name : "";
case 2:
return VDI.Description;
case 3:
diff --git a/XenAdmin/TabPages/VMStoragePage.cs b/XenAdmin/TabPages/VMStoragePage.cs
index 253312cc6..fccc83461 100644
--- a/XenAdmin/TabPages/VMStoragePage.cs
+++ b/XenAdmin/TabPages/VMStoragePage.cs
@@ -626,17 +626,8 @@ namespace XenAdmin.TabPages
case 3:
return SR.Name;
case 4:
- if (Helpers.BostonOrGreater(VDI.Connection))
- {
- string name;
- if (VDI.sm_config.TryGetValue("displayname", out name))
- {
- return name;
- }
- return string.Empty;
- }
- StorageLinkVolume vol = VDI.StorageLinkVolume(Program.StorageLinkConnections.GetCopy());
- return vol == null ? string.Empty : vol.Name;
+ string name;
+ return VDI.sm_config.TryGetValue("displayname", out name) ? name : "";
case 5:
return VDI.SizeText;
case 6:
diff --git a/XenAdmin/TabPages/WLBPage.cs b/XenAdmin/TabPages/WLBPage.cs
index b83ef3dd6..88270c54e 100644
--- a/XenAdmin/TabPages/WLBPage.cs
+++ b/XenAdmin/TabPages/WLBPage.cs
@@ -354,8 +354,6 @@ namespace XenAdmin.TabPages
private bool PassedRbacChecks()
{
- if (!Helpers.MidnightRideOrGreater(_pool.Connection))
- return true;
return Role.CanPerform(WLB_PERMISSION_CHECKS, _pool.Connection);
}
diff --git a/XenAdmin/Wizards/GenericPages/RBACWarningPage.cs b/XenAdmin/Wizards/GenericPages/RBACWarningPage.cs
index 518a4f6c9..3b156935f 100644
--- a/XenAdmin/Wizards/GenericPages/RBACWarningPage.cs
+++ b/XenAdmin/Wizards/GenericPages/RBACWarningPage.cs
@@ -191,7 +191,7 @@ namespace XenAdmin.Wizards.GenericPages
PermissionCheckHeaderRow headerRow = AddHeaderRow(connection);
PermissionCheckResult checkResult = PermissionCheckResult.OK;
- if (connection.Session.IsLocalSuperuser || connectionChecks.Value.Count == 0 || !Helpers.MidnightRideOrGreater(connection))
+ if (connection.Session.IsLocalSuperuser || connectionChecks.Value.Count == 0)
{
SetNoWarnings();
}
@@ -222,10 +222,10 @@ namespace XenAdmin.Wizards.GenericPages
{
Program.AssertOffEventThread();
- if (connection.Session.IsLocalSuperuser || !Helpers.MidnightRideOrGreater(connection))
+ if (connection.Session.IsLocalSuperuser)
{
// We should not be here.
- log.Warn("A pre RBAC user or local root account is being blocked access");
+ log.Warn("A local root account is being blocked access");
}
List roleList = connection.Session.Roles;
diff --git a/XenAdmin/Wizards/HAWizard.cs b/XenAdmin/Wizards/HAWizard.cs
index a575ab140..f7187f2f6 100644
--- a/XenAdmin/Wizards/HAWizard.cs
+++ b/XenAdmin/Wizards/HAWizard.cs
@@ -77,27 +77,6 @@ namespace XenAdmin.Wizards
protected override void OnShown(EventArgs e)
{
- // Check all the hosts in the pool have xha licenses
- List hostsWithoutLicense = new List();
- foreach (Host host in xenConnection.Cache.Hosts)
- {
- if (host.RestrictHAOrlando)
- {
- hostsWithoutLicense.Add(host.Name);
- }
- }
-
- if (hostsWithoutLicense.Count > 0)
- {
- new ThreeButtonDialog(
- new ThreeButtonDialog.Details(
- SystemIcons.Error,
- String.Format(Messages.HA_HOSTS_LACK_LICENSE, String.Join("\n", hostsWithoutLicense.ToArray())),
- Messages.HIGH_AVAILABILITY)).ShowDialog(this);
- this.Close();
- return;
- }
-
// Check for broken SRs
List brokenSRs = new List();
foreach (SR sr in xenConnection.Cache.SRs)
diff --git a/XenAdmin/Wizards/HAWizard_Pages/AssignPriorities.cs b/XenAdmin/Wizards/HAWizard_Pages/AssignPriorities.cs
index cefa47c6e..96b69ad40 100644
--- a/XenAdmin/Wizards/HAWizard_Pages/AssignPriorities.cs
+++ b/XenAdmin/Wizards/HAWizard_Pages/AssignPriorities.cs
@@ -52,8 +52,6 @@ namespace XenAdmin.Wizards.HAWizard_Pages
private static readonly log4net.ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
private IXenConnection connection;
- private bool showStartOrderAndDelay;
-
private readonly CollectionChangeEventHandler VM_CollectionChangedWithInvoke;
private readonly QueuedBackgroundWorker m_worker;
@@ -74,16 +72,6 @@ namespace XenAdmin.Wizards.HAWizard_Pages
RegisterEvents();
- showStartOrderAndDelay = !Helpers.HaIgnoreStartupOptions(connection);
- if (!showStartOrderAndDelay)
- {
- colStartOrder.Visible = false;
- colDelay.Visible = false;
-
- nudOrder.Visible = nudStartDelay.Visible = false;
- labelStartOrder.Visible = labelStartDelay.Visible = labelStartDelayUnits.Visible = false;
- }
-
UpdateMenuItems();
PopulateVMs();
@@ -532,11 +520,8 @@ namespace XenAdmin.Wizards.HAWizard_Pages
{
m_dropDownButtonRestartPriority.Enabled = false;
m_dropDownButtonRestartPriority.Text = "";
- if (showStartOrderAndDelay)
- {
- nudOrder.Enabled = nudStartDelay.Enabled = false;
- nudOrder.Text = nudStartDelay.Text = "";
- }
+ nudOrder.Enabled = nudStartDelay.Enabled = false;
+ nudOrder.Text = nudStartDelay.Text = "";
return;
}
@@ -546,11 +531,8 @@ namespace XenAdmin.Wizards.HAWizard_Pages
{
m_dropDownButtonRestartPriority.Enabled = true;
m_dropDownButtonRestartPriority.Text = "";
- if (showStartOrderAndDelay)
- {
- nudOrder.Enabled = nudStartDelay.Enabled = true;
- nudOrder.Text = nudStartDelay.Text = "";
- }
+ nudOrder.Enabled = nudStartDelay.Enabled = true;
+ nudOrder.Text = nudStartDelay.Text = "";
return;
}
@@ -578,16 +560,13 @@ namespace XenAdmin.Wizards.HAWizard_Pages
}
// set the order and delay NUDs
- if (showStartOrderAndDelay)
- {
- nudOrder.Enabled = nudStartDelay.Enabled = true;
+ nudOrder.Enabled = nudStartDelay.Enabled = true;
- var orderDistList = (from row in selectedRows select row.StartOrder).Distinct();
- nudOrder.Text = orderDistList.Count() == 1 ? orderDistList.ElementAt(0).ToString() : "";
+ var orderDistList = (from row in selectedRows select row.StartOrder).Distinct();
+ nudOrder.Text = orderDistList.Count() == 1 ? orderDistList.ElementAt(0).ToString() : "";
- var delayDistList = (from row in selectedRows select row.StartDelay).Distinct();
- nudStartDelay.Text = delayDistList.Count() == 1 ? delayDistList.ElementAt(0).ToString() : "";
- }
+ var delayDistList = (from row in selectedRows select row.StartDelay).Distinct();
+ nudStartDelay.Text = delayDistList.Count() == 1 ? delayDistList.ElementAt(0).ToString() : "";
// check that all the VMs selected in the list are agile and make sure the protect button is disabled with the relevant reason
VmWithSettingsRow nonAgileRow = selectedRows.FirstOrDefault(r => !r.IsAgile);
@@ -599,10 +578,7 @@ namespace XenAdmin.Wizards.HAWizard_Pages
if (VM.HaPriorityIsRestart(connection, priority))
{
- menuItem.Enabled = priority == VM.HA_Restart_Priority.AlwaysRestartHighPriority
- ? (nonAgileRow == null && Helpers.CowleyOrGreater(connection))
- : (nonAgileRow == null);
-
+ menuItem.Enabled = (nonAgileRow == null);
menuItem.ToolTipText = (nonAgileRow == null)
? ""
: nonAgileRow.FriendlyNonAgileReason;
@@ -683,14 +659,14 @@ namespace XenAdmin.Wizards.HAWizard_Pages
public override string Text
{
- get { return Messages.HAWIZARD_ASSIGNRIORITIESPAGE_TEXT; }
+ get { return Messages.HAWIZARD_ASSIGNPRIORITIESPAGE_TEXT; }
}
public override string PageTitle
{
get
{
- return showStartOrderAndDelay ? Messages.HAWIZARD_ASSIGNRIORITIESPAGE_TITLE : Messages.HAWIZARD_ASSIGNRIORITIESPAGE_TITLE_NOORDER;
+ return Messages.HAWIZARD_ASSIGNPRIORITIESPAGE_TITLE;
}
}
diff --git a/XenAdmin/Wizards/HAWizard_Pages/HAFinishPage.cs b/XenAdmin/Wizards/HAWizard_Pages/HAFinishPage.cs
index 02fed64ed..20e1282d8 100644
--- a/XenAdmin/Wizards/HAWizard_Pages/HAFinishPage.cs
+++ b/XenAdmin/Wizards/HAWizard_Pages/HAFinishPage.cs
@@ -80,21 +80,12 @@ namespace XenAdmin.Wizards.HAWizard_Pages
break;
}
}
- if (Helpers.BostonOrGreater(Connection))
- labelSummary.Text = String.Format(Messages.HAWIZ_SUMMARY_NEW,
- HeartbeatSrName.Ellipsise(50),
- Ntol,
- GetVmNumber(alwaysRestart),
- GetVmNumber(bestEffort),
- GetVmNumber(doNotRestart));
- else
- labelSummary.Text = String.Format(Messages.HAWIZ_SUMMARY,
- HeartbeatSrName.Ellipsise(50),
- Ntol,
- GetVmNumber(alwaysRestartHighPriority),
- GetVmNumber(alwaysRestart),
- GetVmNumber(bestEffort),
- GetVmNumber(doNotRestart));
+ labelSummary.Text = String.Format(Messages.HAWIZ_SUMMARY_NEW,
+ HeartbeatSrName.Ellipsise(50),
+ Ntol,
+ GetVmNumber(alwaysRestart),
+ GetVmNumber(bestEffort),
+ GetVmNumber(doNotRestart));
// If the user hasn't protected any VMs, show a warning.
labelNoVmsProtected.Visible = (bestEffort + alwaysRestart + alwaysRestartHighPriority == 0) && doNotRestart > 0;
diff --git a/XenAdmin/Wizards/NewNetworkWizard.cs b/XenAdmin/Wizards/NewNetworkWizard.cs
index b932ca246..522ae18d5 100644
--- a/XenAdmin/Wizards/NewNetworkWizard.cs
+++ b/XenAdmin/Wizards/NewNetworkWizard.cs
@@ -207,13 +207,10 @@ namespace XenAdmin.Wizards
result.name_label = pageName.NetworkName;
result.name_description = pageName.NetworkDescription;
result.AutoPlug = (pageNetworkType.SelectedNetworkType == NetworkTypes.CHIN ? pageChinDetails.isAutomaticAddNicToVM : pageNetworkDetails.isAutomaticAddNicToVM);
- if (Helpers.CowleyOrGreater(xenConnection))
- {
- 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;
- }
+ 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;
return result;
}
diff --git a/XenAdmin/Wizards/NewNetworkWizard_Pages/NetWDetails.cs b/XenAdmin/Wizards/NewNetworkWizard_Pages/NetWDetails.cs
index 86b7c8d69..a75ea6ac8 100644
--- a/XenAdmin/Wizards/NewNetworkWizard_Pages/NetWDetails.cs
+++ b/XenAdmin/Wizards/NewNetworkWizard_Pages/NetWDetails.cs
@@ -136,7 +136,7 @@ namespace XenAdmin.Wizards.NewNetworkWizard_Pages
comboBoxNICList.Visible = external;
labelVLAN.Visible = external;
numericUpDownVLAN.Visible = external;
- numericUpDownMTU.Visible = labelMTU.Visible = (external && Helpers.CowleyOrGreater(host));
+ numericUpDownMTU.Visible = labelMTU.Visible = external;
labelNIC.Visible = external;
if (comboBoxNICList.Items.Count > 0)
comboBoxNICList.SelectedIndex = external ? comboBoxNICList.Items.Count - 1 : -1;
diff --git a/XenAdmin/Wizards/NewNetworkWizard_Pages/NetWTypeSelect.cs b/XenAdmin/Wizards/NewNetworkWizard_Pages/NetWTypeSelect.cs
index f59cc8811..a32caceaf 100644
--- a/XenAdmin/Wizards/NewNetworkWizard_Pages/NetWTypeSelect.cs
+++ b/XenAdmin/Wizards/NewNetworkWizard_Pages/NetWTypeSelect.cs
@@ -105,7 +105,7 @@ namespace XenAdmin.Wizards.NewNetworkWizard_Pages
rbtnCHIN.Enabled = labelCHIN.Enabled = false;
labelWarningChinOption.Text =
- !Helpers.CowleyOrGreater(connection) || Helpers.FeatureForbidden(connection, Host.RestrictVSwitchController) ?
+ Helpers.FeatureForbidden(connection, Host.RestrictVSwitchController) ?
string.Format(Messages.FEATURE_NOT_AVAILABLE_NEED_COWLEY_ENTERPRISE_OR_PLATINUM_PLURAL, Messages.CHINS) :
Messages.CHINS_NEED_VSWITCHCONTROLLER;
diff --git a/XenAdmin/Wizards/NewSRWizard.cs b/XenAdmin/Wizards/NewSRWizard.cs
index 755f662a4..0e90e00f9 100644
--- a/XenAdmin/Wizards/NewSRWizard.cs
+++ b/XenAdmin/Wizards/NewSRWizard.cs
@@ -331,11 +331,7 @@ namespace XenAdmin.Wizards
else if (m_srWizardType is SrWizardType_Cslg)
{
AddPage(xenTabPageCslg);
-
- if (Helpers.BostonOrGreater(xenConnection))
- AddPages(xenTabPageCslgLocation, xenTabPageCslgSettings);
- else
- AddPages(new XenTabPage { Text = "" });
+ AddPages(xenTabPageCslgLocation, xenTabPageCslgSettings);
}
else if (m_srWizardType is SrWizardType_NetApp || m_srWizardType is SrWizardType_EqualLogic)
{
@@ -432,55 +428,12 @@ namespace XenAdmin.Wizards
}
else if (senderPagetype == typeof(CSLG))
{
- #region
- if (Helpers.BostonOrGreater(xenConnection))
- {
- xenTabPageCslgLocation.SelectedStorageAdapter = xenTabPageCslg.SelectedStorageAdapter;
- xenTabPageCslgSettings.SelectedStorageAdapter = xenTabPageCslg.SelectedStorageAdapter;
- NotifyNextPagesOfChange(xenTabPageCslgLocation, xenTabPageCslgSettings);
- }
- else
- {
- RemovePagesFrom(_rbac ? 4 : 3);
-
- if (xenTabPageCslg.SelectedStorageSystem != null)
- {
- AddPages(xenTabPageCslgSettings);
- xenTabPageCslgSettings.SystemStorage = xenTabPageCslg.SelectedStorageSystem;
- xenTabPageCslgSettings.StoragePools = xenTabPageCslg.StoragePools;
- NotifyNextPagesOfChange(xenTabPageCslgLocation);
- }
- else if (xenTabPageCslg.NetAppSelected || xenTabPageCslg.DellSelected)
- {
- AddPage(xenTabPageFilerDetails);
- NotifyNextPagesOfChange(xenTabPageFilerDetails);
-
- if (xenTabPageCslg.NetAppSelected)
- {
- if (m_srWizardType is SrWizardType_Cslg)
- {
- m_srWizardType = ((SrWizardType_Cslg)m_srWizardType).ToNetApp();
- xenTabPageCslg.SrWizardType = m_srWizardType;
- }
- xenTabPageFilerDetails.IsNetApp = true;
- AddPage(xenTabPageNetApp);
- }
- else if (xenTabPageCslg.DellSelected)
- {
- if (m_srWizardType is SrWizardType_Cslg)
- {
- m_srWizardType = ((SrWizardType_Cslg)m_srWizardType).ToEqualLogic();
- xenTabPageCslg.SrWizardType = m_srWizardType;
- }
- xenTabPageFilerDetails.IsNetApp = false;
- AddPage(xentabPageEqualLogic);
- }
- }
- }
+ xenTabPageCslgLocation.SelectedStorageAdapter = xenTabPageCslg.SelectedStorageAdapter;
+ xenTabPageCslgSettings.SelectedStorageAdapter = xenTabPageCslg.SelectedStorageAdapter;
+ NotifyNextPagesOfChange(xenTabPageCslgLocation, xenTabPageCslgSettings);
foreach (var entry in xenTabPageCslg.DeviceConfigParts)
m_srWizardType.DeviceConfig[entry.Key] = entry.Value;
- #endregion
}
else if (senderPagetype == typeof(CslgLocation))
{
@@ -857,11 +810,8 @@ namespace XenAdmin.Wizards
return;
}
- if (_srToReattach.type == "cslg" && Helpers.BostonOrGreater(_srToReattach.Connection)
- && xenTabPageCslg.SelectedStorageAdapter != null)
- {
+ if (_srToReattach.type == "cslg" && xenTabPageCslg.SelectedStorageAdapter != null)
NextStep();
- }
}
protected override string WizardPaneHelpID()
diff --git a/XenAdmin/Wizards/NewSRWizard_Pages/Frontends/CSLG.cs b/XenAdmin/Wizards/NewSRWizard_Pages/Frontends/CSLG.cs
index fc1e68846..63f08b1b8 100644
--- a/XenAdmin/Wizards/NewSRWizard_Pages/Frontends/CSLG.cs
+++ b/XenAdmin/Wizards/NewSRWizard_Pages/Frontends/CSLG.cs
@@ -99,28 +99,9 @@ namespace XenAdmin.Wizards.NewSRWizard_Pages.Frontends
get
{
var dconf = new Dictionary();
-
- if (Helpers.BostonOrGreater(Connection))
- {
- var adapter = comboBoxStorageSystem.SelectedItem as StorageLinkAdapterBoston;
- if (adapter != null)
- dconf[ADAPTER_ID] = adapter.Id;
- }
- else
- {
- var system = comboBoxStorageSystem.SelectedItem as CslgSystemStorage;
- if (system != null)
- dconf[STORAGE_SYSTEM_ID] = system.StorageSystemId;
-
- StorageLinkCredentials credentials = GetStorageLinkCredentials(Connection);
- if (credentials != null)
- {
- dconf["target"] = credentials.Host;
- dconf["username"] = credentials.Username;
- dconf["password"] = credentials.Password;
- }
- }
-
+ var adapter = comboBoxStorageSystem.SelectedItem as StorageLinkAdapterBoston;
+ if (adapter != null)
+ dconf[ADAPTER_ID] = adapter.Id;
return dconf;
}
}
@@ -140,7 +121,7 @@ namespace XenAdmin.Wizards.NewSRWizard_Pages.Frontends
{
var credsList = new List();
- foreach (IXenConnection c in ConnectionsManager.XenConnectionsCopy.FindAll(c => c.IsConnected && Helpers.MidnightRideOrGreater(c) && !Helpers.FeatureForbidden(c, Host.RestrictStorageChoices)))
+ foreach (IXenConnection c in ConnectionsManager.XenConnectionsCopy.FindAll(c => c.IsConnected && !Helpers.FeatureForbidden(c, Host.RestrictStorageChoices)))
{
var p = Helpers.GetPoolOfOne(c);
credsList.Add(p.GetStorageLinkCredentials());
@@ -150,53 +131,6 @@ namespace XenAdmin.Wizards.NewSRWizard_Pages.Frontends
return credsList;
}
- private StorageLinkCredentials GetStorageLinkCredentials(IXenConnection connection)
- {
- if (Helpers.BostonOrGreater(connection))
- return null;
-
- if (_storageLinkObject != null)
- {
- return GetAllValidStorageLinkCreds().Find(c =>
- c.Host == _storageLinkObject.StorageLinkConnection.Host &&
- c.Username == _storageLinkObject.StorageLinkConnection.Username &&
- c.Password == _storageLinkObject.StorageLinkConnection.Password);
- }
- else
- {
- // just do a check that local creds have been correctly moved the server pool object.
- Settings.CslgCredentials localCreds = Settings.GetCslgCredentials(connection);
- Debug.Assert(localCreds == null || string.IsNullOrEmpty(localCreds.Host));
-
- Pool pool = Helpers.GetPoolOfOne(connection);
-
- if (pool != null)
- {
- StorageLinkCredentials creds = pool.GetStorageLinkCredentials();
-
- if (creds != null && creds.IsValid)
- {
- return creds;
- }
- else
- {
- // if there aren't any creds then try importing from another pool. The user will probably only
- // have one set of CSLG creds and they just haven't set the creds to this pool yet. Do it for them.
-
- var credsList = GetAllValidStorageLinkCreds();
-
- if (credsList.Count > 0 && !Helpers.BostonOrGreater(Connection))
- {
- var action = new SetCslgCredentialsToPoolAction(pool.Connection, credsList[0].Host, credsList[0].Username, credsList[0].Password);
- new ActionProgressDialog(action, ProgressBarStyle.Marquee).ShowDialog(this);
- return pool.GetStorageLinkCredentials();
- }
- }
- }
- return null;
- }
- }
-
public void SetStorageLinkObject(IStorageLinkObject storageLinkObject)
{
_storageLinkObject = storageLinkObject;
@@ -209,74 +143,37 @@ namespace XenAdmin.Wizards.NewSRWizard_Pages.Frontends
public bool PerformStorageSystemScan()
{
var items = new List
カスタム フィールドあり
-
+
高可用性プラン
-
+
このプールの VM の再起動優先度、再起動順序、および起動間隔の設定
-
+
このプールの VM の再起動優先度の設定
diff --git a/XenModel/Messages.resx b/XenModel/Messages.resx
index 10eb9c85d..ba49bab29 100755
--- a/XenModel/Messages.resx
+++ b/XenModel/Messages.resx
@@ -1241,9 +1241,6 @@ To use this file, visit https://{0}.
Add custom field '{0}'
-
- Add...
-
You are attempting to add the server '{0}' to a pool that is configured to use AD authentication. All pool members must use the same authentication method.
@@ -5497,28 +5494,12 @@ Click Configure HA to enable HA for this pool and allow your virtual machines to
Has any custom field
-
+
HA Plan
-
+
Configure the HA restart priority, restart order and delay interval for the VMs in this pool
-
- Configure the HA restart priority for the VMs in this pool
-
-
- Heartbeat SR: {0}
-
-Failure tolerance: {1}
-
-Restart First: {2}
-
-Restart: {3}
-
-Restart if possible: {4}
-
-Do not restart: {5}
-
Heartbeat SR: {0}
diff --git a/XenModel/Messages.zh-CN.resx b/XenModel/Messages.zh-CN.resx
index e71139103..c1c6e2bf4 100644
--- a/XenModel/Messages.zh-CN.resx
+++ b/XenModel/Messages.zh-CN.resx
@@ -5186,13 +5186,13 @@ XenServer 可以重新启动服务器并将服务器的 CPU 级别降至池中
带有任何自定义字段
-
+
高可用性计划
-
+
为该池中的 VM 配置高可用性重启优先级、重启顺序和延迟间隔
-
+
为该池中的 VM 配置高可用性重启优先级
diff --git a/XenModel/Network/XenConnection.cs b/XenModel/Network/XenConnection.cs
index dc3e52db8..9e278cc74 100644
--- a/XenModel/Network/XenConnection.cs
+++ b/XenModel/Network/XenConnection.cs
@@ -1229,18 +1229,12 @@ namespace XenAdmin.Network
// Save the session so we can log it out later
task.Session = session;
- if (session.APIVersion <= API_Version.API_1_2)
+ if (session.APIVersion <= API_Version.API_1_8)
throw new ServerNotSupported();
// Event.next uses a different session with a shorter timeout: see CA-33145.
- // Although Orlando hosts don't: see CA-40952.
- Session eventNextSession =
- session.APIVersion >= API_Version.API_1_6 ? // Helpers.GeorgeOrGreater, except we can't use that because the cache isn't populated before we fire the first Event.next.
- DuplicateSession(EVENT_NEXT_TIMEOUT) :
- session;
-
- if (session.APIVersion >= API_Version.API_1_6)
- eventNextSession.ConnectionGroupName = eventNextConnectionGroupName; // this will force the eventNextSession onto its own set of TCP streams (see CA-108676)
+ Session eventNextSession = DuplicateSession(EVENT_NEXT_TIMEOUT);
+ eventNextSession.ConnectionGroupName = eventNextConnectionGroupName; // this will force the eventNextSession onto its own set of TCP streams (see CA-108676)
bool legacyEventSystem = XenObjectDownloader.LegacyEventSystem(session);
diff --git a/XenModel/PoolJoinRules.cs b/XenModel/PoolJoinRules.cs
index 0081de518..8bc058b77 100644
--- a/XenModel/PoolJoinRules.cs
+++ b/XenModel/PoolJoinRules.cs
@@ -408,13 +408,12 @@ namespace XenAdmin.Core
if (Helpers.ClearwaterOrGreater(slave) && Helpers.ClearwaterOrGreater(master))
return slave.IsFreeLicense() && !master.IsFreeLicense() && !allowLicenseUpgrade;
- if (slave.IsFloodgateOrLater() && master.IsFloodgateOrLater() &&
- Host.RestrictHAFloodgate(slave) && !Host.RestrictHAFloodgate(master))
+ if (Host.RestrictHA(slave) && !Host.RestrictHA(master))
{
// See http://scale.ad.xensource.com/confluence/display/engp/v6+licensing+for+XenServer+Essentials, req R21a.
// That section implies that we should downgrade a paid host to join a free pool, but that can't be the intention
// (confirmed by Carl Fischer). Carl's also not concerned about fixing up Enterprise/Platinum mismatches.
- if (allowLicenseUpgrade && Helpers.MidnightRideOrGreater(master))
+ if (allowLicenseUpgrade)
return false;
return true;
}
@@ -430,20 +429,15 @@ namespace XenAdmin.Core
if (Helpers.ClearwaterOrGreater(slave) && Helpers.ClearwaterOrGreater(master))
return !slave.IsFreeLicense() && master.IsFreeLicense();
- return (slave.IsFloodgateOrLater() && master.IsFloodgateOrLater() &&
- !Host.RestrictHAFloodgate(slave) && Host.RestrictHAFloodgate(master));
+ return (!Host.RestrictHA(slave) && Host.RestrictHA(master));
}
private static bool LicenseMismatch(Host slave, Host master)
{
- if (Helpers.MidnightRideOrGreater(slave) && Helpers.MidnightRideOrGreater(master))
- {
- Host.Edition slaveEdition = Host.GetEdition(slave.edition);
- Host.Edition masterEdition = Host.GetEdition(master.edition);
+ Host.Edition slaveEdition = Host.GetEdition(slave.edition);
+ Host.Edition masterEdition = Host.GetEdition(master.edition);
- return slaveEdition != Host.Edition.Free && masterEdition != Host.Edition.Free && slaveEdition != masterEdition;
- }
- return false;
+ return slaveEdition != Host.Edition.Free && masterEdition != Host.Edition.Free && slaveEdition != masterEdition;
}
private static bool HaEnabled(IXenConnection connection)
@@ -454,9 +448,7 @@ namespace XenAdmin.Core
private static bool RoleOK(IXenConnection connection)
{
- return
- !Helpers.MidnightRideOrGreater(connection) ||
- Role.CanPerform(new RbacMethodList("pool.join"), connection);
+ return Role.CanPerform(new RbacMethodList("pool.join"), connection);
}
private static bool DifferentNetworkBackends(Host slave, Host master)
diff --git a/XenModel/ServerDBs/DbProxy.cs b/XenModel/ServerDBs/DbProxy.cs
index c74666e14..58c9ae826 100644
--- a/XenModel/ServerDBs/DbProxy.cs
+++ b/XenModel/ServerDBs/DbProxy.cs
@@ -680,21 +680,6 @@ namespace XenAdmin.ServerDBs
break;
}
}
-
- if (version == "george")
- {
- if (!Helpers.GeorgeOrGreater(connection))
- {
- throw new NotSupportedException("Server needs to be George or greater for this call.");
- }
- }
- else if (version == "mnr")
- {
- if (!Helpers.MidnightRideOrGreater(connection))
- {
- throw new NotSupportedException("Server needs to be Midnight Ride or greater for this call.");
- }
- }
}
public string CreateOpaqueRef()
diff --git a/XenModel/ServerDBs/FakeAPI/fakeXenObject.cs b/XenModel/ServerDBs/FakeAPI/fakeXenObject.cs
index 69b750ed5..650e983e2 100644
--- a/XenModel/ServerDBs/FakeAPI/fakeXenObject.cs
+++ b/XenModel/ServerDBs/FakeAPI/fakeXenObject.cs
@@ -100,7 +100,7 @@ namespace XenAdmin.ServerDBs.FakeAPI
protected void ThrowIfReadOnly()
{
- if (Helpers.MidnightRideOrGreater(proxy.connection) && !proxy.IsSuperUser)
+ if (!proxy.IsSuperUser)
{
throw new Failure("read only");
}
diff --git a/XenModel/Utils/Helpers.cs b/XenModel/Utils/Helpers.cs
index 73a174182..083e55794 100755
--- a/XenModel/Utils/Helpers.cs
+++ b/XenModel/Utils/Helpers.cs
@@ -333,66 +333,6 @@ namespace XenAdmin.Core
return false;
}
- /// May be null, in which case true is returned.
- public static bool GeorgeOrGreater(Host host)
- {
- return
- TampaOrGreater(host) || // CP-2480
- Helpers.productVersionCompare(Helpers.HostProductVersion(host), "5.1.0") >= 0 ||
- Helpers.HostBuildNumber(host) == CUSTOM_BUILD_NUMBER;
- }
-
- /// May be null, in which case true is returned.
- public static bool GeorgeOrGreater(IXenConnection conn)
- {
- return conn == null ? true : GeorgeOrGreater(Helpers.GetMaster(conn));
- }
-
- /// May be null, in which case true is returned.
- public static bool MidnightRideOrGreater(Host host)
- {
- return
- TampaOrGreater(host) || // CP-2480
- Helpers.productVersionCompare(Helpers.HostProductVersion(host), "5.5.900") >= 0 ||
- Helpers.HostBuildNumber(host) == CUSTOM_BUILD_NUMBER;
- }
-
- /// May be null, in which case true is returned.
- public static bool MidnightRideOrGreater(IXenConnection conn)
- {
- return conn == null ? true : MidnightRideOrGreater(Helpers.GetMaster(conn));
- }
-
- /// May be null, in which case true is returned.
- public static bool CowleyOrGreater(IXenConnection conn)
- {
- return conn == null ? true : CowleyOrGreater(Helpers.GetMaster(conn));
- }
-
- /// May be null, in which case true is returned.
- public static bool CowleyOrGreater(Host host)
- {
- return
- TampaOrGreater(host) || // CP-2480
- Helpers.productVersionCompare(Helpers.HostProductVersion(host), "5.6.1") >= 0 ||
- Helpers.HostBuildNumber(host) == CUSTOM_BUILD_NUMBER;
- }
-
- /// May be null, in which case true is returned.
- public static bool BostonOrGreater(IXenConnection conn)
- {
- return conn == null ? true : BostonOrGreater(Helpers.GetMaster(conn));
- }
-
- /// May be null, in which case true is returned.
- public static bool BostonOrGreater(Host host)
- {
- return
- TampaOrGreater(host) || // CP-2480
- Helpers.productVersionCompare(Helpers.HostProductVersion(host), "5.6.199") >= 0 ||
- Helpers.HostBuildNumber(host) == CUSTOM_BUILD_NUMBER;
- }
-
/// May be null, in which case true is returned.
public static bool TampaOrGreater(IXenConnection conn)
{
@@ -1031,21 +971,11 @@ namespace XenAdmin.Core
public static string GetFriendlyLicenseName(Host host)
{
- if (MidnightRideOrGreater(host))
- {
- if (string.IsNullOrEmpty(host.edition))
- return Messages.UNKNOWN;
+ if (string.IsNullOrEmpty(host.edition))
+ return Messages.UNKNOWN;
- string name = PropertyManager.GetFriendlyName("Label-host.edition-" + host.edition);
- return name ?? Messages.UNKNOWN;
- }
-
- if (host.license_params.ContainsKey("sku_type"))
- {
- string fmt = host.IsFloodgateOrLater() ? "Label-host.sku_type-FG-{0}" : "Label-host.sku_type-{0}";
- return PropertyManager.GetFriendlyName(string.Format(fmt, host.license_params["sku_type"].Replace(" ", "_").ToLowerInvariant()));
- }
- return Messages.UNKNOWN;
+ string name = PropertyManager.GetFriendlyName("Label-host.edition-" + host.edition);
+ return name ?? Messages.UNKNOWN;
}
///
@@ -2025,11 +1955,6 @@ namespace XenAdmin.Core
return ans.ToString();
}
- public static bool HaIgnoreStartupOptions(IXenConnection connection)
- {
- return !Helpers.BostonOrGreater(connection);
- }
-
///
/// Does the connection support Link aggregation (LACP) bonds (i.e., is Tampa or later on the vSwitch backend)?
///
diff --git a/XenModel/XenAPI-Extensions/Host.cs b/XenModel/XenAPI-Extensions/Host.cs
index 29a6feb31..1b42a9dd7 100644
--- a/XenModel/XenAPI-Extensions/Host.cs
+++ b/XenModel/XenAPI-Extensions/Host.cs
@@ -336,19 +336,9 @@ namespace XenAPI
get { return BoolKeyPreferTrue(license_params, "restrict_pool_attached_storage"); }
}
- public bool IsFloodgateOrLater()
- {
- return (XenCenterMax >= (int)API_Version.API_1_5);
- }
-
public virtual bool IsFreeLicense()
{
- if (Helpers.MidnightRideOrGreater(this))
- {
- return edition == "free";
- }
-
- return license_params.ContainsKey("sku_type") && license_params["sku_type"].Replace(" ", "_").ToLowerInvariant().EndsWith("xe_express");
+ return edition == "free";
}
private bool _RestrictHA
@@ -356,22 +346,9 @@ namespace XenAPI
get { return !BoolKey(license_params, "enable_xha"); }
}
- public bool RestrictHA
+ public static bool RestrictHA(Host h)
{
- get { return _RestrictHA; }
- }
-
- public bool RestrictHAOrlando
- {
- get { return _RestrictHA && !IsFloodgateOrLater(); }
- }
- private bool _RestrictHAFloodgate
- {
- get { return _RestrictHA && IsFloodgateOrLater(); }
- }
- public static bool RestrictHAFloodgate(Host h)
- {
- return h._RestrictHAFloodgate;
+ return h._RestrictHA;
}
private bool _RestrictAlerts
@@ -766,10 +743,7 @@ namespace XenAPI
{
get
{
- if (Helpers.MidnightRideOrGreater(this))
- return software_version.ContainsKey("xs:linux");
- else
- return Get(software_version, "package-linux") == "installed";
+ return software_version.ContainsKey("xs:linux");
}
}
@@ -1079,8 +1053,8 @@ namespace XenAPI
}
///
- /// The amount of memory free on the host. For George and earlier hosts, we simply use
- /// the obvious Host_metrics.memory_free. For Midnight Ride and later, however, we use
+ /// The amount of memory free on the host. For George and earlier hosts, we use to use
+ /// the obvious Host_metrics.memory_free. Since Midnight Ride, however, we use
/// the same calculation as xapi, adding the used memory and the virtualisation overheads
/// on each of the VMs. This is a more conservative estimate (i.e., it reports less memory
/// free), but it's the one we need to make the memory go down to zero when ballooning
@@ -1094,9 +1068,6 @@ namespace XenAPI
if (host_metrics == null)
return 0;
- if (!Helpers.MidnightRideOrGreater(Connection))
- return host_metrics.memory_free;
-
long used = memory_overhead;
foreach (VM vm in Connection.ResolveAll(resident_VMs))
{
@@ -1178,20 +1149,6 @@ namespace XenAPI
{
get
{
- if (!Helpers.MidnightRideOrGreater(Connection))
- {
- Host_metrics host_metrics = Connection.Resolve(this.metrics);
- if (host_metrics == null)
- return 0;
- long totalused = 0;
- foreach (VM vm in Connection.ResolveAll(resident_VMs))
- {
- VM_metrics vmMetrics = vm.Connection.Resolve(vm.metrics);
- if (vmMetrics != null)
- totalused += vmMetrics.memory_actual;
- }
- return host_metrics.memory_total - totalused - host_metrics.memory_free;
- }
long xen_mem = memory_overhead;
foreach (VM vm in Connection.ResolveAll(resident_VMs))
{
diff --git a/XenModel/XenAPI-Extensions/Network.cs b/XenModel/XenAPI-Extensions/Network.cs
index 68e0ed0a3..5dc071709 100644
--- a/XenModel/XenAPI-Extensions/Network.cs
+++ b/XenModel/XenAPI-Extensions/Network.cs
@@ -280,7 +280,6 @@ namespace XenAPI
///
/// Do not use for new networks, perform checks by hand:
/// No jumbo frames on CHINs
- /// No jumbo frames pre Cowley
///
public bool CanUseJumboFrames
{
@@ -289,9 +288,6 @@ namespace XenAPI
if (Connection == null)
return false;
- if (!Helpers.CowleyOrGreater(Connection))
- return false;
-
// not supported on CHINs
if (Connection.ResolveAll(PIFs).Find(delegate(PIF p) { return p.IsTunnelAccessPIF; }) != null)
return false;
diff --git a/XenModel/XenAPI-Extensions/PBD.cs b/XenModel/XenAPI-Extensions/PBD.cs
index 20a5a1ccf..f2c109014 100644
--- a/XenModel/XenAPI-Extensions/PBD.cs
+++ b/XenModel/XenAPI-Extensions/PBD.cs
@@ -251,7 +251,7 @@ namespace XenAPI
SR sr = Connection.Resolve(SR);
- if (sr != null && sr.type == "cslg" && Helpers.MidnightRideOrGreater(sr.Connection))
+ if (sr != null && sr.type == "cslg")
{
string host, username, passwordSecret;
diff --git a/XenModel/XenAPI-Extensions/PIF.cs b/XenModel/XenAPI-Extensions/PIF.cs
index a89db4fce..19174a37f 100644
--- a/XenModel/XenAPI-Extensions/PIF.cs
+++ b/XenModel/XenAPI-Extensions/PIF.cs
@@ -199,10 +199,7 @@ namespace XenAPI
if (management)
return false;
- bool criterion =
- Helpers.BostonOrGreater(Connection) ?
- (ip_configuration_mode != ip_configuration_mode.None && ip_configuration_mode != ip_configuration_mode.unknown) :
- disallow_unplug;
+ bool criterion = (ip_configuration_mode != ip_configuration_mode.None && ip_configuration_mode != ip_configuration_mode.unknown);
if (!criterion)
return false;
diff --git a/XenModel/XenAPI-Extensions/Pool.cs b/XenModel/XenAPI-Extensions/Pool.cs
index 6fc76cfa9..e117fcd93 100644
--- a/XenModel/XenAPI-Extensions/Pool.cs
+++ b/XenModel/XenAPI-Extensions/Pool.cs
@@ -113,60 +113,18 @@ namespace XenAPI
{
get
{
- if (Helpers.MidnightRideOrGreater(Connection))
+ var hosts = new List(Connection.Cache.Hosts);
+ foreach (Host.Edition edition in Enum.GetValues(typeof(Host.Edition)))
{
- var hosts = new List(Connection.Cache.Hosts);
- foreach (Host.Edition edition in Enum.GetValues(typeof(Host.Edition)))
- {
- Host.Edition edition1 = edition;
- Host host = hosts.Find(h => h.edition == Host.GetEditionText(edition1));
+ Host.Edition edition1 = edition;
+ Host host = hosts.Find(h => h.edition == Host.GetEditionText(edition1));
- if (host != null)
- {
- return Helpers.GetFriendlyLicenseName(host);
- }
- }
- return PropertyManager.GetFriendlyName("Label-host.edition-free");
- }
- else
- {
- Host lowestLicenseHost = null;
- string lowestLicense = "";
- foreach (Host host in this.Connection.Cache.Hosts)
+ if (host != null)
{
- string sku = host.license_params.ContainsKey("sku_type") ? host.license_params["sku_type"].Replace(" ", "_").ToLowerInvariant() : "xe_express";
-
- //Express
- if (sku.EndsWith("xe_express"))
- {
- lowestLicenseHost = host;
- lowestLicense = sku;
- break;
- }
-
- // Server
- if (sku.EndsWith("xe_server") && lowestLicense.EndsWith("xe_enterprise"))
- {
- lowestLicenseHost = host;
- lowestLicense = sku;
- }
-
- // Enterprise
- if (lowestLicense == "")
- {
- lowestLicenseHost = host;
- lowestLicense = sku;
- }
- }
- if (lowestLicense.EndsWith("xe_express"))
- {
- return PropertyManager.GetFriendlyName("Label-host.sku_type-FG-xe_express");
- }
- else
- {
- return Helpers.GetFriendlyLicenseName(lowestLicenseHost);
+ return Helpers.GetFriendlyLicenseName(host);
}
}
+ return PropertyManager.GetFriendlyName("Label-host.edition-free");
}
}
///
@@ -301,16 +259,6 @@ namespace XenAPI
public StorageLinkCredentials GetStorageLinkCredentials()
{
- if (other_config != null && Helpers.MidnightRideOrGreater(Connection) && !Helpers.BostonOrGreater(Connection))
- {
- var otherConfig = new Dictionary(other_config);
- string host, user, passwordSecret;
- otherConfig.TryGetValue("storagelink_host", out host);
- otherConfig.TryGetValue("storagelink_user", out user);
- otherConfig.TryGetValue("storagelink_password_secret", out passwordSecret);
-
- return new StorageLinkCredentials(Connection, host, user, null, passwordSecret);
- }
return null;
}
@@ -325,8 +273,7 @@ namespace XenAPI
foreach (Host h in Connection.Cache.Hosts)
{
- if (!Helpers.CowleyOrGreater(h) ||
- Host.RestrictVSwitchController(h) ||
+ if (Host.RestrictVSwitchController(h) ||
!h.software_version.ContainsKey("network_backend") ||
h.software_version["network_backend"] != "openvswitch")
{
diff --git a/XenModel/XenAPI-Extensions/Role.cs b/XenModel/XenAPI-Extensions/Role.cs
index f483e30eb..430e8ccd6 100644
--- a/XenModel/XenAPI-Extensions/Role.cs
+++ b/XenModel/XenAPI-Extensions/Role.cs
@@ -231,16 +231,13 @@ namespace XenAPI
else
validRoleList = ValidRoleList(apiMethodsToRoleCheck, connection, debug);
- if (Helpers.MidnightRideOrGreater(connection))
- {
- if (connection.Session != null && connection.Session.IsLocalSuperuser)
- return true;
+ if (connection.Session != null && connection.Session.IsLocalSuperuser)
+ return true;
- foreach (Role role in validRoleList)
- {
- if (connection.Session != null && connection.Session.Roles != null && connection.Session.Roles.Contains(role))
- return true;
- }
+ foreach (Role role in validRoleList)
+ {
+ if (connection.Session != null && connection.Session.Roles != null && connection.Session.Roles.Contains(role))
+ return true;
}
return false;
}
diff --git a/XenModel/XenAPI-Extensions/SR.cs b/XenModel/XenAPI-Extensions/SR.cs
index 98d2404ec..e542aeb95 100644
--- a/XenModel/XenAPI-Extensions/SR.cs
+++ b/XenModel/XenAPI-Extensions/SR.cs
@@ -425,7 +425,7 @@ namespace XenAPI
return true;
//CP-2458: hide SRs that were introduced by a DR_task
- if (Helpers.BostonOrGreater(Connection) && introduced_by != null && introduced_by.opaque_ref != Helper.NullOpaqueRef)
+ if (introduced_by != null && introduced_by.opaque_ref != Helper.NullOpaqueRef)
return false;
return !IsHidden;
@@ -452,9 +452,6 @@ namespace XenAPI
type == SRTypes.lvmoiscsi))
return false;
- if (!Helpers.GeorgeOrGreater(Connection))
- return false;
-
return !BoolKey(sm_config, USE_VHD);
}
}
diff --git a/XenModel/XenAPI-Extensions/Session.cs b/XenModel/XenAPI-Extensions/Session.cs
index d4aa5d0cf..50cfc0114 100644
--- a/XenModel/XenAPI-Extensions/Session.cs
+++ b/XenModel/XenAPI-Extensions/Session.cs
@@ -229,10 +229,6 @@ namespace XenAPI
if (IsLocalSuperuser || XenAdmin.Core.Helpers.GetMaster(Connection).external_auth_type != Auth.AUTH_TYPE_AD)
return Messages.AD_LOCAL_ROOT_ACCOUNT;
- // AD users pre midnight ride are all pool admins
- if (!Helpers.MidnightRideOrGreater(Connection))
- return Messages.AD_ROLE_POOL_ADMIN;
-
return Role.FriendlyCSVRoleList(Roles);
}
}
@@ -248,9 +244,6 @@ namespace XenAPI
if (IsLocalSuperuser || XenAdmin.Core.Helpers.GetMaster(Connection).external_auth_type != Auth.AUTH_TYPE_AD)
return Messages.AD_LOCAL_ROOT_ACCOUNT;
- // AD users pre midnight ride are all pool admins
- if (!Helpers.MidnightRideOrGreater(Connection))
- return Messages.AD_ROLE_POOL_ADMIN;
//Sort roles from highest to lowest
roles.Sort((r1, r2) => { return r2.CompareTo(r1); });
//Take the highest role
diff --git a/XenModel/XenAPI-Extensions/VDI.cs b/XenModel/XenAPI-Extensions/VDI.cs
index f3a953a28..9e24cab6c 100644
--- a/XenModel/XenAPI-Extensions/VDI.cs
+++ b/XenModel/XenAPI-Extensions/VDI.cs
@@ -271,11 +271,7 @@ namespace XenAPI
{
get
{
- // The HA types changed in Boston
- if (Helpers.BostonOrGreater(Connection))
- return (type == vdi_type.ha_statefile || type == vdi_type.redo_log);
- else
- return (type == vdi_type.ha_statefile || type == vdi_type.metadata);
+ return (type == vdi_type.ha_statefile || type == vdi_type.redo_log);
}
}
@@ -295,7 +291,7 @@ namespace XenAPI
///
public bool IsMetadataForDR
{
- get { return Helpers.BostonOrGreater(Connection) && type == vdi_type.metadata; }
+ get { return type == vdi_type.metadata; }
}
///
diff --git a/XenModel/XenAPI-Extensions/VM.cs b/XenModel/XenAPI-Extensions/VM.cs
index ed7a96074..842a50c2d 100644
--- a/XenModel/XenAPI-Extensions/VM.cs
+++ b/XenModel/XenAPI-Extensions/VM.cs
@@ -544,6 +544,9 @@ namespace XenAPI
other_config = new_other_config;
}
+ // AutoPowerOn is supposed to be unsupported. However, we advise customers how to
+ // enable it (http://support.citrix.com/article/CTX133910), so XenCenter has to be
+ // able to recognise it, and turn it off during Rolling Pool Upgrade.
public bool AutoPowerOn
{
get
@@ -1215,17 +1218,12 @@ namespace XenAPI
///
/// An enum-ified version of ha_restart_priority: use this one instead.
- /// For pre-Boston VMs: If this VM is running and ha-always-run is false, returns DoNotRestart regardless of the underlying ha_restart_priority.
/// NB setting this property does not change ha-always-run.
///
public HA_Restart_Priority HARestartPriority
{
get
{
- if (this.power_state == vm_power_state.Running && !this.ha_always_run && !Helpers.BostonOrGreater(this.Connection))
- {
- return HA_Restart_Priority.DoNotRestart;
- }
return StringToPriority(this.ha_restart_priority);
}
set
@@ -1285,15 +1283,7 @@ namespace XenAPI
public static List GetAvailableRestartPriorities(IXenConnection connection)
{
var restartPriorities = new List();
- if (connection == null || Helpers.BostonOrGreater(connection))
- {
- restartPriorities.Add(HA_Restart_Priority.Restart);
- }
- else
- {
- restartPriorities.Add(HA_Restart_Priority.AlwaysRestartHighPriority);
- restartPriorities.Add(HA_Restart_Priority.AlwaysRestart);
- }
+ restartPriorities.Add(HA_Restart_Priority.Restart);
restartPriorities.Add(HA_Restart_Priority.BestEffort);
restartPriorities.Add(HA_Restart_Priority.DoNotRestart);
return restartPriorities;
@@ -1310,16 +1300,12 @@ namespace XenAPI
public static bool HaPriorityIsRestart(IXenConnection connection, HA_Restart_Priority haRestartPriority)
{
- if (Helpers.BostonOrGreater(connection))
- return haRestartPriority == HA_Restart_Priority.Restart;
- return haRestartPriority == HA_Restart_Priority.AlwaysRestart || haRestartPriority == HA_Restart_Priority.AlwaysRestartHighPriority;
+ return haRestartPriority == HA_Restart_Priority.Restart;
}
public static HA_Restart_Priority HaHighestProtectionAvailable(IXenConnection connection)
{
- if (Helpers.BostonOrGreater(connection))
- return HA_Restart_Priority.Restart;
- return HA_Restart_Priority.AlwaysRestart;
+ return HA_Restart_Priority.Restart;
}
public const string RESTART_PRIORITY_ALWAYS_RESTART_HIGH_PRIORITY = "0"; //only used for Pre-Boston pools
@@ -1381,7 +1367,6 @@ namespace XenAPI
///
/// True if this VM's ha_restart_priority is not "Do not restart" and its pool has ha_enabled true.
- /// For pre-Boston VMs: True if this VM has ha_always_run set and its pool has ha_enabled true.
///
public bool HAIsProtected
{
@@ -1392,37 +1377,17 @@ namespace XenAPI
Pool myPool = Helpers.GetPoolOfOne(Connection);
if (myPool == null)
return false;
- if (Helpers.BostonOrGreater(Connection))
- return myPool.ha_enabled && this.HARestartPriority != HA_Restart_Priority.DoNotRestart;
- return myPool.ha_enabled && this.ha_always_run;
+ return myPool.ha_enabled && this.HARestartPriority != HA_Restart_Priority.DoNotRestart;
}
}
///
- /// Calls set_ha_restart_priority and set_ha_always_run as appropriate.
+ /// Calls set_ha_restart_priority
///
///
public static void SetHaRestartPriority(Session session, VM vm, HA_Restart_Priority priority)
{
- if (priority == HA_Restart_Priority.DoNotRestart)
- {
- // We must avoid the invalid state of ha_always_run==true, ha_restart_priority==DoNotRestart
- if (!Helpers.BostonOrGreater(vm.Connection))
- VM.set_ha_always_run(session, vm.opaque_ref, false);
-
- VM.set_ha_restart_priority(session, vm.opaque_ref, PriorityToString(priority));
- }
- else
- {
- // Set new VM restart priority
- VM.set_ha_restart_priority(session, vm.opaque_ref, PriorityToString(priority));
-
- if (!Helpers.BostonOrGreater(vm.Connection))
- {
- // If VM is running, set ha_always_run to true to activate HA protection
- VM.set_ha_always_run(session, vm.opaque_ref, vm.power_state == vm_power_state.Running);
- }
- }
+ VM.set_ha_restart_priority(session, vm.opaque_ref, PriorityToString(priority));
}
public bool AnyDiskFastClonable
@@ -1588,11 +1553,6 @@ namespace XenAPI
return false;
}
- if (!Helpers.MidnightRideOrGreater(Connection))
- {
- return false;
- }
-
if (bios_strings.Count == 0)
{
return false;
diff --git a/XenModel/XenAPI/Session.cs b/XenModel/XenAPI/Session.cs
index 1f0e55da6..607f74543 100644
--- a/XenModel/XenAPI/Session.cs
+++ b/XenModel/XenAPI/Session.cs
@@ -102,7 +102,6 @@ namespace XenAPI
{
this._uuid = opaque_ref;
SetAPIVersion();
- if (APIVersion >= API_Version.API_1_6)
SetADDetails();
}
@@ -145,9 +144,6 @@ namespace XenAPI
// For example, some users get access to the pool through a group subject and will not be in the main cache
UserDetails.UpdateDetails(_userSid, this);
- if (APIVersion <= API_Version.API_1_6) // Older versions have no RBAC, only AD
- return;
-
// allRoles will contain every role on the server, permissions contains the subset of those that are available to this session.
permissions = Session.get_rbac_permissions(this, uuid);
Dictionary,Role> allRoles = Role.get_all_records(this);
@@ -261,8 +257,7 @@ namespace XenAPI
{
_uuid = proxy.session_login_with_password(username, password, version).parse();
SetAPIVersion();
- if (APIVersion >= API_Version.API_1_6)
- SetADDetails();
+ SetADDetails();
}
catch (Failure exn)
{
@@ -284,8 +279,7 @@ namespace XenAPI
{
_uuid = proxy.session_login_with_password(username, password, version, originator).parse();
SetAPIVersion();
- if (APIVersion >= API_Version.API_1_6)
- SetADDetails();
+ SetADDetails();
}
catch (Failure exn)
{
diff --git a/XenModel/XenAPI/XenObjectDownloader.cs b/XenModel/XenAPI/XenObjectDownloader.cs
index be94369c1..7bcb9bf41 100644
--- a/XenModel/XenAPI/XenObjectDownloader.cs
+++ b/XenModel/XenAPI/XenObjectDownloader.cs
@@ -265,51 +265,22 @@ namespace XenAPI
Download_PBD(session, list);
Download_Crashdump(session, list);
Download_Console(session, list);
-
- if (session.APIVersion >= API_Version.API_1_2)
- {
- // Download Miami-only objects
- Download_Pool_patch(session, list);
- Download_Bond(session, list);
- Download_VLAN(session, list);
- }
-
- if (session.APIVersion >= API_Version.API_1_3)
- {
- // Download Orlando-only objects
- Download_Blob(session, list);
- Download_Message(session, list);
- }
-
- if (session.APIVersion >= API_Version.API_1_6)
- {
- // Download George-only objects
- Download_Subject(session, list);
- }
-
- if (session.APIVersion >= API_Version.API_1_7)
- {
- // Download Midnight Ride-only objects
- Download_Role(session, list);
- }
-
- if (session.APIVersion >= API_Version.API_1_8)
- {
- // Download Cowley-only objects
- Download_VMPP(session, list);
- Download_Tunnel(session, list);
- }
-
- if (session.APIVersion >= API_Version.API_1_9)
- {
- // Download Boston-only objects
- Download_VM_appliance(session, list);
- Download_DR_task(session, list);
- Download_PCI(session, list);
- Download_PGPU(session, list);
- Download_GPU_group(session, list);
- Download_VGPU(session, list);
- }
+ Download_Pool_patch(session, list);
+ Download_Bond(session, list);
+ Download_VLAN(session, list);
+ Download_Blob(session, list);
+ Download_Message(session, list);
+ Download_Subject(session, list);
+ Download_Role(session, list);
+ Download_VMPP(session, list);
+ Download_Tunnel(session, list);
+ Download_VM_appliance(session, list);
+ Download_DR_task(session, list);
+ Download_PCI(session, list);
+ Download_PGPU(session, list);
+ Download_GPU_group(session, list);
+ Download_VGPU(session, list);
+ // NB New types should be protected with if (session.APIVersion >= API_Version.API_x_y)
foreach (ObjectChange o in list)
{
diff --git a/XenOvfTransport/Export.cs b/XenOvfTransport/Export.cs
index e409b2ba1..5d7cb1b7f 100644
--- a/XenOvfTransport/Export.cs
+++ b/XenOvfTransport/Export.cs
@@ -216,8 +216,7 @@ namespace XenOvfTransport
#endregion
#region SET STARTUP OPTIONS
- if (Helpers.BostonOrGreater(xenSession.Connection))
- OVF.AddStartupSection(ovfEnv, true, vsId, vm.order, vm.start_delay, vm.shutdown_delay);
+ OVF.AddStartupSection(ovfEnv, true, vsId, vm.order, vm.start_delay, vm.shutdown_delay);
#endregion
#region GET AND EXPORT DISKS using iSCSI
diff --git a/XenOvfTransport/Import.cs b/XenOvfTransport/Import.cs
index d3aeb77f8..52c374f04 100644
--- a/XenOvfTransport/Import.cs
+++ b/XenOvfTransport/Import.cs
@@ -259,7 +259,7 @@ namespace XenOvfTransport
#region Create appliance
XenRef applRef = null;
- if (Helpers.BostonOrGreater(xenSession.Connection) && ApplianceName != null)
+ if (ApplianceName != null)
{
var vmAppliance = new VM_appliance {name_label = ApplianceName, Connection = xenSession.Connection};
applRef = VM_appliance.create(xenSession, vmAppliance);
@@ -286,29 +286,26 @@ namespace XenOvfTransport
log.DebugFormat("OVF.Import.Process: DefineSystem completed ({0})", VM.get_name_label(xenSession, vmRef));
#region Set appliance
- if (Helpers.BostonOrGreater(xenSession.Connection))
+ if (applRef != null)
+ VM.set_appliance(xenSession, vmRef.opaque_ref, applRef.opaque_ref);
+
+ if (ovfObj.Sections != null)
{
- if (applRef != null)
- VM.set_appliance(xenSession, vmRef.opaque_ref, applRef.opaque_ref);
-
- if (ovfObj.Sections != null)
+ StartupSection_Type[] startUpArray = OVF.FindSections(ovfObj.Sections);
+ if (startUpArray != null && startUpArray.Length > 0)
{
- StartupSection_Type[] startUpArray = OVF.FindSections(ovfObj.Sections);
- if (startUpArray != null && startUpArray.Length > 0)
+ var startupSection = startUpArray[0];
+ var itemList = startupSection.Item;
+
+ if (itemList != null)
{
- var startupSection = startUpArray[0];
- var itemList = startupSection.Item;
+ var item = itemList.FirstOrDefault(it => it.id == vSystem.id);
- if (itemList != null)
+ if (item != null)
{
- var item = itemList.FirstOrDefault(it => it.id == vSystem.id);
-
- if (item != null)
- {
- VM.set_start_delay(xenSession, vmRef.opaque_ref, item.startDelay);
- VM.set_shutdown_delay(xenSession, vmRef.opaque_ref, item.stopDelay);
- VM.set_order(xenSession, vmRef.opaque_ref, item.order);
- }
+ VM.set_start_delay(xenSession, vmRef.opaque_ref, item.startDelay);
+ VM.set_shutdown_delay(xenSession, vmRef.opaque_ref, item.stopDelay);
+ VM.set_order(xenSession, vmRef.opaque_ref, item.order);
}
}
}
@@ -1216,17 +1213,6 @@ namespace XenOvfTransport
table.Add("actions_after_reboot", "restart");
table.Add("actions_after_crash", "restart");
- //place imported appliance in folder only for versions earlier than Boston
- if (!Helpers.BostonOrGreater(xenSession.Connection) && ApplianceName != null && Properties.Settings.Default.CreateApplianceFolder)
- {
- Hashtable otherconfig = new Hashtable();
- string parent_folder = Properties.Settings.Default.ApplianceFolderPath;
- if (string.IsNullOrEmpty(parent_folder))
- parent_folder = Messages.APPLIANCE_FOLDER_PATH;
- otherconfig.Add("folder", string.Format("/{0}/{1}", parent_folder, ApplianceName));
- table.Add("other_config", otherconfig);
- }
-
double hvmshadowmultiplier = 1.0;
table.Add("HVM_shadow_multiplier", hvmshadowmultiplier);
table.Add("ha_always_run", false);