Commit Graph

50 Commits

Author SHA1 Message Date
Konstantina Chremmou
d3f761b070 Reworked the logging for the plan actions. (#2109)
* Deprecate set but unused Status property in favour of ProgressDescription.
* Deprecate set but unused TitlePlan property.
* Deprecated property Title in favour of ProgressDescription.
* Removed unused plan RebootHostPlanAction.
* Updated event declaration.
* Removed property Visible. The plan is to have the actions log their history as soon as some is available.
* Reworked the logging for the plan actions. The main change is the replacement of
the ProgressDescription with a stack where all the steps of an action are stored,
i.e. the action is responsible for its history, not the worker running it.
* Lock the progress history before accessing it.
* Better handling of error logging and user cancellation.

Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2018-06-26 14:04:51 +01:00
Konstantina Chremmou
03b5e9a0c4 Moved logic for calculating the progress increment into the UpdateProgressBackgroundWorker.
Renamed HostPlanActions class to HostPlan to avoid confusion with the HostPlanAction class.

Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2018-06-25 11:31:18 +01:00
Mihaela Stoica
e8d2b9e493 CP-28279: Use different messages for RPU (for reporting success or failure)
- Also corrected the function that creates the update plan action in RPU: when running a retry, these actions shouldn't be regenerated.

Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
2018-06-25 11:31:18 +01:00
Mihaela Stoica
7ed8a2ba44 CP-28279: Add updates installations to the RPU wizard
- Some methods have been moved/added to the base class to facilitate the calculation of the plan actions in the RPU case.
- Also fixed the calculation of the progress bar value.

Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
2018-06-25 11:31:18 +01:00
Mihaela Stoica
a99ae50f57 CP-28279: Change the upgrade page of the RPU wizard to inherit from the class AutomatedUpdatesBasePage
- Methods have been added to the base class to deal with the manual upgrade mode

Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
2018-06-25 11:31:18 +01:00
Konstantina Chremmou
e7683fcf0b CP-28492: Evacuate the VMs before the first reboot and repatriate them after the last one.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2018-06-22 17:40:53 +01:00
Mihaela Stoica
3c300accce CP-28279: Make the base AutomatedUpdatesBasePage class abstract
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
2018-06-20 11:15:35 +01:00
Mihaela Stoica
73f6ebdf5c CP-28279: Add a base class for Automated Updates (this will be later used for the RPU as well)
The base class contains all the code for creating and starting the background workers, displaying the progress of the actions, handling failures and retries.
The derived classes override the property for label at the top of the page and the method that generates the plan actions.

Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
2018-06-20 11:15:35 +01:00
Mihaela Stoica
59b9b695db CP-28284: Changes following code review
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
2018-06-19 13:34:37 +01:00
Mihaela Stoica
631d7656a2 CP-28284: Corrections
- ensure that an action is only added once to the DoneActions and InProgressActions
- reset the wizard buttons (Cancel, Finish) when a retry is started

Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
2018-06-19 13:34:37 +01:00
Mihaela Stoica
920da093e0 CP-28284: Only show the error icon and text when all the workers have finished
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
2018-06-19 13:34:37 +01:00
Mihaela Stoica
eca6081f48 CP-28284: Show the plan actions indented under the pool name
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
2018-06-19 13:34:37 +01:00
Mihaela Stoica
7fa9d0b94f CP-28284: Updates wizard: Add a "pause and resume" mechanism to handle failures
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
2018-06-19 13:34:37 +01:00
Konstantina Chremmou
49823f9dd9 Do not show the successful completion message before the update is actually completed.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2018-06-08 16:41:06 +01:00
Konstantina Chremmou
73e7b66fa4 Do not change the page top blurb depending on the process outcome. Improved error messages.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2018-06-08 16:15:55 +01:00
Konstantina Chremmou
2e2ae7c196 Separate displayed update information per pool. Minor layout corrections and removal of unused LinkLabel.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2018-06-08 13:42:06 +01:00
Konstantina Chremmou
11a9785dba Log the patch clean-up actions on the screen in case of a failure. Order the shown actions per pool.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2018-06-07 16:34:13 +01:00
Konstantina Chremmou
887428872a Logic corrections. Show the name of the patch being removed each time.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2018-06-07 12:12:17 +01:00
Konstantina Chremmou
c643351e6c CP-28281: Change the order in which the updates are applied to a pool, namely apply all updates on a host before continuing with the next host.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2018-06-05 22:26:16 +01:00
Konstantina Chremmou
723510b853 Removed class Updates.UpgradeSequence.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2018-06-05 11:50:34 +01:00
Konstantina Chremmou
b0cdc74188 The code in the BackgroundWorker's ProgressChanged and RunWorkerCompleted event handlers does not need invoking as it's already on the UI thread.
Also, some logic simplification.

Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2018-05-29 13:50:46 +01:00
Mihaela Stoica
2af3de8e7f CA-287430: Fixed the issue where the "Install Update" page of the patching wizard does not show the information on the host reboot steps.
- use the plan action's ProgressDescription property to display the steps in RestartHostPlanAction (evacuate host, reboot host, bring babies back);
- the plan action should not be visible if the restart is skipped;

- The change to the DownloadAndUnzipXenServerPatchAction is to ensure that the download progress description is updated on the wizard with the correct description (in automated updates mode, via DownloadPatchPlanAction); DownloadPatchPlanAction is using the ActionChanged event to update its description based on the  action's DownloadProgressDescription property, but the ActionChanged event is called when the PercentComplete is updated, so this needs to happen after DownloadProgressDescription has been updated.

Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
2018-04-10 11:08:18 +01:00
Mihaela Stoica
1925fc9ec4 CA-285215: Cancel button should be enabled on the Patching wizard when the update installation is in progress
- also fixing an error on the patching wizard where a null reference exception is thrown if, when the wizard is cancelled, the host where an update has been uploaded is not connected anymore

Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
2018-04-09 08:47:26 +01:00
Konstantina Chremmou
ee648135f6 Since it is easy to forget calling the base class method at the beginning of the
PageLoaded override in derived classes, enforce it by wrapping the page specific
code in a new virtual method, which the derived classes can override and PageLoaded
can call after its own logic.

Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2018-03-09 11:22:26 +00:00
Konstantina Chremmou
a8b831fab9 Simplified check as per code review.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2018-03-09 11:22:26 +00:00
Konstantina Chremmou
9e3a9abfa0 Resolve host before querying its properties.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2018-03-08 11:34:00 +00:00
Konstantina Chremmou
b3828ef452 Added parameter enableOnly defaulting to false to the RestartHostPlanAction
so as to be able to evacuate-reboot the host without bringing the VMs back.

Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2018-03-07 17:50:51 +00:00
Konstantina Chremmou
4b6e826ed3 CA-284125: Prioritise a pending host restart over a mandatory toolstack restart.
For this purpose, the evacuate-reboot-bringbabiesback triplet was replaced by a
new RestartHostPlanAction, which allows fallback to toolstack restart if live
patching has succeeded. Also, created new abstract class HostPlanAction to
reduce code duplication.

Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2018-03-06 15:12:04 +00:00
Konstantina Chremmou
7505bda9e3 Removed unused properties of UpdateProgressBackgroundWorker; store the number of
actions on creation instead of calculating it every time on access.

Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2018-03-06 14:17:16 +00:00
Konstantina Chremmou
71e554cc39 Removed duplicate logic calculating VM groups from the WizardPages and moved it the Host class as extension methods.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2018-03-06 14:17:15 +00:00
Konstantina Chremmou
3171005d23 Removed redundant code in file.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2018-03-06 14:17:15 +00:00
Konstantina Chremmou
1728eb64b6 Simplified the code building the plan actions list as the previous code was
calculating the AfterApplyGuidanceActionsForPatch twice when the patch had
mandatory guidance.

Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2018-02-21 14:14:03 +00:00
Mihaela Stoica
95471eaac5 CA-281646: Do not download the update again when using an update from disk (#1933)
* CA-281646: Do not download the update again when using an update from disk

When applying a "new version" update, XenCenter starts an automated updates sequence that by default downloads all the updates. However, when using an update from disk, we shouldn't download it again.

With these changes, when an update from disk is used we save the [update, path] mapping, which we then use in the automated updates sequence, so we don't download that update again.

Also fixed a bug where a zipped update file from disk is not identified as a new version.

* CA-281646: Remove unused directive

Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
2018-02-05 12:36:49 +00:00
Gabor Apati-Nagy
c00439bef4 CP-24818: [Update Wizard Improvements] Show the progress of the download in Automated mode
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
2017-10-02 16:35:10 +01:00
Gabor Apati-Nagy
a8db7bfae9 Merge remote-tracking branch 'github_xenadmin/REQ-411' into master_REQ-411_merge
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>

Conflicts:
	XenAdmin/Core/Updates.cs
	XenAdmin/TabPages/ManageUpdatesPage.cs
	XenAdmin/Wizards/PatchingWizard/PatchingWizard_PrecheckPage.cs
	XenModel/Messages.Designer.cs
2017-09-29 11:56:46 +01:00
Konstantina Chremmou
ae22560ce8 Converted all extension get properties of the API classes to methods in order to
prevent them from being serialised alongside the API properties. This will also
be useful for moving the API bindings out of XenModel.

Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2017-09-03 03:35:30 +01:00
Mihaela Stoica
86d2acee7f Merge branch 'master' into REQ-411
Conflicts:
	CFUValidator/CFUValidator.cs
	CFUValidator/OutputDecorators/XenCenterUpdateDecorator.cs
	CFUValidator/OutputDecorators/XenServerUpdateDecorator.cs
	XenAdmin/TabPages/ManageUpdatesPage.cs
	XenAdmin/Wizards/PatchingWizard/PatchingWizard.cs
	XenAdmin/Wizards/PatchingWizard/PatchingWizard_PrecheckPage.cs
	XenModel/Actions/Updates/XenCenterVersion.cs
	XenModel/Actions/Updates/XenServerVersion.cs
	XenModel/Messages.Designer.cs
	XenModel/Messages.resx
2017-08-23 16:32:39 +01:00
Gabor Apati-Nagy
de97577430 CA-255551: [SCTX-2553] Automated Updates - Slaves rebooted before Master - XenCenter 7.1.1
Due to a regression (introduced by [1]), XenCenter will not run delayed actions in the correct host-order at all times. This can cause the master to be not the first host to be rebooted what may result in connections being lost to slaves should the API change between restarts/updates in a way that it would not be compatible to the previous version. This would make the wizard fail and users would have to restart their master host manually to make it connect to its slaves again.

This commit fixes the order of the hosts when executing the delayed actions.

[1]: 15827512e1

Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
2017-06-01 21:20:19 +01:00
Gabor Apati-Nagy
d14f0d6b49 CA-252877: Precheck actions not reverted on upgrading to new XenServer version using an update
Automated Updates now undo pre-check actions once it's finished wit the updates

Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
2017-05-10 12:21:11 +01:00
Gabor Apati-Nagy
5eff76be28 CA-252877: Precheck actions not reverted on upgrading to new XenServer version using an update
Automated Updates now undo pre-check actions once it's finished wit the updates

Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
2017-05-10 10:06:41 +01:00
Mihaela Stoica
47ccbd4581 Merge remote-tracking branch 'upstream/REQ-411' into REQ-411
Conflicts:
	XenAdmin/Wizards/PatchingWizard/PatchingWizard_SelectServers.resx
2017-03-28 12:44:54 +01:00
Gabor Apati-Nagy
acf6bc5ef8 CP-21182: Improved wording in the Install Updates Wizard
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
2017-03-28 11:17:26 +01:00
Mihaela Stoica
40680b09ea CP-21574: Add checkbox on the Select Servers page for applying all the released updates after the new version is installed
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
2017-03-27 16:12:49 +01:00
Mihaela Stoica
4bfbcc5f83 CP-21504: Add automated updates license check for the new versions that are available as updates 2017-03-27 11:11:26 +01:00
Mihaela Stoica
1896d9f958 CP-21504: Updates wizard: Automated mode for new versions that are available as updates
Introduced the WizardMode enum and the WizardMode  properties in several wizard pages (replacing the IsInAutomatedUpdates boolean property)
When in NewVersion mode, we show the same wizard pages as the AutomatedUpdates mode and we build the update sequence based on the selected update alert (which is an update to a new version)

Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
2017-03-24 16:43:19 +00:00
Gabor Apati-Nagy
e9eeb3d595 CA-244687: Install Updates Wizard: Automated mode: bugfix for omitted after-apply-guidances
Fixes following the code review

Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
2017-03-01 13:10:45 +00:00
Gabor Apati-Nagy
15827512e1 CA-244687: XSINT71E003 asks user to restart toolstack after installing hotfixes using Batch hotfixing
This commit fixes a bug in the Update Wizard that causes XenCenter to not restart Toolstack when it should in the following case: in Automated Mode, when the update sequence for a host has an update that contains live-patch with restartHost guidance (and guidance-mandatory=false) followed by an update with Toolstack restart guidance.

Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
2017-03-01 12:05:44 +00:00
Gabor Apati-Nagy
7c0bc50b4a CA-176169: Changed copyright statements to include the comma in Citrix Systems,
Inc.

Signed-off-by: Gabor Apati-Nagy<gabor.apati-nagy@citrix.com>
2017-01-16 19:59:50 +00:00
Gabor Apati-Nagy
5ed6a7c8ff CP-20065: Change "Automatic Update" to "Automated Updates"
more renaming

Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
2016-12-10 15:01:25 +00:00
Gabor Apati-Nagy
b0ca08ae6d CP-20065: Change "Automatic Update" to "Automated Updates"
made naming more consistent

Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
2016-12-10 14:44:15 +00:00