@@ -36,7 +36,7 @@ from errata.utils import (
3636 scan_package_updates_for_affected_packages ,
3737)
3838from hosts .models import Host
39- from hosts .utils import clean_tags
39+ from hosts .utils import clean_tags , find_host_updates_homogenous
4040from modules .utils import clean_modules
4141from packages .utils import (
4242 clean_packagenames , clean_packages , clean_packageupdates ,
@@ -46,7 +46,6 @@ from reports.tasks import remove_reports_with_no_hosts
4646from repos .models import Repository
4747from repos .utils import clean_repos
4848from security .utils import update_cves , update_cwes
49- from util import get_datetime_now
5049from util .logging import info_message , set_quiet_mode
5150
5251
@@ -161,52 +160,8 @@ def clean_reports(hoststr=None):
161160def host_updates_alt (host = None ):
162161 """ Find updates for all hosts, specify host for a single host
163162 """
164- updated_hosts = []
165163 hosts = get_hosts (host , 'Finding updates' )
166- ts = get_datetime_now ()
167- for host in hosts .iterator ():
168- info_message (text = str (host ))
169- if host not in updated_hosts :
170- host .find_updates ()
171- info_message (text = '' )
172- host .updated_at = ts
173- host .save ()
174-
175- # only include hosts with the same number of packages
176- filtered_hosts = Host .objects .filter (
177- packages_count = host .packages_count )
178- # exclude hosts with the current timestamp
179- filtered_hosts = filtered_hosts .exclude (updated_at = ts )
180-
181- packages = set (host .packages .all ())
182- repos = set (host .repos .all ())
183- updates = host .updates .all ()
184-
185- phosts = []
186- for fhost in filtered_hosts .iterator ():
187-
188- frepos = set (fhost .repos .all ())
189- rdiff = repos .difference (frepos )
190- if len (rdiff ) != 0 :
191- continue
192-
193- fpackages = set (fhost .packages .all ())
194- pdiff = packages .difference (fpackages )
195- if len (pdiff ) != 0 :
196- continue
197-
198- phosts .append (fhost )
199-
200- for phost in phosts :
201- phost .updates .set (updates )
202- phost .updated_at = ts
203- phost .save ()
204- updated_hosts .append (phost )
205- text = f'Added the same updates to { phost } '
206- info_message (text = text )
207- else :
208- text = 'Updates already added in this run'
209- info_message (text = text )
164+ find_host_updates_homogenous (hosts , verbose = True )
210165
211166
212167def host_updates (host = None ):
0 commit comments