Keine Ahnung, ob es einen intelligenteren Weg gibt, aber Sie können den Upgrade-Status für eine bestimmte Anwendung mit dem Cmdlet "Get-ServiceFabricApplicationUpgrade" abrufen.
Get-ServiceFabricApplicationUpgrade -ApplicationName fabric:/your/awesomeApp
Durch reinen Zufall habe ich ein Upgrade auf unserem Cluster laufen gerade jetzt, und Sie erhalten und eine Ausgabe wie die folgende (ich habe einige Namen Parameter eingestellt etc.):
ApplicationName : fabric:/your/awesomeApp
ApplicationTypeName : YourAwesomeApp.FabricType
TargetApplicationTypeVersion : 2017.1005.2-r20.1
ApplicationParameters : { "Param1" = "Value1";
"Param2" = "Value2";
"ActorService_MinReplicaSetSize" = "2";
"ActorService_PartitionCount" = "1";
"ActorService_TargetReplicaSetSize" = "3";
}
StartTimestampUtc : 05.10.2017 08.49.39
UpgradeState : RollingForwardInProgress
UpgradeDuration : 00:09:01
CurrentUpgradeDomainDuration : 00:00:00
NextUpgradeDomain : 4
UpgradeDomainsStatus : { "3" = "InProgress";
"0" = "Completed";
"1" = "Completed";
"2" = "Completed";
"4" = "Pending" }
UpgradeKind : Rolling
RollingUpgradeMode : Monitored
FailureAction : Rollback
ForceRestart : False
UpgradeReplicaSetCheckTimeout : 49710.06:28:15
HealthCheckWaitDuration : 00:00:00
HealthCheckStableDuration : 00:02:00
HealthCheckRetryTimeout : 00:10:00
UpgradeDomainTimeout : 00:30:00
UpgradeTimeout : 01:00:00
ConsiderWarningAsError :
MaxPercentUnhealthyPartitionsPerService :
MaxPercentUnhealthyReplicasPerPartition :
MaxPercentUnhealthyServices :
MaxPercentUnhealthyDeployedApplications :
ServiceTypeHealthPolicyMap :
Dieser Wille berichten auch, wenn es sich in einem Rollback-Zustand befindet.
Es könnte interessant sein, herauszufinden, ob Sie ein Callback/Ereignis oder etwas aus dem Health Monitoring erhalten können, da dies im Grunde das Rollback des Upgrades verursacht.
Das habe ich mir gedacht. Aus Neugier - Haben Sie jemals überwacht, wie lange Ihr Upgrade dauert, um alle App-Services auf allen Knoten bereitzustellen? Scheint, es dauert viel zu lange für mich mit einer App von 4 Diensten und 3 Knoten in unserer Testumgebung –
Das hängt ganz von Ihren Upgrade-Health-Checks ab. Ich denke, dass die Standardeinstellungen so aussehen, dass jede Upgrade-Domain 15 Minuten wartet, bevor sie fortfährt. In unserer Produktionsumgebung dauert es etwa eine Stunde, bis wir das Upgrade vollständig durchgeführt haben. Während des Tests haben wir alle Health-Checks durchgeführt, so dass sie unabhängig von Fehlern usw. ausgeführt werden. Dies dauert einige Minuten –