* Simplified the class name by renaming CrossPoolMigrateCanMigrateFilter to CrossPoolMigrateFilter.
* CA-383483: Rewrote (again) the migration logic because the fix to CA-294370 regressed migration from local to local storage.
Also, minor refactoring to some methods for more efficient calculations.
Signed-off-by: Konstantina Chremmou <Konstantina.Chremmou@cloud.com>
* Tidy up `VM` extension: use `var`
* Tidy up `VM` extension: remove redundant initialisers
* Tidy up `VM` extension: use type keywords when possible
* Tidy up `VM` extension: merge conditional expressions
* Tidy up `VM` extension: remove redundant qualifiers
* Tidy up `VM` extension: remove redundant type arguments
* Tidy up `VM` extension: remove redundant `else`s and parentheses
* Tidy up `VM` extension: fix naming
* Tidy up `VM` extension: misc changes
* Tidy up `VM` extension: use `null` propagation
* Tidy up `VM` extension: fix whitespace
* Tidy up `VM` extension: apply ReSharper Code Cleanup utility
* Tidy up `VM` extension: Fix naming of private string array
* CP-44767: Ignore VM restriction when fetching `MaxVCPUsAllowed`
Instead, fetch the highest available value in all templates for the host.
This means that VMs imported from vhd won't automatically default to `DEFAULT_NUM_VCPUS_ALLOWED`, and that VMs that have been kept across XenServer upgrades won't be limited to the number of vCPUs in their own (possibly outdated) restrictions
* CP-44766: Use value in template with a matching `reference_label` when checking VM restrictions
* Move restriction getters to own region
* CP-44766: Use matching templates to fetch VM restrictions
- Rewrite `GetRestrictions...` methods to perform simpler operations
- Add `GetIntRestrictionValue` and `GetBoolRestrictionValue` wrappers to `GetRestrictionValueFromMatchingTemplate`
- Now all calls to a restrictions first check the template value, with a fall-back to defaults
* CP-44765: Export `reference-label` when generating OVFs
---------
Signed-off-by: Danilo Del Busso <danilo.delbusso@cloud.com>
The check DundeeOrGreater always returns true since we disallow connection to anything earlier than Havana.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
* Tidy up `SelectMultipleVMDestinationPage.cs`
* CA-375532 & CA-336510: Add warning when importing VMs with too many vCPUs
* CA-375532 & CA-336510: Prevent users from starting appliance if a VM has too many vCPUs
* Tidy up `Page_CpuMem`: use expression-bodied properties
* Tidy up `Page_CpuMem`: use conventional naming scheme
* Tidy up `Page_CpuMem`: use explicit modifiers
* Tidy up `Page_CpuMem`: use `en-US` locale for names
* Tidy up `Page_CpuMem`: use `var` when possible
* Tidy up `Page_CpuMem`: rename `Vcpus` to `VCpus`
* Tidy up `Page_CpuMem`: reorder elements
* Tidy up `Page_CpuMem`: revert class renaming and fix `vCpus` typos
* CA-375532: Prevent users from starting VM if they select too many vCPUs
* Tidy up `Page_Finish`: use expression-bodied properties
* Tidy up `Page_Finish`: fix typo
* Tidy up `Page_CpuMem`: rename `CanStartVM` to `CanStartVm`
* Remove unnecessary using directives
* Anchor warning icon to the top-left corner of its parent
* CA-375532 & CA-336510: Warn users when selecting more vCPUs than pCPUs in the Properties page
* CP-41825: Add warning for imported VMs with > 32 vCPUs
* CP-41825: Add warning for new VMs with > 32 vCPUs
* CP-41825: Add warning for existing VMs when selecting > 32 vCPUs
* CP-41825: Update wording used to alert users running VMs with > 32vCPUs
* Remove unused local variable in `VappStartCommand.cs`
* Reword some vCPUs messages
* Simplify assignment of `CanStartImmediately` in `Page_Finish.cs`
* Simplify assignment of `CanStartVmsAutomatically` in `ImportFinishPage.cs`
* Remove useless `Count` check in `VappStartCommand`
* Rename `pictureBox1` to `warningPictureBox` and change its `SizeMode`
* Separate CPU and memory warnings in `Page_CpuMem`
* Shorten warning messages shown in `Page_CpuMem`
* Disable option to start VM when memory configuration isn't valid
* Report number of vCPUs and pCPUs when showing warning in New VM wizard
* Tidy up `CpuMemoryEditPage`: rename elements
* Tidy up `CpuMemoryEditPage`: use explicity modifiers
* Tidy up `CpuMemoryEditPage`: Rename `CPUMemoryEditPage` to `CpuMemoryEditPage`
* Tidy up `CpuMemoryEditPage`: Miscellaneous renames and improvements
* Tidy up `CpuMemoryEditPage`: Fix whitespace
* Tidy up `CpuMemoryEditPage`: Use ReSharper code formatter
* Tidy up `CpuMemoryEditPage`: Move events to own region
* Tidy up `CpuMemoryEditPage`: Move `IEditPage` members to own region
* Tidy up `CpuMemoryEditPage`: Order members outside of regions
* Replace topology and vCPU warning labels with structured warnings
* Ensure warnings ends with a dot
* Allow multiple CPU warnings to show at the same time
* Remove warning link for vCPUS > pCPUS Option is not achievable
* Enable option to force unit used in `MemorySpinner`
* Replace `NumericUpDown` with `MemorySpinner` and show warnings at bottom of control
* Check destination pCPUs count when destination is not a pool
* Do not disable option to start VMs after import if user selects a shared SR
* Add memory warning when importing appliance with too much memory
* Sort vCPUs and memory warning strings
* Remove target from `ImportWizard`'s summary
Target is not useful and can cause confusion as appliance VMs could start on non-target hosts
* The home server is needed in the summary when importing XVA. The target server is not needed in the summary when migrating a VM.
* Update warnings when the server selection changes. Corrected memory calculation.
* Show all warnings for vCPUs. Moved topology warning to the bottom. Separated methods for showing memory and vCPU warnings.
* Removed the memory setting from the VM Properties dialog. Split running VM info to a separate panel.
* Corrections to the logic for starting the VM automatically. Also, Fixed a bit the layout of the Finish page to make better use of the available space.
* Corrections as per code review.
Signed-off-by: Danilo Del Busso <danilo.delbusso@cloud.com>
Co-authored-by: Konstantina Chremmou <Konstantina.Chremmou@cloud.com>
- Stop using reflection for the creation of context menu builders. It's error prone.
- MultipleDockerContainers was not constructed because it was abstract.
- Do not reconstruct the selectionList for each builder.
- Unused variables.
Signed-off-by: Konstantina Chremmou <Konstantina.Chremmou@cloud.com>
* Remove credentials controls from `BugToolPageDestination`
Signed-off-by: Danilo Del Busso <danilo.delbusso@cloud.com>
* Explicitly call dispose in `BugToolPageDestination.cs`
Signed-off-by: Danilo Del Busso <danilo.delbusso@cloud.com>
* Tidy up code in `BugToolPageDestination.cs`
Signed-off-by: Danilo Del Busso <danilo.delbusso@cloud.com>
* Move `StatusReportRow` to its own file
Signed-off-by: Danilo Del Busso <danilo.delbusso@cloud.com>
* Move `ClientSideDataRow` and `HostStatusRow` to own files
Signed-off-by: Danilo Del Busso <danilo.delbusso@cloud.com>
* CP-40842: Update order of pages in `BugToolWizard`
Signed-off-by: Danilo Del Busso <danilo.delbusso@cloud.com>
* CP-40842: Update action and create row for packaging status report in BugTool wizard
Instead of creating a new action, this males ZipStatusReportAction inherit StatusReportAction
Signed-off-by: Danilo Del Busso <danilo.delbusso@cloud.com>
* CP-40842: Allow for pending `StatusReportAction` to be cancelled
This avoids the need for a running action to update the status. i.e. an action that has been registered but hasn't started running can be cancelled, too.
Signed-off-by: Danilo Del Busso <danilo.delbusso@cloud.com>
* CP-40842: Update content of `ACTION_SYSTEM_STATUS_SUCCESSFUL` message
Signed-off-by: Danilo Del Busso <danilo.delbusso@cloud.com>
* CP-40842: Add link to `labelBlurb` in `BugToolPageRetrieveData.cs`
Signed-off-by: Danilo Del Busso <danilo.delbusso@cloud.com>
* CP-40842: Add report packaging logic to `BugToolPageRetrieveData.cs`
Signed-off-by: Danilo Del Busso <danilo.delbusso@cloud.com>
* CP-40842: Open CIS URL when clicking on `linkLabelBlurb`
Signed-off-by: Danilo Del Busso <danilo.delbusso@cloud.com>
* CP-40842: Report packaged data amount in `ZipStatusReportAction`
Signed-off-by: Danilo Del Busso <danilo.delbusso@cloud.com>
* Remove unused `using`s
Signed-off-by: Danilo Del Busso <danilo.delbusso@cloud.com>
* Minor layout tweaks.
Signed-off-by: Konstantina Chremmou <Konstantina.Chremmou@cloud.com>
* Renamed folder and namespace to match the ones for the other wizards.
Signed-off-by: Konstantina Chremmou <Konstantina.Chremmou@cloud.com>
* Renamed wizard's private fields. Some code efficiency corrections.
Signed-off-by: Konstantina Chremmou <Konstantina.Chremmou@cloud.com>
* Keep the row classes as private within the BugToolPageRetrieveData class.
Signed-off-by: Konstantina Chremmou <Konstantina.Chremmou@cloud.com>
* Removed leftover unused action.
Signed-off-by: Konstantina Chremmou <Konstantina.Chremmou@cloud.com>
* Tidy up status report messages. Use more relevant icon.
Signed-off-by: Konstantina Chremmou <Konstantina.Chremmou@cloud.com>
* Made blurb localisable.
Signed-off-by: Konstantina Chremmou <Konstantina.Chremmou@cloud.com>
* Renamed private fields.
Signed-off-by: Konstantina Chremmou <Konstantina.Chremmou@cloud.com>
* Simplified the stages of the compilation of the status report.
Signed-off-by: Konstantina Chremmou <Konstantina.Chremmou@cloud.com>
* Renamed row classes again to match the action names.
Signed-off-by: Konstantina Chremmou <Konstantina.Chremmou@cloud.com>
* Simplify reporting the progress of the zipping action.
Signed-off-by: Konstantina Chremmou <Konstantina.Chremmou@cloud.com>
* Recursive call is not necessary. Tweaked message.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
* Sort strings
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
* Update copyright notices
Signed-off-by: Danilo Del Busso <danilo.delbusso@cloud.com>
---------
Signed-off-by: Danilo Del Busso <danilo.delbusso@cloud.com>
Signed-off-by: Konstantina Chremmou <Konstantina.Chremmou@cloud.com>
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
Co-authored-by: Konstantina Chremmou <Konstantina.Chremmou@cloud.com>
Co-authored-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
* CA-359965: Consider `physical_utilisation` value when checking for free space in thinly provisioned SRs
* CA-359965: Fix miscellaneous formatting issues
* Made SrPickerItem show the SR by default. Removed virtual method that was never overriden.
* Use slightly more intuitive name for property; also inverted its logic.
* Renamed VdiCreationCanProceed to the more specific CanFitDisks since it only deals with sizes.
* Re-arranged classes in file.
* Refactored SrPickerItem:
- Merged CanBeEnabled and DisabledReason properties to method CanBeEnabled(out disabledREason)
to avoid running the same checks twice.
- Pass the disk instead of the size into extension method SR.CanFitDisks
so that the correct size can be used for each storage (thin vs. non-thin provision).
* Correction as per code review and some tweaks to make the checks clearer and more efficient.
Signed-off-by: Danilo Del Busso <Danilo.Del.Busso@citrix.com>
Co-authored-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
The new name complies with C# conventions and allows distinguishing it from xapi field names.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
Objective was to increase efficiency and better report the reason why migration
is not allowed. For this, WlbEnabledFilter and ResidentHostIsSameAsSelection
filters were merged into the CrossPoolMigrateFilter, and properties
FailureFound and Reason of the ReasoningFilter class were merged into method
FailureFound(out failureReason).
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
Also, show the name of the VM in the various failure messages as drag-and-drop
may operate on multiple VMs.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>