def __init__(self, path_to_report, run_datetime, queued_datetime, candu=False, appliance=None): Navigatable.__init__(self, appliance=appliance) self.path = path_to_report self.datetime = run_datetime self.candu = candu self.queued_datetime_in_title = parsetime.from_american_with_utc( queued_datetime).to_saved_report_title_format() self.datetime_in_tree = parsetime.from_american_with_utc(self.datetime).to_iso_with_utc()
def last_collection(self): if self.second_server_collect and not self.zone_collect: view = navigate_to(self.appliance.server, 'DiagnosticsCollectLogsSlave') else: view = navigate_to(self.obj_type, 'DiagnosticsCollectLogs') text = view.last_log_collection.text if text.lower() == "never": return None else: try: return parsetime.from_american_with_utc(text) except ValueError: return parsetime.from_iso_with_utc(text)
def get_workers_list(do_not_navigate=False, refresh=True): """Retrieves all workers. Returns a dictionary where keys are names of the workers and values are lists (because worker can have multiple instances) which contain dictionaries with some columns. """ if do_not_navigate: if refresh: tb.select("Reload current workers display") else: navigate_to(current_appliance.server, 'Workers') workers = {} for row in records_table.rows(): name = sel.text_sane(row.name) if name not in workers: workers[name] = [] worker = { "status": sel.text_sane(row.status), "pid": int(sel.text_sane(row.pid)) if len(sel.text_sane(row.pid)) > 0 else None, "spid": int(sel.text_sane(row.spid)) if len(sel.text_sane(row.spid)) > 0 else None, "started": parsetime.from_american_with_utc(sel.text_sane(row.started)), "last_heartbeat": None, } try: workers["last_heartbeat"] = parsetime.from_american_with_utc( sel.text_sane(row.last_heartbeat)) except ValueError: pass workers[name].append(worker) return workers
def last_collection(self): """ Returns: None if logs were not collected or :py:class`utils.timeutil.datetime()`, time were last collection took place """ if self.second_server_collect and not self.zone_collect: view = navigate_to(self, 'DiagnosticsCollectLogsSlave') else: view = navigate_to(self, 'DiagnosticsCollectLogs') text = view.last_log_collection.read() if text.lower() == "never": return None else: try: return parsetime.from_american_with_utc(text) except ValueError: return parsetime.from_iso_with_utc(text)
def datetime_in_tree(self): return parsetime.from_american_with_utc( self.run_datetime).to_iso_with_utc()
def queued_datetime_in_title(self): return parsetime.from_american_with_utc( self.queued_datetime).to_saved_report_title_format()
def datetime_in_tree(self): return parsetime.from_american_with_utc(self.run_datetime).to_iso_with_utc()
def queued_datetime_in_title(self): return parsetime.from_american_with_utc(self.queued_datetime).to_saved_report_title_format()