a >h @sBddlZddlmZmZmZGdddeZGdddeeZdS)N)Plugin RedHatPlugin PluginOptc@sNeZdZdZdZdZeddddeddd dgZgd Zd d Z dddZ d S)OpenStackDatabasezOpenstack Database InformationZopenstack_database)Z openstackZopenstack_controllerdumpFzDump select databases)defaultZdescdumpallzDump ALL databases)ZcinderZglanceZheatZironicZkeystoneZmistralz (.*)?neutronznova.*cCsddg}d}|D]}||}|rq(q|r6d|nd}|jd|d|d|ds`|dr|j|d }d |}|j|d d |d dS)Nzgalera-bundle-.*ZmysqlZ clustercheck_Z clustercheck) containertimeoutsuggest_filenamerrr zmysqldump --opt zmysql_dump.sqlr)r Z sizelimitr )Zget_container_by_nameZadd_cmd_output get_optionget_mysql_db_string)selfZ_db_containersZcnamer fnameZdb_dumpZdb_cmdrI/usr/lib/python3.9/site-packages/sos/report/plugins/openstack_database.pysetup's$    zOpenStackDatabase.setupNcsl|drdSg}|jd|d}|dD]&tfdd|jDr,|q,dd d d|DS) z# Get mysql DB command to be dumped rz--all-databaseszmysql -e "show databases;"r outputc3s|]}t|VqdSN)rematch).0ZregZdatabaserr Hz8OpenStackDatabase.get_mysql_db_string..z-B  css|] }|VqdSrr)rdrrrrKr)rZexec_cmd splitlinesany databasesappendjoin)rr ZcollectZdbsrrrr?s  z%OpenStackDatabase.get_mysql_db_string)N) __name__ __module__ __qualname__Z short_descZ plugin_nameZprofilesrZ option_listr!rrrrrrrs   rc@seZdZdZdS)RedHatOpenStackDatabase)zopenstack-selinuxN)r$r%r&Zpackagesrrrrr'Nsr')rZsos.report.pluginsrrrrr'rrrr s=