
    -_gL"                     J    d dl Zd dlmZmZ  G d de      Z G d dee      Zy)    N)PluginRedHatPluginc                   l   e Zd ZdZdZdZdZdZdZe	j                  j                  ed      Ze	j                  j                  ed      Zd	Ze	j                  j                  ee      Ze	j                  j                  ed
      Ze	j                  j                  ed      ZeefZd Zd Zd Zd Zd Zd Zy)OpenShiftOriginzOpenShift OriginoriginN)	openshiftz/etc/origin/masterz/etc/origin/nodezmaster-config.yamlz
master.envznode-config.yamlznode.kubeconfigpodsc                 8    | j                  | j                        S )zDetermine if we are on a master)path_exists
master_cfgselfs    ;/usr/lib/python3/dist-packages/sos/report/plugins/origin.py	is_masterzOpenShiftOrigin.is_master>   s    00    c                 8    | j                  | j                        S )zDetermine if we are on a node)r   node_cfgr   s    r   is_nodezOpenShiftOrigin.is_nodeB   s    ..r   c                 X    | j                  | j                  | j                  d            S )z*Determine if we are on a node running etcdz	etcd.yaml)r   	path_joinstatic_pod_dirr   s    r   is_static_etcdzOpenShiftOrigin.is_static_etcdF   s+    t/B/B/:!< = 	=r   c                 8    | j                  | j                        S )z*Determine if a node is running static pods)r   r   r   s    r   is_static_pod_compatiblez(OpenShiftOrigin.is_static_pod_compatibleK   s     3 344r   c                    | j                  | j                  d| j                  z         }| j                  | j                  d      }| j                  | j                  dd      }| j                  | j                  d      }| j                  | j                  d      }d| }d}| j	                         r| j                  | j                  | j                  | j                  | j                  d	      g       | j                         rD| j                  | j                  | j                  d
             | j                  | d| dg       | j                         r| j                  | d       g d}| j                  |D 	cg c]	  }	| d|	  c}	       g d}
| j                  |
D cg c]	  }| d|  c}       g d}| j                  |D cg c]	  }| d|  c}       | j                         s| j                  g d       | j                  | d      }|d   j                         D ]  }| j                  | d|         | j                         r| j                  | j                   | j"                  ||||| j                  | j                  d	      | j                  | j                  d      | j                  | j                  d      g	       | j                  d       y y c c}	w c c}w c c}w )Nz
bootstrap-zbootstrap.kubeconfigcerts*zclient-ca.crtzadmin.kubeconfigzoc --config=zmaster-logsz*.crtz*.yamlz api apiz controllers controllersz
 etcd etcd)zadm top imageszadm top imagestreamszadm top nodes )
hostsubnetclusternetworknetnamespacesz get -o json )defaultzopenshift-web-consolez openshift-ansible-service-brokerzopenshift-sdnzopenshift-consolez7 get -o json deploymentconfig,deployment,daemonsets -n )zatomic-openshift-masterzatomic-openshift-master-apiz#atomic-openshift-master-controllers)unitsz get pod -o name -n defaultoutputz logs -n default zresolv.confznode-dnsmasq.confzatomic-openshift-node)r   node_base_dirnode_cfg_filemaster_base_dirr   add_copy_specr   
master_envr   r   add_cmd_outputr   add_journalexec_cmd
splitlinesr   r   node_kubeconfig)r   bstrap_node_cfgbstrap_kubeconfig
node_certsnode_client_ca	admin_cfgoc_cmd_adminstatic_pod_logs_cmdsubcmdssubcmdjcmdsjcmdnmspsnr	   pods                   r   setupzOpenShiftOrigin.setupO   s   ..););)58J8J)JL NN4+=+=+AC^^D$6$6E
(:(:OLNN4#7#79KL	%i[1+ >>t33W=   ,,.""4>>$2E2E2:$< =##*+84*++CD% 
 ""$##':&;:$FG(G 9@!/5<.&*! E AF!9=<.dV4! E .3!)*  . !!!"%! 
 002   (O  P
 ==L>1L!MNDH~002 M##|n4EcU$KLM
 <<>$$!t117;t11=At113FG
  
 #:; O!!!s    K+(K0K5c                 h    d}| j                  d|d       | j                  | j                  dd       y )Nzq(?P<var>{\s*"name":\s*[^,]*(pass|pwd|key|token|cred|secret|PASS|PWD|KEY|TOKEN|CRED|SECRET)[^,]*,\s*"value":)[^}]*zoc*jsonz\g<var> "********"z#(bindPassword|clientSecret):\s*(.*)z\1:"********")do_cmd_output_subdo_file_subr   )r   
env_regexps     r   postproczOpenShiftOrigin.postproc   s:    *
 	y*6KL 	?)	+r   )__name__
__module____qualname__
short_descplugin_namefilesprofilesr'   r%   ospathjoinr   r)   r&   r   r.   r   r   r   r   r   r=   rB    r   r   r   r   #   s    #JKEH*O&Mo/CDJo|<J&Mww||M=9Hggll=2CDOWW\\-8N"E1/=
5k<Z+r   r   c                       e Zd ZdZdZy)AtomicOpenShiftz3OpenShift Enterprise / OpenShift Container Platform)zatomic-openshiftN)rC   rD   rE   rF   packagesrM   r   r   rO   rO      s    FJ$Hr   rO   )os.pathrJ   sos.report.pluginsr   r   r   rO   rM   r   r   <module>rS      s*     3.l+f l+^%o| %r   