There is a chance that all actions have completed before we hit the `Wait` call, we need to make sure we don't hit a deadlock.
This can happen if for instance there is only one action, and it is a "dummy" action, such as the one used in the EUA check.
Also I have removed the compound assignment for the `volatile _completedActionsCount` since Visual Studio was flagging it as a "suspicious usage of a volatile variable". I personally don't think it's a problem but better safe than sorry.
Contains minor whitespace fixes, too
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>