Viewing Patch Stream Deployment Telemetry
Last updated on March 4, 2021.
Last Reviewed and Approved on PENDING REVIEW
This article helps RPS Patch managers understand how to track the deployment progress of RPS patching, following their approval.
Intended Audience
RPS patching roles such as Patch Stream Approvers need to use this article to track the status of their deployments.
Overview
Observe Patch Stream History, by logging into the RPS website. Or, connect to RPS using PowerShell and the RPS PowerShell cmdlets, discussed later in this article.
On the RPS website, go to the Distribution menu and select "Patch Streams," shown below.
Figure 1: RPS Distribution Menu.
Next, click on History, shown below:
Figure 2: Patch Stream Deployment History.
For More Information
Later in this article: "How RPS Evaluates Deployment Status".
Link to this article "RPS Patch Management Workflow" and learn the flow of RPS patches.
Status Summaries
Patch Stream Deployment States
An RPS Patch Steam Approver deploys a Patch Stream containing multiple patches. Then, observe the progress of the deployment. RPS will show four states:
Pending
Processing
Successful
Error
Patch Assignment Deployment States
For an individual patch assignment, RPS will show several deployment states:
Pending
Processing
Error
Superseded
(Successful) IsPresentAndDesirePresent
(Successful) IsAbsentAndDesireAbsent
(Failed) IsPresentAndDesireAbsent
(Failed) IsAbsentAndDesirePresent
(Failed) IsBelowMinPatchSystemVersion
(Failed) IsAboveMaxPatchSystemVersion
Later, see "How RPS Evaluates Deployment Status".
Viewing Patch Stream Distribution History
From the RPS Website UI
In the RPS Distribution menu, select Patch Streams and the History tab.
If there have been no Patch Stream approvals yet, RPS will display a message "There haven't been any attempts to deploy Patch Streams."
Figure 3: Deployment HistoryIf there are Patch Streams that have been previously Approved, the user will see a list of them on the screen, and the overall deployment status for that Patch Stream will be in the top-right of the panel:
Figure 4: Patch Stream ApprovalIn Figure 4, the Patch Stream Deployment Status is "Deployment Pending."
If any patch in the package stream has been disabled then you should see a (disabled) title next to the patch name and the patch greyed out.
Figure 7: Disabled Patch
In Figure 7, the Patch - IntelliJ is "Disabled."
Viewing Patch Stream Telemetry From PowerShell
In PowerShell, users can inspect Patch Stream status using the RPS cmdlet Get-RpsPatchStream.
Retrieve the patch stream by specifying Patch Stream's name in the
-Nameparameter of theGet-RpsPatchStreamcmdlet:$myPackageStream = Get-RpsPatchStream -Name 'MyPackageStream1'You can print the Approval Status and approval metadata accessing the
ApprovalStatus,ApprovedOn, andApprovedByproperties:Get-RpsPatchStream -Name 'MyPackageStream1' | Select-Object ApprovedStatus, ApprovedOn, ApprovedBy
Viewing Patch Telemetry
Users in the Patch Stream Approver role can determine that the contents of the Patch Stream are not to be deployed to target items by Rejecting the Patch Stream.
Viewing Patch Stream Status From the UI
Patch Stream Approvers can approve Patch Streams for future deployment.
Launch the RPS Website.
Navigate to the Package Page, and select the "History" tab.
If there have been no Patch Stream approvals yet, RPS will display a message "There haven't been any attempts to deploy Patch Streams."
Figure 5: Deployment History (empty)If there are Patch Streams that have been previously Approved, RPS will display a list of them with the overall deployment status and show information about 1) the Patch Stream, 2) the Nodes and Targets that have Patches within the Patch Stream, 3) the Patches within the Patch Stream, and 4) the telemetry about the Patch deployments:
Figure 6: Deployment History
Viewing Patch Stream Status From PowerShell
In PowerShell, inspect Patch Stream and Patch telemetry RPS cmdlets Get-RpsPatchStream and Get-RpsPatch.
Retrieve the Patch Stream by specifying Patch Stream's name in the:
-Name parameter of the Get-RpsPatchStream cmdlet:
$myPackageStream = Get-RpsPatchStream -Name 'MyPackageStream1'Retrieve the Patches by inspecting that Patch Stream's Packages property:
$myPackageStream.Packages | Select-Object Id, PackageResourceItemRetrieve the desired Patch by using the Get-RpsPatch cmdlet, specifying the -Id parameter:
$myPackage = Get-RpsPatch -Id '<GUID of Patch>'Then, retrieve the status of all of the assigned Target Item deployments by inspecting the Patch Assignments'
DeployedStatus,Ensure, andEndPointStateproperties:$myPackage.Assignments | Select-Object DeployedStatus, Ensure, EndPointState
How RPS Evaluates Deployment Status
How Streams, Patches, and Assignments Derive their Status
The Patch Stream Status and Patch Deployment Status are roll-up measures of how a Target Item reports up the successful configuration of an RPS Patch.
A Target Item can be assigned a Patch via a RPS Package Assignment (a templatized Resource Assignment).
Within that assignment, RPS tracks the desired state of the Patch (Present (installed) or Absent (uninstalled)).
Whenever the Target Item attempts to reach the desired state, it reports status back through to the Master RPS (Parent Node) Configuration Management Database (CMDB) via the Resource Assignment.
The Target Items will report these statuses on the Patch deployment:
Pending
Processing
Error
Superseded
(Successful) IsPresentAndDesirePresent
(Successful) IsAbsentAndDesireAbsent
(Failed) IsPresentAndDesireAbsent
(Failed) IsAbsentAndDesirePresent
(Failed) IsBelowMinPatchSystemVersion
(Failed) IsAboveMaxPatchSystemVersion
The Patch within the Stream updates its status as Successful when all the Target Items have successfully reached the desired state (IsPresentAndDesirePresent or IsAbsentAndDesireAbsent) for the assigned Patch.
The Patch Stream updates its status as Successful when all the patches within it have reached the Successful state.
Patch Assignment and Status Flow Diagram
See the article RPS Patch Management Workflow diagram for more information on how Patches are assigned.