Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
Size: Mime:
ó
w=4\c@sgddlZddlZddlZddlZddlmZddlmZmZyddlm	Z
Wn!ek
rddlm	Z
nXyddl
mZWn!ek
rÅddlmZnXddlmZddlmZejdd	d
ddƒejd
d	dddƒgZe
jeƒZejZejedƒd„Zdefd„ƒYZdS(iÿÿÿÿN(tThread(tQueuetEmpty(tlog(tcfg(tutils(t
qemuimagestoverride_blocktdefaulttcinderthelpsWby default block disk_type is mapped to cinder It can be override to lvm by this optiontcontego_staging_dirsVby default uses CONF.instances_path It can be override depending on user configurationtbackendscCsF|jdƒ}x&|r7|jdƒ}|j|ƒqW|jƒdS(Ni(treadtputtclose(touttqueuetline((sc/home/tvault/.virtenv/lib/python2.7/site-packages/contego/nova/extension/driver/backends/backend.pytenqueue_output+s
	tBackendcBsƒeZd„Zd„Zd
d„Zd
d„Zd„Zd„Zd„Z	d„Z
d„Zd	„Zd
„Z
d„Zd„ZRS(cCsEidd6dd6dd6dd6dd6d	d
6d	d6dd
6|_dS(NsAcontego.nova.extension.driver.backends.qcow2_backend.QCOW2Backendtfiletqcow2sCcontego.nova.extension.driver.backends.cinder_backend.CinderBackendR	s=contego.nova.extension.driver.backends.rdb_backend.RBDBackendtrbdtcephsEcontego.nova.extension.driver.backends.rbdboot_backend.RBDBootBackendtrbdboottcephboots@contego.nova.extension.driver.backends.cinder_backend.LVMBackendtlvm(tBACKEND(tself((sc/home/tvault/.virtenv/lib/python2.7/site-packages/contego/nova/extension/driver/backends/backend.pyt__init__4scKs¢|dkrtjj}n|jj|ƒ}|sFtd|ƒ‚n|jdƒ}dj|d ƒ}t|ƒ}x!|dD]}t	||ƒ}qW||S(	NtblocktiscsiR	sUnknown backend type=%st.iÿÿÿÿi(sblockR scinder(
tCONFRRRtgettRuntimeErrortsplittjoint
__import__tgetattr(Rtbackendtkwargstbackend_class_nametpartstmodulet
backend_classtcomp((sc/home/tvault/.virtenv/lib/python2.7/site-packages/contego/nova/extension/driver/backends/backend.pyR#LscCsdS(N((Rt
instance_uuidtadditional_files((sc/home/tvault/.virtenv/lib/python2.7/site-packages/contego/nova/extension/driver/backends/backend.pytconfigure_security_profile]scCsdS(N((RR0R1((sc/home/tvault/.virtenv/lib/python2.7/site-packages/contego/nova/extension/driver/backends/backend.pytreset_security_profile`scKstdƒ‚dS(Ns,create_snapshot() method must be implemented(tNotImplementedError(RtdevicesR*((sc/home/tvault/.virtenv/lib/python2.7/site-packages/contego/nova/extension/driver/backends/backend.pytcreate_snapshotcscKstdƒ‚dS(Ns,delete_snapshot() method must be implemented(R4(Rt	disk_infoR*((sc/home/tvault/.virtenv/lib/python2.7/site-packages/contego/nova/extension/driver/backends/backend.pytdelete_snapshotgscKstdƒ‚dS(Ns0check_prev_snapshot() method must be implemented(R4(RR7R*((sc/home/tvault/.virtenv/lib/python2.7/site-packages/contego/nova/extension/driver/backends/backend.pytcheck_prev_snapshotkscKstdƒ‚dS(Ns1update_snapshot_info() method must be implemented(R4(RR7R*((sc/home/tvault/.virtenv/lib/python2.7/site-packages/contego/nova/extension/driver/backends/backend.pytupdate_snapshot_infooscKstdƒ‚dS(Ns,update_snapshot() method must be implemented(R4(RR7R*((sc/home/tvault/.virtenv/lib/python2.7/site-packages/contego/nova/extension/driver/backends/backend.pytupload_snapshotssc	Cs½i}tddƒ}xw|D]o}|jƒjdƒr@qn|jdƒ}t|ƒdkrt|djdƒjdƒƒ||d	<qqWWdQX|d
|jd|d
ƒ|dfS(
Ns/etc/os-releasetrt#t=iis
t"itIDtID_LIKEt
VERSION_ID(topentstript
startswithR%tlentstrR#(RtkargstfRtvalue((sc/home/tvault/.virtenv/lib/python2.7/site-packages/contego/nova/extension/driver/backends/backend.pytget_distro_versionws
7cCs|jƒ\}}}tjjtjƒ\}}tjj|dƒ}x»|jƒ|jƒD]£}tjj|||dƒ}tjj|ƒr“|Stjj|||jdƒddƒ}tjj|ƒrÑ|Stjj||dƒ}tjj|ƒr\|Sq\WdS(Nsqemu-imgR!i(RKtostpathR%tsyst
executableR&texists(Rtspecifictlikestversiontvirtenv_pathtbinarytdistrot	qemu_path((sc/home/tvault/.virtenv/lib/python2.7/site-packages/contego/nova/extension/driver/backends/backend.pytget_qemu_img_pathƒs 	cCs}d}d}tjj|ƒ}	tjj|	dƒ}
x¦|dksO|jƒrÛ|jƒ}ygy|jddƒ}Wnytk
rÐtjj	|
ƒr½y|j
ƒWnnX|jƒ}ntj|ƒw6nät
k
rï}tj|ƒnÅXtjj	|
ƒr)y|j
ƒWnnX|jƒ}ntjd|ƒdkrGw6ntjd|ƒjdƒ}tjdi|d6|d	6t|ƒd
6ƒt|ƒ}tj|dt|ƒƒtj|ƒWq6t
k
r×}q6Xq6W|jjƒ|j}
|
ritjd|
ƒ|
d
krd}n(di|
d6|jjƒd6|d6}tj|d|ƒt
|ƒ‚ntj|dƒdS(s! Utility method that updates a tracking file with information dury an image
            copy.

        Args:
            tracking_file (str): Path to the tracking file to update.
            process (process): Process handle of the sub process.
            update_queue (queue): Queue of file copy percentages from process.
            volume_path (str): Volume path used for logging.
            backup_image_file_path (str): Backup image path used for logging.
            cmd (str): Comand the process is executing. Used for logging.
        gt	cancelledttimeoutis\d+\.\d+isLcopying from %(backup_path)s to %(volume_path)s %(percentage)s %% completed
tbackup_pathtvolume_patht
percentages%s %% percentage complete
s
Result was %di÷ÿÿÿsUser initiated cancel requests7Execution error %(exit_code)d (%(stderr)s). cmd %(cmd)st	exit_codetstderrtcmds
Error: %s
s
Completed
N(tNoneRLRMtdirnameR&temptytpollR#RRPtkillt
contego_utilst
touch_filet	ExceptiontLOGt	exceptiontretsearchtgrouptdebugRGtfloattupdate_progresststdinRt
returncodeterrorR_R
(Rt
tracking_filetprocesstupdate_queueR\tbackup_image_file_pathR`R]tprocess_statusttracking_dirtcancel_filetoutputtext_returncodetmsg((sc/home/tvault/.virtenv/lib/python2.7/site-packages/contego/nova/extension/driver/backends/backend.pytupdate_tracking_filesj


	
	
		
cCs|r?tjj|ƒr?tj|ƒ}|jdks?t‚n|jƒ}dj|ƒ}t	j
d|ƒtj|dtj
dtj
dtj
dd	d
tdtƒ}tƒ}	tdtd
|j|	fƒ}
t|
_|
jƒ|j|||	|||ƒdS(Nii@t s,_execute_qemu_img_and_track_progress cmd %s RqtstdoutR_tbufsizeiÿÿÿÿt	close_fdstshellttargettargsi(RLRMRPRt
qemu_img_infotcluster_sizetAssertionErrorRXR&RiRnt
subprocesstPopentPIPEtTruetFalseRRRRtdaemontstartR(Rtcmdspectcurr_snap_patht	qcow2filetprogress_tracker_patht
qcow2_infotqemu_img_binR`RuRtread_thread((sc/home/tvault/.virtenv/lib/python2.7/site-packages/contego/nova/extension/driver/backends/backend.pyt$_execute_qemu_img_and_track_progressôs(						
N(t__name__t
__module__RR#RaR2R3R6R8R9R:R;RKRXRR˜(((sc/home/tvault/.virtenv/lib/python2.7/site-packages/contego/nova/extension/driver/backends/backend.pyR3s										W( RLRkRNRŠt	threadingRRRtoslo_logRtloggingtImportErrortnova.openstack.commontoslo_configRtoslo.configtcontegoRRftcontego.nova.extension.driverRtStrOptRatbackend_optst	getLoggerR™RiR"t
register_optsRtobjectR(((sc/home/tvault/.virtenv/lib/python2.7/site-packages/contego/nova/extension/driver/backends/backend.pyt<module>s4