o
    *bU                     @   s^   d dl mZmZmZmZmZ d dlZG dd deZG dd deeZG dd deeeZ	dS )	    )PluginRedHatPluginDebianPluginUbuntuPlugin	PluginOptNc                       s`   e Zd ZdZdZdZdZdZedde	dded	d
e	de deddddgZ
 fddZ  ZS )MysqlzMySQL and MariaDB RDBMSmysql)servicesz/etc/my.cnfz' (password visible in process listings)dbuserz%username for database dump collection)defaultZval_typedescdbpass z!password for data dump collectiondbdumpFzCollect a database dump)r   r   c                    s   t t|   | | jdddddg | dr| ddg | d	rpd
}d| }| d}| d}dtjv r>tjd }|du sF|du rN| j	| d S |rT|du r\| j	| d S |tjd< d| }d}| j
d| |d | 
d d S )Nz/var/log/mysqld.logz/var/log/mysql/mysqld.logz/var/log/mariadb/mariadb.logz/var/lib/mysql/grastate.datz/var/lib/mysql/gvwstate.datZall_logsz/var/log/mysql*z/var/log/mariadb*r   z0database user name and password must be suppliedzmysql.dbdump: %sr
   r   Z	MYSQL_PWDTFz--user=%s --all-databaseszmysqldump_--all-databaseszmysqldump %s)Zsuggest_filenamezdu -s /var/lib/mysql/*)superr   setupadd_copy_spec	mysql_cnfZ
get_optionosenvironZsoslogZwarningadd_cmd_output)selfmsgZ
dbdump_errr
   r   Zoptsname	__class__ :/usr/lib/python3/dist-packages/sos/report/plugins/mysql.pyr       s@   







zMysql.setup)__name__
__module____qualname__Z
short_descZplugin_nameZprofilesr   Zpw_warn_textr   strZoption_listr   __classcell__r   r   r   r   r      s    r   c                           e Zd ZdZ fddZ  ZS )RedHatMysql)zmysql-serverr   zmariadb-serverZmariadbzopenstack-selinuxc                    s    t t|   | g d d S )N)z/etc/ld.so.conf.d/mysql-*.confz /etc/ld.so.conf.d/mariadb-*.confz/etc/my.cnf.d/*z:/var/lib/config-data/puppet-generated/mysql/etc/my.cnf.d/*)r   r$   r   r   r   r   r   r   r   \   s   zRedHatMysql.setupr   r   r    Zpackagesr   r"   r   r   r   r   r$   R       r$   c                       r#   )DebianMysql)zmysql-server.*zmysql-commonzmariadb-server.*zmariadb-commonz percona-xtradb-cluster-server-.*c                    s*   t t|   | g d | d d S )N)z/etc/mysql/z/var/log/mysql/error.logz/var/lib/mysql/*.errz%/var/lib/percona-xtradb-cluster/*.errz,/var/lib/percona-xtradb-cluster/grastate.datz,/var/lib/percona-xtradb-cluster/gvwstate.datz0/var/lib/percona-xtradb-cluster/innobackup.*.logz'du -s /var/lib/percona-xtradb-cluster/*)r   r(   r   r   r   r%   r   r   r   r   p   s   	zDebianMysql.setupr&   r   r   r   r   r(   f   r'   r(   )
Zsos.report.pluginsr   r   r   r   r   r   r   r$   r(   r   r   r   r   <module>   s
   D