Source code for insights.parsers.katello_service_status

KatelloServiceStatus - command ``katello-service status``

The KatelloServiceStatus parser only reads the last line of command
``katello-service status`` to get the list of the failed services.

    Since we only care about the failed services, this parser only process the
    last line which contains the list of the failed services.

The last line of the output of ``katello-service status``::

    Some services failed to status: tomcat6,httpd


    >>> kss_ = shared[KatelloServiceStatus]
    >>> kss.is_ok
    >>> kss.failed_services
    ['tomcat6', 'httpd']

from .. import parser, add_filter, CommandParser
from insights.specs import Specs

add_filter(Specs.katello_service_status, ['Some services failed to status',

[docs] @parser(Specs.katello_service_status) class KatelloServiceStatus(CommandParser): """ Read the ``katello-service status`` and get the list of ``failed_services``. Attributes: failed_services (list): The list of failed services. is_ok (bool): Is there no failed service? """
[docs] def parse_content(self, content): self.failed_services = [] self.is_ok = False for line in content[::-1]: if 'Some services failed to status:' in line: failed_services = line.split(':')[-1].strip() self.failed_services = [s for s in failed_services.split(',') if s] self.is_ok = len(self.failed_services) == 0