Viewing File: /usr/lib/python2.7/site-packages/lsm/plugin/sim/simulator.pyo

ó
.ÎP`c@smddlmZmZmZmZmZmZmZmZm	Z	ddl
mZdeefd„ƒYZdS(iÿÿÿÿ(	t	uri_parsetVERSIONtCapabilitiestINfstIStorageAreaNetworktsearch_propertytClienttLsmErrortErrorNumber(tSimArrayt	SimPlugincBsJeZdZd„Zdd„Zdd„Zdd„Zdd„Zed„ƒZ	dd„Z
dd	„Zdd
„Zdd„Z
dd„Zdd
„ZdAdAdd„ZdAdAdd„ZdAdAdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„ZdAdAdd„Zdd„Zdd„Zdd„Zdd„Z dd„Z!dd„Z"dd „Z#dd!„Z$dd"„Z%dd#„Z&dd$„Z'dAdAdd%„Z(dd&„Z)dd'„Z*dd(„Z+dAdd)„Z,dAdd*„Z-dd+„Z.dd,„Z/dd-„Z0e1dd.„Z2dd/„Z3dd0„Z4dd1„Z5dAdAdd2„Z6dd3„Z7dd4„Z8dAdAdd5„Z9dd6„Z:dd7„Z;dd8„Z<dd9„Z=dd:„Z>dd;„Z?dAdAe@jAd<„ZBe@jAd=„ZCe@jAd>„ZDe@jAd?„ZEe@jAd@„ZFRS(BsU
    Simple class that implements enough to allow the framework to be exercised.
    cCsd|_d|_d|_dS(N(tNoneturitpasswordt	sim_array(tself((s</usr/lib/python2.7/site-packages/lsm/plugin/sim/simulator.pyt__init__s		icCs||_||_t|ƒ}d|krkd|dkrk|dddk	rkt|dd|ƒ|_ntd|ƒ|_dS(Nt
parameterst	statefile(RR
RRR	R(RRR
ttimeouttflagstqp((s</usr/lib/python2.7/site-packages/lsm/plugin/sim/simulator.pytplugin_register"s		cCsdS(N((RR((s</usr/lib/python2.7/site-packages/lsm/plugin/sim/simulator.pytplugin_unregister1scCs|jj||ƒS(N(Rt
job_status(Rtjob_idR((s</usr/lib/python2.7/site-packages/lsm/plugin/sim/simulator.pyR4scCs|jj||ƒS(N(Rtjob_free(RRR((s</usr/lib/python2.7/site-packages/lsm/plugin/sim/simulator.pyR7scCs|S(s
        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.
        ((tsim_data((s</usr/lib/python2.7/site-packages/lsm/plugin/sim/simulator.pyt_sim_data_2_lsm:s	cCs|jj||ƒdS(N(Rttime_out_setR(RtmsR((s</usr/lib/python2.7/site-packages/lsm/plugin/sim/simulator.pyREscCs|jj|ƒS(N(Rttime_out_get(RR((s</usr/lib/python2.7/site-packages/lsm/plugin/sim/simulator.pyRIscCs	tƒ}|jƒ|jtjtjƒ|jtjtjƒ|jtjtjƒ|jtjtjƒ|jtjtjƒ|jtj	tjƒ|jtj
tjƒ|jtjtjƒ|jtjtjƒ|jtj
tjƒ|jtjtjƒ|S(N(Rt
enable_alltsettPOOLS_QUICK_SEARCHtUNSUPPORTEDtVOLUMES_QUICK_SEARCHtDISKS_QUICK_SEARCHtFS_QUICK_SEARCHtACCESS_GROUPS_QUICK_SEARCHtNFS_EXPORTS_QUICK_SEARCHtTARGET_PORTS_QUICK_SEARCHt.VOLUME_PHYSICAL_DISK_CACHE_UPDATE_SYSTEM_LEVELt,VOLUME_WRITE_CACHE_POLICY_UPDATE_IMPACT_READt0VOLUME_WRITE_CACHE_POLICY_UPDATE_WB_IMPACT_OTHERt,VOLUME_READ_CACHE_POLICY_UPDATE_IMPACT_WRITE(RtsystemRtrc((s</usr/lib/python2.7/site-packages/lsm/plugin/sim/simulator.pytcapabilitiesLs(	






cCs
dtfS(NsStorage simulator(R(RR((s</usr/lib/python2.7/site-packages/lsm/plugin/sim/simulator.pytplugin_infobscCs/|jjƒ}g|D]}tj|ƒ^qS(N(RtsystemsR
R(RRtsim_syssts((s</usr/lib/python2.7/site-packages/lsm/plugin/sim/simulator.pyR2escCs|jj||ƒS(N(Rtsystem_read_cache_pct_update(RR.tread_pctR((s</usr/lib/python2.7/site-packages/lsm/plugin/sim/simulator.pyR5iscCs>|jj|ƒ}tg|D]}tj|ƒ^q||ƒS(N(RtpoolsRR
R(Rt
search_keytsearch_valueRt	sim_poolstp((s</usr/lib/python2.7/site-packages/lsm/plugin/sim/simulator.pyR7lscCs;|jjƒ}tg|D]}tj|ƒ^q||ƒS(N(RtvolumesRR
R(RR8R9Rtsim_volstv((s</usr/lib/python2.7/site-packages/lsm/plugin/sim/simulator.pyR<rscCs;|jjƒ}tg|D]}tj|ƒ^q||ƒS(N(RtdisksRR
R(RR8R9Rt	sim_diskstd((s</usr/lib/python2.7/site-packages/lsm/plugin/sim/simulator.pyR?xscCs.|jj|j||||ƒ}tj|ƒS(N(Rt
volume_createtidR
R(Rtpooltvolume_namet
size_bytestprovisioningRtsim_vol((s</usr/lib/python2.7/site-packages/lsm/plugin/sim/simulator.pyRB~s	cCs|jj|j|ƒS(N(Rt
volume_deleteRC(RtvolumeR((s</usr/lib/python2.7/site-packages/lsm/plugin/sim/simulator.pyRI„scCs(|jj|j||ƒ}tj|ƒS(N(Rt
volume_resizeRCR
R(RRJtnew_size_bytesRRH((s</usr/lib/python2.7/site-packages/lsm/plugin/sim/simulator.pyRK‡s	cCs@|dk	r|j}n	|j}|jj|||j||ƒS(N(RRCtpool_idRtvolume_replicate(RRDtrep_typet
volume_srctnameRtdst_pool_id((s</usr/lib/python2.7/site-packages/lsm/plugin/sim/simulator.pyRNŒs
		cCs|jj|j|ƒS(N(Rt!volume_replicate_range_block_sizeRC(RR.R((s</usr/lib/python2.7/site-packages/lsm/plugin/sim/simulator.pyRS”s	cCs"|jj||j|j||ƒS(N(Rtvolume_replicate_rangeRC(RRORPtvolume_desttrangesR((s</usr/lib/python2.7/site-packages/lsm/plugin/sim/simulator.pyRT˜s	cCs|jj|j|ƒS(N(Rt
volume_enableRC(RRJR((s</usr/lib/python2.7/site-packages/lsm/plugin/sim/simulator.pyRWscCs|jj|j|ƒS(N(Rtvolume_disableRC(RRJR((s</usr/lib/python2.7/site-packages/lsm/plugin/sim/simulator.pyRX scCs;|jjƒ}tg|D]}tj|ƒ^q||ƒS(N(RtagsRR
R(RR8R9Rtsim_agsta((s</usr/lib/python2.7/site-packages/lsm/plugin/sim/simulator.pyt
access_groups£scCs.|jj||||j|ƒ}tj|ƒS(N(Rtaccess_group_createRCR
R(RRQtinit_idt	init_typeR.Rtsim_ag((s</usr/lib/python2.7/site-packages/lsm/plugin/sim/simulator.pyR]©s	cCs|jj|j|ƒS(N(Rtaccess_group_deleteRC(Rtaccess_groupR((s</usr/lib/python2.7/site-packages/lsm/plugin/sim/simulator.pyRa¯scCs+|jj|j|||ƒ}tj|ƒS(N(Rtaccess_group_initiator_addRCR
R(RRbR^R_RR`((s</usr/lib/python2.7/site-packages/lsm/plugin/sim/simulator.pyRc²s	cCs+|jj|j|||ƒ}tj|ƒS(N(Rtaccess_group_initiator_deleteRCR
R(RRbR^R_RR`((s</usr/lib/python2.7/site-packages/lsm/plugin/sim/simulator.pyRd¸s	cCs|jj|j|j|ƒS(N(Rtvolume_maskRC(RRbRJR((s</usr/lib/python2.7/site-packages/lsm/plugin/sim/simulator.pyRe¾s	cCs|jj|j|j|ƒS(N(Rt
volume_unmaskRC(RRbRJR((s</usr/lib/python2.7/site-packages/lsm/plugin/sim/simulator.pyRfÂs	cCs8|jj|j|ƒ}g|D]}tj|ƒ^qS(N(Rt"volumes_accessible_by_access_groupRCR
R(RRbRR=R>((s</usr/lib/python2.7/site-packages/lsm/plugin/sim/simulator.pyRgÆs	cCs8|jj|j|ƒ}g|D]}tj|ƒ^qS(N(Rtaccess_groups_granted_to_volumeRCR
R(RRJRR=R>((s</usr/lib/python2.7/site-packages/lsm/plugin/sim/simulator.pyRhËs	c
CsX|r9|r9|dks$|dkr9ttjdƒ‚n|jj||||||ƒS(Ns?out_user and out_password only supported if inbound is supplied(RRRtINVALID_ARGUMENTRtiscsi_chap_auth(RR^tin_usertin_passwordtout_usertout_passwordR((s</usr/lib/python2.7/site-packages/lsm/plugin/sim/simulator.pyRjÐs		cCs|jj|j|ƒS(N(Rtvolume_child_dependencyRC(RRJR((s</usr/lib/python2.7/site-packages/lsm/plugin/sim/simulator.pyRoÚscCs|jj|j|ƒS(N(Rtvolume_child_dependency_rmRC(RRJR((s</usr/lib/python2.7/site-packages/lsm/plugin/sim/simulator.pyRpÝscCs;|jjƒ}tg|D]}tj|ƒ^q||ƒS(N(RtfsRR
R(RR8R9Rtsim_fsstf((s</usr/lib/python2.7/site-packages/lsm/plugin/sim/simulator.pyRqàscCs(|jj|j||ƒ}tj|ƒS(N(Rt	fs_createRCR
R(RRDRQRFRtsim_fs((s</usr/lib/python2.7/site-packages/lsm/plugin/sim/simulator.pyRtæscCs|jj|j|ƒS(N(Rt	fs_deleteRC(RRqR((s</usr/lib/python2.7/site-packages/lsm/plugin/sim/simulator.pyRvêscCs(|jj|j||ƒ}tj|ƒS(N(Rt	fs_resizeRCR
R(RRqRLRRu((s</usr/lib/python2.7/site-packages/lsm/plugin/sim/simulator.pyRwís	cCsG|dkr(|jj|j|d|ƒS|jj|j||j|ƒS(N(RRtfs_cloneRC(Rtsrc_fstdest_fs_nametsnapshotR((s</usr/lib/python2.7/site-packages/lsm/plugin/sim/simulator.pyRxòs
		cCsM|dkr+|jj|j||d|ƒS|jj|j|||j|ƒS(N(RRt
fs_file_cloneRC(RRqt
src_file_nametdest_file_nameR{R((s</usr/lib/python2.7/site-packages/lsm/plugin/sim/simulator.pyR|ùs
		cCs8|jj|j|ƒ}g|D]}tj|ƒ^qS(N(Rtfs_snapshotsRCR
R(RRqRt	sim_snapsR4((s</usr/lib/python2.7/site-packages/lsm/plugin/sim/simulator.pyRscCs|jj|j||ƒS(N(Rtfs_snapshot_createRC(RRqt
snapshot_nameR((s</usr/lib/python2.7/site-packages/lsm/plugin/sim/simulator.pyRs	cCs|jj|j|j|ƒS(N(Rtfs_snapshot_deleteRC(RRqR{R((s</usr/lib/python2.7/site-packages/lsm/plugin/sim/simulator.pyRƒ
s	cCs%|jj|j|j||||ƒS(N(Rtfs_snapshot_restoreRC(RRqR{tfilest
restore_filest	all_filesR((s</usr/lib/python2.7/site-packages/lsm/plugin/sim/simulator.pyR„s	cCs|jj|j||ƒS(N(Rtfs_child_dependencyRC(RRqR…R((s</usr/lib/python2.7/site-packages/lsm/plugin/sim/simulator.pyRˆscCs|jj|j||ƒS(N(Rtfs_child_dependency_rmRC(RRqR…R((s</usr/lib/python2.7/site-packages/lsm/plugin/sim/simulator.pyR‰scCsdgS(Ntstandard((RR((s</usr/lib/python2.7/site-packages/lsm/plugin/sim/simulator.pytexport_authscCs>|jj|ƒ}tg|D]}tj|ƒ^q||ƒS(N(RtexportsRR
R(RR8R9Rtsim_expste((s</usr/lib/python2.7/site-packages/lsm/plugin/sim/simulator.pyRŒscCs=|jj|||||||||	ddƒ	}tj|ƒS(NRi(Rt	fs_exportR
R(Rtfs_idtexport_patht	root_listtrw_listtro_listtanon_uidtanon_gidt	auth_typetoptionsRtsim_exp((s</usr/lib/python2.7/site-packages/lsm/plugin/sim/simulator.pyt	export_fs#s	cCs|jj|j|ƒS(N(Rtfs_unexportRC(RtexportR((s</usr/lib/python2.7/site-packages/lsm/plugin/sim/simulator.pyt
export_remove*scCs;|jjƒ}tg|D]}tj|ƒ^q||ƒS(N(Rttarget_portsRR
R(RR8R9Rtsim_tgtstt((s</usr/lib/python2.7/site-packages/lsm/plugin/sim/simulator.pyRž-scCs|jj|ƒS(N(Rtvolume_raid_info(RRJR((s</usr/lib/python2.7/site-packages/lsm/plugin/sim/simulator.pyR¡3scCs|jj|ƒS(N(Rtpool_member_info(RRDR((s</usr/lib/python2.7/site-packages/lsm/plugin/sim/simulator.pyR¢6scCs|jj|ƒS(N(Rtvolume_raid_create_cap_get(RR.R((s</usr/lib/python2.7/site-packages/lsm/plugin/sim/simulator.pyR£9scCs|jj||||ƒS(N(Rtvolume_raid_create(RRQt	raid_typeR?t
strip_sizeR((s</usr/lib/python2.7/site-packages/lsm/plugin/sim/simulator.pyR¤<s	cCs|jj|ƒS(N(Rtvolume_ident_led_on(RRJR((s</usr/lib/python2.7/site-packages/lsm/plugin/sim/simulator.pyR§AscCs|jj|ƒS(N(Rtvolume_ident_led_off(RRJR((s</usr/lib/python2.7/site-packages/lsm/plugin/sim/simulator.pyR¨DscCs;|jjƒ}tg|D]}tj|ƒ^q||ƒS(N(Rt	batteriesRR
R(RR8R9Rt
sim_batteriestb((s</usr/lib/python2.7/site-packages/lsm/plugin/sim/simulator.pyR©GscCs|jj|ƒS(N(Rtvolume_cache_info(RRJR((s</usr/lib/python2.7/site-packages/lsm/plugin/sim/simulator.pyR¬NscCs|jj||ƒS(N(Rt!volume_physical_disk_cache_update(RRJtpdcR((s</usr/lib/python2.7/site-packages/lsm/plugin/sim/simulator.pyR­QscCs|jj||ƒS(N(Rtvolume_read_cache_policy_update(RRJtrcpR((s</usr/lib/python2.7/site-packages/lsm/plugin/sim/simulator.pyR¯UscCs|jj||ƒS(N(Rt volume_write_cache_policy_update(RRJtwcpR((s</usr/lib/python2.7/site-packages/lsm/plugin/sim/simulator.pyR±YsN(Gt__name__t
__module__t__doc__RRRRRtstaticmethodRRRR0R1R2R5RR7R<R?RBRIRKRNRSRTRWRXR\R]RaRcRdReRfRgRhRjRoRpRqRtRvRwRxR|RRRƒtFalseR„RˆR‰R‹RŒRšRRžR¡R¢R£R¤R§R¨Rt	FLAG_RSVDR©R¬R­R¯R±(((s</usr/lib/python2.7/site-packages/lsm/plugin/sim/simulator.pyR
s„		N(
tlsmRRRRRRRRRtlsm.plugin.sim.simarrayR	R
(((s</usr/lib/python2.7/site-packages/lsm/plugin/sim/simulator.pyt<module>s@
Back to Directory File Manager