
    -_gC                     4    d dl Z d dlmZmZ  G d dee      Zy)    N)PluginUbuntuPluginc                   B    e Zd ZdZdZdZdZdZdZd Z	d Z
d	 Zd
 Zd Zy)MAASzMAAS | Metal as a Servicemaasi  )sysmgmt)r   zmaas-region-apizmaas-region-controllerzmaas-rack-controller
maas-agent)r	   zmaas-apiserverz
maas-dhcpdzmaas-dhcpd6z	maas-httpz
maas-proxyz
maas-rackdzmaas-regiondzmaas-syslogzmaas-temporalzmaas-temporal-workerzsnap.maas.supervisorzsnap.maas.pebblec           	         | j                  |      sg S g }| j                  |      D ]	  }| j                  ||      }| j                  |      s(| j                  |      D cg c]%  }| j                  |      r| j                  ||      ' }}|sjt	        |d d      }| j                  d      }| j                  d      }	|s|	s|j                  |d          |	r|	j                         nd}	|j                  |D cg c]'  }t        j                  |      j                  |	k\  s&|) c}        |S c c}w c c}w )Nc                 @    t        j                  |       j                  S )N)osstatst_mtime)ds    9/usr/lib/python3/dist-packages/sos/report/plugins/maas.py<lambda>z+MAAS._get_machines_syslog.<locals>.<lambda>G   s    rwwqz':':     T)keyreverseall_logssincer   )path_existslistdir	path_join
path_isdirsorted
get_optionappend	timestampextendr   r   r   )
self	directoryrecenthost_dir	host_pathr   subdirssorted_subdirsr   r   s
             r   _get_machines_syslogzMAAS._get_machines_syslog/   s1   	*I Y/ 	Hy(;I??9- i0??9- y!,G  #:DN z2HOOG,EEnQ/0-2) .O1"''!*2E2E2NQO3	: 1* Ps   "*D6>'D;
&D;
c                    | j                  ddgd       | j                  g d       | j                  g d       | j                  d      r| j                  dd	g       | j                  | j	                  d
             y )Nzsnap info maaszmaas statusT)snap_cmd)z/var/snap/maas/**/*.keyz/var/snap/maas/**/*.pemz/var/snap/maas/**/secret)z/var/snap/maas/common/snap_modez"/var/snap/maas/common/log/**/*.logz /var/snap/maas/current/**/*.confz /var/snap/maas/current/**/*.yamlz/var/snap/maas/current/bindz/var/snap/maas/current/preseedsz(/var/snap/maas/current/supervisord/*.logr   z$/var/snap/maas/common/log/**/*.log.*z*/var/snap/maas/current/supervisord/*.log.*z!/var/snap/maas/common/log/rsyslogadd_cmd_outputadd_forbidden_pathadd_copy_specr   r'   r    s    r   _snap_collectzMAAS._snap_collectW   s    
  	 	
 	 !
 	 	 
 	 ??:&6<  
 	%%3	
r   c                     | j                  dg       | j                  g d       | j                  g d       | j                  d      r| j                  dg       | j                  | j	                  d             y )Nzapt-cache policy maas maas-*)z/var/lib/maas/**/*.keyz/var/lib/maas/**/*.pemz/var/lib/maas/**/secretz/etc/maas/**/*.keyz/etc/maas/**/*.pemz/etc/maas/**/secret)z/etc/maas/**/*.confz/etc/maas/**/*.yamlz/etc/maas/preseedsz/var/lib/maas/**/*.confz/var/lib/maas/dhcp/*.leasesz/var/lib/maas/temporalz/var/log/maas/**/*.logr   z/var/log/maas/**/*.log.*z/var/log/maas/rsyslogr*   r.   s    r   _deb_collectzMAAS._deb_collecty   s    *
 	 	 !
 	 	 
 	 ??:&*   	%%'	
r   c                 \   | j                   D ]p  }| j                  |      s| j                  |       | j                  d      s)| j                  d      xs d}| j	                  ||       `| j	                  |       r | j
                  r| j                          y | j                          y )Nr   r   z-1days)r   )	_services
is_serviceadd_service_statusr   add_journalis_snapr/   r1   )r    servicer   s      r   setupz
MAAS.setup   s    ~~ 	.Gw'''0z2 OOG4@E$$WE$:$$W-	. << r   c                 *    | j                  ddd       y )Nz(.*)\.(conf|yaml|yml|toml)$z1((?:.*secret|.*password|.*pass)(?::\s*|=\s*))(.*)z\1*****)do_path_regex_subr.   s    r   postproczMAAS.postproc   s    *@	
r   N)__name__
__module____qualname__
short_descplugin_nameplugin_timeoutprofilespackagesr3   r'   r/   r1   r9   r<    r   r   r   r      s@    ,JKNHHI &P 
D!
F 
r   r   )r   sos.report.pluginsr   r   r   rE   r   r   <module>rG      s    
 3a
6< a
r   