- CP-34862: Do not allow nomination of new master if a pool secret rotation or
other pool operations are in progress.
- CA-292642: Fixed button enablement after resolving VM problem.
- CA-284126: Added button to rescan running VMs on the server.
- Removed annoying, focus stealing, modal action progress dialog. When scanning
for VMs show a spinner on the control instead.
- Fixed crash when the host combobox was updated due to cache changes.
- Logging in an elevated session was happening on the UI thread.
- Show the role elevation dialog before launching the host evacuation dialog or
we end up with showing the user an unpopulated control.
- Stop deriving from animated progress dialog because it makes it difficult to
get the resizing right when adding more controls.
- Stop using the progress bar for the VM solution actions; rely simply on the
action's description and the VM's icon in the gridView.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
- Use CommandButtons on the HA TabPage for configuring/disabling HA.
- Added menu item to disable HA.
- There is no point in hiding the buttons on the HA TabPage when the corresponding
menu items are available. They should rather offer the same user experience.
- Added RBAC page to the HaWizard to avoid unnecessary SR scanning only to be told
that one cannot proceed.
- Show RBAC error dialog if the user does not have permission to launch the
EditVmPriorities dialog.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
- Disabled button tooltips did not disappear when the DataGridView selection was cleared.
- The disabled Activate/Deactivate button had no tooltip for template disks.
- Minor improvement to the tooltip of the Delete button.
- The Add button was using the enablement logic of the AttachVirtualDiskCommand.
- Use CommandButtons to avoid logic duplication.
- Hide the CommandButton.Command from the designer as it's mostly assigned programmatically.
- Increased the minimum width of the non-autosizable columns so they remain visible.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
* Replaced LicenseWarningDialog with a simple WarningDialog.
* Replaced VcpuWarningDialog with a simple WarningDialog.
* Replaced RemoveCrashdumpsWarningDialog with a simple WarningDialog.
* Replaced UsbUsageDialog with a simple WarningDialog.
* Replaced WlbDeleteReportSubscriptionDialog with a simple WarningDialog. Added null checks to event invocation.
* Replaced DisableWlbDialog with a simple Warning dialog.
* Replaced ConnectionRefusedDialog with a simple Error dialog.
* Replaced UserDeviceDialog with a simple Warning dialog.
* Replaced RevertDialog with a simple Warning dialog.
* Removed unused dialogs.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
Removed unnecessary abstractions. Replaced named delegates with anonymous ones.
Use pattern matching and avoid multiple casts. Be consistent in the properties
we check.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
Also, merged the methods calculating the virtualisation status and its friendly
string so as to simplify the logic.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
Replace with help links where necessary or convenient. Also:
- Registered unused event.
- Minor refactoring to: make the InstallToolsCommand.CanExecute clearer; use
local methods.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
- Set owner form for some connection commands to ensure that the application
will exit if the user attempts to close the main window while a connection
dialog is visible.
- Do not iterate through all the VMs of the connection in order to close
potentially open VM dialogs.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
Also, corrected the RBAC permission check after stopping using the conversion plugin.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
- make the info messages icon+text instead of clickable icons. Some rearrangements of the controls on the dialog to accommodate them.
- in the "Assign To Snapshot Schedule" dropdown item, do not add a separator if there are no suitable policies listed.
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
* CP-30958: Initial implementation of the Conversion Manager in XenCenter.
* Corrections following review and improvements.
* Further corrections and improvements.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
- Add item "Remove From Pool" to the main Server menu; it should be enabled
if the selected servers are removable and disabled at all other times.
The item should be present in the server's right click menu only if it is enabled.
- Replaced the above item in the Pool menu with the dropdown "Remove Server"
where the user can select the server to remove from the list of removable
servers.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
In the CrossPoolMigrateCanMigrateFilter a WebException can be raised if the host cannot be reached to execute the API call that asserts is the VM can be migrated there. With these changes, we catch any exception (not just Failure) and mark the VM as not migratable (because we couldn't assert if it can be migrated to that host).
Also fixed other places where the same error might occur.
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
* Refactored the VIFDialog to fix various problems:
- Launch the dialog in using blocks.
- Event GotFocus is not meant to be handled directly in the code.
- Populate the dialog in the OnLoad override instead of the constructor
as this causes problems at design time.
- Popping up an error message for duplicate MAC on combobox item
selection or textbox text change is not optimal UX. Perform this
check once when closing the form. Additionally the parent form of the
pop up should be the dialog, not the main window.
- The validation messages are not obvious to the user because they are
hidden in the tooltip of a disabled button. Show them inline instead.
- There is no need to create commands for VIF creation/change; use
the relevant actions instead.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
* Corrections as per code review plus some more code tidy and refactoring.
- Added option to suppress Create/DeleteVIFActions
- Use property RebootRequired to indicate hot-plugging is unavailable
(assigning various objects of different types to the Result of the action
during its run may cause confusion).
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
Made command parameterless constructors public; made browsable events public;
replaced manually written with auto-generated code.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
and removed static method creating the dialog from XenObject; the constructor
can be used for this purpose if the command's CantExecuteReasons are keyed
on IXenObjet instead of SelectedItem.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
- if a VM can migrate inside a pool, then we will allow it in the wizard, even if storage migration is not allowed
- If it is a intra-pool migration (without moving the disks), then use the VM migrate action (which does a VM.pool_migrate), not the cross pool migrate action.
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
closed on double-clicking on the node expanded icon. Some improvement in the
use of the folder name prompt dialog.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
- Corrected folder selection; reduced clicks required to select folders;
improved text; added delete button.
- Moved FolderChangeDialogTreeView to the same folder as the other TreeViews;
- Added missing null checks to the MutliSelectTreeView and hid properties
HScrollPos and VScrollPos from VS's designer (the former was initialised
to zero every time the designer was updated, causing the treeview images
to disappear).
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
* CA-172658: Descriptive error message when failing to suspend a VM f om XenCenter.
Checking if a VM has a pass-through GPU or a vGPU assigned and showing the reason in dialog and tooltip.
Signed-off-by: Aaron Robson <aaron.robson@citrix.com>
* CA-293814: If there are no VMs running, entering Maintenance Mode without showing Dialog.
* CA-293814: Refreshing the view after shortcutting entering the mainenance view (no running VMs so no window shown) in the same way as the rest of the updates are managed.
Please see: https://github.com/xenserver/xenadmin/pull/2264
Signed-off-by: Aaron Robson <aaron.robson@citrix.com>
This PR is aimimg to (1) fix a regression introduced by #2223 whereby the toolbar items did not have the correct state on first launch; (2) improve performance by removing some updates which I believe are not needed.
* Removed some duplicate calls to RefershTreeView and UpdateToolbars because
they are called within the action's Complete event handler.
Also, normalise the way the treeview refresh is requested by the various actions the
commands are launching.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
* Removed some explicit calls to refresh the treeview since this is done by
the connection result handlers.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
* The toolbars and tabs should be updated every time the treeview is refreshed.
This should happen when the refresh event is handled rather than calling
UpdateToolbars explicitly after a treeview refresh is requested; also, it is
the treeview refreshes that should be throttled and not the toolbar and
tab updates (the throttling mechanism may need correction).
Also, removed unnecessary Invoke as we are already on the UI thread.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
* Simplified UpdateManager.Update event declaration.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
is easier to understand which one is called from which command.
Removed superfluous TableLayoutPanel.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
do not show the upsell dialog; the user should be able to move the VDIs without
having to detach them first.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
This avoids firing the ConnectionClosed event explicitly after EndConnect;
it also avoids refreshing explicitly the tree as the main Window handles the
ConnectionClosed event which requests a refresh.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
CA-287643: Replaced list view with data grid view to resolve column sizing issue and for consistency with the rest of the product.
Signed-off-by: Aaron Robson <aaron.robson@citrix.com>
or being enabled. Although the CLI allows it, it makes sense to disallow deleting the pool
when HA is on because XenCenter does not offer enabling HA if there is no pool there.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
This change improves the performance of the drop-down menu considerably, as it avoids the server calls from the Command.ToolTipText
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
- added an action for the API call that retrieves the WLB VM recommendations
- removed the thread used for updating the menu items, so that we always access the menu items on the UI thread and do only the server calls on separate threads (for WLB, getting the recommendations now is done on the new action, for non-WLB we have the `workerQueueWithoutWlb`)
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
* CA-286291: Fix the crash when quickly and repeatedly popping up Migrate-to-Server menu.
* Update the thread model.
Signed-off-by: Michael Zhao <michael.zhao@citrix.com>
* Fix an error in using _stopped flag.
* CA-284226: Reduce unnecessary CanExecute() calls.
* CA-284226: Optimize the performance of menu Migrate to Server and Start on Server.
* Fix an error in updating Migrate menu with WLB, which lead to crash.
* Clear the worker queue when menu is closed.
Signed-off-by: Michael Zhao <michael.zhao@citrix.com>
* Fix comments.
Also, changed the access modifiers of several members to private, because they don't need to be exposed outside the parent class.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
Instead of showing the cross-pool migration upsell dialog, we now show the wizard, where user can try to perform an intra-pool copy (the cross-pool option is disabled with an explanatory message displayed)
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
We always add the VM wizard button to the migrate dropdown, but it's
currently not added until the end of the enable loop - after we've
calculated whether we can boot on each host. There's no reason to wait
until we've done all that before showing the wizard, so add it straight
away to the end of the list before the loop.
Signed-off-by: Callum McIntyre <callum.mcintyre@citrix.com>
When we right click migrate a VM we load all the hosts in the pool into
a dropdown, and then one-by-one assert whether the selected VM can boot
on that host, enabling each option where this is positive. If the
dropdown is exited then nothing stops these assert calls from
continuing, and looking at the logs we can see that they do.
With a large pool this is problematic because the UI basically locks up
until it's completed all these asserts, even if we've already selected a
host to migrate to. If we try to migrate another host then we see in the logs that both the old thread and new
thread are making `assert_can_boot_here` calls, and the UI for the new
thread doesn't function until the old one has finished.
This commit adds a new property `_isDropDownClosed`, which is set by the
new `OnDropDownClosed` event handler. In the loop enabling dropdown
items, each iteration we check this property - and if it is true then
the dropdown is no longer showing so we stop the loop and thus don't
call any more `assert_can_boot_here` commands. This stops the UI locking
up after the dropdown is closed.
Signed-off-by: Callum McIntyre <callum.mcintyre@citrix.com>