update/sw-patch
caio-volpato 32d49f15f1 Patch state reporting bugfix
This commit fixes the sw-patch reporting bug.

Bug description: Applied patches go to a Partial-Applied state
after applying a new reboot-required patch, until the system reboots.

Please note that this bug only happens when applying a new patch,
when removing patches the previously applied patches don't have
their state changed.

sw-patch query result before applying a new patch:

             Patch ID            RR  Release  Patch State
    ===========================  ==  =======  ===========
    PATCH_0001                   Y     9.0      Applied
    PATCH_0002                   Y     9.0      Applied
    PATCH_0003                   Y     9.0      Applied
    PATCH_0004                   Y     9.0      Applied
    PATCH_0005                   Y     9.0      Available

Then after applying the latest patch, previously applied patches
go to partial-applied, as follows:

             Patch ID            RR  Release   Patch State
    ===========================  ==  =======  =============
    PATCH_0001                   Y    9.0     Partial-Apply
    PATCH_0002                   Y    9.0     Partial-Apply
    PATCH_0003                   Y    9.0     Partial-Apply
    PATCH_0004                   Y    9.0        Applied
    PATCH_0005                   Y    9.0     Partial-Apply

This happens because the previously applied patches commit
doesn't match the latest_sysroot_commit, but the latest applied patch
(in our example PATCH_0004) do have their commit matching, so we need
to mark their dependent patches as Applied.

Test Plan:

PASS: For in-service patches (non reboot-required) the issues doesn't happen and the bugfix in place it has the same behavior.

PASS: Python code for patch_controler.py unit tests pass and a
a new test case was created to cover this condition

After this bugfix, using a virtual machine with patched code, the patch reports are the following:

             Patch ID            RR  Release   Patch State
    ===========================  ==  =======  =============
    PATCH_0001                   Y    9.0        Applied
    PATCH_0002                   Y    9.0        Applied
    PATCH_0003                   Y    9.0        Applied
    PATCH_0004                   Y    9.0        Applied
    PATCH_0005                   Y    9.0     Partial-Apply

Closes-Bug: 2063374

Change-Id: Ibceeecbf025535b73886517b6ce02e6013d99aea
Signed-off-by: caio-volpato <caio.volpato@windriver.com>
2024-04-26 20:33:00 +00:00
..
bin Update package extraction from CentOS for Debian 2022-09-13 10:44:38 -04:00
cgcs-patch Patch state reporting bugfix 2024-04-26 20:33:00 +00:00
debian Debian: Add gir1.2-ostree-1.0 deb package 2023-03-28 19:09:31 +00:00
scripts Update test-patches restart script 2023-08-14 09:17:32 -07:00