o id@s:ddlmZmZmZmZmZmZGdddeeeeZdS))Plugin RedHatPlugin UbuntuPlugin SoSPredicate PluginOpt CosPluginc@sTeZdZdZdZdZdZdZedddd ed dd d gZ d d Z ddZ ddZ dS)CRIOzCRI-O containerscrio) container)zcri-o cri-tools)r allFz0collect for all containers, even terminated ones)defaultdesclogsz)collect stdout/stderr logs for containersc Cs|gd|gd|ddg|t|dgdgd}|dd |Dd }|d r8d |}d }d}||}||}||}||D]}|jd|dd|drl|jd|ddddqQ|D] } |jd| ddqo|D] } |jd| ddq}dS)N)z/etc/containersz/etc/crictl.yamlz/etc/crio/crio.confz/etc/crio/seccomp.jsonz/etc/crio/crio.conf.d/z!/etc/systemd/system/cri-o.servicez/etc/sysconfig/crio-*) HTTP_PROXY HTTPS_PROXYNO_PROXY ALL_PROXYzls -alhR /etc/cniz crio configr )packages)infoimagespodspszps -azps -vstatsversioncSsg|]}d|qS)z crictl %s).0srr9/usr/lib/python3/dist-packages/sos/report/plugins/crio.py DszCRIO.setup..zcrictl ps --quietr z%s -azcrictl images --quietzcrictl pods --quietzcrictl inspect %s containers)subdirrzcrictl logs -t %szcontainers/logsd crictl_logs)r!prioritytagszcrictl inspecti %srzcrictl inspectp %sr) add_copy_spec add_env_varadd_cmd_outputset_cmd_predicater get_option_get_crio_list_get_crio_goroutine_stacks) selfsubcmdsps_cmdimg_cmdpod_cmdr rrr imagepodrrrsetupsB         z CRIO.setupcCsTg}||}|ddkr(|dD]}||q|r(d|dvr(|d|S)Nstatusroutput deprecated)exec_cmd splitlinesappendpop)r-cmdretresultentrrrr+as    zCRIO._get_crio_listcCsR|d}|ddkr dS|d}|d|}|ddkr'|ddSdS)Nz pidof crior5rr6z kill -USR1 z/tmp/crio-goroutine-stacks*.log)r8stripr&)r-r>pidrrrr,ls    zCRIO._get_crio_goroutine_stacksN) __name__ __module__ __qualname__ short_desc plugin_nameprofilesrservicesr option_listr4r+r,rrrrrs C rN)sos.report.pluginsrrrrrrrrrrrs