o id @s&ddlmZmZGdddeeZdS))Plugin RedHatPluginc@s4eZdZdZdZdZdZddZddZdd Z d S) sapnwz SAP NetWeaver)sap)z/usr/sapcs|jddd}|ddkrdSd}d}d}d }t}|d D]}d |vr|d s|}t|d kr8q |d} |d} |d} || d| } || sSq | | D]at fdd| | | fDrd| } d| }}|j || || |fd|d|j || || fd| | fd|j || || fd| | fd| }d| || f}|j ||| f|dqXq |D] } | d| qdS)Nz9/usr/sap/hostctrl/exe/saphostctrl -function ListInstances SAPInstancessuggest_filenamestatusrz7env -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"outputDAAzNo instances foundz/usr/sap/%s/SYS/profile/c3s|]}|vVqdS)N).0fliner:/usr/lib/python3/dist-packages/sos/report/plugins/sapnw.py 3sz/sapnw.collect_list_instances..z'LD_LIBRARY_PATH=/usr/sap/%s/SYS/exe/runz"/usr/sap/%s/SYS/exe/uc/linuxx86_64z %s_parametersz%s_%s_GetProcListz%s_%s_GetVersInfoz%s_%sadm_%s_userenvz/usr/sap/%s/*DVEB*/work/dev_w0)collect_cmd_outputset splitlines startswithstripsplitlenadd path_existslistdiralladd_cmd_outputlower add_copy_spec)selfinst_outprof_cmdinst_cmdvers_cmduser_cmd sidsunique inst_linefieldssidinstvhostpathldenvptprofilelowsidfnamerrrcollect_list_instancessh          zsapnw.collect_list_instancescCs|jddd}|ddkrdS|dD]u}d|vr|}|ddd }|d dd }|d d}|d krK|jd |d||fdq|dkra|ddd }|d||fq|dkru|ddd }|d|q|dkr|ddd }|d||fqdS)Nz9/usr/sap/hostctrl/exe/saphostctrl -function ListDatabases SAPDatabasesrr rr z Instance namer r db6zsu - %s -c "db2 get dbm cfg"z%s_%s_db2_inforz/sapdb/%s/data/config/%s.pahoraz/oracle/%s/*/dbs/init.orasybz/sybase/%s/ASE*/%s.cfg)rrrrupperr"r$)r%db_outrr-dbadmdbtyper.rrrcollect_list_dbsXs<    zsapnw.collect_list_dbscCs:|||ds|dr|jddddSdS)Nz)/etc/security/limits.d/99-sap-limits.confallow_system_changesz sapconf -nsapconf_checkmoder)r7rBr get_optionr")r%rrrsetups  z sapnw.setupN) __name__ __module__ __qualname__ short_desc plugin_nameprofilesfilesr7rBrFrrrrr sE )rN)sos.report.pluginsrrrrrrrs