Commit Graph

33 Commits

Author SHA1 Message Date
Ji Jiang
6a421173cc CP-29276: Implement update/supp pack application in RPU wizard
Signed-off-by: Ji Jiang <ji.jiang@citrix.com>
2018-10-08 12:32:01 +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
eeb671d960 CA-293687: After a host has been upgraded, perform a check for updates before calculating the minimal patches
(to ensure that XC has the latest c-f-u data, as it's possible that the user hasn't configured XenCenter to automatically check for updates)

Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
2018-07-11 12:59:52 +01:00
Mihaela Stoica
046c4e1c7b CA-293682: In the RPU wizard, only check the batch hotfix license restriction for Dundee or greater hosts
... because pre-Dundee hosts dont't have this license flag, but they might have it after the upgrade.

Also added a bit more logging in the function that generates the update plan actions

Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
2018-07-11 12:59:52 +01:00
Mihaela Stoica
1ac88b7cec CA-293311: RPU wizard: In a partially upgraded pool, apply the hotfixes on the upgraded hosts before upgrading the remaining slaves
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
2018-07-06 16:03:28 +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
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
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
2023f93199 CP-28279:When installing the updates in the RPU wizard, we need to get the minimal patches for the first upgraded host (usualy the master), not for the whole pool, because the pool is of mixed versions at this stage.
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
2018-06-25 11:31:18 +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
73fd7df880 Use existing extension method to retrieve the host's running VMs. Removed field
Dialogs needed only by test code; use existing wrappers of Windows APIs instead.

Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2018-06-25 11:31:18 +01:00
Konstantina Chremmou
50b78ddd83 Moved NonModalThreeButtonDialog out of the RpuUpgradePage because it is pretty generic and can be reused.
Removed unnecessary null check.

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
Mihaela Stoica
dd19f3a0b7 CP-28426: RPU wizard: add user option for automatically applying updates
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
2018-06-18 16:28:28 +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
7a1b1a6dcc Since it is easy to forget calling the base class method at the end of the PageLeave
override in derived classes, enforce it by wrapping the page specific code in
a new virtual method, which the derived classes can override and PageLeave can
call before its own logic.

Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2018-03-09 11:22:26 +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
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
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
Mihaela Stoica
6dcc00d017 CA-205204: Uncaught exception during RPU
When an exception is reported during the RPU, XenCenter tries to re-enable the host. But when this fails, we should just ignore it and report the original exception.

Signed-off-by: Mihaela Stoica <Mihaela.Stoica@citrix.com>
2016-03-24 17:18:53 +00:00
Mihaela Stoica
6d40a6db2b CA-204191: Trying to avoid Uncaught exception System.InvalidOperationException: Object is currently in use elsewhere.
Signed-off-by: Mihaela Stoica <Mihaela.Stoica@citrix.com>
2016-03-17 16:12:43 +00:00
Mihaela Stoica
8d0c6e64ff CA-156200: HANDLE_INVALID shown on Rolling Pool Upgrade completed page
- while upgrading a host, throw a HOST_OFFLINE ("Server could not be contacted") exception if the host can no longer be resolved (instead of HANDLE_INVALID)
- also corrected the parameters of the HANDLE_INVALID exception, as an extra parameter is needed for the friendly error name.
- in the UpdateManualHostPlanAction class I replaced Host with the private property _host in several places, so we are no longer trying to resolve the host each time we want to write something into logs
- added some null checks, to avoid reporting null reference exception

Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
2015-04-17 14:56:40 +01:00
Gabor Apati-Nagy
aefed11165 Revert "CA-149867: Invoke on MainWindow instead of various controls"
This reverts commit 92f0499911.
2015-04-16 14:17:02 +01:00
Gabor Apati-Nagy
92f0499911 CA-149867: Invoke on MainWindow instead of various controls
We observed that some threads can reach deadlock-ish state after they have Invoked into a control's UI thread. When it happens they are all in a waiting for join or in sleep state for very long time, although there should not be any deadlock situations.
It seems this has something to do with multiple parent controls and with which control we invoked on. This should not make a difference, because we have got one UI thread (for MainWindow) they should wait for, but we have seen it does.

The solution that fixed this issue was to invoke on the MainWindow instead of various controls (see a4fe507adf ).

This changeset is changing all our Invokes to invoke into MainWindow
instead of a control itself. (MainWindow's UI thread is the only UI thread
all Control is using in XenCenter)
This changeset should be in place until we have found the root cause or the exact reason for the above.
2015-04-08 15:16:10 +01:00
Mihaela Stoica
a4fe507adf CA-147941: Fixed the RPU wizard hang in "Reconnecting Storage" and connecting action stuck in progress state
In some cases calling Control.Invoke() from a background thread causes that thread to go in a "sleep, wait, or join" mode, while waiting for Invoke to happen, although the UI thread is running normally.
If the Control is the MainWindow, it works as expected, but we've seen it happening while connecting or disconnecting from a large pool, on calling Invoke on controls like NavigationView, AlertSummaryPage, HistoryPage, etc.
To fix this, we call the Invoke on the MainWindow in all the places where we've seen the issue.

With this changes, the previous fix for CA-148245 (call RequestRefreshTreeView on CacheClearing event) is not needed anymore, so I removed that call.

Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
2014-10-10 13:16:50 +01:00
Konstantina Chremmou
d1c0da5d54 PlanAction simplification: removed PlanActionStatusChangedEventArgs class; use Action<T>
delegate; renamed event and its event hadler.

Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2013-12-21 12:52:28 +00:00
Konstantina Chremmou
a128847717 AutomaticBackgroundThread and SemiAutomaticBackgroundThread simplification: moved
common code to the base class BackgroundThreadBase; removed classes inheriting from
EventArgs; use Action/Action<T> delegates instead of EventHandler<T>.

Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2013-12-21 11:36:20 +00:00
Mihaela Stoica
15c02aa2c9 CA-90855: Allow Rolling Pool Upgrade wizard to be resumed when master has
been previously upgraded.

Introduced Host.LongProductVersion property which returns host's
product version and build number (e.g. 5.6.100.72258), or null if
product version can't be found. We use this property to check
if the master has been updraded and to decide which slaves need
to be upgraded or to skip hosts already upgraded.

Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
2013-06-28 15:50:14 +01:00
Mihaela Stoica
bd36a85bff CP-4816: Initial commit to git repo
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
2013-06-24 12:41:48 +01:00