+
    Û1j×   ã                   ón   € ^ RI t ^ RIHtHtHtHt  ! R R]4      t ! R R]]]4      t ! R R]]4      tR# )	é    N)ÚPluginÚRedHatPluginÚDebianPluginÚUbuntuPluginc                   ó`   a € ] tR t^t o RtRtRtRtRt]R,           t	. t
RtR tR tR tR	tV tR
# )ÚOpenStackIroniczOpenStack IronicÚopenstack_ironicz,/var/lib/config-data/puppet-generated/ironicÚ
_inspectorFc                ó¢  € V P                  R 4      pV'       EdQ   V P                  R,           V P                  R,           V P                  R,           V P                  R,           V P                  R,           .V n        V P	                  RRV P                  R,           V P                  R,           V P                  R	,           V P                  R
,           V P                  R,           V P                  R,           V P                  R,           V P                  R,           V P                  R,           V P                  R,           V P                  R,           V P                  R,           V P                  R,           V P                  R,           V P                  R,           .4       V P                  R4      '       d   V P	                  RR.4       MV P	                  RR.4       RRRV P                  R,           V P                  R,           3 F&  pV P                  VV P                   V 2.RR7       K(  	  R/ F6  pV P                  R V,           4      '       g   K#  V P                  R!VR"7       K8  	  MoRR.V n        V P	                  . R0O4       V P                  R4      '       d   V P	                  R#R$.4       MV P	                  R%R&.4       V P                  . R1ORR7       V P                  R'R(/4       R2 Uu. uF  qD\        P                  9   NK  	  ppR3 Uu. uF  qD\        P                  9   NK  	  pp\        V4      ;'       d    \        V4      V n        V P                  '       g   V P                  P                  R)4       R.# V P                  R*4       V P                  R+4       V P                  R,4       V P                  R-4       R.# u upi u upi )4ú.*ironic_apiz/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)Ú	recursivez.*zrpm -qa)Ú	containerz/var/log/ironic/z/var/log/ironic-inspector/z/var/log/ironic/*.logz/var/log/ironic-inspector/*.logz.*/etc/ironic/ironic.confÚironic_confz}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 --longN)Úironic_inspector_dnsmasqÚironic_inspectorÚironic_pxe_httpÚironic_pxe_tftpÚironic_neutron_agentÚironic_conductorÚ
ironic_api)r   r   r   z"/var/log/ironic-inspector/ramdisk/r   r   )r   r   r   )ÚOS_USERNAMEÚOS_PASSWORD)ÚOS_TENANT_NAMEÚOS_PROJECT_NAME)Ú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ðˆDŒNð ×ÑØ,Ø?Ø×#Ñ#Ð&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�ð ×$Ñ$ØØ×*Ñ*Ð+¨D¨6Ð2ð&ð "ð %ö #ñEó#E�ð ×(Ñ(¨°Õ)>×?Ô?Ø×'Ñ'¨	¸^Ð'ÖLò#Eð  Ø)ðˆDŒNð ×Ñò  ô ð �‰˜z×*Ò*Ø×"Ñ"Ø&Ø0ð$õ ð
 ×"Ñ"Ø+Ø5ð$ô ð
 × Ñ Ò!NØ+/ð !ô 1ð 	×ÑØ'¨ð
ô 	ñ.2ó 3ñ .2¨œŸ™”Oñ .2ˆð 3ñ.9ó :ñ .9¨œŸ™”Oñ .9ˆð :ô ! ›]×<Ð<¬s°8«}ˆÔà×!×!Ð!Ø�K‰K×Ñð !Kö Lð ×ÑÐ HÔIØ×ÑÐ FÔGØ×ÑÐ FÔGØ×ÑÐ LÖMùò!3ùò:s   Ë1OÌOc                óP   € V P                    F  pV P                  W1V4       K  	  R# )zApply regex substitution N)r'   Údo_path_regex_sub)r4   ÚregexpÚsubstÚconfs   &&& r;   Úapply_regex_subÚOpenStackIronic.apply_regex_subŠ   s    € à—N”NˆDØ×"Ñ" 4°Ö7ó #ó    c                ó®   € . R
OpRR.pRP                  V4      pV P                  RRP                  V4       R2R4       V P                  RV R2R4       R	# )ú.*_(pass)?keyÚ
connectionÚsql_connectionÚ|z(^\s*(z)\s*=\s*)(.*)z\1*********z!)\s*=\s*(.*)://(\w*):)(.*)(@(.*))z\1*********\6N)rG   z.*_pass(wd|word)?ÚpasswordÚtransport_url)ÚjoinrC   )r4   Úprotect_keysÚconnection_keysÚjoin_con_keyss   &   r;   ÚpostprocÚOpenStackIronic.postproc�   sk   € ò
ˆð (Ð)9Ð:ˆàŸ™ Ó1ˆà×ÑØ�c—h‘h˜|Ó,Ð-¨]Ð;Øô	
ð 	×ÑØ�m�_Ð$EÐFØö	
rE   )r'   r1   N)Ú	openstackÚopenstack_undercloud)r   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú
short_descÚplugin_nameÚprofilesÚ
containersr%   r&   r'   r1   r<   rC   rQ   Ú__static_attributes__Ú__classdictcell__)Ú__classdict__s   @r;   r   r      sI   ø‡ € à#€JØ$€KØ4€HØ"€JàC€NØ# lÕ2€NØ€IØ€MòlNò\8÷

