update/cgcs-patch/cgcs-patch/cgcs_patch
Don Penney d3f8af4f4c Protect against stale repo data in DNF cache
When the patch-agent is notified by the patch-controller of a new
patching operation (patch_op_counter in HELLO is incremented), it will
run a new software query consisting first of running "dnf makecache",
then checking the software repositories for changes. In rare cases,
the metadata returned to dnf when it makes the query could be stale,
resulting in the patch-agent believing the current software is
up-to-date.

In order to protect against this, the patch-agent will now verify the
repository revision id for the updates repo. If the revision id has
not changed when it is reasonable to expect it could have (ie. the
patch_op_counter has increased, indicating the repository may have
been updated), the patch-agent will retry once to allow for any
potential caching to have cleared.

Change-Id: I3a44ed86e16cd9fe67f0b0e763c95a5a7e126cf8
Closes-Bug: 1884094
Signed-off-by: Don Penney <don.penney@windriver.com>
2020-06-22 21:16:35 -04:00
..
api Add flake8-bugbear and address warnings 2020-01-16 13:24:24 -05:00
authapi Fix zuul tox flake8 failures from newer version of hacking 2019-12-16 09:56:09 -06:00
templates cgcs-patch: fix permissions 2019-06-19 12:26:16 -07:00
tests Migrate patch-agent to use DNF for swmgmt 2020-01-13 09:20:06 -05:00
__init__.py Resolve bashate and pep8 warnings 2018-08-08 19:36:58 -05:00
app.py Add pylint support 2018-08-24 09:19:44 -05:00
base.py Clean up pylint W1201 logging-not-lazy in cgcs-patch 2019-12-23 14:51:20 -05:00
certificates.py Resolve bashate and pep8 warnings 2018-08-08 19:36:58 -05:00
config.py patching service unicast messaging for loopback interface 2019-05-30 22:51:17 -04:00
constants.py Introduce patch apply/remove semantic support 2019-10-02 16:59:53 -04:00
exceptions.py Introduce patch apply/remove semantic support 2019-10-02 16:59:53 -04:00
messages.py Clean up pylint W1201 logging-not-lazy in cgcs-patch 2019-12-23 14:51:20 -05:00
patch_agent.py Protect against stale repo data in DNF cache 2020-06-22 21:16:35 -04:00
patch_client.py Merge "Add flake8-bugbear and address warnings" 2020-01-17 18:32:50 +00:00
patch_controller.py Add flake8-bugbear and address warnings 2020-01-16 13:24:24 -05:00
patch_functions.py Add flake8-bugbear and address warnings 2020-01-16 13:24:24 -05:00
patch_signing.py Cleanup Tox multiple imports per line 2019-02-07 13:27:40 -06:00
patch_verify.py Enable Unused Variable 2019-07-19 10:28:00 -04:00
utils.py Add test coverage for cgcs-patch/utils.py 2019-06-28 00:46:14 -04:00