- Changed the FolderAction class so that it can be used to delete or move multiple folders across connections, instead of having multiple actions (one for each holder) which can not run in parallel.
- The api calls that update the EMPTY_FOLDERS entry in pool's other_config are preformed last for all connections, avoiding cross-thread exceptions when two threads try to add/remove the same key.
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
- The StartDiagnosisForm dialog shows the reasons why a VM cannot be started or resumed. XenCenter tries to get these reasons from a call to VM.assert_can_boot_here, but his function does not perform a CPU feature compatibility check.
- This commit adds the CPU feature compatibility check for resume operations.
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
- Container pause is not available if the the container is on a Windows VM.
- Processes is not available if the the container is on a Windows VM.
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
- InvisibleMessages.resx contains the default value for the saved search (xensearch), which can be overwritten in Branding.cs
Signed-off-by: Mihaela Stoica <mihaela.stoica@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>
Cherry picked from cream-indigo:
CP-14848: License restriction for migration for DragDropMigrateVMCommand
Signed-off-by: Cheng Zhang <cheng.zhang@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>
Revert "Merge pull request #708 from GaborApatiNagy/master_windows_update"
This reverts commit fe03f1382f, reversing
changes made to 423065a2c8.
Conflicts:
XenAdminTests/TabsAndMenus/MainMenuGeorge.cs
- vendor check is not needed in the functions where we check whether to warn the users about different feature levels, as the pool join is not allowed if the vendors are different
- renamed some of the functions
- feature comparison is now done eight characters at a time, converted into a 32-bit integer
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
Fixed when to enable the Command, the screen uses the connection (works for standalone hosts)
Using CollectionChanged instead of BatchCollectionChanged
Removed unnecessary Invoke
Removed values from the VmUpgradeState enum
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
Implementing Upgrading VMs to Windows Update
New screen features:
-Create skeleton of the Upgrade VM dialog
-Implement a Go To Console link (just a link that opens a vm console)
-Implement logic to show the right status for a VM (includes rules to
get the states). Includes updating the dialog whenever the status changes.
-Add status texts to Messages, proper text on the UI
-Add stub methods to VM class in XenAPI-Extensions to r/w states from
Guest Agent
-UI: Implement rules what vms to display, checkbox rules, read only vms,
and when to enable the Upgrade button
-Implement Upgrade button (writes state for GA, mounts ISO) + maximum
parallel executions/actions
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
- display the Provisioning entries in the General Tab only for iSCSI and LVM SRs
- also changed the checks in the ConvertToThinSRCommand to use SR.IsThinProvisioned property instead of SR.Provisioning
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
Removed PV_DRIVERS_NOT_INSTALLED=0 from the VirtualisationStatus [Flags]enum - 0 will mean the same (to avoid bugs with enum.HasFlag(0) is always true)
Extracted common code to VMLifeCycleCommand.GetCantExecuteNoToolsOrDriversReasonCore() method (instead of defining overridden GetCantExecuteReasonCore() method at this level, because not all child classes need this...)
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
Removed Optimized state and using I/O & Management instead (even for old VMs)
Changed messages to be different for old and new VMs instead of saying Tools or I/O drivers for instance
Removed the extra enum property from the VM class that had been added for search
Fixed code in GroupingTypes class (possible KeyNotFoundException)
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
Extended the enum, aimed for minimal changes, also using Flags on the enum now
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
Fixing the unit tests pointed me at the command's CanExecuteCore where the check for Dundee or higher was missing. Fixed that as well.
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
- Check call home enrollment status on connecting to a pool: If status is unknown it means that the pool is not enrolled (enabled) and has never been (disabled). If that's the case, then show the Health Check Overview dialog with the pool selected
- "Enroll now" on Health Check Overview will try enroll the selected pool into call home using existing token authentication. If this is not possible, then a dialog will be presented for the user to perform the initial authentication.
Changed the name of the operation in XenCenter to "Migrate VM" for suspended VMs, instead of "Move".
This clarifies the distinction between copy/move and migration:
- running and suspended VMs can only be migrated
- stopped VMs can be moved and copied
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
- changes following code review: menu item available if multiple items selected inside the same pool
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
- modified CopyTemplateCommand to launch a cross pool copy if permitted
- added CrossPoolCopyTemplateCommand which opens the Cross pool migration wizard in "copy" mode
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
- modified the VMCopyCommand to launch a cross pool copy if permitted
- added the CrossPoolCopyVMCommand which opens the Cross pool migration wizard in "copy" mode
- modified the cross pool migrate action with an extra "copy" parameter, which will add a copy option to the vm.migrate_send function call
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
Changes following code review:
- add static methods to the cross pool migrate and move commands to determine if the command can execute
- In the Cross Pool migrate wizard: add Transfer network page for cross-pool move (and copy) operation (as well as all migrate cases)
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
- With these changes, a stopped or suspended VM can be moved across pools; this is performed as a vm migrate operation.
- The intra pool move will continue to be a vdi.copy + destroy operation for stopped VMs, but for suspended VMs we need to do it a as vm migrate operation.
- We use the Cross Pool migrate wizard for both intra and cross pool move operations, but introduced a wizard mode parameter in order to adapt the wizard to the specific operation we want to perform (migrate, move or copy)
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
To to determine if the feature is restricted we use:
- "restrict_export_resource_data" license flag for Creedence hosts
- license edition and expiry date for pre-Creedence hosts
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
Based on the discussion of CA-144708, when error happens or the Current Server is listed and disabled
in the recommendation host list, there is no rating score and star actually, so it is good to hide the
zero star to avoid confusing.
This fix hides the zero star indication on XenCenter GUI.
Signed-off-by: Zheng Chai <zheng.chai@citrix.com>
-I defined save and restore selection functionality in SelectionBroadcaster and implemented them in SelectionManager. The NavigationPanel now uses these to: 1) save the current Selection (context) when the user switches to the Notification view, 2) to restore previous selection when switching away from the Notifications view.
The reason for the error dialog appearing behind License Manager dialog was that we used MainWindow as parent of the Licensing Error dialog (in ShowLicensingFailureDialog method in ApplyLicenseEditionCommand)
and there were already 3 other modal dialogs displayed one on top of each other: License Manager, Apply License and Action Progress.
Fixed by calling the ShowLicensingFailureDialog from the command, on action.Completed event (instead of action.Run) and passing the Parent as a parameter, so that we can use the correct parent when displaying the error dialog.
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>