ð 
rE   r   c                   ó   € ] tR t^¤tRtRtR# )ÚDebianIronic© N)z
ironic-apizironic-commonzironic-conductor)rU   rV   rW   rX   Úpackagesr]   rb   rE   r;   ra   ra   ¤   s   † àB„HrE   ra   c                   óD   a a€ ] tR t^©t oRtRR.tR tV 3R ltRtVt	V ;t
# )ÚRedHatIronicúopenstack-ironic-discoverdz"openstack-ironic-discoverd-ramdiskc                ó@  € V P                  R4      pVR,          '       d   V P                  P                  R4       R# VR,          P                  4        Uu. uF  pVP	                  4       '       g   K  VNK  	  ppV F  pV P                  RV 24       K  	  R# u upi )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_outputr2   r3   ÚsplitÚstripr+   )r4   Úuuids_resultÚuuidÚuuidss   &   r;   Úcollect_introspection_dataÚ'RedHatIronic.collect_introspection_data²   s    € à×.Ñ.Ø<ó
ˆð ˜×!Ô!Ø�K‰K×Ñð !Iô Jáà".¨xÕ"8×">Ñ">Ô"@ó "Ñ"@˜$Ø—J‘J—L÷ �Ñ"@ˆð "ãˆDØ×Ñð !-Ø-1¨Fð!4ö 5ó ùò"s   ÁBÁ4Bc                ór  <a € \         SS `  4        \        ;QJ d)    V 3R  lS P                   4       F  '       g   K   RM	  RM! V 3R  lS P                   4       4      '       ds   S P                  P                  R4       S P                  R4       S P                  R4       S P                  R4       S P                  RR7       S P                  R	R7       S P                  R
R7       S P                  '       d=   S P                  R4       S P                  R4      '       d   S P                  4        R# R# R# )c              3   óF   <"  € T F  pSP                  V4      x € K  	  R # 5i)N)Úis_installed)Ú.0r8   r4   s   & €r;   Ú	<genexpr>Ú%RedHatIronic.setup.<locals>.<genexpr>Ç   s!   øé € ÐEÑ-D¨ˆt× Ñ  ×#Ð#Ó-Dùs   ƒ!TFz/etc/ironic-discoverd/*z/etc/ironic-discoverd/z/var/lib/ironic-discoverd/z/var/log/ironic-discoverd/rf   )Úunitsz"openstack-ironic-discoverd-dnsmasqz"openstack-ironic-inspector-dnsmasqz&openstack baremetal introspection listr   N)Úsuperr<   r0   Údiscoverd_packagesr'   Úappendr(   Úadd_journalr1   r+   r)   rp   )r4   Ú	__class__s   f€r;   r<   ÚRedHatIronic.setupÂ   sñ   ù€ Ü‰‰Œ÷ ‹3ÔE¨T×-DÒ-DÓE�3�3Š3ÔE¨T×-DÒ-DÓE×EÒEØ�N‰N×!Ñ!Ð";Ô<Ø×ÑÐ7Ô8Ø×ÑÐ;Ô<Ø×ÑÐ;Ô<à×ÑÐ#?ÐÔ@Ø×ÑÐ#GÐÔHà×ÑÐCÐÔDà××ÐØ×ÑÐ HÔIØ�‰˜z×*Ò*Ø×/Ñ/Ö1ñ +ñ rE   rb   )zopenstack-selinux)rU   rV   rW   rX   rc   rz   rp   r<   r]   r^   Ú__classcell__)r}   r_   s   @@r;   re   re   ©   s)   ù‡ € à%€Hð 	%Ø,ðÐò
5÷ 2õ 2rE   re   )	r-   Úsos.report.pluginsr   r   r   r   r   ra   re   rb   rE   r;   Ú<module>r�      s?   ðó 
ß OÓ OôQ
�fô Q
ôhC�? L°,ô Cô
,2�? Lö ,2rE   