
    ~ g#!                     l    S SK r S SKJrJrJrJr   " S S\5      r " S S\\\5      r " S S\\5      rg)	    N)PluginRedHatPluginDebianPluginUbuntuPluginc                   L    \ rS rSrSrSrSrSrSr\S-   r	/ r
SrS	 rS
 rS rSrg)OpenStackIronic   zOpenStack Ironicopenstack_ironic)	openstackopenstack_undercloud).*ironic_apiz,/var/lib/config-data/puppet-generated/ironic
_inspectorFc                    U R                  S5      nU(       Ga  U R                  S-   U R                  S-   U R                  S-   U R                  S-   U R                  S-   /U l        U R	                  SSU R                  S-   U R                  S	-   U R                  S
-   U R                  S-   U R                  S-   U R                  S-   U R                  S-   U R                  S-   U R                  S-   U R                  S-   U R                  S-   U R                  S-   U R                  S-   U R                  S-   U R                  S-   /5        U R                  S5      (       a  U R	                  SS/5        OU R	                  SS/5        SSSU R                  S-   U R                  S-   4 H#  nU R                  UU R                   U 3/SS 9  M%     S! H.  nU R                  S"U-   5      (       d  M  U R                  S#US$9  M0     OkSS/U l        U R	                  / S%Q5        U R                  S5      (       a  U R	                  S&S'/5        OU R	                  S(S)/5        U R                  / S*QSS 9  U R                  S+S,05        S- Vs/ s H  oD[        R                  ;   PM     nnS. Vs/ s H  oD[        R                  ;   PM     nn[        U5      =(       a    [        U5      U l        U R                  (       d  U R                  R                  S/5        g U R                  S05        U R                  S15        U R                  S25        U R                  S35        g s  snf s  snf )4Nr   z/etc/ironic/*z/etc/ironic-inspector/*z_api/etc/ironic/* /var/lib/httpboot/inspector.ipxe/var/lib/ironic-inspector/z-/var/log/containers/ironic-inspector/ramdisk/z/etc/xinetd.confz/etc/xinetd.d//etc/ironic//etc/ironic-inspector/z/etc/httpd/conf/z/etc/httpd/conf.d/z /etc/httpd/conf.modules.d/*.conf/etc/my.cnf.d/tripleo.cnfz_api/etc/ironic/z_api/etc/httpd/conf/z_api/etc/httpd/conf.d/z$_api/etc/httpd/conf.modules.d/*.confz_api/etc/my.cnf.d/tripleo.cnfall_logsz/var/log/containers/ironic/z%/var/log/containers/ironic-inspector/z /var/log/containers/ironic/*.logz*/var/log/containers/ironic-inspector/*.log/var/lib/ironic	/httpboot	/tftpbootz/var/lib/httpboot/z/var/lib/tftpboot/T)	recursive)ironic_inspector_dnsmasqironic_inspectorironic_pxe_httpironic_pxe_tftpironic_neutron_agentironic_conductor
ironic_apiz.*zrpm -qa)	container)r   r   r   z"/var/log/ironic-inspector/ramdisk/r   r   z/var/log/ironic/z/var/log/ironic-inspector/z/var/log/ironic/*.logz/var/log/ironic-inspector/*.log)r   r   r   z.*/etc/ironic/ironic.confironic_conf)OS_USERNAMEOS_PASSWORD)OS_TENANT_NAMEOS_PROJECT_NAMEz}Not all environment variables set. Source the environment file for the user intended to connect to the OpenStack environment.z&openstack baremetal driver list --longz$openstack baremetal node list --longz$openstack baremetal port list --longz*openstack baremetal port group list --long)container_existsvar_puppet_genins_puppet_gen	conf_listadd_copy_spec
get_optionadd_dir_listingadd_cmd_outputadd_file_tagsosenvironallanyosc_availablesoslogwarning)selfin_containerpathcontainer_namepvars_allvars_anys          E/usr/lib/python3/dist-packages/sos/report/plugins/openstack_ironic.pysetupOpenStackIronic.setup   s   ,,^<##o5##&??##&99##&??##&HHDN ,?##&88##&66##n4##&>>##&88##&::##&HH##&AA##&88##&<<##&>>##&LL##&EE##&??##&HH#  ( z**""1;$ 
 ""6@$ 
 +K,,/CC,,/CCE $$**+D62& " % #E#E (()>??''	^'L#E  )DN     z**""&0$ 
 ""+5$ 
   !N+/ ! 1 	'
 	.2 3 .2O .2 3.9 : .9O .9 : !]<s8}!!KK !K L  HI FG FG LM!3:s   M*M!c                 N    U R                    H  nU R                  X1U5        M     g)zApply regex substitution N)r*   do_path_regex_sub)r7   regexpsubstconfs       r>   apply_regex_subOpenStackIronic.apply_regex_sub   s     NND""47 #    c                     / SQnSS/nSR                  U5      nU R                  SSR                  U5       S3S5        U R                  SU S3S	5        g )
