Skip to content

Commit 0e63441

Browse files
committed
ensure host errata are tracked and updated
fixes: 788
1 parent 1b6c539 commit 0e63441

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

hosts/models.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -204,6 +204,8 @@ def find_updates(self):
204204
host_packages = self.packages.exclude(kernels_q).distinct()
205205
kernel_packages = self.packages.filter(kernels_q)
206206

207+
errata_ids = set()
208+
207209
if self.host_repos_only:
208210
update_ids = self.find_host_repo_updates(host_packages, repo_packages)
209211
else:
@@ -217,6 +219,10 @@ def find_updates(self):
217219
if update.id not in update_ids:
218220
self.updates.remove(update)
219221

222+
for erratum in self.errata.all():
223+
if erratum.id not in errata_ids:
224+
self.errata.remove(erratum)
225+
220226
def find_host_repo_updates(self, host_packages, repo_packages):
221227

222228
update_ids = []
@@ -258,6 +264,7 @@ def find_host_repo_updates(self, host_packages, repo_packages):
258264
if errata:
259265
for erratum in errata:
260266
self.errata.add(erratum)
267+
errata_ids.add(erratum.id)
261268
if highest_package.compare_version(pu) == -1:
262269
if priority is not None:
263270
# proceed only if the package is from a repo with a
@@ -304,6 +311,7 @@ def find_osrelease_repo_updates(self, host_packages, repo_packages):
304311
if errata:
305312
for erratum in errata:
306313
self.errata.add(erratum)
314+
errata_ids.add(erratum.id)
307315
if highest_package.compare_version(pu) == -1:
308316
highest_package = pu
309317

0 commit comments

Comments
 (0)