Update After Operating System Upgrade Monitor

Microsoft.Windows.10.SDNMonitoring.UpdateAfterOsUpgradeMonitor (UnitMonitor)

Update after Operating System upgrade monitor

Knowledge Base article:

Summary

Update of Network Controller running binary version has failed

Causes

Network Controller maintains two versions of binaries, installed version and running version. When a patch is installed, the installed version of binary is updated. Then the running version of binary is updated after the patch is installed on all the nodes. Update of running version has failed

Resolutions

Wait for some time. Network Controller will try to update the running version again. If the issue still persists, contact support.

© 2016 Microsoft Corporation, all rights reserved

Element properties:

TargetSDNMonitoringMP.SDNMonitoring.NetworkControllerClusterNode
Parent MonitorSystem.Health.AvailabilityState
CategoryAvailabilityHealth
EnabledTrue
Alert GenerateFalse
Alert Auto ResolveTrue
Monitor TypeMicrosoft.Windows.2SingleEventLog2StateMonitorType
RemotableTrue
AccessibilityPublic
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.Windows.10.SDNMonitoring.UpdateAfterOsUpgradeMonitor" Accessibility="Public" Enabled="true" Target="SDNMonitoringMP.SDNMonitoring.NetworkControllerClusterNode" ParentMonitorID="Health!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Windows!Microsoft.Windows.2SingleEventLog2StateMonitorType" ConfirmDelivery="false">
<Category>AvailabilityHealth</Category>
<OperationalStates>
<OperationalState ID="FirstEventRaised" MonitorTypeStateID="FirstEventRaised" HealthState="Error"/>
<OperationalState ID="SecondEventRaised" MonitorTypeStateID="SecondEventRaised" HealthState="Success"/>
</OperationalStates>
<Configuration>
<!-- Computer name for the first event. We will use a variable to get the target computer name. -->
<FirstComputerName>$Target/Property[Type="SDNMonitoringMP.SDNMonitoring.NetworkControllerClusterNode"]/Id$</FirstComputerName>
<!-- Name of the log containing the first event. -->
<FirstLogName>Microsoft-Windows-NetworkController-Update/Admin</FirstLogName>
<!-- Expression for the first event -->
<FirstExpression>
<And>
<!-- Expression for the first event number -->
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">283</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<!-- Expression for the first event source -->
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">Microsoft-Windows-NetworkController-Update</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</FirstExpression>
<!-- Computer name for the second event. We will use a variable to get the target computer name. -->
<SecondComputerName>$Target/Property[Type="SDNMonitoringMP.SDNMonitoring.NetworkControllerClusterNode"]/Id$</SecondComputerName>
<!-- Name of the log containing the first event. -->
<SecondLogName>Microsoft-Windows-NetworkController-Update/Operational</SecondLogName>
<!-- Expression for the second event -->
<SecondExpression>
<And>
<!-- Expression for the second event number -->
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">284</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<!-- Expression for the second event source -->
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">Microsoft-Windows-NetworkController-Update</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</SecondExpression>
</Configuration>
</UnitMonitor>