HEX
Server: Apache
System: Linux nc-ph-4101.simplemoneygoals.com 5.14.0-503.21.1.el9_5.x86_64 #1 SMP PREEMPT_DYNAMIC Sun Jan 12 09:45:05 EST 2025 x86_64
User: dailygoldindex (1004)
PHP: 8.1.33
Disabled: NONE
Upload Files
File: //lib64/python3.9/site-packages/sim_plugin/__pycache__/simulator.cpython-39.pyc
a

V��d}=�@sNddlmZmZmZmZmZmZmZmZm	Z	ddl
mZGdd�dee�ZdS)�)	�	uri_parse�VERSION�Capabilities�INfs�IStorageAreaNetwork�search_property�Client�LsmError�ErrorNumber)�SimArrayc@s�eZdZdZdd�Zd�dd�Zd�dd�Zd�d	d
�Zd�dd�Ze	d
d��Z
d�dd�Zd�dd�Zd�dd�Z
d�dd�Zd�dd�Zd�dd�Zd�dd�Zd�dd�Zd�d d!�Zd�d"d#�Zd�d$d%�Zd�d&d'�Zd�d(d)�Zd�d*d+�Zd�d,d-�Zd�d.d/�Zd�d0d1�Zd�d2d3�Zd�d4d5�Zd�d6d7�Zd�d8d9�Zd�d:d;�Z d�d<d=�Z!d�d>d?�Z"d�d@dA�Z#d�dBdC�Z$d�dDdE�Z%d�dFdG�Z&d�dHdI�Z'd�dJdK�Z(d�dLdM�Z)d�dNdO�Z*d�dPdQ�Z+d�dRdS�Z,d�dTdU�Z-d�dVdW�Z.d�dXdY�Z/d�dZd[�Z0d�d]d^�Z1d�d_d`�Z2d�dadb�Z3d�dcdd�Z4d�dedf�Z5d�dgdh�Z6d�didj�Z7d�dkdl�Z8d�dmdn�Z9d�dodp�Z:d�dqdr�Z;d�dsdt�Z<d�dudv�Z=d�dwdx�Z>dde?j@fdydz�ZAe?j@fd{d|�ZBe?j@fd}d~�ZCe?j@fdd��ZDe?j@fd�d��ZEdS)��	SimPluginzU
    Simple class that implements enough to allow the framework to be exercised.
    cCsd|_d|_d|_dS�N)�uri�password�	sim_array)�self�r�:/usr/lib64/python3.9/site-packages/sim_plugin/simulator.py�__init__szSimPlugin.__init__rcCs^||_||_t|�}d|vrNd|dvrN|dddurNt|dd|�|_ntd|�|_dS)N�
