EVOLUTION-MANAGER
Edit File: pacemaker.cpython-36.pyc
3 �fd � @ sz d dl Z d dlmZmZ d dlmZmZmZmZmZ d dl m Z G dd� de�ZG dd� deee�ZG d d � d ee�Z dS )� N)�datetime� timedelta)�Plugin�RedHatPlugin�DebianPlugin�UbuntuPlugin� PluginOpt)�sos_parse_versionc @ sn e Zd ZdZdZdZdZeddedd�ed d dd�gZ dZ d d� Zdd� Zdd� Z dd� Zdd� Zdd� ZdS )� Pacemakerz4Pacemaker high-availability cluster resource manager� pacemaker�cluster�pacemaker-remote�crm_from� z%specfiy the start time for crm_report)�defaultZval_type�desc� crm_scrubTz$enable crm_report password scrubbing)r r c C s | j d� dS )z Get cluster summary zcrm_mon -1 -A -n -r -tN)�add_cmd_output)�self� r �/usr/lib/python3.6/pacemaker.py� setup_crm_mon$ s zPacemaker.setup_crm_monc C s | j ddg� dS )z& Get cluster status and configuration z crm statuszcrm configure showN)r )r r r r �setup_crm_shell( s zPacemaker.setup_crm_shellc C s� | j jjd�}|dkrdS | jd� | jdddg� dj|d �}t|�td �kr^| jd � n | jd� | jdd d� | jddd� | jddd� dS )z& Get pacemaker/corosync configuration ZpcsNz/var/log/pcsd/pcsd.logzpcs stonith sbd status --fullzpcs stonith sbd watchdog listzpcs stonith history show�.�versionz0.10.8zpcs property config --allzpcs property list --allz pcs configZ pcs_config)Ztagszpcs quorum statusZpcs_quorum_statuszpcs status --fullZ pcs_status)ZpolicyZpackage_managerZpkg_by_name� add_copy_specr �joinr )r Zpcs_pkgZpcs_versionr r r � setup_pcs/ s zPacemaker.setup_pcsc C s | j ddd� dS )z Clear password zcrm configure showzpassw([^\s=]*)=\S+zpassw\1=********N)�do_cmd_output_sub)r r r r �postproc_crm_shellF s zPacemaker.postproc_crm_shellc C s | j ddd� dS )z Clear password z pcs configzpassw([^\s=]*)=\S+zpassw\1=********N)r )r r r r �postproc_pcsN s zPacemaker.postproc_pcsc C s` | j dddddddg� | j� tj� tdd� jd �}| jd �rxtjdt | jd ���rd| jd �}n| j d| jd � � | jd dd�}| jd�r�d}nd}| jd� | jd� | j d|||f | j� d� d}| j| j��r\| j | j� t| jddd��^}xV|D ]N}tj||��r tj||�jd�}xd D ]}tj|d|�}�q*W | j |� �q W W d Q R X d S )!Nz!/var/log/pacemaker/pacemaker.log*z/var/log/pacemaker/bundles/*/z/var/log/pacemaker/pengine*z/var/log/pacemaker.logz/var/log/cluster/pacemaker.log*z/var/log/cluster/bundles/*/�H )Zhoursz%Y-%m-%d %H:%m:%Sr z#\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}z:crm_from parameter '%s' is not a valid date: using defaultZ crm_reportF)�nameZmaker z-p "passw.*"r z-scrubbing of crm passwords has been disabled:z:data collected by crm_report may contain sensitive values.z5crm_report --sos-mode %s -S -d --dest %s --from "%s")�chrootz0^\s*PCMK_logfile=[\'\"]?(\S+)[\'\"]?\s*(\s#.*)?$�rzUTF-8)�encoding� �^"�"$�^\'�\'$)r'