Source code for insights.parsers.satellite_missed_queues

"""
SatelliteMissedQueues - datasource ``satellite_missed_pulp_agent_queues``
=========================================================================
"""
from insights.core import Parser
from insights.core.exceptions import SkipComponent
from insights.core.plugins import parser
from insights.specs import Specs


[docs] @parser(Specs.satellite_missed_pulp_agent_queues) class SatelliteMissedQueues(Parser): """This parser parses the output of ``satellite_missed_pulp_agent_queues`` datasource. Typical output from the datasource is:: pulp.agent.09008eec-aba6-4174-aa9f-e930004ce5c9:2018-01-16 00:06:13 pulp.agent.fac7ebbc-ee4f-44b4-9fe0-3f4e42c7f024:2018-01-16 00:06:16 0 Examples: >>> satellite_queues.truncated False >>> 'pulp.agent.09008eec-aba6-4174-aa9f-e930004ce5c9' in satellite_queues.missed_queues True >>> satellite_queues.missed_queues['pulp.agent.09008eec-aba6-4174-aa9f-e930004ce5c9'] '2018-01-16 00:06:13' Attributes: missed_queues(dict): Satellite missed pulp agent queues. truncated(bool): The missed queues truncated or not. Raises: SkipComponent: when no missed queues or the content isn't in expected format. """
[docs] def parse_content(self, content): self.missed_queues = {} self.truncated = None if len(content) >= 2: for line in content[:-1]: if ':' not in line: raise SkipComponent parts = line.split(':', 1) self.missed_queues[parts[0]] = parts[1] if content[-1].strip() in ['0', '1']: self.truncated = True if content[-1].strip() == '1' else False if not self.missed_queues or self.truncated is None: raise SkipComponent