parametersZ	statefile)rrrrr)rrr�timeout�flagsZqprrr�plugin_registers�zSimPlugin.plugin_registercCsdSr
r�rrrrr�plugin_unregister'szSimPlugin.plugin_unregistercCs|j�||�Sr
)r�
job_status�rZjob_idrrrrr*szSimPlugin.job_statuscCs|j�||�Sr
)r�job_freerrrrr-szSimPlugin.job_freecCs|S)a
        Fake converter. SimArray already do SimData to LSM data convert.
        We move data convert to SimArray to make this sample plugin looks
        clean.
        But in real world, data converting is often handled by plugin itself
        rather than array.
        r)Zsim_datarrr�_sim_data_2_lsm0s	zSimPlugin._sim_data_2_lsmcCs|j�||�dSr
)r�time_out_set)r�msrrrrr;szSimPlugin.time_out_setcCs|j�|�Sr
)r�time_out_getrrrrr!?szSimPlugin.time_out_getcCs�t�}|��|�tjtj�|�tjtj�|�tjtj�|�tjtj�|�tjtj�|�tj	tj�|�tj
tj�|�tjtj�|�tjtj�|�tj
tj�|�tjtj�|Sr
)rZ
enable_all�setZPOOLS_QUICK_SEARCHZUNSUPPORTEDZVOLUMES_QUICK_SEARCHZDISKS_QUICK_SEARCHZFS_QUICK_SEARCHZACCESS_GROUPS_QUICK_SEARCHZNFS_EXPORTS_QUICK_SEARCHZTARGET_PORTS_QUICK_SEARCHZ.VOLUME_PHYSICAL_DISK_CACHE_UPDATE_SYSTEM_LEVELZ,VOLUME_WRITE_CACHE_POLICY_UPDATE_IMPACT_READZ0VOLUME_WRITE_CACHE_POLICY_UPDATE_WB_IMPACT_OTHERZ,VOLUME_READ_CACHE_POLICY_UPDATE_IMPACT_WRITE)r�systemr�rcrrr�capabilitiesBs4������zSimPlugin.capabilitiescCsdtfS)NzStorage simulator)rrrrr�plugin_infoXszSimPlugin.plugin_infocCs|j��}dd�|D�S)NcSsg|]}t�|��qSr�rr��.0�srrr�
<listcomp>]�z%SimPlugin.systems.<locals>.<listcomp>)r�systems)rrZsim_syssrrrr-[s
zSimPlugin.systemscCs|j�||�Sr
)r�system_read_cache_pct_update)rr#Zread_pctrrrrr._sz&SimPlugin.system_read_cache_pct_updateNcCs"|j�|�}tdd�|D�||�S)NcSsg|]}t�|��qSrr')r)�prrrr+er,z#SimPlugin.pools.<locals>.<listcomp>)r�poolsr)r�
search_key�search_valuerZ	sim_poolsrrrr0bs
�zSimPlugin.poolscCs |j��}tdd�|D�||�S)NcSsg|]}t�|��qSrr'�r)�vrrrr+kr,z%SimPlugin.volumes.<locals>.<listcomp>)r�volumesr)rr1r2r�sim_volsrrrr5hs

�zSimPlugin.volumescCs |j��}tdd�|D�||�S)NcSsg|]}t�|��qSrr')r)�drrrr+qr,z#SimPlugin.disks.<locals>.<listcomp>)r�disksr)rr1r2rZ	sim_disksrrrr8ns

