3 ܓib@s.ddlZddlmZmZGdddeeZdS)N)Plugin UbuntuPluginc @sLeZdZdZdZdZd Zd!Zd"ZddZ ddZ ddZ ddZ ddZ dS)#MAASzMAAS | Metal as a Servicemaasisysmgmtmaas-region-apimaas-region-controllermaas-rack-controller maas-agentmaas-apiserver maas-dhcpd maas-dhcpd6 maas-http maas-proxy maas-rackd maas-regiond maas-syslog maas-temporalmaas-temporal-workersnap.maas.supervisorsnap.maas.pebblecsj|sgSg}xj|D]}j||js:qfddjD}|sZqt|dddd}jd}jd| r r|j|d qrjnd |jfd d|DqW|S) Ncs"g|]}jrj|qS) path_isdir path_join).0d) host_pathselfr/usr/lib/python3.6/maas.py >sz-MAAS._get_machines_syslog..cSs tj|jS)N)osstatst_mtime)rrrrGsz+MAAS._get_machines_syslog..T)keyreverseall_logssincercs g|]}tj|jkr|qSr)r r!r")rr)r'rrrRs) Z path_existslistdirrrsorted get_optionappendZ timestampextend)rZ directoryZrecentZhost_dirZsubdirsZsorted_subdirsr&r)rrr'r_get_machines_syslog/s*       zMAAS._get_machines_syslogcCs~|jddgdd|jddddd d d g|jd d dg|jdddddddg|jdrj|jddg|j|jddS)Nzsnap info maasz maas statusT)Zsnap_cmdz/stat /var/snap/maas/common/maas/image-storage/*z;stat /var/snap/maas/common/maas/image-storage/bootloaders/*z#stat /var/snap/maas/current/*.sock*z1stat /var/snap/maas/current/syslog/rsyslog/*.sockz(stat /var/snap/maas/common/proxy/cache/*z)du -sh /var/snap/maas/common/proxy/cache/z$du -sh /var/snap/maas/image-storage/z/var/snap/maas/**/*.keyz/var/snap/maas/**/*.pemz/var/snap/maas/**/secretz/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_outputadd_forbidden_path add_copy_specr*r-)rrrr _snap_collectWs> zMAAS._snap_collectc Csr|jddddddddg|jd d d d d dg|jdddddddg|jdr^|jdg|j|jddS)Nzapt-cache policy maas maas-*z"stat /var/lib/maas/image-storage/*z.stat /var/lib/maas/image-storage/bootloaders/*zstat /var/lib/maas/*.sock*z(stat /var/lib/maas/syslog/rsyslog/*.sockzstat /var/cache/maas/*zdu -sh /var/cache/maas/z#du -sh /var/lib/maas/image-storage/z/var/lib/maas/**/*.keyz/var/lib/maas/**/*.pemz/var/lib/maas/**/secretz/etc/maas/**/*.keyz/etc/maas/**/*.pemz/etc/maas/**/secretz/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/rsyslog)r.r/r0r*r-)rrrr _deb_collects< zMAAS._deb_collectcCsrxT|jD]J}|j|r|j||jdsH|jdp6d}|j||dq|j|qW|jrf|jn|jdS)Nr&r'z-1days)r') _servicesZ is_serviceZadd_service_statusr*Z add_journalZis_snapr1r2)rZservicer'rrrsetups     z MAAS.setupcCs|jddddS)Nz(.*)\.(conf|yaml|yml|toml)$z1((?:.*secret|.*password|.*pass)(?::\s*|=\s*))(.*)z\1*****)Zdo_path_regex_sub)rrrrpostprocsz MAAS.postprocN)r)rrrr r ) r r r r rrrrrrrrr)__name__ __module__ __qualname__Z short_descZ plugin_nameZplugin_timeoutZprofilesZpackagesr3r-r1r2r4r5rrrrrs6(,*r)r Zsos.report.pluginsrrrrrrr s