Since we support checkpoint of Nvidia VGPU dedicated VMs, the conditions
text when new a VMSS needs to be refined.Note that Intel and AMD dedicated
GPUs VMs still be blocked for checkpoint.
Signed-off-by: Min Li <min.li1@citrix.com>
* Simplification: use auto-properties.
* Removed unnecessary null check. Converted private methods to linq method chain.
* Removed unused file. Added null check.
* Corrected property names as it was difficult to distinguish between the alert,
the patch and the filepath.
* Removed duplicate lock.
* CA-296490: Rewrote the logic uploading single updates so as to facilitate uploading to multiple pools in parallel.
* Corrections as per code review.
* Account for the case of uploading from disk legacy updates that do not correspond to an update alert.
Removed unfriendly error messages (the failure is written out in the logs anyway).
* Wizard test corrections and some modernising:
- Only call cancel on the last page if the test allows us to.
- Do finish the UpdatesWizard test.
- Finish the RunWizardKeyboardTests using key strokes instead of button clicks.
- Ensure the Cancel/Previous buttons do not have focus when sending an Enter stroke.
- Use optional parameters in the WizardTest constructor and string interpolation.
* Renamed badly named property.
* Improved code cloning VMs by assigning new opaque_refs to cloned VBDs.
Compacted test object provider: use optional parameters instead of method overloads.
* Modifications to prevent multiple update of enabled state and ensure the wizard
buttons are updated last.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
Use two separate feature flags, `guefi` and `guefi-secureboot`, with the following rules:
- If the feature is disabled, then the option is hidden in XenCenter.
- If the feature is enabled and experimental, then the option is visible and a warning is displayed in XenCenter (in the New Vm and Import wizards).
Also show the reason why a boot mode option is greyed out (when the uefi/uefi-secure boot mode is not supported in the selected template).
(On the Page_InstallationMedia control, I moved the BootModeContol and PvBootBox controls inside the TableLayoutPanel, to allow better alignment and for better visibility in the design mode)
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
- In the New VM wizard, the boot mode control is only visible for Naples or greater hosts
- In the Import wizard, I had moved the boot mode options to a separate page, added after the target selection page, to allow the version check. The new "Boot options" page is only added for Naples or greater hosts.
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
* CP-29856: Support minimum number of vCPUs in guest templates
- Show a warning if the user wants to set a smaller number of vCPUs than the minimum specified in the template
- Add a null check; Set the warning label text before making it visible to avoid flickering.
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
If, for example, the host was disconnected, poolUpdateFromHost was null,
which was causing a silent exception resulting to an empty precheck list
shown on the page.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
If the update sequence for automated updates contains an update which requires a host reboot and a hotfix with an immediate toolstack restart (after-apply-guidance=restartXAPI and guidance-mandatory=true),
then XenCenter should do an immediate host reboot after applying the hotfix that required the immediate toolstack restart (as doing a toolstack restart when a host reboot is required is potentially risky)
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
* CA-300384: XC unable to create (GFS2) VDI of virtual-size larger than available storage when creating new VM.
Calling SR.VdiCreationCanProceed on the total space required of each SR as it takes into account that Thinly Provisioned SRs may overprovision in the same way that the NewDiskDialog does by effectively ignoring the free space limit.
IsSufficientFreeSpaceAvailableOnSrForVdi was not taking into account Thin Provisioning when checking if the virtual disk would fit on the SR and as a consequence would attempt to find another SR to place it on silently; either choosing "Local Storage" or "<no suitable storage>" depending on the size requested relative to the SR sizes.
Signed-off-by: Aaron Robson <aaron.robson@citrix.com>
* CA-300384: Hooking into the warning mechanism of the storage grid to ensure that the user is aware that over-provisioning is occurring, but not block them from continuing.
Signed-off-by: Aaron Robson <aaron.robson@citrix.com>
- with this change the user won't see the misleading "Moving VM to new storage" in History if they tried to move the VM inside the pool, but actually didn't select different SRs for the VM's disks.
Signed-off-by: Mihaela Stoica <mihaela.stoica@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>
lost when leaving and returning back to the SelectServers page.
Also, the list of SelectedServers does not need to be re-evaluated every time
it is accessed but rather once when we move away from the page.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
* CA-272847: Compilation time is way overestimated (when creating a server status report).
- As the times are made up of server timeouts they overestimate quite significantly, we are removing the time estimates from the screen.
- Do not mention being able to see the time that has been removed inside the explanatory label.
- Removing further unused Util functions LThanTime and GThanTime.
- Redone the layout with the privacy link on a separate row to avoid wrapping at smaller sizes and to even up the layout of the Select/Clear buttons with the Total Size label.
- Fixed the tab indexes and removed the invisible Split Container.
- Adjusted the blurb margins to our default and set the last row with the privacy link to be AutoSize rather than absolute in case of truncation in other languages.
Signed-off-by: Aaron Robson <aaron.robson@citrix.com>
When XenCenter checks if a VM can be storage-migrated (including in the same pool), it only checks if migration is possible to one SR (the first SR from the SR list that supports vdi creation), which could be a GFS2 SR, where migration is not supported. With this fix, we will only consider the SRs which support migration (instead of vdi creation).
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
* CA-301156: VM created from disk import for a UEFI VM has missing values
Set default params when importing VHD
Signed-off-by: Tim Liu <tim.liu@citrix.com>
Also, simplified the logic selecting the single update when we leave the
SelectPatchPage so as to avoid ambiguities in which properties are to be set
and refactored the error handling methods to avoid duplicate checks and
provide the right error message (for example, the error message was misleading
for a non-existent path; or, the level of detail provided in the case of
invalid zip content was of lesser relevance to the user).
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
legacy patch and then went back to select and install an update.
The code was removing all the uploaded legacy patches except the installed
ones. In this case the installed legacy patch is null hence all the already
uploaded patches need to be removed.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
* CP-29768: Add Skip functionality for RPU supp pack installation
Signed-off-by: Ji Jiang <ji.jiang@citrix.com>
* Minor corrections
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
* Revert unnecessary layout changes
Also changed the title of the confirmation dialog to the wizard title, as it could be shown in either RPU or the Patching wizard
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
the Prechecks page, then back to select a single iso update, and forwards again
to the Prechecks page. The cause was that the values of Patch and PoolUpdate
were not always propagated from the Upload page to the following pages, hence
on that occasion they were both non-null, while the logic of the following
pages expects only one of the two to be non-null.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
One of the PatchGridViewRow constructors was obsoleted, hence the _image and
_status cells and the row's PathPatch were always null. When a user selected a
patch, moved to the Prechecks page, back to the Select page, and the host got
disconnected, on moving to the SelectServers page and closing the warning pop-up,
XenCenter crashed because it was trying to update details of null cells. Also,
removed obsoleted toggling expanded state functionality.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
hidden and in all other cases it was set by the implementing control, i.e.
the label was not reusable, hence no reason to have it in the control and risk
layout issues. This means that the SrPicker does not need to be a control
encapsulating a CustomTreeVIew, but simply derive from the latter.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@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>