�zSimPlugin.diskscCs |j�|j||||�}t�|�Sr
)r�
volume_create�idrr)r�poolZvolume_name�
size_bytesZprovisioningr�sim_volrrrr9ts�zSimPlugin.volume_createcCs|j�|j|�Sr
)r�
volume_deleter:�r�volumerrrrr>~szSimPlugin.volume_deletecCs|j�|j||�}t�|�Sr
)r�
volume_resizer:rr)rr@�new_size_bytesrr=rrrrA�s�zSimPlugin.volume_resizecCs,|dur|j}n|j}|j�|||j||�Sr
)r:Zpool_idr�volume_replicate)rr;�rep_type�
volume_src�namerZdst_pool_idrrrrC�s
�zSimPlugin.volume_replicatecCs|j�|j|�Sr
)r�!volume_replicate_range_block_sizer:�rr#rrrrrG�s�z+SimPlugin.volume_replicate_range_block_sizecCs|j�||j|j||�Sr
)r�volume_replicate_ranger:)rrDrEZvolume_destZrangesrrrrrI�s�z SimPlugin.volume_replicate_rangecCs|j�|j|�Sr
)r�
volume_enabler:r?rrrrJ�szSimPlugin.volume_enablecCs|j�|j|�Sr
)r�volume_disabler:r?rrrrK�szSimPlugin.volume_disablecCs |j��}tdd�|D�||�S)NcSsg|]}t�|��qSrr')r)�arrrr+�r,z+SimPlugin.access_groups.<locals>.<listcomp>)rZagsr)rr1r2rZsim_agsrrr�
access_groups�s
�zSimPlugin.access_groupscCs |j�||||j|�}t�|�Sr
)r�access_group_creater:rr)rrF�init_id�	init_typer#r�sim_agrrrrN�s�zSimPlugin.access_group_createcCs|j�|j|�Sr
)r�access_group_deleter:)r�access_grouprrrrrR�szSimPlugin.access_group_deletecCs|j�|j|||�}t�|�Sr
)r�access_group_initiator_addr:rr�rrSrOrPrrQrrrrT�s
�z$SimPlugin.access_group_initiator_addcCs|j�|j|||�}t�|�Sr
)r�access_group_initiator_deleter:rrrUrrrrV�s
�z'SimPlugin.access_group_initiator_deletecCs|j�|j|j|�Sr
)r�volume_maskr:�rrSr@rrrrrW�szSimPlugin.volume_maskcCs|j�|j|j|�Sr
)r�
volume_unmaskr:rXrrrrY�szSimPlugin.volume_unmaskcCs|j�|j|�}dd�|D�S)NcSsg|]}t�|��qSrr'r3rrrr+�r,z@SimPlugin.volumes_accessible_by_access_group.<locals>.<listcomp>)r�"volumes_accessible_by_access_groupr:)rrSrr6rrrrZ�s�z,SimPlugin.volumes_accessible_by_access_groupcCs|j�|j|�}dd�|D�S)NcSsg|]}t�|��qSrr'r3rrrr+�r,z=SimPlugin.access_groups_granted_to_volume.<locals>.<listcomp>)r�access_groups_granted_to_volumer:)rr@rr6rrrr[�s�z)SimPlugin.access_groups_granted_to_volumecCs:|r$|r$|dus|dur$ttjd��|j�||||||�S)Nz?out_user and out_password only supported if inbound is supplied)r	r
ZINVALID_ARGUMENTr�iscsi_chap_auth)rrOZin_userZin_passwordZout_userZout_passwordrrrrr\�s����zSimPlugin.iscsi_chap_authcCs|j�|j|�Sr
)r�volume_child_dependencyr:r?rrrr]�sz!SimPlugin.volume_child_dependencycCs|j�|j|�Sr
)r�volume_child_dependency_rmr:r?rrrr^�sz$SimPlugin.volume_child_dependency_rmcCs |j��}tdd�|D�||�S)NcSsg|]}t�|��qSrr')r)�frrrr+�r,z SimPlugin.fs.<locals>.<listcomp>)r�fsr)rr1r2rZsim_fssrrrr`�s
�zSimPlugin.fscCs|j�|j||�}t�|�Sr
)r�	fs_creater:rr)rr;rFr<r�sim_fsrrrra�szSimPlugin.fs_createcCs|j�|j|�Sr
)r�	fs_deleter:)rr`rrrrrc�szSimPlugin.fs_deletecCs|j�|j||�}t�|�Sr
)r�	fs_resizer:rr)rr`rBrrbrrrrd�szSimPlugin.fs_resizecCs2|dur|j�|j|d|�S|j�|j||j|�Sr
)r�fs_cloner:)rZsrc_fsZdest_fs_name�snapshotrrrrre�s��zSimPlugin.fs_clonecCs6|dur|j�|j||d|�S|j�|j|||j|�Sr
)r�
fs_file_cloner:)rr`Z
src_file_nameZdest_file_namerfrrrrrg�s��zSimPlugin.fs_file_clonecCs|j�|j|�}dd�|D�S)NcSsg|]}t�|��qSrr'r(rrrr+
r,z*SimPlugin.fs_snapshots.<locals>.<listcomp>)r�fs_snapshotsr:)rr`rZ	sim_snapsrrrrhszSimPlugin.fs_snapshotscCs|j�|j||�Sr
)r�fs_snapshot_creater:)rr`Z
snapshot_namerrrrriszSimPlugin.fs_snapshot_createcCs|j�|j|j|�Sr
)r�fs_snapshot_deleter:)rr`rfrrrrrjszSimPlugin.fs_snapshot_deleteFcCs|j�|j|j||||�Sr
)r�fs_snapshot_restorer:)rr`rf�filesZ
restore_filesZ	all_filesrrrrrks�zSimPlugin.fs_snapshot_restorecCs|j�|j||�Sr
)r�fs_child_dependencyr:�rr`rlrrrrrm szSimPlugin.fs_child_dependencycCs|j�|j||�Sr
)r�fs_child_dependency_rmr:rnrrrro#sz SimPlugin.fs_child_dependency_rmcCsdgS)NZstandardrrrrr�export_auth&szSimPlugin.export_authcCs"|j�|�}tdd�|D�||�S)NcSsg|]}t�|��qSrr')r)�errrr+-r,z%SimPlugin.exports.<locals>.<listcomp>)r�exportsr)rr1r2rZsim_expsrrrrr*s
�zSimPlugin.exportscCs*|jj|||||||||	dd�
}t�|�S)Nr)r)rZ	fs_exportrr)rZfs_idZexport_pathZ	root_listZrw_listZro_listZanon_uidZanon_gidZ	auth_type�optionsrZsim_exprrr�	export_fs0s�
zSimPlugin.export_fscCs|j�|j|�Sr
)rZfs_unexportr:)rZexportrrrr�
export_removeGszSimPlugin.export_removecCs |j��}tdd�|D�||�S)NcSsg|]}t�|��qSrr')r)�trrrr+Mr,z*SimPlugin.target_ports.<locals>.<listcomp>)r�target_portsr)rr1r2rZsim_tgtsrrrrwJs

