Adds a new field in `SelectMultipleVMDestinationPage`: `AllSelectedTargets`.
This new field contains a list of all hosts that have been selected. This way `ImportSelectHostPage` can check for each `Host` that has been selected individually and add more relevant messages
Signed-off-by: Danilo Del Busso <danilo.delbusso@cloud.com>
Also, moved the filter indication label from the Alerts/Updates/Events page
to the main window because the Updates page top toolstrip looked too clattered.
Signed-off-by: Konstantina Chremmou <Konstantina.Chremmou@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>
- Adding a disk on local SR to an HA protected VM was crashing.
- The user could not plug the disk to the VM even after providing credentials on the role elevation dialog.
- The user had to enter credentials for each of the sub-actions involved in adding a disk.
Signed-off-by: Konstantina Chremmou <Konstantina.Chremmou@cloud.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>
* Prevent `long` overflow when VM has a very large amount of memory. Resulted in XenCenter hanging with a significant memory leak.
* Remove unused `label` parameter from `LabelShouldBeShown`
* Use `double` for increment variable when calculating increments in `ShinyBar`
* Use `Debug.Assert` call to avoid issues with `DrawGrid` in `ShinyBar`
Signed-off-by: Danilo Del Busso <danilo.delbusso@cloud.com>
RBAC check sometimes runs after the action that is being checked. This results in the status bar being cleared if the RBAC check passes.
Signed-off-by: Danilo Del Busso <danilo.delbusso@cloud.com>
- Removed event that had no subscribers.
- The xml docs are more useful on the properties and not their supporting private fields.
- Stop silencing cache errors as they may reveal other issues.
- Adding server to history was called twice.
- Connection null checks and refactoring of ConnectionExists exceptions.
- Added some logging.
Signed-off-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>
- Multiple server entries should not be parsed differently from single entries;
(the Uri case was parsed incorrectly; multiple servers with ports could not be added).
- Simplified code parsing the hostname and port.
- Removed obsolete property IXenConnection.Version.
Signed-off-by: Konstantina Chremmou <Konstantina.Chremmou@cloud.com>
- Moved Windows Server templates to a different category.
- Show templates in reverse alphabetical (typically release) order.
Signed-off-by: Konstantina Chremmou <Konstantina.Chremmou@cloud.com>
- The CustomFieldsDialog was an unnecessary intermediate step deteriorating the user experience.
- Fixed layout issues when we have a long list of custom fields.
Signed-off-by: Konstantina Chremmou <Konstantina.Chremmou@cloud.com>
- Converted them to proper AsyncActions to facilitate further refactoring.
- Moved SaveCustomFieldsAction to the same folder as the above.
Signed-off-by: Konstantina Chremmou <Konstantina.Chremmou@cloud.com>
Fixed issue where the SR was not preselected when editing an existing disk and no scans were taking place.
Signed-off-by: Konstantina Chremmou <Konstantina.Chremmou@cloud.com>
- Bumped branding to v4.11.
- Reverted VS version in the solution file.
- Removed brand override registry entry.
- Converted HealthCheck warning pop-up to info pop-up.
- Moved status report actions to a separate folder.
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>
Also, renamed the placeholder because msbuild converts spaces to underscores
and in debug mode the settings path is different from the one expected.
Signed-off-by: Konstantina Chremmou <Konstantina.Chremmou@cloud.com>
- Corrections to the layout of the LegalNoticesDialog and the AboutDialog.
- Dispose the LegaNoticesDialog when the AboutDialog is closed.
Signed-off-by: Konstantina Chremmou <Konstantina.Chremmou@cloud.com>
`value` can sometimes be fed as a multiline string, in which case timestamps were added to empty lines, causing confusion.
Signed-off-by: Danilo Del Busso <danilo.delbusso@cloud.com>
Also renamed the archive classes because they were named after the 3rd
party library used and were confusing.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
The scans run in parallel in batches of three to avoid flooding the session.
Also, prevent firing the SelectedIndexChanged event multiple times when populating the NewDisk dialog.
Renamed the SrPicker control on the latter (because SrListBox is a different type of control).
Signed-off-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>
Also, some corrections to the template comparer on the NewVM wizard's Template page.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
Also:
- Use new date format for logs
- Specify option parameter names
- Do not show timestamp for host name log
- Do not show timestamp for null/whitespace only lines
Signed-off-by: Danilo Del Busso <Danilo.Del.Busso@citrix.com>
- Add option to the display options page
- Add related setting
- Refactor `ExtensionMethods` to be more compact and flexible
- Add docs to `ExtensionMethods`
- Whitespace fixes
Signed-off-by: Danilo Del Busso <Danilo.Del.Busso@citrix.com>
Multiple changes:
1. Remove `SetDefaultTarget(ChosenItem);` from `PageLeaveCore`. This was clearing the value every time the page was left.
2. Add event `m_dataGridView_CellValueChanged`. Inside the event, we keep track of which target host/pool was selected
3. Add a check that resets the value set in `m_dataGridView_CellValueChanged` in case the chosen pool is changed.
Signed-off-by: Danilo Del Busso <Danilo.Del.Busso@citrix.com>
Resetting the clip so that on the next render we don't hide labels and title.
Also moved logic outside `LineRenderer.cs`
Signed-off-by: Danilo Del Busso <Danilo.Del.Busso@citrix.com>
all scenarios of changed affinity if the user moved from the SR selection
page back to the server selection page and forwards again.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
Use `var` where possible
Rename fields and methods following conventions
Use pattern matching when casting
Rename variables using more meaningful names
Signed-off-by: Danilo Del Busso <Danilo.Del.Busso@citrix.com>
* CP-39720 adds a auth token to updates.xml download and chc.msi download if it exists in the registry keys
Signed-off-by: Christophe25 <christopher.lancaste1@citrix.com>
* CP-39720 adds definition of GetInternalStageAuthToken() to XenServerHealthCheckConfigProvider.cs
Signed-off-by: Christophe25 <christopher.lancaste1@citrix.com>
* CP-39720 updates token name to be more consistent
Signed-off-by: Christophe25 <christopher.lancaste1@citrix.com>
* CP-39720 updates token name in missed request
Signed-off-by: Christophe25 <christopher.lancaste1@citrix.com>
* CP-39720 reads token name from registry
Signed-off-by: Christophe25 <christopher.lancaste1@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>
Because if these are protected by a master password, the application shows
all tabs it constructed with while the password dialog is open.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>