a >h@s&ddlmZmZGdddeeZdS))Plugin RedHatPluginc@s4eZdZdZdZdZdZddZddZd d Z d S) Sapnwz SAP NetWeaverZsapnw)sap)z/usr/sapc s|jddd}|ddkrdSt}|dD]z}d|vr0|d s0|}t|d krbq0|d }|d }|d }||d|d}||sq0| |D]t fdd|||fDrd|d} d|d}} |j d| d|d|d| | dd|j d| d|d|d|d|dd|j d| d|d|d|d|dd| } |d| d|d } |j d!| d"|d#| dqq0|D]}| d|d$qdS)%z% Collect data on installed instances z9/usr/sap/hostctrl/exe/saphostctrl -function ListInstancesZ SAPInstancesZsuggest_filenamestatusrNoutputZDAAzNo instances foundz /usr/sap/z /SYS/profile/c3s|]}|vVqdSN).0fliner-z/Sapnw.collect_list_instances..zLD_LIBRARY_PATH=/usr/sap/z /SYS/exe/runz/SYS/exe/uc/linuxx86_64zenv -i  z/sappfpar all pf=/usr/sap/Z _parametersz/sapcontrol -nr z -function GetProcessList_Z _GetProcListz -function GetVersionInfoZ _GetVersInfoZadm_Z_userenvsu - zadm -c "sapcontrol -nr z -function GetEnvironment"z/*DVEB*/work/dev_w0)collect_cmd_outputset splitlines startswithstripsplitlenaddZ path_existslistdiralladd_cmd_outputlower add_copy_spec) selfZ inst_listZ sidsuniqueZ inst_linefieldssidinstZvhostpathZldenvZprofileZlowsidfnamerrrcollect_list_instancessd         zSapnw.collect_list_instancescCs6|jddd}|ddkrdS|dD]}d|vr*|}|d dd }|d dd }|d d}|d kr|jd|d|d|ddq*|dkr|d dd }|d|d|dq*|dkr|d dd }|d|dq*|dkr*|d dd }|d|d|dq*dS)z$ Collect data all the installed DBs z9/usr/sap/hostctrl/exe/saphostctrl -function ListDatabasesZ SAPDatabasesrrrNrz Instance namer r Zdb6rz -c "db2 get dbm cfg"rZ _db2_inforz/sapdb/z /data/config/z.pahZoraz/oracle/z/*/dbs/init.oraZsybz/sybase/z/ASE*/z.cfg)rrrrupperr#r%)r&Zdb_listrr'ZdbadmZdbtyper(rrrcollect_list_dbsVs8    zSapnw.collect_list_dbscCs||dSr )r,r0)r&rrrsetupsz Sapnw.setupN) __name__ __module__ __qualname__Z short_descZ plugin_nameZprofilesfilesr,r0r1rrrrr sC*rN)Zsos.report.pluginsrrrrrrr s