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>
Refactored redundant IP Address parsing code from XenAPI-Extensions/VIF.IPAddresses and XenSeach/Common.IPAddressProperty into the FindIpAddresses method in the Helpers class to handle multiple networks on a single line with a separator. Added unit tests.
Signed-off-by: Aaron Robson <aaron.robson@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>
CA-303516: Cannot change dom0 memory via XenCenter.
Allowing the user to proceed (not set the value and min/max to 0.0GB) even if the memory static min and max is in the wrong order.
Adding further detail to the error message in case an out of bounds value is sent to the API which could potentially happen due to the range widening that occurs if the min/max would invalidate the existing value.
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>
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>
Stepping up the PercentageComplete manually is not required as PollToCompletion is doing this for us already.
Signed-off-by: Aaron Robson <aaron.robson@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>
This fixes the bug in the Patching wizard, where the wizard does not show any error and does not notice the disconnection, so it is stuck in the Installing update phase.
The Patching wizard only uses the ApplyUpdateAction class, but I had also changed the ApplyPatchAction class to avoid similar problems in the RPU wizard, where this action is used to install the RPU hotfix during the prechecks.
Signed-off-by: Mihaela Stoica <mihaela.stoica@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>
Handling OnMouseMove which fires more repeatedly than OnMouseEnter and OnMouseLeave with an early return to preserve CPU efficiency.
Signed-off-by: Aaron Robson <aaron.robson@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>
inadvertently with commit c1256c7734 before the
issue was fixed in commit 2a575b01a5.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@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>
for some custom controls.
In the case of DoubleBufferedPanel I removed the Designer attributes from
the class definition.
In the case of the EnableableComboBoxEditingControl I moved it to a new
file because the other classes it was sharing the old file with did not
derive from Component.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
also moved it out of the containing folder as it was its only resident.
Corrected the TitleBar fore colour as it was hard to read due to small contrast
with the bar's backround colour; normalised the code setting the other colours
so it's more unambiguous.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
Preventing an Object (host) has been deleted error when attempting to reenable Maintenance Mode on a Host that has been kicked out of the pool when exiting the RPU Wizard.
Returning null to prevent making orphened tasks that will be stuck at 0% completion if it is impossible to fulfill.
Signed-off-by: Aaron Robson <aaron.robson@citrix.com>
* CP-27819: Manually setting the ToolsVersion to 15.0 (VS2017) in all .csproj files for consistency and to attempt to enforce consistency of dev environments with the explicitness of the msbuild scripts as used in the build environments.
Auto updated as many of the .sln and .csproj files as VS2017 was willing to do https://docs.microsoft.com/en-us/visualstudio/ide/reference/upgrade-devenv-exe?view=vs-2017 and included changes to the gitignore to ensure that the update report and backup files are not included in the repo.
* CP-27819: Tidying up by removing FileUpgradeFlags, OldToolsVersion and UpgradeBackupLocation nodes from the .csproj files as they are produced as hints for how to revert project upgrades for which we can use version control.
* CP-27819: Removing redundant "ManifestCertificateThumbprint" and "ManifestTimestampUrl" nodes from project files "mk\sign.bat" has been used for this purpose for some time now.
* CP-27819: Updated readme to reflect that VS2017 is now in use.
Signed-off-by: Aaron Robson <aaron.robson@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>
* 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>
Also, call the XenServerHealthCheckUpload in a using block; use the FileInfo.Open
method to open the zip file for upload.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
* CA-301193: Avoiding calling ProfessionalColors before we have called Application.EnableVisualStyles as it causes visual styles to be prevented from being enabled and can prevent the program from displayed as expected as the value of Application.InitializeComCtlSupportsVisualStyles is found only one time when first needed and cached. If Application.useVisualStyles is not true as in this case it relies on calling "comctl32.dll" methods to determine if this is the case and after KB4462933 this is no longer the case.
* CA-301193: Setting the TitleBarStartColor and TitleBarEndColor to the ProfessionalColors values.
Signed-off-by: Aaron Robson <aaron.robson@citrix.com>
* Changing the tools version from 13.0 (VS2013) to to 15.0 (VS2017).
* Updating the Splash project from PlatformToolset of "v120_xp" to "v141" and to a more modern Windows SDK Version available in VS2017.
Signed-off-by: Aaron Robson aaron.robson@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>
For this purpose, call the DisconnectCommand instead of session.logout_subject_identifier.
Also:
- Add the new actions to the History synchronously on the main thread,
otherwise the warning dialog may not detect in time the new actions.
- Although the local root account is currently first in the list, checking whether
the first item is selected is a fragile way of establishing whether the local
root account is selected. Check the row's IsLocalRootRow property as in the
rest of the file.
- Added username detail to the logout action; fixed typo in message key.
- Some minor refactoring to make the code more efficient.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>