1. Update AddVGPUDialog title;
2. Add label above the combobox;
3. In the combobox, add text to the entry saying if multiple vGPU is supported;
4. When the dialog is open, focus on the combobox;
5. Preselect the vGPU type if there is only one option available;
6. Setup the Help ID for dialog;
7. Optimize vGPU adding and deleting in GpuAssignAction.
Signed-off-by: Michael Z <michael.zhao@citrix.com>
* CP-31063: Add support for multiple vGPU
(incomplete)
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
* CP-31063: Add support for multiple vGPU
(part 2)
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
* AddVGPUDialog
Signed-off-by: Michael Z <michael.zhao@citrix.com>
* Update bindings.
Signed-off-by: Michael Z <michael.zhao@citrix.com>
* REQ-720: Initial implementation of AddVgpuDialog.
Signed-off-by: Michael Z <michael.zhao@citrix.com>
* Improve the handling of buttons and combobox. Fix comments.
Signed-off-by: Michael Z <michael.zhao@citrix.com>
* Fix comments.
Signed-off-by: Michael Z <michael.zhao@citrix.com>
- the issue was that in one usage of PatchCanBeInstalledOnHost the wrong version was passed to the applicableVersion parameter (in CreateAlertForXenServerVersion)
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
- CA-164372: Added line breaks in the pool updates list for readability and to match the corresponding host list.
- Moved the updates, version and licence sections closer together.
- Removed unnecessary panels and placed top buttons on a TableLayoutPanel.
- Moved size hardcoded values from the code to the resource files.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
* CA-317856: Ensure that VMs are repatriated after all hotfixes are applied and the host has been rebooted.
- there is no need to remove the "reboot host" plan actions from the delayed actions list, because the action itself has code to check if a reboot is actually needed.
* CA-317856: Only add the "Exit maintenance mode" progress step if the host is in maintenance mode at that point.
- moved the AddProgressStep() call inside the function that checks if anything needs to be done (i.e. is host needs to be enables)
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>
* added support for the new xxHash-based VM imports and exports
* added xxHash to the legal notices
* added Citrix copyright notice
* removed redundant code and made use of unused variable
Signed-off-by: Rory Bertuzzi-Glover <rory.bertuzzi-glover@citrix.com>
* The radiobuttons local-remote gave the impression the two types of logging
were mutually exclusive. Use a checkbox instead to make it obvious that
the logs are directed to a remote server in addition to being stored locally.
* Updated log destination display on the General TabPage.
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>
Removed unnecessary ITaskSpecification interface and its inefficient
implementations; compacted methods to make following the logic easier
and avoid duplicate dictionary lookups.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
- On the dialog show the next run time in both the client's and the server's local time zone.
- On the VMSS frequency page allow the user to pick the schedule in the client's
local time zone and show then next run time in both the client's and the server's local time zone.
- Refactoring to fix workflow and class design, reduce amount of code and simplify logic.
- Various layout improvements.
Signed-off-by: Aaron Robson aaron.robson@citrix.com
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
- Refactored MeddlingAction and Task classes: moved the logic for building a MeddlingAction outside the Task class and switched to using the vm_operations enum to identify which tasks are suitable for MeddlingAction
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
- When asserting if a VM can be migrated to a pool we don't have to check all the hosts in the pool at this point, we can enable the pool when we find the first host where migration is possible; we will check the rest of the hosts only if that pool is selected.
- If the destination pool is older than the source, then we don't need to do any server calls because we know that migration to an older host is not allowed.
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
- hide the boot mode control if there is only one option (BIOS boot);
- add text "(experimental)" to the experimental options (in the radio button text);
- if an option is disabled, then hide the experimantal warning, as there is already a note saying why it is disabled;
- more detailed experimental warning.
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
If a host needs to be rebooted after the update application, and the update is not a live patch, then do the host evacuation before applying the update.
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
Thsi fixes the bug where XenCenter shows connection failure in the RPU when retrying an upgrade
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
- Removed RPU001 and RPU002, as 6.x versions are not supported in XenCenter anymore
- Replaced RPU003 and RPU004 with new versions
- Added RPU005 for Lima
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
of the hosts to be upgraded and not only on the first one in the list.
For this purpose, the test has been moved to the prechecks, and the
failures are now shown as a non-fixable problem.
Further, specification of the network location of the installer files
has moved closer to the upgrade mode selection.
Also, moved the hotfix and upgrade related checks immediately after the
host liveness check.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
Moved these errors to the FriendlyNames, which is reserved for resources with
keys coming verbatim from the server.
Some code efficiency corrections to the page's workflow.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
because it only manages friendly names; moved it closer to the relevant resource files.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
* CP-30335: Fix RPU wizard tests
* CP-30335: Add abstract class WarningWithMoreInfo and use it for two of the existing Warnings
* CP-30335: Add a new precheck which produces a warning if the Dom0 memory after the upgrade will be increased.
- if the Dom0 memory after the upgrade is known, then a warning is shown if this is higher than the current memory, regardless of the version of the upgrade
- if the Dom0 memory after the upgrade is not known (e.g. because the rpu plugin does not have the function that returns this), then a warning is shown if upgrading from a pre-Naples version
* CP-30335: Add a more detailed error message if the host evacuation fails due to not enough memory in the RPU and Patching wizards
* CP-30335: Add branding variable for version 8.0
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
- Moved Install Location (RollingUpgradeWizard_SelectInstallMethod) page immediatelly after the Upgrade Mode page (and before the Prechecks page)
- Added a new page, called Extras, which contains the updates and supp pack installation options. These options have been moved here from the "Upgrade Mode" and "Ready To Upgrade" pages. This page is also inserted before the Prechecks
- There is no "Ready To Upgrade" page anymore. So the wizard pages are:
- when automatic mode is selected: Before You Start, Select Pools, Upgrade Mode, Installer Location, Extras, Prechecks, Apply Upgrade.
- when manual mode is selected: Before You Start, Select Pools, Upgrade Mode, Extras, Prechecks, Apply Upgrade.
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
or upgrade process (either when cancelling the wizard itself or when exiting
the application). Rephrased confirmation message for clarity.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
(either when cancelling the wizard itself or exiting the application).
Implemented in the first instance for compiling the server status report.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
- removal of the SystemStatusAction launching the individual SingleHostStatusActions,
because the connection was set incorrectly to the last one of the selected
connections and, if an error occurred to that connection, the data collection
for all of them failed.
- proper handling of HTTP.CancelledExceptions.
- replacement of the FlickerFreeListBox by the more versatile DataGridViewEx.
- corrections to reporting progress for individual hosts as well as page totals.
- made collection of client side data more obvious.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
set by the caller. Test corrections so they don't time out due to blocking
open dialogs. Some tidying up.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
are swallowed. Use optional parameters instead of method overloads. Some other
modernisations.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
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>
Signed-off-by: Aaron Robson <aaron.robson@citrix.com> (+1 squashed commits)
Squashed commits:
[170a204c] CP-29875: Campaign/Version number should have underscores as separators not points.
Signed-off-by: Aaron Robson <aaron.robson@citrix.com> (+1 squashed commits)
Squashed commits:
[ead4af87] CP-29857: Ensure that the help URL is fully lower case.
Signed-off-by: Aaron Robson <aaron.robson@citrix.com> (+2 squashed commit)
Squashed commit:
[0350c0a6] CP-29875: Include campaign, medium and source in the help URLs.
Signed-off-by: Aaron Robson <aaron.robson@citrix.com>
[1e1c1c1c] CP-29875: Refactor and unit test current help URL behavior.
Signed-off-by: Aaron Robson <aaron.robson@citrix.com>
option to change this on the Options dialog has not been provided as deemed
unnecessary.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
updates until Refresh was clicked. Also, some UX improvements:
- The Install Updates button should always be enabled in case the user wants
to install supp packs.
- If a type of update is disabled, show always the message at the top of the
grid view, for both views, and even if the list is not completely empty,
otherwise the user may easily forget the update is disabled and be misled.
In this case, the centred warning does not need to show the reason why no
updates were found.
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>
time a new object type is selected. If the user has chosen to collapse it,
respect their choice.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@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>
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>
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>
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>