Mini Shell

Direktori : /lib/python3.6/site-packages/blivet/devicelibs/__pycache__/
Upload File :
Current File : //lib/python3.6/site-packages/blivet/devicelibs/__pycache__/disk.cpython-36.pyc

3

{)c�
�@s�ddlmZddlmZddlmZddlmZddlmZdadZ	eddd
dddg�Z
e�ae�a
Gdd�dej�ZGdd�dej�Ze�Zdd�Zdd�Zedejjd�dd��ZdS)�)�
namedtuple�)�raid�)�errors)�util)�SizeN�hpsa://�megaraid://Z
HBAVolumeInfo�system�nodesZ	raid_typeZraid_stripe_sizeZraid_disk_countc@sHeZdZdd�Zedd��Zedd��Zedd��Zd	d
�Zdd�Z	d
S)�_LSMRAIDLevelStubcCs
||_dS)N)�_name)�self�name�r�/usr/lib/python3.6/disk.py�__init__sz_LSMRAIDLevelStub.__init__cCs|jS)N)r)rrrrrsz_LSMRAIDLevelStub.namecCs|jgS)N)r)rrrr�names sz_LSMRAIDLevelStub.namescCsdS)Nrr)rrrr�min_members$sz_LSMRAIDLevelStub.min_memberscCsdS)NFr)rrrr�has_redundancy(sz _LSMRAIDLevelStub.has_redundancycCsdS)NFr)rrrr�
is_uniform+sz_LSMRAIDLevelStub.is_uniformN)
�__name__�
__module__�__qualname__r�propertyrrrrrrrrrr
sr
c@seZdZdZdd�ZdS)�_LSMDependencyGuardz*libstoragemgmt functionality not availablecCs6tdkr.yddlaWntk
r,daYnXtdk	S)Nr)�lsm�ImportError)rrrr�_check_avail2s
z _LSMDependencyGuard._check_availN)rrrZ	error_msgrrrrrr/srcCs�t�atdd�tjjj�D��}xZ|j�D]N\}}|td�d�}ytj|�}Wnt	j
k
rnt|�}YnX|t|<q*WdS)zD Build a mapping of lsm.RAID_TYPE->blivet.devicelibs.raid.RAIDLevel css$|]\}}|jd�r||fVqdS)�
RAID_TYPE_N)�
startswith)�.0�k�vrrr�	<genexpr>Dsz*_update_lsm_raid_levels.<locals>.<genexpr>r N)�dict�_raid_levelsr�Volume�__dict__�items�lenrZget_raid_levelrZ	RaidErrorr
)Zlsm_raid_levelsZ
constant_name�valuer�levelrrr�_update_lsm_raid_levels@sr.cCstj|tjtjj��S)zU Return a blivet.devicelibs.raid.RAIDLevel corresponding the lsm-reported RAID level.)r'�getrr(ZRAID_TYPE_UNKNOWN)Z
lsm_raid_typerrr�_get_lsm_raid_levelOsr0F)ZcriticalZ	eval_modecst�at�x�tD]�}ytj|�}Wntjk
r<wYnXtdd�|j�D��}x�|j�D]�}tjj	|j
�}||j}|j|�}d}d}d}	|j
tjj�r�|j|�dd�}
t|
d�}t|
d�}|
d}	t|j||||	��tj�fdd	�|D��q^WqWdS)
zQ Build a dict of namedtuples containing basic HBA RAID info w/ device path keys. css|]}|j|fVqdS)N)�id)r"�srrrr%`sz%update_volume_info.<locals>.<genexpr>N�rrrcsg|]}|�f�qSrr)r"Znode)�inforr�
<listcomp>psz&update_volume_info.<locals>.<listcomp>)r&�volumesr.�_HBA_PLUGIN_URISrZClientZLsmError�systemsZ	LocalDiskZvpd83_searchZvpd83Z	system_idZcapabilitiesZ	supportedZCapabilitiesZVOLUME_RAID_INFOZvolume_raid_infor0r�LSMInfor�update)ZuriZclientr8ZvolrrZcapsZ
raid_levelZstripe_sizeZ
disk_countZ	raid_infor)r4r�update_volume_infoTs,


r;)r	r
)�collectionsr�rrr�sizerrr7r9r&r6r'Z	RAIDLevelr
ZDependencyGuardrZ
_lsm_requiredr.r0ZEvalMode�alwaysr;rrrr�<module>s