Commit Graph

96 Commits

Author SHA1 Message Date
Mihaela Stoica
32a41236a8 CA-317856: Ensure that VMs are repatriated after all hotfixes are appl… (#2436)
* CA-317856: Ensure that VMs are repatriated after all hotfixes are applied and the host has been rebooted.
- there is no need to remove the "reboot host" plan actions from the delayed actions list, because the action itself has code to check if a reboot is actually needed.
* CA-317856: Only add the "Exit maintenance mode" progress step if the host is in maintenance mode at that point.
- moved the AddProgressStep() call inside the function that checks if anything needs to be done (i.e. is host needs to be enables)

Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
2019-05-17 12:32:25 +01:00
Mihaela Stoica
94ecd4f21c Fix RestartHostPlanAction
- if we decided to skip the host restart, then we should really skip it

Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
2019-03-12 11:22:04 +00:00
Mihaela Stoica
5da6edaf7e CA-310765: Reset the lostConnection flag, so that a retry of this action runs correctly.
Thsi fixes the bug where XenCenter shows connection failure in the RPU when retrying an upgrade

Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
2019-02-14 08:32:05 +00:00
Mihaela Stoica
6d44fd0350 CP-30335 - Part 2: Add a new precheck + Part 3: Enhance the error message displayed in case of migration failure during the RPU (#2371)
* CP-30335: Fix RPU wizard tests

* CP-30335: Add abstract class WarningWithMoreInfo and use it for two of the existing Warnings

* CP-30335: Add a new precheck which produces a warning if the Dom0 memory after the upgrade will be increased.

- if the Dom0 memory after the upgrade is known, then a warning is shown if this is higher than the current memory, regardless of the version of the upgrade
- if the Dom0 memory after the upgrade is not known (e.g. because the rpu plugin does not have the function that returns this), then a warning is shown if upgrading from a pre-Naples version

* CP-30335: Add a more detailed error message if the host evacuation fails due to not enough memory in the RPU and Patching wizards

* CP-30335: Add branding variable for version 8.0

Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
2019-01-28 14:44:58 +00:00
Konstantina Chremmou
ada6f7dac7 CA-296490: Upload single update to multiple pools in parallel. (#2338)
* Simplification: use auto-properties.

* Removed unnecessary null check. Converted private methods to linq method chain.

* Removed unused file. Added null check.

* Corrected property names as it was difficult to distinguish between the alert,
the patch and the filepath.

* Removed duplicate lock.

* CA-296490: Rewrote the logic uploading single updates so as to facilitate uploading to multiple pools in parallel.

* Corrections as per code review.

* Account for the case of uploading from disk legacy updates that do not correspond to an update alert.
Removed unfriendly error messages (the failure is written out in the logs anyway).

* Wizard test corrections and some modernising:
- Only call cancel on the last page if the test allows us to.
- Do finish the UpdatesWizard test.
- Finish the RunWizardKeyboardTests using key strokes instead of button clicks.
- Ensure the Cancel/Previous buttons do not have focus when sending an Enter stroke.
- Use optional parameters in the WizardTest constructor and string interpolation.

* Renamed badly named property.

* Improved code cloning VMs by assigning new opaque_refs to cloned VBDs.
Compacted test object provider: use optional parameters instead of method overloads.

* Modifications to prevent multiple update of enabled state and ensure the wizard
buttons are updated last.

Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2019-01-10 13:24:42 +00:00
Mihaela Stoica
fe7b4b6297 CA-304025: XenCenter should not do an immediate toolstack restart if a host reboot is pending, but do the host reboot instead
If the update sequence for automated updates contains an update which requires a host reboot and a hotfix with an immediate toolstack restart (after-apply-guidance=restartXAPI and guidance-mandatory=true),
then XenCenter should do an immediate host reboot after applying the hotfix that required the immediate toolstack restart (as doing a toolstack restart when a host reboot is required is potentially risky)

Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
2018-11-30 13:54:02 +00:00
Joey
6d2c3541f5 CP-29768: Add Skip functionality for RPU supp pack installation (#2283)
* CP-29768: Add Skip functionality for RPU supp pack installation

Signed-off-by: Ji Jiang <ji.jiang@citrix.com>

* Minor corrections

Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>

* Revert unnecessary layout changes

Also changed the title of the confirmation dialog to the wizard title, as it could be shown in either RPU or the Patching wizard

Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
2018-11-07 18:07:53 +02:00
Aaron Robson
1e7b99c5c3 CA-299065: Duplicate host name in error message resolving in the Patching Wizard as well.
Signed-off-by: Aaron Robson <aaron.robson@citrix.com>
2018-10-24 14:25:24 +01:00
Ji Jiang
539d1850d0 CA-298913 + CA-297215: Fix KeyNotFoundException
Signed-off-by: Ji Jiang <ji.jiang@citrix.com>
2018-10-08 11:12:50 +01:00
Ji Jiang
c31778c3fe CA-298913 CA-297215: Fix restartHost and restartXapi bugs after patching
With this change, following are working:
1) After applying XS75E003-5 only restart host, no restart toolstack
2) After applying vGPU driver on 7.4, restart host happens

Signed-off-by: Ji Jiang <ji.jiang@citrix.com>
2018-10-05 15:45:05 +01:00
Aaron Robson
a6d1ad9bfa CA-297666: Wait for host to become enabled before resuming a VM in the patching wizard. (#2233)
Signed-off-by: Aaron Robson <aaron.robson@citrix.com>
2018-10-04 13:55:50 +01:00
Konstantina Chremmou
b36534c157 CA-293813: Patch pools in parallel when installing a single update/patch or supplemental package. (#2183)
* CA-293813: Patch pools in parallel when installing a single update/patch or supplemental package.

Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>

* Corrections as per code review.

Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2018-08-17 12:05:16 +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
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
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
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
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
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
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
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
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
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
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
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
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
Konstantina Chremmou
d69f2ddda3 Enforce treating warnings as errors in Debug mode too as it is going to save
us a lot of broken builds. Fixed bug where the HostPlanAction.CurrentHost was
always null (as the private field was never set).

Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2018-03-09 11:22:26 +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
c5b0af533e Removed methods GetHostBootTime and GetHostAgentTime because they duplicated logic
in the Host extensions. Moved method TryResolveWithTimeout to the Connection class
where it is more relevant. Removed wrapper methods WaitForReboot and WaitForAgent
as they were not particularly useful.

Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2018-03-06 14:17:16 +00:00
Konstantina Chremmou
ed4b131643 Removed unused code and old style custom delegates, and updated property notation.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2018-03-06 14:17:16 +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
8297314499 [SCTX-2608] Honolulu Update - Server is still booting error
Increased the wait between host_enable attempts, allowing to wait more for the host to reboot.

This will affect Automated Updates and other normal Patching Wizard
operations as well.

Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
2017-10-18 09:56:35 +01: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
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
Letsibogo Ramadi
c44f89bf05 CA-249823 - Accept zip files in Updates Wizard (#1667)
* CA-249823 - Accept zip files in Updates Wizard
* CA-258326 - Improve implementation of CA-248823(Accept zip files in Updates Wizard)
* Small unrelated bugfix: Stop selectFromDiskRadioButton being checked when
restoring dismissed updates.

Signed-off-by: Letsibogo Ramadi <letsibogo.ramadi@citrix.com>
2017-07-21 15:56:27 +01:00
Gabor Apati-Nagy
d55af4e5a7 CA-252923: Update apply on slave host fails with pool_patch or pool_update not found
In rare cases, the GetMaster could return null, causing the update progress to fail with "Pool_patch or Pool_update not found". (when the Cache hasn't been populated by the execution gets here)
This commit drops GetMaster and uses a pre-saved masterUuid instead of waiting for the Cache what would be the other way to solve this issue.

Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
2017-05-12 16:10:36 +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
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