* 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.
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>
prevent them from being serialised alongside the API properties. This will also
be useful for moving the API bindings out of XenModel.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
Further changes
* implemented similar logic for the Commands too as those are keep on getting updates so affected
* moved these static fields to a class (at Images)
* used the same casing as in Resources once they have been moved
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
The resume on server uses the CrossPoolMigrateCommand to implement the migration of the VM to the desired host. Before this change that command had no support for resuming a VM after migrating it, so the VM was not resumed. With this change, the CrossPoolMigrateWizard can take an optional (default false) parameter to restart the VM after migration. When this is true, the migrate action becomes a MultipleAction, first migrating and then restarting the VM.
Signed-off-by: Callum McIntyre <callumiandavid.mcintyre@citrix.com>
The "Start on Server" VM context menu incorrectly enabled hosts that a VM can
only be started on after a storage migration. This was due to the fact that
the VMOperationToolStripMenuItem class is used for both "Start on Server" as
well as "Migrate to Server".
This change ensures that start checks are done when a start is requested, and
migration checks otherwise.
Signed-off-by: Rob Hoes <rob.hoes@citrix.com>
The restriction that Storage Motion was not possible in the presence of WLB has been removed in Dundee. This commit removes the check in XenCenter.
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
-Fixed Home server's commands to try to use both versions of migration when deciding to enable or disable the menu item
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
- create a copy of the DropDownItems collection and use this copy to iterate through items (on the background thread)
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>