�zSimPlugin.target_portscCs|j�|�Sr
)r�volume_raid_infor?rrrrxPszSimPlugin.volume_raid_infocCs|j�|�Sr
)r�pool_member_info)rr;rrrrrySszSimPlugin.pool_member_infocCs|j�|�Sr
)r�volume_raid_create_cap_getrHrrrrzVsz$SimPlugin.volume_raid_create_cap_getcCs|j�||||�Sr
)r�volume_raid_create)rrFZ	raid_typer8Z
strip_sizerrrrr{Ys�zSimPlugin.volume_raid_createcCs|j�|�Sr
)r�volume_ident_led_onr?rrrr|]szSimPlugin.volume_ident_led_oncCs|j�|�Sr
)r�volume_ident_led_offr?rrrr}`szSimPlugin.volume_ident_led_offcCs |j��}tdd�|D�||�S)NcSsg|]}t�|��qSrr')r)�brrrr+ir,z'SimPlugin.batteries.<locals>.<listcomp>)r�	batteriesr)rr1r2rZ
sim_batteriesrrrrcs

�zSimPlugin.batteriescCs|j�|�Sr
)r�volume_cache_infor?rrrr�lszSimPlugin.volume_cache_infocCs|j�||�Sr
)r�!volume_physical_disk_cache_update)rr@Zpdcrrrrr�osz+SimPlugin.volume_physical_disk_cache_updatecCs|j�||�Sr
)r�volume_read_cache_policy_update)rr@Zrcprrrrr�usz)SimPlugin.volume_read_cache_policy_updatecCs|j�||�Sr
)r� volume_write_cache_policy_update)rr@Zwcprrrrr�{sz*SimPlugin.volume_write_cache_policy_update)r)r)r)r)r)r)r)r)r)r)NNr)NNr)NNr)r)r)r)r)r)r)r)r)NNr)r)r)r)r)r)r)r)r)r)r)r)NNr)r)r)r)Nr)Nr)r)r)r)Fr)r)r)r)NNr)r)r)NNr)r)r)r)r)r)r)F�__name__�
__module__�__qualname__�__doc__rrrrr�staticmethodrrr!r%r&r-r.r0r5r8r9r>rArCrGrIrJrKrMrNrRrTrVrWrYrZr[r\r]r^r`rarcrdrergrhrirjrkrmrorprrrtrurwrxryrzr{r|r}rZ	FLAG_RSVDrr�r�r�r�rrrrrs�














�





	�






�

�
	



�







�



�




�








�
	�
	�
	�rN)
Zlsmrrrrrrrr	r
Zsim_plugin.simarrayrrrrrr�<module>s,