Skip to content
Merged
Show file tree
Hide file tree
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
2 changes: 1 addition & 1 deletion hosts/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ def show(self):
text += f'Packages : {self.get_num_packages()}\n'
text += f'Repos : {self.get_num_repos()}\n'
text += f'Updates : {self.get_num_updates()}\n'
text += f'Tags : {self.tags}\n'
text += f'Tags : {" ".join(self.tags.slugs())}\n'
text += f'Needs reboot : {self.reboot_required}\n'
text += f'Updated at : {self.updated_at}\n'
text += f'Host repos : {self.host_repos_only}\n'
Expand Down
19 changes: 17 additions & 2 deletions hosts/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,9 @@
from socket import gethostbyaddr, gaierror, herror

from django.db import transaction, IntegrityError
from taggit.models import Tag

from patchman.signals import error_message
from patchman.signals import error_message, info_message


def update_rdns(host):
Expand Down Expand Up @@ -62,7 +63,7 @@ def get_or_create_host(report, arch, osvariant, domain):
host.osvariant = osvariant
host.domain = domain
host.lastreport = report.created
host.tags = report.tags
host.tags.set(report.tags.split(','), clear=True)
if report.reboot == 'True':
host.reboot_required = True
else:
Expand All @@ -73,3 +74,17 @@ def get_or_create_host(report, arch, osvariant, domain):
if host:
host.check_rdns()
return host


def clean_tags():
""" Delete Tags that have no Host
"""
tags = Tag.objects.filter(
host__isnull=True,
)
tlen = tags.count()
if tlen == 0:
info_message.send(sender=None, text='No orphaned Tags found.')
else:
info_message.send(sender=None, text=f'{tlen} orphaned Tags found.')
tags.delete()
2 changes: 2 additions & 0 deletions sbin/patchman
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ from errata.utils import mark_errata_security_updates, enrich_errata, \
scan_package_updates_for_affected_packages
from errata.tasks import update_errata
from hosts.models import Host
from hosts.utils import clean_tags
from modules.utils import clean_modules
from packages.utils import clean_packages, clean_packageupdates, clean_packagenames
from repos.models import Repository
Expand Down Expand Up @@ -362,6 +363,7 @@ def dbcheck(remove_duplicates=False):
clean_repos()
clean_modules()
clean_packageupdates()
clean_tags()


def collect_args():
Expand Down