Commit Graph

735 Commits

Author SHA1 Message Date
Michael J. Manley
58e750ffae Added a themed tab control. Added CI to project. 2024-02-09 01:32:20 -08:00
Michael J. Manley
b56e07f5eb Converted from old MSBuild Style to .NET SDK Style Projects to prepare for .NET Core Upgrade in future.
Removed EOL notice and added future Mantainership notice.
2024-02-08 11:31:35 -08:00
Alexander Schulz
a49162d9a1 removed xenserver specific code: updates, patches, rolling upgrades, yum repos, help manager 2024-01-01 20:08:28 +01:00
Alexander Schulz
f586cc26ba removed licencing, crashdumpmenu, upsell pages, hidden feature configuration, pvs 2024-01-01 17:34:01 +01:00
Alexander Schulz
1ec327dc06 Mergeconflicts resolved, it builds again! 2023-12-30 18:58:02 +01:00
Konstantina Chremmou
de27c1289d
Merge pull request #3248 from kc284/dvdisolist
CP-43651, one inconsistency, layout tweaks, and minor refactoring on MultipleDvdIsoList.
2023-11-16 12:06:52 +00:00
Konstantina Chremmou
22e1973023 Corrected positioning of DVD ISO list control.
Signed-off-by: Konstantina Chremmou <Konstantina.Chremmou@cloud.com>
2023-11-14 17:03:49 +00:00
Danilo Del Busso
93da92f1bc
Merge pull request #3250 from xenserver/feature/64-vcpus
Merge full 64 vCPUs support
2023-11-01 11:39:55 +00:00
Konstantina Chremmou
6f1daff1fc Compacted logic that toggles control visibility.
Signed-off-by: Konstantina Chremmou <Konstantina.Chremmou@cloud.com>
2023-11-01 10:49:59 +00:00
Konstantina Chremmou
85347aa95c CP-43651: Ask for confirmation when the user clicks to create a DVD drive.
Signed-off-by: Konstantina Chremmou <Konstantina.Chremmou@cloud.com>
2023-11-01 10:49:59 +00:00
Konstantina Chremmou
fcd9b195f6 Minor layout tweaks (margins, padding, alignment).
Signed-off-by: Konstantina Chremmou <Konstantina.Chremmou@cloud.com>
2023-11-01 00:29:15 +00:00
Konstantina Chremmou
3be1d02a11 Minor code smells.
Signed-off-by: Konstantina Chremmou <Konstantina.Chremmou@cloud.com>
2023-11-01 00:29:15 +00:00
Konstantina Chremmou
0f4d105518
Merge pull request #3223 from kc284/master
Random corrections and enhancements
2023-10-25 11:06:53 +01:00
Konstantina Chremmou
fce47b8152 Fixed duplicate message on the UpsellDialog.
Signed-off-by: Konstantina Chremmou <Konstantina.Chremmou@cloud.com>
2023-10-25 11:02:30 +01:00
Konstantina Chremmou
7b41c3a82c Hide from designer TabPage properties that are not meaningful at design time. Minor tidy up.
Signed-off-by: Konstantina Chremmou <Konstantina.Chremmou@cloud.com>
2023-10-25 11:02:30 +01:00
Konstantina Chremmou
56628d4b83 Converted the StatusStrip of the MainWindow to a clickthrough StatusStrip.
So the user can click it immediately without having to bring the window into focus first.

