The problem was that the License Manager was listening to PropertyChanged events on the master only, not on slaves.
When the master's properties change (e.g. edition) we update the row in the license manager; but in some cases a slave (or more) hasn't been updated yet (as it may be updated in another event.from) and we think that the pool is partially updated.
Our solution is to listen to Host BatchCollectionChanged event, which is triggered once per cache update for the host collection (it any property changed for any of the hosts).
The sleep in the ApplyLicenseEditionAction is not needed anymore, nor is the extra call to update the cell after the action is completed, because the cell is getting updated correctly on the BatchCollectionChanged event.
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
The reason for the error dialog appearing behind License Manager dialog was that we used MainWindow as parent of the Licensing Error dialog (in ShowLicensingFailureDialog method in ApplyLicenseEditionCommand)
and there were already 3 other modal dialogs displayed one on top of each other: License Manager, Apply License and Action Progress.
Fixed by calling the ShowLicensingFailureDialog from the command, on action.Completed event (instead of action.Run) and passing the Parent as a parameter, so that we can use the correct parent when displaying the error dialog.
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
- Suppress reporting of success and failure for sub-actions:
The suppress history flag is set when the action is created and if is false (by default) the action is added to the history (the Events list).
In order to suppress history for the subactions, we need change all actions used in Edit pages so their constructor can set the SuppressHistory flag and then use these constructors with suppressHistory = true on all the implementations of IEditPage.SaveSettings() where an action is created
(then we need to remember to do the same everytime we introduce a new page and / or "save" action).
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
used to access the alerts list. The list itself should be private as there is a
risk to access it and forgetting to use the lock.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
NewAction to use the Action<ActionBase> delegate instead of EventHandler. Thus
there is no need to fire them with Empty or null EventArgs and on several occasions
we avoid casting objects in the event handlers.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
1. Changed definition of IsDetached property in SR.cs: SR is detached when it has no PBDs or when all its PBDs are unplugged.
2. Added bool HasPBDs property in SR.cs (replaced previous IsDetached property definition).
3. Reviewed all usages of sr.IsDetached property.
Signed-off-by: Adrian Jachacy <Adrian.Jachacy@citrix.com>
1. Updated XenModel.csproj following update to XenAPI.
2. Host.apply_edition requires three parameters now: pass false in the last parameter (_force parameter).
Signed-off-by: Adrian Jachacy <Adrian.Jachacy@citrix.com>