관리-도구
편집 파일: simulator.cpython-39.opt-1.pyc
a ����V��d}=����������������������@���sN���d�dl�mZmZmZmZmZmZmZmZm Z �d�dl mZ�G�dd��dee�ZdS�)�����) � uri_parse�VERSION�Capabilities�INfs�IStorageAreaNetwork�search_property�Client�LsmError�ErrorNumber)�SimArrayc�������������������@���s���e�Zd�ZdZdd��Zd�dd�Zd�dd�Zd�d d �Zd�dd�Ze d d���Z d�dd�Zd�dd�Zd�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. c�����������������C���s���d�|�_�d�|�_d�|�_d�S��N)�uri�password� sim_array)�self��r����:/usr/lib64/python3.9/site-packages/sim_plugin/simulator.py�__init__���s����zSimPlugin.__init__r���c�����������������C���s^���||�_�||�_t|�}d|v�rNd|d�v�rN|d�d�d�urNt|d�d�|�|�_ntd�|�|�_d�S�)N� parametersZ statefile)r���r���r���r���r���)r���r���r����timeout�flagsZqpr���r���r����plugin_register���s�����zSimPlugin.plugin_registerc�����������������C���s���d�S�r ���r����r���r���r���r���r����plugin_unregister'���s����zSimPlugin.plugin_unregisterc�����������������C���s���|�j��||�S�r ���)r���� job_status�r���Zjob_idr���r���r���r���r���*���s����zSimPlugin.job_statusc�����������������C���s���|�j��||�S�r ���)r����job_freer���r���r���r���r���-���s����zSimPlugin.job_freec�����������������C���s���|�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_datar���r���r����_sim_data_2_lsm0���s���� zSimPlugin._sim_data_2_lsmc�����������������C���s���|�j��||��d�S�r ���)r����time_out_set)r����msr���r���r���r���r���;���s����zSimPlugin.time_out_setc�����������������C���s���|�j��|�S�r ���)r����time_out_getr���r���r���r���r!���?���s����zSimPlugin.time_out_getc�����������������C���s����t���}|����|�t�jt�j��|�t�jt�j��|�t�jt�j��|�t�jt�j��|�t�jt�j��|�t�j t�j��|�t�j t�j��|�t�jt�j��|�t�jt�j��|�t�j t�j��|�t�jt�j��|S�r ���)r���Z 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����rcr���r���r����capabilitiesB���s4����������zSimPlugin.capabilitiesc�����������������C���s���dt�fS�)NzStorage simulator)r���r���r���r���r����plugin_infoX���s����zSimPlugin.plugin_infoc�����������������C���s���|�j����}dd��|D��S�)Nc�����������������S���s���g�|�]}t��|��qS�r����r���r�����.0�sr���r���r���� <listcomp>]��������z%SimPlugin.systems.<locals>.<listcomp>)r����systems)r���r���Zsim_syssr���r���r���r-���[���s���� zSimPlugin.systemsc�����������������C���s���|�j��||�S�r ���)r����system_read_cache_pct_update)r���r#���Zread_pctr���r���r���r���r.���_���s����z&SimPlugin.system_read_cache_pct_updateNc�����������������C���s"���|�j��|�}tdd��|D��||�S�)Nc�����������������S���s���g�|�]}t��|��qS�r���r'���)r)����pr���r���r���r+���e���r,���z#SimPlugin.pools.<locals>.<listcomp>)r����poolsr���)r���� search_key�search_valuer���Z sim_poolsr���r���r���r0���b���s �����zSimPlugin.poolsc�����������������C���s ���|�j����}tdd��|D��||�S�)Nc�����������������S���s���g�|�]}t��|��qS�r���r'����r)����vr���r���r���r+���k���r,���z%SimPlugin.volumes.<locals>.<listcomp>)r����volumesr���)r���r1���r2���r����sim_volsr���r���r���r5���h���s ���� �zSimPlugin.volumesc�����������������C���s ���|�j����}tdd��|D��||�S�)Nc�����������������S���s���g�|�]}t��|��qS�r���r'���)r)����dr���r���r���r+���q���r,���z#SimPlugin.disks.<locals>.<listcomp>)r����disksr���)r���r1���r2���r���Z sim_disksr���r���r���r8���n���s ���� �zSimPlugin.disksc�����������������C���s ���|�j��|j||||�}t�|�S�r ���)r���� volume_create�idr���r���)r����poolZvolume_name� size_bytesZprovisioningr����sim_volr���r���r���r9���t���s�����zSimPlugin.volume_createc�����������������C���s���|�j��|j|�S�r ���)r���� volume_deleter:����r����volumer���r���r���r���r>���~���s����zSimPlugin.volume_deletec�����������������C���s���|�j��|j||�}t�|�S�r ���)r���� volume_resizer:���r���r���)r���r@����new_size_bytesr���r=���r���r���r���rA�������s�����zSimPlugin.volume_resizec�����������������C���s,���|d�ur|j�}n|j}|�j�|||j�||�S�r ���)r:���Zpool_idr����volume_replicate)r���r;����rep_type� volume_src�namer���Zdst_pool_idr���r���r���rC�������s���� �zSimPlugin.volume_replicatec�����������������C���s���|�j��|j|�S�r ���)r����!volume_replicate_range_block_sizer:����r���r#���r���r���r���r���rG�������s�����z+SimPlugin.volume_replicate_range_block_sizec�����������������C���s���|�j��||j|j||�S�r ���)r����volume_replicate_ranger:���)r���rD���rE���Zvolume_destZrangesr���r���r���r���rI�������s�����z SimPlugin.volume_replicate_rangec�����������������C���s���|�j��|j|�S�r ���)r���� volume_enabler:���r?���r���r���r���rJ�������s����zSimPlugin.volume_enablec�����������������C���s���|�j��|j|�S�r ���)r����volume_disabler:���r?���r���r���r���rK�������s����zSimPlugin.volume_disablec�����������������C���s ���|�j����}tdd��|D��||�S�)Nc�����������������S���s���g�|�]}t��|��qS�r���r'���)r)����ar���r���r���r+�������r,���z+SimPlugin.access_groups.<locals>.<listcomp>)r���Zagsr���)r���r1���r2���r���Zsim_agsr���r���r���� access_groups����s���� �zSimPlugin.access_groupsc�����������������C���s ���|�j��||||j|�}t�|�S�r ���)r����access_group_creater:���r���r���)r���rF����init_id� init_typer#���r����sim_agr���r���r���rN�������s�����zSimPlugin.access_group_createc�����������������C���s���|�j��|j|�S�r ���)r����access_group_deleter:���)r����access_groupr���r���r���r���rR�������s����zSimPlugin.access_group_deletec�����������������C���s���|�j��|j|||�}t�|�S�r ���)r����access_group_initiator_addr:���r���r����r���rS���rO���rP���r���rQ���r���r���r���rT�������s���� �z$SimPlugin.access_group_initiator_addc�����������������C���s���|�j��|j|||�}t�|�S�r ���)r����access_group_initiator_deleter:���r���r���rU���r���r���r���rV�������s���� �z'SimPlugin.access_group_initiator_deletec�����������������C���s���|�j��|j|j|�S�r ���)r����volume_maskr:����r���rS���r@���r���r���r���r���rW�������s����zSimPlugin.volume_maskc�����������������C���s���|�j��|j|j|�S�r ���)r���� volume_unmaskr:���rX���r���r���r���rY�������s����zSimPlugin.volume_unmaskc�����������������C���s���|�j��|j|�}dd��|D��S�)Nc�����������������S���s���g�|�]}t��|��qS�r���r'���r3���r���r���r���r+�������r,���z@SimPlugin.volumes_accessible_by_access_group.<locals>.<listcomp>)r����"volumes_accessible_by_access_groupr:���)r���rS���r���r6���r���r���r���rZ�������s�����z,SimPlugin.volumes_accessible_by_access_groupc�����������������C���s���|�j��|j|�}dd��|D��S�)Nc�����������������S���s���g�|�]}t��|��qS�r���r'���r3���r���r���r���r+�������r,���z=SimPlugin.access_groups_granted_to_volume.<locals>.<listcomp>)r����access_groups_granted_to_volumer:���)r���r@���r���r6���r���r���r���r[�������s�����z)SimPlugin.access_groups_granted_to_volumec�����������������C���s:���|r$|r$|d�u�s|d�u�r$t�tjd��|�j�||||||�S�)Nz?out_user and out_password only supported if inbound is supplied)r ���r ���ZINVALID_ARGUMENTr����iscsi_chap_auth)r���rO���Zin_userZin_passwordZout_userZout_passwordr���r���r���r���r\�������s��������zSimPlugin.iscsi_chap_authc�����������������C���s���|�j��|j|�S�r ���)r����volume_child_dependencyr:���r?���r���r���r���r]�������s����z!SimPlugin.volume_child_dependencyc�����������������C���s���|�j��|j|�S�r ���)r����volume_child_dependency_rmr:���r?���r���r���r���r^�������s����z$SimPlugin.volume_child_dependency_rmc�����������������C���s ���|�j����}tdd��|D��||�S�)Nc�����������������S���s���g�|�]}t��|��qS�r���r'���)r)����fr���r���r���r+�������r,���z SimPlugin.fs.<locals>.<listcomp>)r����fsr���)r���r1���r2���r���Zsim_fssr���r���r���r`�������s���� �zSimPlugin.fsc�����������������C���s���|�j��|j||�}t�|�S�r ���)r���� fs_creater:���r���r���)r���r;���rF���r<���r����sim_fsr���r���r���ra�������s����zSimPlugin.fs_createc�����������������C���s���|�j��|j|�S�r ���)r���� fs_deleter:���)r���r`���r���r���r���r���rc�������s����zSimPlugin.fs_deletec�����������������C���s���|�j��|j||�}t�|�S�r ���)r���� fs_resizer:���r���r���)r���r`���rB���r���rb���r���r���r���rd�������s����zSimPlugin.fs_resizec�����������������C���s2���|d�u�r|�j��|j|d�|�S�|�j��|j||j|�S�r ���)r����fs_cloner:���)r���Zsrc_fsZdest_fs_name�snapshotr���r���r���r���re�������s������zSimPlugin.fs_clonec�����������������C���s6���|d�u�r|�j��|j||d�|�S�|�j��|j|||j|�S�r ���)r���� fs_file_cloner:���)r���r`���Z src_file_nameZdest_file_namerf���r���r���r���r���rg�������s������zSimPlugin.fs_file_clonec�����������������C���s���|�j��|j|�}dd��|D��S�)Nc�����������������S���s���g�|�]}t��|��qS�r���r'���r(���r���r���r���r+��� ��r,���z*SimPlugin.fs_snapshots.<locals>.<listcomp>)r����fs_snapshotsr:���)r���r`���r���Z sim_snapsr���r���r���rh�����s����zSimPlugin.fs_snapshotsc�����������������C���s���|�j��|j||�S�r ���)r����fs_snapshot_creater:���)r���r`���Z snapshot_namer���r���r���r���ri�����s����zSimPlugin.fs_snapshot_createc�����������������C���s���|�j��|j|j|�S�r ���)r����fs_snapshot_deleter:���)r���r`���rf���r���r���r���r���rj�����s����zSimPlugin.fs_snapshot_deleteFc�����������������C���s���|�j��|j|j||||�S�r ���)r����fs_snapshot_restorer:���)r���r`���rf����filesZ restore_filesZ all_filesr���r���r���r���rk�����s�����zSimPlugin.fs_snapshot_restorec�����������������C���s���|�j��|j||�S�r ���)r����fs_child_dependencyr:����r���r`���rl���r���r���r���r���rm��� ��s����zSimPlugin.fs_child_dependencyc�����������������C���s���|�j��|j||�S�r ���)r����fs_child_dependency_rmr:���rn���r���r���r���ro���#��s����z SimPlugin.fs_child_dependency_rmc�����������������C���s���dgS�)NZstandardr���r���r���r���r����export_auth&��s����zSimPlugin.export_authc�����������������C���s"���|�j��|�}tdd��|D��||�S�)Nc�����������������S���s���g�|�]}t��|��qS�r���r'���)r)����er���r���r���r+���-��r,���z%SimPlugin.exports.<locals>.<listcomp>)r����exportsr���)r���r1���r2���r���Zsim_expsr���r���r���rr���*��s �����zSimPlugin.exportsc�����������������C���s*���|�j�j||||||||| dd� }t�|�S�)Nr���)r���)r���Z fs_exportr���r���)r���Zfs_idZexport_pathZ root_listZrw_listZro_listZanon_uidZanon_gidZ auth_type�optionsr���Zsim_expr���r���r���� export_fs0��s����� zSimPlugin.export_fsc�����������������C���s���|�j��|j|�S�r ���)r���Zfs_unexportr:���)r���Zexportr���r���r���r���� export_removeG��s����zSimPlugin.export_removec�����������������C���s ���|�j����}tdd��|D��||�S�)Nc�����������������S���s���g�|�]}t��|��qS�r���r'���)r)����tr���r���r���r+���M��r,���z*SimPlugin.target_ports.<locals>.<listcomp>)r����target_portsr���)r���r1���r2���r���Zsim_tgtsr���r���r���rw���J��s ���� �zSimPlugin.target_portsc�����������������C���s���|�j��|�S�r ���)r����volume_raid_infor?���r���r���r���rx���P��s����zSimPlugin.volume_raid_infoc�����������������C���s���|�j��|�S�r ���)r����pool_member_info)r���r;���r���r���r���r���ry���S��s����zSimPlugin.pool_member_infoc�����������������C���s���|�j��|�S�r ���)r����volume_raid_create_cap_getrH���r���r���r���rz���V��s����z$SimPlugin.volume_raid_create_cap_getc�����������������C���s���|�j��||||�S�r ���)r����volume_raid_create)r���rF���Z raid_typer8���Z strip_sizer���r���r���r���r{���Y��s�����zSimPlugin.volume_raid_createc�����������������C���s���|�j��|�S�r ���)r����volume_ident_led_onr?���r���r���r���r|���]��s����zSimPlugin.volume_ident_led_onc�����������������C���s���|�j��|�S�r ���)r����volume_ident_led_offr?���r���r���r���r}���`��s����zSimPlugin.volume_ident_led_offc�����������������C���s ���|�j����}tdd��|D��||�S�)Nc�����������������S���s���g�|�]}t��|��qS�r���r'���)r)����br���r���r���r+���i��r,���z'SimPlugin.batteries.<locals>.<listcomp>)r���� batteriesr���)r���r1���r2���r���Z sim_batteriesr���r���r���r���c��s ���� �zSimPlugin.batteriesc�����������������C���s���|�j��|�S�r ���)r����volume_cache_infor?���r���r���r���r����l��s����zSimPlugin.volume_cache_infoc�����������������C���s���|�j��||�S�r ���)r����!volume_physical_disk_cache_update)r���r@���Zpdcr���r���r���r���r����o��s����z+SimPlugin.volume_physical_disk_cache_updatec�����������������C���s���|�j��||�S�r ���)r����volume_read_cache_policy_update)r���r@���Zrcpr���r���r���r���r����u��s����z)SimPlugin.volume_read_cache_policy_updatec�����������������C���s���|�j��||�S�r ���)r���� volume_write_cache_policy_update)r���r@���Zwcpr���r���r���r���r����{��s����z*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__r���r���r���r���r����staticmethodr���r���r!���r%���r&���r-���r.���r0���r5���r8���r9���r>���rA���rC���rG���rI���rJ���rK���rM���rN���rR���rT���rV���rW���rY���rZ���r[���r\���r]���r^���r`���ra���rc���rd���re���rg���rh���ri���rj���rk���rm���ro���rp���rr���rt���ru���rw���rx���ry���rz���r{���r|���r}���r���Z FLAG_RSVDr���r����r����r����r����r���r���r���r���r������s���� �� �� �� �� �� ��� ��� �� � � � �r���N) Zlsmr���r���r���r���r���r���r���r ���r ���Zsim_plugin.simarrayr���r���r���r���r���r����<module>���s���,