N)	dns_passkeymemcache_secret_keyrabbit_passwordpasswordqpid_passwordadmin_passwordssl_key_passwordos_passwordtransport_url
connectionsql_connection|z(^\s*(z)\s*=\s*)(.*)z\1*********z!)\s*=\s*(.*)://(\w*):)(.*)(@(.*))z\1*********\6)joinrF   )r7   protect_keysconnection_keysjoin_con_keyss       r>   postprocOpenStackIronic.postproc   sk    

 ()9:1chh|,-];	
 	m_$EF	
rH   )r*   r4   N)__name__
__module____qualname____firstlineno__
short_descplugin_nameprofiles
containersr(   r)   r*   r4   r?   rF   rZ   __static_attributes__ rH   r>   r   r      sA    #J$K4H"JCN#l2NIMlN\8

rH   r   c                       \ rS rSrSrSrg)DebianIronic   )z
ironic-apizironic-commonzironic-conductorre   N)r\   r]   r^   r_   packagesrd   re   rH   r>   rg   rg      s    BHrH   rg   c                   :   ^  \ rS rSrSrSS/rS rU 4S jrSrU =r	$ )RedHatIronic   )zopenstack-selinuxopenstack-ironic-discoverdz"openstack-ironic-discoverd-ramdiskc                 *   U R                  S5      nUS   (       a  U R                  R                  S5        gUS   R                  5        Vs/ s H  nUR	                  5       (       d  M  UPM     nnU H  nU R                  SU 35        M     gs  snf )z%Capture baremetal introspection data z.openstack baremetal node list -f value -c UUIDstatuszPFailed to fetch list of ironic node UUIDs, introspection data won't be collectedNoutputz,openstack baremetal introspection data save )collect_cmd_outputr5   r6   splitstripr.   )r7   uuids_resultuuiduuidss       r>   collect_introspection_data'RedHatIronic.collect_introspection_data   s    ..<
 !KK !I J".x"8">">"@ ""@$JJL "@ "D !--1F!4 5 "s   B*Bc                   >^  [         TT ]  5         [        U 4S jT R                   5       5      (       al  T R                  R                  S5        T R                  S5        T R                  S5        T R                  S5        T R                  SS9  T R                  SS9  T R                  S	S9  T R                  (       a9  T R                  S
5        T R                  S5      (       a  T R                  5         g g g )Nc              3   F   >#    U  H  nTR                  U5      v   M     g 7f)N)is_installed).0r;   r7   s     r>   	<genexpr>%RedHatIronic.setup.<locals>.<genexpr>   s!     E-Dt  ##-Ds   !z/etc/ironic-discoverd/*z/etc/ironic-discoverd/z/var/lib/ironic-discoverd/z/var/log/ironic-discoverd/rm   )unitsz"openstack-ironic-discoverd-dnsmasqz"openstack-ironic-inspector-dnsmasqz&openstack baremetal introspection listr   )superr?   r3   discoverd_packagesr*   appendr+   add_journalr4   r.   r,   rw   )r7   	__class__s   `r>   r?   RedHatIronic.setup   s     ET-D-DEEENN!!";<78;<;<#?@#GHCD HIz**//1 + rH   re   )
r\   r]   r^   r_   ri   r   rw   r?   rd   __classcell__)r   s   @r>   rk   rk      s'    %H 	%,
5 2 2rH   rk   )	r0   sos.report.pluginsr   r   r   r   r   rg   rk   re   rH   r>   <module>r      s?    
 O OP
f P
fC?L, C
,2?L ,2rH   