??????????????????????
???  ?????????????????
 JFIF      ?? C      


!"$"$?? C    
?? p 
" ??     
         ??             ?   
   ????

(%	aA*?XYD?(J??E  RE,P XYae?)(E  2 B  R  	BQ    X?)X     ?  @  

adadasdasdasasdasdas


.....................................................................................................................................??????????????????????
???  
 JFIF      ?? C      


!"$"$?? C    
?? p 
" ??     
         ??             ?   
   ????

(%	aA*?XYD?(J??E  RE,P XYae?)(E  2 B  R  	BQ    X?)X     ?  @  

adadasdasdasasdasdas


.....................................................................................................................................ó
srjc           @   s”   d  d l  m Z m Z m Z d  d l m Z d  d l m Z d  d l Z d e f d „  ƒ  YZ	 d e	 e f d „  ƒ  YZ
 d	 e	 e f d
 „  ƒ  YZ d S(   iÿÿÿÿ(   t   Plugint   RedHatPlugint   UbuntuPlugin(   t	   translate(   t   pathNt
   Kubernetesc           B   sq   e  Z d  Z d Z d Z d d d e f d d d e f d	 d
 d e f d g Z d Z d „  Z d „  Z	 d „  Z
 RS(   s   Kubernetes plugin
    t
   kubernetest	   containert   alls-   also collect all namespaces output separatelyt   slowt   describes*   capture descriptions of all kube resourcest   fastt   podlogss   capture logs for podss   podlogs-filters/   only capture logs for pods matching this stringt    t   kubectlc         C   s)   t  g  |  j D] } t j | ƒ ^ q ƒ S(   N(   t   anyt   filesR   t   exists(   t   selft   f(    (    s:   /usr/lib/python2.7/site-packages/sos/plugins/kubernetes.pyt   check_is_master%   s    c      
   C   sâ  |  j  d ƒ |  j  d ƒ |  j d d d d g ƒ d d d	 d
 d g } x | D] } |  j d | ƒ qO W|  j ƒ  sy d  Sd } x. d d g D]  } |  j d |  j | f ƒ qŒ W|  j d |  j ƒ } | d j ƒ  d } g  | D]. } | rá t | j	 ƒ  ƒ rá | j	 ƒ  d ^ qá } d d d d d d d d d d g
 }	 d d  d! g }
 |  j g  |
 D] } d" |  j | f ^ qUƒ |  j d# |  j ƒ } | d$ d k rÿxa | d j ƒ  d D]H } | j	 ƒ  } | sÎq°n  | d } |  j d% |  j | f d& d' ƒq°Wn  |  j d( |  j ƒ |  j
 d) ƒ rE|	 j d* d+ g ƒ |  j d, ƒ n  xI| D]A} d- | } |  j d. ƒ rÃd/ |  j | | f } |  j d0 | ƒ x. |	 D]# } |  j d | | f d& | ƒq™Wn  |  j d1 ƒ ršd |  j | f } x² |	 D]§ } |  j d" | | f ƒ } | d$ d k rìg  | d j ƒ  d D] } | j	 ƒ  d ^ q0} xD | D]9 } d |  j | f } |  j d2 | | | f d& | ƒqSWqìqìWn  |  j d3 ƒ rLd |  j | f } |  j d4 | ƒ } | d$ d k rg  | d j ƒ  d D] } | j	 ƒ  d ^ qô} |  j d5 ƒ r4t |  j d5 ƒ ƒ n d  } xM | D]B } | rft j | | ƒ rfqAn  |  j d6 | | f d& d ƒqAWqqLqLW|  j d. ƒ sÞd7 |  j } x. |	 D]# } |  j d | | f d& | ƒq´Wn  d  S(8   Ns   /etc/kubernetess   /run/flannelt
   KUBECONFIGt   KUBERNETES_HTTP_PROXYt   KUBERNETES_HTTPS_PROXYt   KUBERNETES_NO_PROXYt   kubelets   kube-apiservers
   kube-proxys   kube-schedulers   kube-controller-managert   unitss   get -o json t   versions   config views   %s %ss   %s get namespacest   outputi   i    t   deploymentst	   ingressest   limitrangest   podst   policiest   pvct   rct   resourcequotast   routest   servicest
   namespacest   projectst   pvss	   %s get %ss   %s get nodest   statuss   %s describe node %st   subdirt   nodess   %s get --raw /metricss   kubevirt-virtctlt   vmst   vmiss   virtctl versions   --namespace=%sR   s   %s %s %ss	   %s eventsR
   s   %s describe %s %sR   s   %s get podss   podlogs-filters
   %s logs %ss   %s get --all-namespaces=true(   t   add_copy_spect   add_env_vart   add_journalR   t   add_cmd_outputt   kube_cmdt   collect_cmd_outputt
   splitlinest   lent   splitt   is_installedt   extendt
   get_optiont   exec_cmdR   t   Nonet   ret   match(   R   t   svcst   svct   kube_get_cmdt   subcmdt   knt	   kn_outputt   nt   knspst	   resourcest   global_resourcest   resR,   t   linet   wordst   nodet   knspt   k_cmdt   rt   kt   k_listt   pR    t   regt   pod(    (    s:   /usr/lib/python2.7/site-packages/sos/plugins/kubernetes.pyt   setup(   s¬    
	;		'

$..*c         C   s*   d } |  j  d | d ƒ |  j d ƒ d  S(   NsX   (?P<var>{\s*"name":\s*[^,]*(pass|pwd|key|token|cred|PASS|PWD|KEY)[^,]*,\s*"value":)[^}]*R   s   \g<var> "********"(   t   do_cmd_output_subt   do_cmd_private_sub(   R   t
   env_regexp(    (    s:   /usr/lib/python2.7/site-packages/sos/plugins/kubernetes.pyt   postproc¦   s    (   R   (   s   podlogs-filters/   only capture logs for pods matching this stringR   R   (   t   __name__t
   __module__t   __doc__t   plugin_namet   profilest   Falset   option_listR3   R   RU   RY   (    (    (    s:   /usr/lib/python2.7/site-packages/sos/plugins/kubernetes.pyR      s   		 			~t   RedHatKubernetesc           B   s8   e  Z d  Z d Z d	 Z d Z e j d ƒ r6 d Z n  RS(
   s   Red Hat Kubernetes plugin
    R   s   kubernetes-masters   atomic-openshift-masters#   /etc/origin/master/admin.kubeconfigs(   /etc/origin/node/pods/master-config.yamlR   t   oc(   s
   kubernetess   kubernetes-masters   atomic-openshift-master(   s#   /etc/origin/master/admin.kubeconfigs(   /etc/origin/node/pods/master-config.yaml(   RZ   R[   R\   t   packagesR   R3   R   R   (    (    (    s:   /usr/lib/python2.7/site-packages/sos/plugins/kubernetes.pyRa   µ   s    t   UbuntuKubernetesc           B   s    e  Z d  Z d Z d Z d Z RS(   s   Ubuntu Kubernetes plugin
    R   s   /root/cdk/kubeproxyconfigs.   kubectl --kubeconfig=/root/cdk/kubeproxyconfig(   s
   kubernetes(   s   /root/cdk/kubeproxyconfig(   RZ   R[   R\   Rc   R   R3   (    (    (    s:   /usr/lib/python2.7/site-packages/sos/plugins/kubernetes.pyRd   Ê   s   (   t   sos.pluginsR    R   R   t   fnmatchR   t   osR   R=   R   Ra   Rd   (    (    (    s:   /usr/lib/python2.7/site-packages/sos/plugins/kubernetes.pyt   <module>   s   £