관리-도구
편집 파일: netbsd.cpython-39.opt-1.pyc
a �����)gY����������������������@���s����d�dl�mZmZmZ�eZd�dlZd�dlZd�dlZd�dl m Z �d�dlmZm Z �d�dlmZmZ�d�dlmZmZmZ�d�dlmZ�G�dd ��d e�ZG�d d��de �ZdS�)�����)�absolute_import�division�print_functionN)�reduce)�Hardware�HardwareCollector)�TimeoutError�timeout)�get_file_content�get_file_lines�get_mount_size)� get_sysctlc�������������������@���sT���e�Zd�ZdZdZg�d�Zddd�Zdd��Zd d ��Ze ��dd���Z d d��Zdd��ZdS�)�NetBSDHardwarez� NetBSD-specific subclass of Hardware. Defines memory and CPU facts: - memfree_mb - memtotal_mb - swapfree_mb - swaptotal_mb - processor (a list) - processor_cores - processor_count - devices - uptime_seconds �NetBSD)ZMemTotalZ SwapTotalZMemFreeZSwapFreeNc�����������������C���s����i�}t�|�jdg�|�_|����}|����}i�}z|����}W�n�tyF���Y�n0�|����}|����}|� |��|� |��|� |��|� |��|� |��|S�)NZmachdep) r ����module�sysctl� get_cpu_facts�get_memory_facts�get_mount_factsr���� get_dmi_facts�get_uptime_facts�update)�selfZcollected_factsZhardware_facts� cpu_facts�memory_facts�mount_facts� dmi_factsZuptime_facts��r����N/usr/lib/python3.9/site-packages/ansible/module_utils/facts/hardware/netbsd.py�populate0���s"���� zNetBSDHardware.populatec�����������������C���s��i�}d}d}i�}t��dt�j�s"|S�g�|d<�td�D�]�}|�dd�}|d����}|dks^|dkr�d|vrng�|d<�|d��|d������|d7�}q2|dkr�|d����}||vr�d||<�q2|d kr2t|d�����||<�q2t|�dk�rt|�|d <�t dd��|� ���|d <�n||d <�d|d <�|S�)Nr���z /proc/cpuinfoZ processor�:����z model nameZ Processorzphysical idz cpu coresZprocessor_countc�����������������S���s���|�|�S�)Nr���)�x�yr���r���r����<lambda>b��������z.NetBSDHardware.get_cpu_facts.<locals>.<lambda>Zprocessor_coresZNA)�os�access�R_OKr����split�strip�append�int�lenr����values)r���r����iZphysidZsockets�line�data�keyr���r���r���r���G���s6���� zNetBSDHardware.get_cpu_factsc�����������������C���st���i�}t��dt�j�s|S�td�D�]P}|�dd�}|d�}|tjv�r|d�����d�d�}t|�d�|d|� ���<�q|S�)Nz /proc/meminfor ���r!���r���� i���z%s_mb) r&���r'���r(���r���r)���r����MEMORY_FACTSr*���r,����lower)r���r���r0���r1���r2����valr���r���r���r���i���s���� zNetBSDHardware.get_memory_factsc�����������������C���s����i�}g�|d<�t�d�}|s|S�|���D�]p}|�d�s$|���dkr@q$t�dd|����}t|d��}|d�|d�|d �|d �d�}|�|��|d�� |��q$|S�)NZmountsz /etc/fstab�#��z\s+r3���r!���r�����������)ZmountZdeviceZfstype�options) r ���� splitlines� startswithr*����re�subr)���r���r���r+���)r���r���Zfstabr0����fieldsZmount_statvfs_infoZ mount_infor���r���r���r���v���s$����� zNetBSDHardware.get_mount_factsc�����������������C���s>���i�}dddddd�}|D�] }||�j�v�r|�j�|�|||�<�q|S�)NZproduct_nameZproduct_versionZproduct_uuidZproduct_serialZ system_vendor)zmachdep.dmi.system-productzmachdep.dmi.system-versionzmachdep.dmi.system-uuidzmachdep.dmi.system-serialzmachdep.dmi.system-vendor)r���)r���r���Z sysctl_to_dmiZmibr���r���r���r�������s����� zNetBSDHardware.get_dmi_factsc�����������������C���s`���|�j��d�}|ddg}|�j��|�\}}}|dkr4i�S�|���}|���sHi�S�dtt���t|���iS�)Nr���z-nz kern.boottimer���Zuptime_seconds)r���Zget_bin_pathZrun_commandr*����isdigitr,����time)r���Z sysctl_cmd�cmd�rc�out�errZ kern_boottimer���r���r���r�������s���� �zNetBSDHardware.get_uptime_facts)N) �__name__� __module__�__qualname__�__doc__�platformr4���r���r���r���r ���r���r���r���r���r���r���r���r��� ���s��� " r���c�������������������@���s���e�Zd�ZeZdZdS�)�NetBSDHardwareCollectorr���N)rG���rH���rI���r���Z_fact_classZ _platformr���r���r���r���rL�������s���rL���)Z __future__r���r���r����typeZ __metaclass__r&���r>���rB���Zansible.module_utils.six.movesr���Z(ansible.module_utils.facts.hardware.baser���r���Z"ansible.module_utils.facts.timeoutr���r ���Z ansible.module_utils.facts.utilsr ���r���r���Z!ansible.module_utils.facts.sysctlr ���r���rL���r���r���r���r����<module>���s����