Issue #833

Updated by cduryee over 9 years ago

During testing of a different patch, Justin Sherrill discovered that some errata were not being applied to systems. This was only occurring on older Pulp installations (i.e., with repos synced from awhile back, not necessarily older versions of Pulp). 

 It turns out that some older Pulp installations have incorrect information for previously synced errata. Specifically the "epoch" field on packages in the erratum's pkglist is set to 'null'. This could possibly be from a bug in createrepo_c that was fixed by 

 The 'null' epoch causes Pulp to not be able to find a packages listed in the erratum since it searches in its RPM units collection using the full NVREA. 

 Note that this bug can be difficult to reproduce since most repos are made using a newer createrepo_c nowadays. I will create a testing repo that can reproduce this issue once I verify that the cause was indeed the older createrepo_c. 

 Update with additional info: errata are occasionally repushed with new metadata, keeping the same erratum ID. We need to compare the 'updated' date in the erratum against what we have stored in the DB. If it is newer, we need to update the erratum's metadata. This may cause issues with pkglist concatenation so we may need to be smart about what gets updated vs what gets appended.