a >hL"@s>ddlZddlmZmZGdddeZGdddeeZdS)N)Plugin RedHatPluginc@seZdZdZdZdZdZdZdZe j edZ e j edZ d Ze j eeZe j ed Ze j ed Ze efZd d ZddZddZddZddZddZdS)OpenShiftOriginzOpenShift OriginoriginN)Z openshiftz/etc/origin/masterz/etc/origin/nodezmaster-config.yamlz master.envznode-config.yamlznode.kubeconfigpodscCs ||jS)zDetermine if we are on a master) path_exists master_cfgselfr =/usr/lib/python3.9/site-packages/sos/report/plugins/origin.py is_master>szOpenShiftOrigin.is_mastercCs ||jS)zDetermine if we are on a node)rnode_cfgr r r r is_nodeBszOpenShiftOrigin.is_nodecCs|||jdS)z*Determine if we are on a node running etcdz etcd.yaml)r path_joinstatic_pod_dirr r r r is_static_etcdFs zOpenShiftOrigin.is_static_etcdcCs ||jS)z*Determine if a node is running static pods)rrr r r r is_static_pod_compatibleKsz(OpenShiftOrigin.is_static_pod_compatiblec s||jd|j}||jd}||jdd}||jd}||jd}d|d}|r||j|j||jd g|r|||j d | |d |d g| r| |d gd}| fdd|Dgd}| fdd|Dgd} | fdd| D|sL|j gdd| d} | dD]} | d| qh|r||j|j||||||jd ||jd||jdg |j dddS)Nz bootstrap-zbootstrap.kubeconfigZcerts*z client-ca.crtzadmin.kubeconfigz oc --config=z master-logsz*.crtz*.yamlz api apiz controllers controllersz etcd etcd)zadm top imageszadm top imagestreamsz adm top nodescsg|]}d|qS) r ).0ZsubcmdZ oc_cmd_adminr r sz)OpenShiftOrigin.setup..)Z hostsubnetZclusternetworkZ netnamespacescsg|]}d|qS)z get -o json r )rZjcmdrr r rs)defaultzopenshift-web-consolez openshift-ansible-service-brokerz openshift-sdnzopenshift-consolecsg|]}d|qS)z7 get -o json deploymentconfig,deployment,daemonsets -n r )rnrr r rs)zatomic-openshift-masterzatomic-openshift-master-apiz#atomic-openshift-master-controllers)Zunitsz get pod -o name -n defaultoutputz logs -n default z resolv.confznode-dnsmasq.confzatomic-openshift-node)r node_base_dir node_cfg_filemaster_base_dirr Z add_copy_specr master_envrrZadd_cmd_outputrZ add_journalZexec_cmd splitlinesrrnode_kubeconfig) r Zbstrap_node_cfgZbstrap_kubeconfigZ node_certsZnode_client_caZ admin_cfgZstatic_pod_logs_cmdZsubcmdsZjcmdsZnmspsrZpodr rr setupOsr          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:"********")Zdo_cmd_output_subZ do_file_subr)r Z env_regexpr r r postprocs zOpenShiftOrigin.postproc)__name__ __module__ __qualname__ short_descZ plugin_namefilesZprofilesrrospathjoinrrrrr!rr rrrr"r#r r r r r#s& mrc@seZdZdZdZdS)AtomicOpenShiftz3OpenShift Enterprise / OpenShift Container Platform)zatomic-openshiftN)r$r%r&r'Zpackagesr r r r r,sr,)Zos.pathr)Zsos.report.pluginsrrrr,r r r r  s0