o id"@s>ddlmZmZddlZGdddeZGdddeeZdS))Plugin RedHatPluginNc@seZdZdZdZdZdZdZdZe j edZ e j edZ d Ze j eeZe j ed Ze j ed Ze efZd d ZddZddZddZddZddZdS)OpenShiftOriginzOpenShift OriginoriginN) openshiftz/etc/origin/masterz/etc/origin/nodezmaster-config.yamlz master.envznode-config.yamlznode.kubeconfigpodscC ||jS)zDetermine if we are on a master) path_exists master_cfgselfr ;/usr/lib/python3/dist-packages/sos/report/plugins/origin.py is_master> zOpenShiftOrigin.is_mastercCr)zDetermine if we are on a node)r node_cfgr r r ris_nodeBrzOpenShiftOrigin.is_nodecCs|||jdS)z*Determine if we are on a node running etcdz etcd.yaml)r path_joinstatic_pod_dirr r r ris_static_etcdFs zOpenShiftOrigin.is_static_etcdcCr)z*Determine if a node is running static pods)r rr r r ris_static_pod_compatibleKrz(OpenShiftOrigin.is_static_pod_compatiblec s||jd|j}||jd}||jdd}||jd}||jd}dd|fd }|r||j|j||jd g|r[|||j d | d |d |g| rf| d|gd}| fdd|Dgd}| fdd|Dgd} | fdd| D|s|j gdd| d} | dD] } | d| fq|r||j|j||||||jd ||jd||jdg |j dddSdS)Nz bootstrap-zbootstrap.kubeconfigcerts*z client-ca.crtzadmin.kubeconfigz%s --config=%socz master-logsz*.crtz*.yamlz %s api apiz%s controllers controllersz %s etcd etcd)zadm top imageszadm top imagestreamsz adm top nodescg|]}d|fqS)z%s %sr ).0subcmd oc_cmd_adminr r  z)OpenShiftOrigin.setup..) hostsubnetclusternetwork netnamespacescr)z%s get -o json %sr )rjcmdrr rrr )defaultzopenshift-web-consolez openshift-ansible-service-brokerz openshift-sdnzopenshift-consolecr)z;%s get -o json deploymentconfig,deployment,daemonsets -n %sr )rnrr rrs )zatomic-openshift-masterzatomic-openshift-master-apiz#atomic-openshift-master-controllers)unitsz%s get pod -o name -n defaultoutputz%s logs -n default %sz resolv.confznode-dnsmasq.confzatomic-openshift-node)r node_base_dir node_cfg_filemaster_base_dirr add_copy_specr master_envrradd_cmd_outputr add_journalexec_cmd splitlinesrrnode_kubeconfig) r bstrap_node_cfgbstrap_kubeconfig node_certsnode_client_ca admin_cfgstatic_pod_logs_cmdsubcmdsjcmdsnmspsrpodr rrsetupOs|       zOpenShiftOrigin.setupcCs&d}|d|d||jdddS)Nzq(?P{\s*"name":\s*[^,]*(pass|pwd|key|token|cred|secret|PASS|PWD|KEY|TOKEN|CRED|SECRET)[^,]*,\s*"value":)[^}]*zoc*jsonz\g "********"z#(bindPassword|clientSecret):\s*(.*)z \1:"********")do_cmd_output_sub do_file_subr )r env_regexpr r rpostprocs  zOpenShiftOrigin.postproc)__name__ __module__ __qualname__ short_desc plugin_namefilesprofilesr+r)ospathjoinr r-r*rr2rrrrrr=rAr r r rr#s(  nrc@seZdZdZdZdS)AtomicOpenShiftz3OpenShift Enterprise / OpenShift Container Platform)zatomic-openshiftN)rBrCrDrEpackagesr r r rrLsrL)sos.report.pluginsrros.pathrIrrLr r r rs  1