Commit Graph

453 Commits

Author SHA1 Message Date
Konstantina Chremmou
624a228715 Corrected the logic deciding whether a supplemental pack is applicable on a host.
(This looks like a better fix for CA-236547 too).

Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2018-07-08 22:43:21 +01:00
Konstantina Chremmou
c11b692958 CA-293158: Reworked the logic enabling/disabling and selecting servers depending
on the update mode, so that the right set of hosts is passed on to the prechecks
page for partially upgraded pools that are to be updated to a new version with
hotfixes. Also, corrected code that was mixing the logic of changing the enabled
 state of a row with the checked state.

Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2018-07-08 22:43:21 +01:00
Konstantina Chremmou
91563ebd54 No need to catch and rethrow exception as it's logged anyway; a couple of more optimisations.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2018-07-08 22:43:21 +01:00
Konstantina Chremmou
0aa43018a4 Removed ManualModeSelected property in favour of the existing ManualUpgrade; moved the latter in the class using it.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2018-07-08 22:43:21 +01:00
Mihaela Stoica
7c1484d6c7 CA-293099: If the update that we are trying to apply is already applied, then show that in the wizard.
Also sort Messages.resx and call ReplaceProgressStep instead of AddProgressStep in the DownloadPatchPlanAction class (when the download is skipped)

Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
2018-07-04 16:08:22 +01:00
Konstantina Chremmou
b08e91a470 Do not create a new background worker every time the checks are refreshed; queue
a new check on the existing one instead. Moved the background worker to the designer
of the class.

Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2018-07-04 12:09:37 +01:00
Mihaela Stoica
167c5132a3 CA-293099: When installing updates in the automated updates mode (including new version and RPU), ignore the UPDATE_ALREADY_APPLIED errors and allow the process to continue witth the remaining actions.
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
2018-07-03 11:09:14 +01:00
Konstantina Chremmou
54e341c315 Added some null safety checks.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2018-07-02 17:37:52 +01:00
Konstantina Chremmou
80aef805bf CA-293046: If a host has been updated and eventually rebooted, toolstack does not need to be restarted.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2018-07-02 17:37:52 +01:00
Konstantina Chremmou
6b2a9c3944 CA-293153: Moved the logic calculating the resolved precheck actions to be
reverted to the new class UpdateUpgradeWizard which serves as base for the
Patching and the RPU wizards. Pass the list of resolved problems to the
automated updates page and not the actions, so as to prevent premature (i.e.
on creation as opposed to on start) addition to the global list shown on
the Events page.

Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2018-07-02 17:37:52 +01:00
Konstantina Chremmou
5728a84e33 Renamed method UnwindChanges to CreateUnwindChangesAction to avoid cofusion, because the method only creates the action and does not run it.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2018-07-02 17:37:52 +01:00
Konstantina Chremmou
8ff639bfe9 Reset the background workers list when the page is loaded, but not when it's cancelled. Dispose of them when the page is disposed.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2018-07-02 17:37:52 +01:00
Konstantina Chremmou
3107c111f0 CA-293153: The logic calculating the resolved precheck actions to be reverted
is now in one place, namely the PatchingWizard_PrecheckPage.UnwindChangesActions.
The pages following this page use now this list instead of the problems
encountered, so we ensure that the update/upgrade plans do not include the
unwind action if no resolution of problems took place on the prechecks page.

Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2018-07-02 17:37:52 +01:00
Konstantina Chremmou
741bfaa864 CA-293092: Enhanced the logic of the SuccessfulDescription in the defining
class so the caller won't have to worry about it.

Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2018-07-02 17:37:52 +01:00
Konstantina Chremmou
7ea811e942 Renamed method SolveImmediately to GetSolutionAction because the old name was misleading: the method creates the action, it doesn't run it.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2018-07-02 17:37:52 +01:00
Konstantina Chremmou
dc8b2379c2 CA-292908: Fixed calculation of process percentage so the progress bar reaches 100% at the end of a successful update process.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2018-07-02 17:37:52 +01:00
Konstantina Chremmou
233dc66026 Moved checkbox closer to the datagridview, where it belongs.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2018-07-02 17:37:52 +01:00
Konstantina Chremmou
9a54258601 When updating multiple pools with the same patch and the download for the first pool is in progress, log that the download is on hold for the others.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2018-07-02 17:37:52 +01:00
Konstantina Chremmou
ca6458ac84 Do not repatriate VMs if there are none to repatriate.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2018-07-02 17:37:52 +01:00
Mihaela Stoica
e59b5dcb2b CA-293119: Add the pending master reboot precheck to all wizard modes
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
2018-07-02 15:24:09 +01:00
Ji Jiang
2edacbf43f CA-293092: Add HostCheck class to fix check.Host null exception
Signed-off-by: Ji Jiang <ji.jiang@citrix.com>
2018-06-29 14:27:10 +01:00
Konstantina Chremmou
f16cc7f770 Made UploadPatchAction and UploadSupplementalPackAction report progress of uploaded bytes.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2018-06-28 12:25:56 +01:00
Konstantina Chremmou
3e71da4e0a Do not trigger the Action.Change event when the PercentComplete or the Description
are set unless the new value is actually different. Small efficiency improvements
to the DownloadPatch action and plan action.

Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2018-06-28 12:25:56 +01:00
Konstantina Chremmou
86ea06696e CA-293009: Show the message for reconnecting storage after the host is rebooted.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2018-06-28 12:25:56 +01:00
Konstantina Chremmou
8d6b615841 Check and plug PBDs for VMs only if and when there are VMs to migrate; do not log
a message in this case as the SRs are reconnected after reboot and this may lead
to duplicate messages. Also, simplified check-and-plug methods for PBDs to avoid
repetition of iterations.

Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2018-06-27 07:58:55 +01:00
Konstantina Chremmou
8a6c661f30 Fixed broken test. Small logging and window title improvements.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2018-06-26 22:15:11 +01:00
Konstantina Chremmou
2c07869599 CA-292363: Do not show the DownloadAndUnzipXenServerPatchAction in action history.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2018-06-26 22:15:11 +01:00
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
Ji Jiang
41e358a8fa CP-28583: Remove host-level selection in Update wizard
1) Always pool level selection of hosts, except uploading sup pack file
from disk.
2) Revert homogeneity precheck change recently. It won't happen in new version
update any more.
3) User can never update slaves to a higher version than master, so delete
master_version_not_compatible_problem.

