3 ܓi@s^ddlZddlmZmZmZmZmZGdddeZGdddeeZGdddeeeZ dS) N)Plugin RedHatPlugin DebianPlugin UbuntuPlugin PluginOptcsleZdZdZdZdZdZdZdZe dde dd e d d e d ed e d dddgZ fddZ ddZ ZS)MysqlzMySQL and MariaDB RDBMSmysqlservicesz /etc/my.cnfz /etc/my.cnf.dz' (password visible in process listings)dbuserz%username for database dump collection)defaultZval_typedescdbpassz!password for data dump collectiondbdumpFzCollect a database dump)r r cstj|j|jdddg|jdr:|jdddgn|jdd d d g|jd rd }d|}|jd}|jd}dtjkrtjd}|dks|dkr|jj|dS| s|dkr|jj|dS|tjd<d|d}d}|j d||d|j ddS)Nz/etc/mysqlrouter/z/var/lib/mysql/grastate.datz/var/lib/mysql/gvwstate.datZall_logsz/var/log/mysql*z/var/log/mariadb*z/var/log/mysqlrouter/*z/var/log/mysqld.logz/var/log/mysql/mysqld.logz$/var/log/mysqlrouter/mysqlrouter.logz/var/log/mariadb/mariadb.logrz0database user name and password must be suppliedzmysql.dbdump: r r Z MYSQL_PWDTFz--user=z --all-databaseszmysqldump_--all-databasesz mysqldump )Zsuggest_filenamezdu -s /var/lib/mysql/*) supersetup add_copy_spec mysql_cnfZ get_optionosenvironZsoslogZwarningadd_cmd_output)selfmsgZ dbdump_errr r Zoptsname) __class__/usr/lib/python3.6/mysql.pyr!sD             z Mysql.setupcCsHdg}ddj|d}d}|j|jd|||j|j||dS)NZpasswordz(^\s*(|z )\s*=\s*)(.*)z \1*********z/*)joinZdo_path_regex_sub my_cnf_dirZ do_file_subr)rZ protect_keysZregexsubrrrpostprocXs zMysql.postproc)r )__name__ __module__ __qualname__Z short_descZ plugin_nameZprofilesrrZ pw_warn_textrstrZ option_listrr! __classcell__rr)rrrs  7rcs eZdZdZfddZZS) RedHatMysql mysql-serverrmariadb-servermariadbopenstack-selinuxcs(tj|jdd|jddgdS)Nz/etc/ld.so.conf.d/mysql-*.confz /etc/ld.so.conf.d/mariadb-*.confz/*z:/var/lib/config-data/puppet-generated/mysql/etc/my.cnf.d/*)rrrr)r)rrrrqs   zRedHatMysql.setup)r(rr)r*r+)r"r#r$packagesrr&rr)rrr'gs r'cs.eZdZd ZdZedZfdd ZZS) DebianMysqlmysql-server.* mysql-commonmariadb-server.*mariadb-common percona-xtradb-cluster-server-.*z /etc/mysql/z/my.cnfcs2tj|j|jddddddg|jddS)Nz/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/*)rrrrr)r)rrrrs zDebianMysql.setup)r.r/r0r1r2)r"r#r$r,rrrr&rr)rrr-{s r-) rZsos.report.pluginsrrrrrrr'r-rrrr sY