Signed-off-by: Konstantina Chremmou <Konstantina.Chremmou@cloud.com>
2023-10-25 11:02:29 +01:00
Konstantina Chremmou
56b6a5b26a CA-383650: Removed UI-side-only datasource avg_cpu.
Signed-off-by: Konstantina Chremmou <Konstantina.Chremmou@cloud.com>
2023-10-20 17:42:44 +01:00
Danilo Del Busso
afb419af04
CP-44767, CP-44766 & CP-44765: Refactor usage of VM restrictions and add reference_label to OVFs (#3211)
* 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>
2023-09-29 03:45:17 +01:00
Konstantina Chremmou
139186d604 Parse unit "percent" (used by pvsaccelerator_space_utilization). Minor tidy.
Signed-off-by: Konstantina Chremmou <Konstantina.Chremmou@cloud.com>
2023-09-08 20:10:14 +01:00
Danilo Del Busso
bba9f43c31
CA-376887: Refactor thread management for ArchiveMaintainer (#3148)
* Tidy up `ArchiveMaintainer`: use naming conventions
* Tidy up `ArchiveMaintainer`: use `var` when possible
* Tidy up `ArchiveMaintainer`: fix typos
* Tidy up `ArchiveMaintainer`: move action methods in own region
* Tidy up `ArchiveMaintainer`: apply code formatting
* Tidy up `ArchiveMaintainer`: remove unused constant/using
* Tidy up `ArchiveMaintainer`: group methods into regions
* Tidy up `ArchiveMaintainer`: remove xmldocs
* Tidy up `ArchiveMaintainer`: miscellaneous changes
* Tidy up `ArchiveMaintainer`: move `NextArchiveDown` to correct `region`
* CA-376887: Use multiple threads to load performance tab data
This commit removes the ad-hoc use of `Thread` and instead relies on `ThreadPool` and `CancellationToken`s to handle multi-threading. To achieve this, `ArchiveMaintainer` instances are now tied to only one `XenObject`. If a user navigates to another Performance tab, a new instance of `ArchiveMaintainer` is used. This enables XenCenter to quietly cancel ongoing data fetching operations, and start a new one without affecting the UI. UI elements are simply updated to point to the new `ArchiveMaintainer` while the old one is being  closed.
Please note that follow up commits to clean up `ArchiveMaintiner` and this implementation are coming. They have been separated to make reviews easier
* CA-376887: Move initial load logic to separate method in `ArchiveMaintainer`
* CA-376887: Rename `Update` to `StartUpdateLoop` in `ArchiveMaintainer`
* CA-376887: Fix use of `Dispose` in `PerformancePage` and collapse `Stop`/`Pause` into one method
* CA-376887: Remove unused `FirstTime` variable
* Tidy up `ArchiveMaintainer`: use `switch` when possible and improve logging
* Tidy up `ArchiveMaintainer`: Move variables inline
* Tidy up `ArchiveMaintainer`: Standardize fields/properties
* Tidy up `ArchiveMaintainer`: Normalize whitespace
* CA-376887: Ensure only one thread is spawned for each `ArchiveMaintainer`
- Ensures resources are disposed of
- Fixes issues whereby quickly starting and stopping threads for the same `XenObject` `ArchiveMantainer` would cause threads from not exiting
* Improve formatting and whitespace in `ArchiveMaintainer`
* Improve logging of exceptions in `ArchiveMaintainer:Get`
* Fix `ServerNow` calls in `ArchiveMaintainer`
* Deregister `ArchiveMaintainer` events when a new one is reassigned.
Also rename methods
* Apply code review suggestions

Signed-off-by: Danilo Del Busso <danilo.delbusso@cloud.com>
2023-09-07 10:03:43 +01:00
Konstantina Chremmou
9c37834bd0 Stop retrieving values from Messages.resx by passing hardcoded strings to the Messages.ResourceManager.
Signed-off-by: Konstantina Chremmou <Konstantina.Chremmou@cloud.com>
2023-08-29 20:57:21 +01:00
Konstantina Chremmou
de1120f18b
More fixes including CA-381728, CA-381618, CA-381225 (#3205)
* CA-381728: If no post-update tasks exist, XenCenter should explicitly state so.

Also, livepatches should be shown if other guidance is absent.

Signed-off-by: Konstantina Chremmou <Konstantina.Chremmou@cloud.com>

* Missing placeholders for building locally without applying branding.

Signed-off-by: Konstantina Chremmou <Konstantina.Chremmou@cloud.com>

* Missing help links.

Also removed scripts that are not used any more.

Signed-off-by: Konstantina Chremmou <Konstantina.Chremmou@cloud.com>

* CA-381618: The HA/WLB off check is a pool, not a host check.

Signed-off-by: Konstantina Chremmou <Konstantina.Chremmou@cloud.com>

* CA-381225: Corrected order of running update guidance (also uses input from CA-381718).

Signed-off-by: Konstantina Chremmou <Konstantina.Chremmou@cloud.com>

* UPDATES_URL has been renamed to XC_UPDATES_URL.

Signed-off-by: Konstantina Chremmou <Konstantina.Chremmou@cloud.com>

---------

Signed-off-by: Konstantina Chremmou <Konstantina.Chremmou@cloud.com>
2023-08-21 13:35:49 +01:00
Konstantina Chremmou
f5e535cc2b CA-380738 and other icon fixes:
- The pool/host unpatched icons should be shown only when the pool is not fully updated.
- Repo config dialog: added icon on the list to differentiate pools from standalone hosts.
- Use different icons for client and LCM server updates.
- Added icons to the Config Updates dialog.

Signed-off-by: Konstantina Chremmou <Konstantina.Chremmou@cloud.com>
2023-08-09 13:53:21 +01:00
Konstantina Chremmou
9a006f3fbf CA-380723: Do not allow sync if an update repo is not configured.
Also, corrections to the sync button/link enabled state.

Signed-off-by: Konstantina Chremmou <Konstantina.Chremmou@cloud.com>
2023-08-07 15:15:38 +01:00
Konstantina Chremmou
c822c87af2 Renamed method to match C# conventions.
Signed-off-by: Konstantina Chremmou <Konstantina.Chremmou@cloud.com>
2023-08-03 13:46:52 +01:00
Konstantina Chremmou
60284077e3 CP-43266: Added new notifications page to list updates from CDN.
Signed-off-by: Konstantina Chremmou <Konstantina.Chremmou@cloud.com>
2023-07-31 11:33:25 +01:00
Konstantina Chremmou
2774ea5c7f Show update status for pools and hosts on the General tabPage:
- Show sync status for the pool in its Updates section.
- Moved update date for the host from the Version to the Updates section.

Signed-off-by: Konstantina Chremmou <Konstantina.Chremmou@cloud.com>
2023-07-31 11:33:25 +01:00
Konstantina Chremmou
b0c23a2c36 Merge remote-tracking branch 'upstream/master' into feature/cdn-updates
Signed-off-by: Konstantina Chremmou <Konstantina.Chremmou@cloud.com>

# Conflicts:
#	XenAdmin/Properties/Resources.resx
2023-07-31 11:03:23 +01:00
Konstantina Chremmou
385130fef6 CP-43265: Added new dialog to configure updates for servers.
Signed-off-by: Konstantina Chremmou <Konstantina.Chremmou@cloud.com>
2023-07-28 09:36:54 +01:00
Danilo Del Busso
6fa8cfa10b
CP-43000: Update link and text shown in the hosts' general tabs
Signed-off-by: Danilo Del Busso <danilo.delbusso@cloud.com>
2023-07-19 15:55:37 +01:00
Danilo Del Busso
75faf093a9
CP-43000: Rename IsummaryPanelView to ISummaryPanelView
Signed-off-by: Danilo Del Busso <danilo.delbusso@cloud.com>
2023-07-19 15:54:25 +01:00
Danilo Del Busso
b7a9716bb8
CP-43000: Show both support and license statuses in License Manager
Signed-off-by: Danilo Del Busso <danilo.delbusso@cloud.com>
2023-07-19 15:54:22 +01:00
Danilo Del Busso
184bf9831a
CP-43000: Separate support and license warnings in License Manager
Contains placeholder values

Signed-off-by: Danilo Del Busso <danilo.delbusso@cloud.com>
2023-07-19 15:54:19 +01:00
Konstantina Chremmou
f9198e477d
Added option for three columns on the GeneralTabPage panels. Refactored methods adding entries.
Signed-off-by: Konstantina Chremmou <Konstantina.Chremmou@cloud.com>
2023-07-19 15:54:13 +01:00
Danilo Del Busso
ceaa9abd66
CP-43000: Add trial edition and CSS expiry warnings to LicenseManager
Also:
- Increase size of `LicenseManager` to accommodate larger text
- Add upsell URL to existing warning for pool size restrictions

Signed-off-by: Danilo Del Busso <danilo.delbusso@cloud.com>
2023-07-19 15:54:01 +01:00
Konstantina Chremmou
6d83365cfc Merge branch 'master' into feature/merge
Signed-off-by: Konstantina Chremmou <Konstantina.Chremmou@cloud.com>

# Conflicts:
#	XenAdmin/Dialogs/PropertiesDialog.cs
2023-06-13 15:08:36 +01:00
Konstantina Chremmou
0c1ace1aaf CP-41473: Restored the Notifications>Updates TabPage.
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>
2023-06-13 14:48:23 +01:00
Konstantina Chremmou
02ded9ba71 CP-41474: Added setting on the Options dialog to import a client ID for downloading hotfixes for LCM servers.
Signed-off-by: Konstantina Chremmou <Konstantina.Chremmou@cloud.com>
2023-06-13 14:48:23 +01:00
Konstantina Chremmou
2909a4996d Protected loggers do not log the class where the method is correctly.
Signed-off-by: Konstantina Chremmou <Konstantina.Chremmou@cloud.com>
2023-06-13 14:48:23 +01:00
Konstantina Chremmou
82940850e9 CP-43102: Removed Dundee code.
The check DundeeOrGreater always returns true since we disallow connection to anything earlier than Havana.

Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2023-06-13 14:48:23 +01:00
Danilo Del Busso
6c584bb351
CA-375532, CA-336510, and CP-41825: Add warnings when user selects too many vCPUs (#3119)
* 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>
2023-06-08 11:24:39 +01:00
Danilo Del Busso
77edbd3b1e
Prevent long overflow when VM has a very large amount of memory (#3154)
* 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>
2023-06-07 13:15:34 +01:00
Konstantina Chremmou
801125f448
Merge pull request #3137 from danilo-delbusso/dev/snapshot-crash-CA-375803
CA-375803: Catch exceptions when creating a new template from snapshot
2023-05-05 14:56:46 +01:00
Danilo Del Busso
1914a45869 Add missing reads/s unit mapping
Signed-off-by: Danilo Del Busso <danilo.delbusso@cloud.com>
2023-05-05 14:53:58 +01:00
Danilo Del Busso
f16b0fed35
Revert IsCompleted checks
Signed-off-by: Danilo Del Busso <danilo.delbusso@cloud.com>
2023-05-02 09:00:54 +01:00
Danilo Del Busso
113a427e6a
Collapse type checks in WlbOptimizePool
Signed-off-by: Danilo Del Busso <danilo.delbusso@cloud.com>
2023-04-28 15:34:02 +01:00
Danilo Del Busso
30291cc3bd
CA-375803: Check if actions have succeeded before accessing action result
Also add check to non-relevant actions

Signed-off-by: Danilo Del Busso <danilo.delbusso@cloud.com>
2023-04-28 10:06:18 +01:00
Konstantina Chremmou
a4df1eed61 New logic for connection to a xapi database and some connection tidy up:
- 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>
2023-03-31 14:17:56 +01:00
Danilo Del Busso
dd571056ae CP-42286: Add friendly name for pool_session_creation_rate
Also adds new unit to `DataSet.cs`

Signed-off-by: Danilo Del Busso <danilo.delbusso@cloud.com>
2023-03-29 22:52:01 +01:00
Konstantina Chremmou
5828c03e8d CA-375173: Create the VDI and VBD records before closing the new disk dialog. Also:
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>
2023-02-28 15:36:13 +00:00