Signed-off-by: Ji Jiang <ji.jiang@citrix.com>
2018-06-26 12:45:59 +01:00
Mihaela Stoica
1bd439a2af CP-28279: Corrections to the plan actions
- In the RPU case, re-enable the host after the upgrade is done, as the host will be put back into maintenance mode when needed during the update process.
- The VMs should not be repatriated during the RPU
- When a host is rebooted, it needs to be disabled first (even if an evacuation is not needed), otherwise the reboot won't happen

Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
2018-06-25 17:12:39 +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
Konstantina Chremmou
37d9bc4b3b Moved all the code for the manual upgrade into the UpgradeManualHostPlanAction and removed the IsManual property.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2018-06-25 11:31:18 +01:00
Konstantina Chremmou
09de5fbcd6 Code repetition.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2018-06-25 11:31:18 +01:00
Mihaela Stoica
0d3c475439 CP-28279: Fix the AutoScaleMode
Signed-off-by: Mihaela Stoica <mihaela.stoica@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
Mihaela Stoica
3201ed3329 CP-28279: Fix the layout of the AutomatedUpdatesBasePage
(by putting everything on a TableLayoutPanel)

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
Konstantina Chremmou
cfb1c0f4d7 CA-291402: Do not display a plan action before it is actually running; this prevents skipped actions from being displayed.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2018-06-22 17:40:53 +01:00
Konstantina Chremmou
907e991745 Renamed file to match class name.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2018-06-22 17:40:53 +01:00
Ji Jiang
9ae8340913 CP-28280: Add CFU availability precheck to RPU wizard
Signed-off-by: Ji Jiang <ji.jiang@citrix.com>
2018-06-22 12:02:19 +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
Konstantina Chremmou
6513abc09e The check for hosts that are unlicensed for automated updates should be on all pool hosts as there maybe individual restrictions (for example via a feature flag).
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2018-06-19 17:20:08 +01:00
Mihaela Stoica
da9e5a5cab CP-28284: Implement IEquatable in PlanAction
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
2018-06-19 13:34:37 +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