Stored information
When a patch is applied a history of the actions and what components were changed are stored inside Rhino in a profile table.
The profile table name is PatchHistoryProfileTable and it contains the following information:
Item | Description |
---|---|
PatchAppliedDate |
The date and time the patch was applied |
PatchName |
The patch name as provided when generating the patch |
PatchVersion |
The patch version as provided when generating the patch |
ProductName |
The product name the patch was created for |
ProductVersion |
The product version the patch was created for |
PatchTicket |
The reference ticket as provided when generating the patch |
Description |
The patch description as provided when generating the patch |
ComponentInfo |
The components the patch changed |
BuildInfo |
The project build information as provided when generating the patch |
IsReversePatch |
If the patch-runner was used to uninstall the patch with the |
IsForced |
If the patch-runner was used with the |
IsAppliedSuccessfully |
If the patch was applied or reverted successfully |
ExtensionData |
Generic name/value pair field for extra information |
PatchToolsVersion |
The patch tool version used to generate the patch |
PatchToolsCommit |
The last source code commit from the tool used to create the patch |
If the table is not present the patch runner will create it. That will happen for systems that were not yet patched. |
Checking the applied patches
You see the patches applied via REM by inspecting the contents of the profile table PatchHistoryProfileTable.
Another way is using the rhino-console to check the patch history by listing the contents of the PatchHistoryProfileTable profile:
Listing the patch history profiles
$rhino-console listprofiles PatchHistoryProfileTable 2018-04-04-12:43:32-CDIV-patch 2018-04-04-13:07:09-CDIV-patch
Checking the contents of both profiles
The first profile shows the patch history when applying the CDIV-patch and the second shows when uninstalling the same patch.
$rhino-console listprofileattributes PatchHistoryProfileTable 2018-04-04-12:43:32-CDIV-patch BuildInfo={"sentinel-volte":"123abc"} ComponentInfo={"originalComponents":[{"name":"mmtel-cdiv","vendor":"OpenCloud","version":"2.7.0","componentType":"SbbPartID","hash":805159952}],"patchedComponents":[{"name":"mmtel-cdiv","vendor":"OpenCloud","version":"2.7.0","componentType":"SbbPartID","hash":805159952}]} Description=Fix cdiv for call forward unconditional ExtensionData={null} IsAppliedSuccessfully=true IsForced=false IsReversePatch=false PatchAppliedDate=Wed Apr 04 12:43:32 NZST 2018 PatchName=CDIV-patch PatchTicket=OCS-1234 PatchToolsCommit=9bfb922 PatchToolsVersion=1.0.0-TRUNK.0-SNAPSHOT.r117-9bfb922 PatchVersion=1 ProductName=VoLTE ProductVersion=2.7.0.7
$rhino-console listprofileattributes PatchHistoryProfileTable 2018-04-04-13:07:09-CDIV-patch BuildInfo={"sentinel-volte":"123abc"} ComponentInfo={"originalComponents":[{"name":"mmtel-cdiv","vendor":"OpenCloud","version":"2.7.0","componentType":"SbbPartID","hash":805159952}],"patchedComponents":[{"name":"mmtel-cdiv","vendor":"OpenCloud","version":"2.7.0","componentType":"SbbPartID","hash":805159952}]} Description=Fix cdiv for call forward unconditional ExtensionData={null} IsAppliedSuccessfully=true IsForced=false IsReversePatch=true PatchAppliedDate=Wed Apr 04 13:07:09 NZST 2018 PatchName=CDIV-patch PatchTicket=OCS-1234 PatchToolsCommit=9bfb922 PatchToolsVersion=1.0.0-TRUNK.0-SNAPSHOT.r117-9bfb922 PatchVersion=1 ProductName=VoLTE ProductVersion=2.7.0.7