3 'j@sbddlZddlZddlmZmZmZmZGdddeZGdddeeZGdddeeeZ dS) N)Plugin RedHatPlugin DebianPlugin UbuntuPluginc@s<eZdZdZdZd ZdZdedfZdZdd Z d d Z d S)MongoDbzMongoDB document databasemongodbservicesz-/var/lib/config-data/puppet-generated/mongodbz/etc/mongodb.confz/etc/mongod.confz/var/lib/mongodbcCs8|jd|jd|jdddg|jd|jddS)Nz/etc/mongodb.confz/etc/z%/etc/systemd/system/mongod.service.d/z/var/log/mongodb/mongodb.logz/var/lib/mongodb/mongodb.log*zdu -sh /) add_copy_specvar_puppet_genadd_cmd_output db_folder)selfr/usr/lib/python3.6/mongodb.pysetup sz MongoDb.setupcCs*x$d|jdgD]}|j|ddqWdS)Nz/etc/mongodb.confz(mms-token)\s*=\s*(.*)z \1 = ********)r Z do_file_sub)rfilerrrpostproc*s zMongoDb.postprocN)r) __name__ __module__ __qualname__Z short_descZ plugin_nameZprofilesr filesr rrrrrrrs  rcs eZdZdZfddZZS) RedHatMongoDbmongodb-serverrh-mongodb32-mongodb-serverrh-mongodb34-mongodb-serverrh-mongodb36-mongodb-servercs tj|jddddgdS)Nz/etc/sysconfig/mongodbz/etc/rh-mongodb*-mongo*.confz#/etc/opt/rh/rh-mongodb*/mongo*.confz./var/opt/rh/rh-mongodb*/log/mongodb/mongod.log)superrr )r) __class__rrr=s  zRedHatMongoDb.setup)rrrr)rrrpackagesr __classcell__rr)rrr4s rcs0eZdZd Zd Zd ZfddZd d ZZS) UbuntuMongodbmongodb-servermongodb-server-corejuju-db/var/lib/juju/db/var/snap/juju-db/current/dbrc s|jdr|jd}d|_n|jdr6|jd}d|_tj|rxd|jdD]V}tjd|rP|}td|ddd d $}tj |}|d }|j ||WdQRXPqPWdS) Nz/var/lib/juju/dbz/var/snap/juju-db/curent/dbz/var/snap/juju-db/current/dbz/var/lib/juju/agentsz machine-*z/var/lib/juju/agents/z /agent.confrzUTF-8)encodingZ statepassword) path_existsr rrlistdirresearchopenyamlZ safe_load_capture_db_data)rZ get_juju_infoZthe_dirusernamefdatapassword)rrrrYs"         zUbuntuMongodb.setupc Csr|jdrd}n|jdr d}nd}dddddd d d d g }x2|D]*}|j|d |d|d||ddq@WdS)Nz/usr/bin/mongoz/usr/lib/juju/mongo*/bin/mongoz/snap/bin/juju-db.mongoz db.hostInfo()zdb.getCollectionInfos()zdb.getCollectionNames()zdb.getProfilingStatus()zdb.replicationInfo()zdb.serverStatus()z db.stats()z rs.conf()z rs.status()zd 127.0.0.1:37017/juju --authenticationDatabase admin --ssl --sslAllowInvalidCertificates --username z --password z --eval Z db_commands)Zsuggest_filenameZsubdir)r)r )rr0r3ZclientZ cmds_to_checkcmdrrrr/os$   zUbuntuMongodb._capture_db_data)r"r#r$)r%r&)r$r) rrrrrrrr/r rr)rrr!Gs r!) r+r.Zsos.report.pluginsrrrrrrr!rrrr s $