- Renamed button to make it more discoverable.
- Placed the controls on a table layout panel for better response to wizard resizing.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@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>
- 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>
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>
* 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>
* 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>
the spinner with the surrounding controls on a parent control/form.
Also, removed the icon from the spinner because in the
majority of implementations it was invisible and the extra space was just
complicating the alignment of the surrounding controls.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
1. Update the duplicated shortcuts on CPU&Mem Page
2. Default radio boxes invisible
3. Move hardcoded logic to VM.cs
4. BIOS boot should be always enabled
5. Move radio boxes to Installation Media page
6. Extract radio boxes as a user control
7. Update summary
Signed-off-by: Tim Liu <tim.liu@citrix.com>
PageLoaded override in derived classes, enforce it by wrapping the page specific
code in a new virtual method, which the derived classes can override and PageLoaded
can call after its own logic.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
* CA-280287: Fix the null reference exception on the Import wizard
- Added a check so that we don't attempting to show the license warning if the wizard is open without a preselected host/pool.
- The license warning is now updated whenever the host selection changes; plus, we are not attempting to show it if the wizard is open without a preselected host/pool.
- Also a minor refactoring in the GlobalSelectHost page to fix this issue: when the wizard is open with a pre-selected host, we pass this to the page by assigning SelectedHost property, which in turn sets the m_selectedHost. The getter for SelectedHost resets m_selectedHost to the selected item in the host list. If the getter is used before the host list selection is updated, then the desired pre-selection is lost, because m_selectedHost is reset to null.
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
* CA-280287: Corrections following code review
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
* CP-24709: Add a warning in the New VM wizard and Import wizard if the pool is licensed using XD/XA entitlement
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
* CP-24709: Add a warning in the New VM wizard and Import wizard if the pool is licensed using XD/XA entitlement
Fixed unintended designer code additions/changes
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
prevent them from being serialised alongside the API properties. This will also
be useful for moving the API bindings out of XenModel.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
Moved "Legacy Windows" template to the bottom of the Windows templates
to discourage users from selecting it and avoid it being selected by default
at the top of the list as was the case.
Signed-off-by: Letsibogo Ramadi <letsibogo.ramadi@citrix.com>
- Added a new method in XenTabPage which the derived classes can implement to select a default control after the page is loaded.
- Added a new wizard test that runs through the wizard by pressing the Enter key and checks if it has landed on the right page.
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
Expose both the HIMN network and any VIFs associated with the HIMN
network using XenCenter when the "View->Show Hidden Objects" option
is displayed. However the shown HIMN should not be able to autoplug,
edit or delete.
more obvious to the user that they can edit it. To this purpose change the button
Properties to Edit (and do the same on the Networking page for consistence). Also
show the name of the disk (ellipsized if too long) on the wizard's finish page.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
Now we set Increment exactly as on other pages
when the unit is MB: the increment it will be calculated dynamically (1, 2, 4,...)
when GB, increment will be 1 GB for values >=10GB, 0.1GB otherwise
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
- Changes to the the layout: order of radio buttons, removed group box around the manual setting of shadow multiplier;
- Shadow multiplier edit box no longer disabled when "Optimize manually" not checked
- Also changed the wording on the Name page of the new VM wizard
Fixed issues where total initial allocation for an SR was not calculated correctly. Also some minor improvements.
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
- removed unneeded code, as the item.OverCommit is set to None at the beginning of the function
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
- renamed srSpace and srInitialSpace variables
- removed unnecessary checks for thin provisioned sr
- fixed some error on NewDiskDialog.SMConfig property (smconfig was wrongly populated based on controls enablement; the conversion to long was made before converting to bytes
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
- If the new disks cannot be created because their total initial size is greater than the SR free space, then an error icon (with tooltip) is displayed and Next button is disabled.
- If the total size of the new disks is greater than the SR free space, but the disks can still be created (because the initial allocation is smaller), then a warning icon (with tooltip) is displayed and Next button is enabled.
- The tooltip mentions the initial space required for thinly provisioned SRs (initial allocation).
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
- Memory Tab uses GB units for values greater or equal to 1 GB, otherwise show in MB;
- Search Tab displays values in GB or MB in the same as the Memory Tab (e.g. 512 MB of 1 GB, 256 MB of 512 MB, 2.5 GB of 16 GB).
- The shiny bar present in the Memory Tab and in Memory Settings dialog shows the scaling in the following way: If smaller than 1 GB, then show as before, else show only labels with values multiples of half a GB.
- The units used in Memory Setting Dialog are set depending on the static_max. If it is greater or equal to 1 GB, then the units are GB, else MB. The user does not have the possibility of changing them.
We observed that some threads can reach deadlock-ish state after they have Invoked into a control's UI thread. When it happens they are all in a waiting for join or in sleep state for very long time, although there should not be any deadlock situations.
It seems this has something to do with multiple parent controls and with which control we invoked on. This should not make a difference, because we have got one UI thread (for MainWindow) they should wait for, but we have seen it does.
The solution that fixed this issue was to invoke on the MainWindow instead of various controls (see a4fe507adf ).
This changeset is changing all our Invokes to invoke into MainWindow
instead of a control itself. (MainWindow's UI thread is the only UI thread
all Control is using in XenCenter)
This changeset should be in place until we have found the root cause or the exact reason for the above.
- If failed to retrieve the config parameters, then make the ConfigDriveTemplate textbox read-only and display the reason why it is not editable (similar with what we do for running VMs).
- In the New VM Wizard, if the action on "Reset to Default" button fails, then popup a message box with an error saying that we were unable to retrieve the default parameters. In this case, the ConfigDriveTemplate textbox remains unchanged.
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>