Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 15 additions & 15 deletions hosts/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -213,7 +213,7 @@ def find_updates(self):

kernel_update_ids = self.find_kernel_updates(kernel_packages, repo_packages)
for ku_id in kernel_update_ids:
update_ids.append(ku_id)
update_ids.add(ku_id)

for update in self.updates.all():
if update.id not in update_ids:
Expand All @@ -225,7 +225,7 @@ def find_updates(self):

def find_host_repo_updates(self, host_packages, repo_packages, errata_ids):

update_ids = []
update_ids = set()
hostrepos_q = Q(repo__mirror__enabled=True,
repo__mirror__refresh=True,
repo__mirror__repo__enabled=True,
Expand Down Expand Up @@ -280,12 +280,12 @@ def find_host_repo_updates(self, host_packages, repo_packages, errata_ids):
if highest_package != package:
uid = self.process_update(package, highest_package)
if uid is not None:
update_ids.append(uid)
update_ids.add(uid)
return update_ids

def find_osrelease_repo_updates(self, host_packages, repo_packages, errata_ids):

update_ids = []
update_ids = set()
for package in host_packages:
highest_package = package

Expand Down Expand Up @@ -318,7 +318,7 @@ def find_osrelease_repo_updates(self, host_packages, repo_packages, errata_ids):
if highest_package != package:
uid = self.process_update(package, highest_package)
if uid is not None:
update_ids.append(uid)
update_ids.add(uid)
return update_ids

def check_if_reboot_required(self, host_highest):
Expand Down Expand Up @@ -406,7 +406,7 @@ def _get_running_kernel_flavour(self):

def find_kernel_updates(self, kernel_packages, repo_packages):

update_ids = []
update_ids = set()
self.reboot_required = False

# build hostrepos for priority filtering (same as find_host_repo_updates)
Expand All @@ -423,16 +423,16 @@ def find_kernel_updates(self, kernel_packages, repo_packages):
rpm_kernels = kernel_packages.filter(packagetype='R')
arch_kernels = kernel_packages.filter(packagetype='A')

update_ids.extend(self._find_rpm_kernel_updates(rpm_kernels, repo_packages, hostrepos))
update_ids.extend(self._find_deb_kernel_updates(deb_kernels, repo_packages, hostrepos))
update_ids.extend(self._find_arch_kernel_updates(arch_kernels, repo_packages, hostrepos))
update_ids.update(self._find_rpm_kernel_updates(rpm_kernels, repo_packages, hostrepos))
update_ids.update(self._find_deb_kernel_updates(deb_kernels, repo_packages, hostrepos))
update_ids.update(self._find_arch_kernel_updates(arch_kernels, repo_packages, hostrepos))

self.save(update_fields=['reboot_required'])
return update_ids

def _find_rpm_kernel_updates(self, kernel_packages, repo_packages, hostrepos):

update_ids = []
update_ids = set()

# parse running kernel version for comparison
parts = self.kernel.split('-')
Expand Down Expand Up @@ -498,7 +498,7 @@ def _find_rpm_kernel_updates(self, kernel_packages, repo_packages, hostrepos):
if base_package and base_package.compare_version(repo_highest) == -1:
uid = self.process_update(base_package, repo_highest)
if uid is not None:
update_ids.append(uid)
update_ids.add(uid)

# reboot check only on primary kernel packages
if host_highest and package.name.name in (
Expand All @@ -513,7 +513,7 @@ def _find_rpm_kernel_updates(self, kernel_packages, repo_packages, hostrepos):

def _find_arch_kernel_updates(self, kernel_packages, repo_packages, hostrepos):

update_ids = []
update_ids = set()

for package in kernel_packages:
pu_q = Q(name=package.name)
Expand All @@ -540,7 +540,7 @@ def _find_arch_kernel_updates(self, kernel_packages, repo_packages, hostrepos):
if package.compare_version(repo_highest) == -1:
uid = self.process_update(package, repo_highest)
if uid is not None:
update_ids.append(uid)
update_ids.add(uid)

# reboot check for main kernel packages (not -headers)
# Arch uname -r format varies by flavour:
Expand All @@ -564,7 +564,7 @@ def _find_arch_kernel_updates(self, kernel_packages, repo_packages, hostrepos):

def _find_deb_kernel_updates(self, kernel_packages, repo_packages, hostrepos):

update_ids = []
update_ids = set()
running_flavour = self._get_running_kernel_flavour()

# find the linux-image package matching the running kernel
Expand Down Expand Up @@ -638,7 +638,7 @@ def _find_deb_kernel_updates(self, kernel_packages, repo_packages, hostrepos):
if base_package.compare_version(repo_highest) == -1:
uid = self.process_update(base_package, repo_highest)
if uid is not None:
update_ids.append(uid)
update_ids.add(uid)

# reboot check: see if a newer linux-image is installed but not running
# use compare_version (DEB semantics) instead of labelCompare
Expand Down