- Min and max should also include the defaults when looking across all templates
- Ensure exception isn't hit unnecessarily when parsing restriction value for VMs
- Allow use of `GetRestrictionValueFromMatchingTemplate` with template objects
- Parallelize `GetRestrictionValueAcrossTemplates` call
Signed-off-by: Danilo Del Busso <danilo.delbusso@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>
* CA-375900: Prepend `//?/` to file paths when creating streams for archive generation
The string works to enable creation of files with paths larger than 260 characters.
* CA-375900: Add directory support and rename utility method
* Fix whitespace in `ArchiveWriterTest`
* CA-375900: Explicitly enumerate files and directories in `ArchiveWriter`
`Directory.GetFiles` and `Directory.GetDirectories` do not enumerate if paths are longer than 260, even when prepended with `//?/`.
* CA-375900: Add long path tests to `ArchiveWriter`
* CA-375900: Add long path tests to `ArchiveIterator`
* CA-375900: Ensure files are added to folders in archive
* Use a recursive method to add directories and files to archive in `ArchiveIterator`
Also improves progress reporting by basing it on directory count
* Fix typos
* Expand `ArchiveWriterTests` to cover all combinations of directory and path lengths
* Ensure that directories used in recursive `Directory.Delete` calls are using long path format
If files in the directory exceed the 260 character limit, the calls will fail
* Expand `ArchiveIteratorTests` to cover all combinations of directory and path lengths
* Ensure relative path name removes `rootPath`
* Fix typo
* Do not use long paths when importing OVFs
The import uses `DiscUtils` which cannot handle paths prepended with `//?/`
* Remove use of `ToLongWindowsPath` within appliance export
This partially reverts commit 819425855c56c14b937849714b359003465bd2f4.
* Refactoring and some corrections.
Signed-off-by: Danilo Del Busso <danilo.delbusso@cloud.com>
Signed-off-by: Konstantina Chremmou <Konstantina.Chremmou@cloud.com>
Co-authored-by: Konstantina Chremmou <Konstantina.Chremmou@cloud.com>
* CP-45071: Convert XenCenter build scripts to PowerShell.
* Removed obsolete variable.
* Pass the timestamp server and the certificate thumbprint as parameters to the build and sign scripts.
* Added further logging and made the verbose output of cmdlets optional.
* Updated README.
* Improved script readability.
Signed-off-by: Konstantina Chremmou <Konstantina.Chremmou@cloud.com>
* 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>
- Try waiting on get_updates if it is not immediately available.
- Log instead of failing when a known (404/500) BadServerResponseException occurs.
- Ensure the UI is refreshed after fetching the list of updates.
Signed-off-by: Konstantina Chremmou <Konstantina.Chremmou@cloud.com>
- CA-380799: Host evacuation is not needed when the guidance is toolstack restart.
- CA-380796: Sometimes the guidance was applied before the update installation.
- Livepatch notice should be shown only if guidance is not reboot host.
Signed-off-by: Konstantina Chremmou <Konstantina.Chremmou@cloud.com>
- Added pool name in the action descriptions.
- Fixed host order on the updates list.
- Synchronize selected was not working for standalone hosts.
- Removed stray call to save settings.
- Null check.
Signed-off-by: Konstantina Chremmou <Konstantina.Chremmou@cloud.com>
- Last sync date was not shown for standalone hosts.
- Unlocalised string and incomplete release info.
- Converted Synchronise button to a split button to synchronize all/selected pools.
- Update the label above the updates from CDN page when filters are on.
Signed-off-by: Konstantina Chremmou <Konstantina.Chremmou@cloud.com>
- Alert sorting was not correct.
- A dismissal request was sent to the server even if there were no server side messages to dismiss.
Signed-off-by: Konstantina Chremmou <Konstantina.Chremmou@cloud.com>
- 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>