Ë
    i©¹d	  ã                   ó,   — d dl mZmZ  G d„ dee«      Zy)é    )ÚPluginÚRedHatPluginc                   ó.   — e Zd ZdZd ZdZdZd„ Zd„ Zd„ Z	y)ÚsapnwzSAP NetWeaver)Úsap)z/usr/sapc           	      ón  ‡— | j                  dd¬«      }|d   dk7  ry d}d}d}d	}t        «       }|d
   j                  «       D �]T  }d|vsŒ	|j                  d«      rŒ|j	                  «       j                  «       }t        |«      dk  rŒH|d   }	|d   }
|d   }|j                  |	«       d|	z  }| j                  |«      sŒ| j                  |«      D ]Â  Št        ˆfd„|	|
|fD «       «      sŒd|	z  }d|	z  }‰j	                  «       }| j                  ||||	|fz  d|z  ¬«       | j                  ||||
fz  |	›d|
›d�¬«       | j                  ||||
fz  |	›d|
›d�¬«       |	j                  «       }|	›d|›d|
›d�}| j                  |||
fz  |¬«       ŒÄ �ŒW |D ]  }	| j                  d|	z  «       Œ y )Nz9/usr/sap/hostctrl/exe/saphostctrl -function ListInstancesÚSAPInstances©Úsuggest_filenameÚstatusr   z7env -i %s %s/sappfpar all pf=/usr/sap/%s/SYS/profile/%sz7env -i %s %s/sapcontrol -nr %s -function GetProcessListz7env -i %s %s/sapcontrol -nr %s -function GetVersionInfoz:su - %sadm -c "sapcontrol -nr %s -function GetEnvironment"ÚoutputÚDAAzNo instances foundé   é   é   é   z/usr/sap/%s/SYS/profile/c              3   ó&   •K  — | ]  }|‰v –— Œ
 y ­w)N© )Ú.0ÚfÚlines     €ú:/usr/lib/python3/dist-packages/sos/report/plugins/sapnw.pyú	<genexpr>z/sapnw.collect_list_instances.<locals>.<genexpr>3   s   øè ø€ ÒA¨˜1 œ9ÑAùs   ƒz'LD_LIBRARY_PATH=/usr/sap/%s/SYS/exe/runz"/usr/sap/%s/SYS/exe/uc/linuxx86_64z%s_parametersÚ_Ú_GetProcListÚ_GetVersInfoÚadm_Ú_userenvz/usr/sap/%s/*DVEB*/work/dev_w0)Úcollect_cmd_outputÚsetÚ
splitlinesÚ
startswithÚstripÚsplitÚlenÚaddÚpath_existsÚlistdirÚallÚadd_cmd_outputÚlowerÚadd_copy_spec)ÚselfÚinst_outÚprof_cmdÚinst_cmdÚvers_cmdÚuser_cmdÚ
sidsuniqueÚ	inst_lineÚfieldsÚsidÚinstÚvhostÚpathÚldenvÚptÚprofileÚlowsidÚfnamer   s                     @r   Úcollect_list_instanceszsapnw.collect_list_instances   s!  ø€ à×*Ñ*ØGØ+ð +ó 
ˆð �HÑ Ò"Øð MˆØLˆØLˆØOˆä“Uˆ
ð " (Ñ+×6Ñ6Ó8ó -	ˆIØ˜YÒ&Ø×(Ñ(Ð)=Õ>Ø"Ÿ™Ó*×0Ñ0Ó2�Ü�v“; ’?ØØ˜Q‘i�Ø˜a‘y�Ø˜q™	�Ø—‘˜sÔ#Ø1°CÑ7�Ø×'Ñ'¨Ô-ØØ ŸL™L¨Ó.ò  �DÜÓA¨s°D¸%Ð.@ÔAÕAØ IÈCÑ O˜ð BÀCÑG˜Ø"&§*¡*£,˜ð ×+Ñ+Ø$¨¨r°3¸Ð'@Ñ@Ø-<¸wÑ-Fð ,ô ð ×+Ñ+Ø$¨¨r°4Ð'8Ñ8ÚDGÊÐ-Nð ,ô ð ×+Ñ+Ø$¨¨r°4Ð'8Ñ8ÚDGÊÐ-Nð ,ô ð "%§¡£˜Ú9<ºfÂdÐ K˜Ø×+Ñ+Ø$¨° ~Ñ5Ø-2ð ,õ ò; ð-	ð` ò 	GˆCØ×ÑÐ?À#ÑEÕFñ	Gó    c                 ó  — | j                  dd¬«      }|d   dk7  ry |d   j                  «       D ]Ø  }d|v sŒ|j                  «       j                  «       }|d   d d	 }|d
   d d	 }|dd  j	                  «       }|dk(  r| j                  d|z  |›d|›d�¬«       Œk|dk(  r!|d   d d	 }| j                  d|›d|›d�«       Œ‘|dk(  r|d   d d	 }| j                  d|z  «       Œ³|dk(  sŒ¹|d   d d	 }| j                  d|›d|›d�«       ŒÚ y )Nz9/usr/sap/hostctrl/exe/saphostctrl -function ListDatabasesÚSAPDatabasesr
   r   r   r   zInstance nameé   éÿÿÿÿr   r   Údb6zsu - %s -c "db2 get dbm cfg"r   Ú	_db2_infor   z/sapdb/z/data/config/z.pahÚoraz/oracle/%s/*/dbs/init.oraÚsybz/sybase/z/ASE*/z.cfg)r   r!   r#   r$   Úupperr*   r,   )r-   Údb_outr   r5   ÚdbadmÚdbtyper6   s          r   Úcollect_list_dbszsapnw.collect_list_dbsX   sG  € à×(Ñ(ØGØ+ð )ó 
ˆð
 �(Ñ˜qÒ Øà˜8Ñ$×/Ñ/Ó1ò 	NˆDØ $Ò&ØŸ™›×+Ñ+Ó-�Ø˜q™	 # 2˜�Ø ™ 3 B˜�Ø˜A˜B�i—o‘oÓ'�à˜U’?à×'Ñ'Ø8¸5Ñ@Ú=@Â%Ð)Hð (õ ð
 ˜u’_à  ™) C R˜.�CØ×&Ò&Ú:=ºsÐCõð ˜u’_à  ™) C R˜.�CØ×&Ñ&Ð'BÀSÑ'HÕIà˜u“_à  ™) C R˜.�CØ×&Ò&Â3ÊÐ'LÕMñ;	Nr@   c                 ó°   — | j                  «        | j                  «        | j                  d«      s| j                  d«      r| j	                  dd¬«       y y )Nz)/etc/security/limits.d/99-sap-limits.confÚallow_system_changesz
sapconf -nÚsapconf_checkmoder
   )r?   rM   r'   Ú
get_optionr*   )r-   s    r   Úsetupzsapnw.setup�   sV   € Ø×#Ñ#Ô%Ø×ÑÔð ×ÑÐGÔHØ—?‘?Ð#9Ô:Ø×Ñ Ø1Dð  õ Fð ;r@   N)
Ú__name__Ú
__module__Ú__qualname__Ú
short_descÚplugin_nameÚprofilesÚfilesr?   rM   rR   r   r@   r   r   r      s+   „ à €JØ€KØ€HØ€EòCGòJ'NóRFr@   r   N)Úsos.report.pluginsr   r   r   r   r@   r   ú<module>r[      s   ð÷ 4ô@FˆF�Lõ @Fr@   