Also, moved the list to the VM class so it can be kept up to date when new guests are added.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
Also, moved code handling RBAC failure from the Failure class into the
PoolJoinAction because it is pretty specific to the latter action.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
The result was that numbers were changing suddenly; in cases of slow connections,
a user could make a selection before the scan was over.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
- Simplified SudoElevationResult.
- Renamed SudoDialogDelegate to ElevatedSessionDelegate so that it makes more sense
for projects not referencing WinForms.
- Call directly the RoleElevationDialog within XenAdmin without using the ElevatedSessionDelegate.
- Minor modernisation in AsyncAction.
- Launch GraphDetailsDialog in a using block.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
This fixes various workflow bugs and disallows re-attaching GFS2 SR if clustering
is disabled.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
Also, merged the methods calculating the virtualisation status and its friendly
string so as to simplify the logic.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
Also, move time utility methods to one place (the Util class which contains unit conversions).
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
Replace with help links where necessary or convenient. Also:
- Registered unused event.
- Minor refactoring to: make the InstallToolsCommand.CanExecute clearer; use
local methods.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
- It was not possible to apply different settings to multiple hosts
at the same time.
- Server calls were made on the UI thread.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
- NetworkDetails page: reworked it to fix NumericUpdown validation and messages (CA-192746).
- SelectNetworkType page: moved warnings closer to the corresponding network types,
fixed wrong label enabled state and made enablement logic more explicit.
- All pages: property modernisation and control layout tweaks (mostly margins).
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
- Handle validation for OVF files with a name different from the containing
OVA package. Other corrections to wrong validation logic.
- Show validation warnings on a dialog that can be turned off.
- Clean up extracted files after an OVA package has been imported.
- Plus code refactoring and simplification.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
The Title and Description of HotfixEligibilityAlert involve calculation of local
time which should be done on the UI thread, otherwise the time is not localised
correctly, and additionally the application crashes when dismissing or sorting
these alerts.
Also, stop spamming the logs with each alert removal; code efficiency correction.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
- Removed AsyncServerTime class as it adds complexity and the risk of
getting an outdated time.
- Simplified event signatures and compacted nested method calls.
- Fixed typo and removed unused code.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
If a host cannot be evacuated because other hosts in the pool are maintenance mode and pending a reboot following an update installation, then include instructions to reboot those hosts and then press Retry.
Also updated the text for the Manual mode, removing the reference to installing other updates and doing a reboot manually at the end, because that won't be always possible, due to the fact that now we put the hosts in maintenance mode before installing the update.
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
- Check for the module existence when the process is created, not when
loading the plugin.
- Removed snapin max and min version as the specification documents them
as not implemented (CA-40580).
- Refactored Registry class to avoid code repetition and ensure that all
opened keys are closed.
- Added null checks and compacted the code parsing the plugin xml.
- Modernized properties.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
- Removed DebugHelp. The user settings are normally not meant for debugging code.
- Moved HelpId logic from the main window to the tab pages.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
Also, corrected the RBAC permission check after stopping using the conversion plugin.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
- Moved path validation checks from the wizard to its last page (planning
to remove XenWizardBase.FinishCancelled in future).
- If the directory did not exist, the user saw a message about inability
to write a file which was misleading. Check directory existence explicitly.
- Populate the last wizard page on load rather than on construction to
avoid unnecessary validations.
- Save in the settings the report output directory, not the filename.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
The Approaching EOL alert will be shown when the EOL date is known, but the hotfix-eligibility flag is not yet set to "none".
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
Also, minor layout correction, and usability enhancement: do not disable
the controls under the radio button when the latter is deselected.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
- Poll for the appliance version because the service may take a while to
start after an IP address is obtained.
- More flexible IP address look up.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
- if a hotfix eligibility date field is invalid, then the hotfix eligibility warning does not include any reference to this date.
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
* Corrections and enhancements.
Fixed version compatibility check. Added context menu to the conversion list.
* Exclude templates and snapshots when looking for the conversion VM.
* Further corrections.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
- Added textual description of the conversion status in the Details panel.
- Merged status detail and error message.
- Added initial sort order.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
* CP-30958: Initial implementation of the Conversion Manager in XenCenter.
* Corrections following review and improvements.
* Further corrections and improvements.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
CP-31527: Add notifications in XenCenter for versions that are no longer eligible for hotfixes
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
- CA-92787: Added tip on how to reset a forgotten password on the LoadSessionDialog.
- The LoadSessionDialog was launching help twice.
- The error message on the SetPasswordDialog was truncated after the first time
it appeared.
- The checks on the ChangeMasterPasswordDialog were out of order.
- Minor layout corrections and code compacting on all dialogs.
- Moved LoadSessionDialog to the same folder as the other RestoreSession dialogs.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
- Add item "Remove From Pool" to the main Server menu; it should be enabled
if the selected servers are removable and disabled at all other times.
The item should be present in the server's right click menu only if it is enabled.
- Replaced the above item in the Pool menu with the dropdown "Remove Server"
where the user can select the server to remove from the list of removable
servers.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
The blurbs should be user-centric rather than developer-centric.
No need to disable the page controls in the absence of signature/manifest
since the whole page becomes disabled in that case.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
Removed comments that did not provide further info than the class name
they were documenting. Removed unused code. Launch progress dialog within
a using block.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
Also, fixed issue where uploading a supp-pack resulted in a perpetually
pending action if the file had disappeared from the disk.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
- Made storage selector blurb for XVA import a bit more informative.
- A simple checkbox for starting the new VMS on the finish page is adequate.
- Typos. Property modernisation.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
If the tar contains huge files, this causes memory spikes, even OutOfMemoryException.
Instead, copy the file from the input to the output stream in chunks.
For this purpose the sanitisation code was moved to XenCenterLib to avoid
exposing the tar internals to the UI project.
Also, made some minor improvements in error handling, clean up, and logging.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
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>
* 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>
* 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>
- 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>
- 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>
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>
- 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>
* 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>
* Updated API bindings to include fix for CA-305383 (Do not save unchanged Snapshot Schedule information). Added unit tests for corrected Helper.AreEqual2 which now considers identical, though not reference equal, generic lists or dictionaries to be equal.
Signed-off-by: Aaron Robson <aaron.robson@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>