PNG  IHDRQgAMA a cHRMz&u0`:pQ<bKGDgmIDATxwUﹻ& ^CX(J I@ "% (** BX +*i"]j(IH{~R)[~>h{}gy)I$Ij .I$I$ʊy@}x.: $I$Ii}VZPC)I$IF ^0ʐJ$I$Q^}{"r=OzI$gRZeC.IOvH eKX $IMpxsk.쒷/&r[޳<v| .I~)@$updYRa$I |M.e JaֶpSYR6j>h%IRز if&uJ)M$I vLi=H;7UJ,],X$I1AҒJ$ XY XzI@GNҥRT)E@;]K*Mw;#5_wOn~\ DC&$(A5 RRFkvIR}l!RytRl;~^ǷJj اy뷦BZJr&ӥ8Pjw~vnv X^(I;4R=P[3]J,]ȏ~:3?[ a&e)`e*P[4]T=Cq6R[ ~ޤrXR Հg(t_HZ-Hg M$ãmL5R uk*`%C-E6/%[t X.{8P9Z.vkXŐKjgKZHg(aK9ڦmKjѺm_ \#$5,)-  61eJ,5m| r'= &ڡd%-]J on Xm|{ RҞe $eڧY XYrԮ-a7RK6h>n$5AVڴi*ֆK)mѦtmr1p| q:흺,)Oi*ֺK)ܬ֦K-5r3>0ԔHjJئEZj,%re~/z%jVMڸmrt)3]J,T K֦OvԒgii*bKiNO~%PW0=dii2tJ9Jݕ{7"I P9JKTbu,%r"6RKU}Ij2HKZXJ,妝 XYrP ެ24c%i^IK|.H,%rb:XRl1X4Pe/`x&P8Pj28Mzsx2r\zRPz4J}yP[g=L) .Q[6RjWgp FIH*-`IMRaK9TXcq*I y[jE>cw%gLRԕiFCj-ďa`#e~I j,%r,)?[gp FI˨mnWX#>mʔ XA DZf9,nKҲzIZXJ,L#kiPz4JZF,I,`61%2s $,VOϚ2/UFJfy7K> X+6 STXIeJILzMfKm LRaK9%|4p9LwJI!`NsiazĔ)%- XMq>pk$-$Q2x#N ؎-QR}ᶦHZډ)J,l#i@yn3LN`;nڔ XuX5pF)m|^0(>BHF9(cզEerJI rg7 4I@z0\JIi䵙RR0s;$s6eJ,`n 䂦0a)S)A 1eJ,堌#635RIgpNHuTH_SԕqVe ` &S)>p;S$魁eKIuX`I4춒o}`m$1":PI<[v9^\pTJjriRŭ P{#{R2,`)e-`mgj~1ϣLKam7&U\j/3mJ,`F;M'䱀 .KR#)yhTq;pcK9(q!w?uRR,n.yw*UXj#\]ɱ(qv2=RqfB#iJmmL<]Y͙#$5 uTU7ӦXR+q,`I}qL'`6Kͷ6r,]0S$- [RKR3oiRE|nӦXR.(i:LDLTJjY%o:)6rxzҒqTJjh㞦I.$YR.ʼnGZ\ֿf:%55 I˼!6dKxm4E"mG_ s? .e*?LRfK9%q#uh$)i3ULRfK9yxm܌bj84$i1U^@Wbm4uJ,ҪA>_Ij?1v32[gLRD96oTaR׿N7%L2 NT,`)7&ƝL*꽙yp_$M2#AS,`)7$rkTA29_Iye"|/0t)$n XT2`YJ;6Jx".e<`$) PI$5V4]29SRI>~=@j]lp2`K9Jaai^" Ԋ29ORI%:XV5]JmN9]H;1UC39NI%Xe78t)a;Oi Ҙ>Xt"~G>_mn:%|~ޅ_+]$o)@ǀ{hgN;IK6G&rp)T2i୦KJuv*T=TOSV>(~D>dm,I*Ɛ:R#ۙNI%D>G.n$o;+#RR!.eU˽TRI28t)1LWϚ>IJa3oFbu&:tJ*(F7y0ZR ^p'Ii L24x| XRI%ۄ>S1]Jy[zL$adB7.eh4%%누>WETf+3IR:I3Xה)3אOۦSRO'ٺ)S}"qOr[B7ϙ.edG)^ETR"RtRݜh0}LFVӦDB^k_JDj\=LS(Iv─aTeZ%eUAM-0;~˃@i|l @S4y72>sX-vA}ϛBI!ݎߨWl*)3{'Y|iSlEڻ(5KtSI$Uv02,~ԩ~x;P4ցCrO%tyn425:KMlD ^4JRxSهF_}شJTS6uj+ﷸk$eZO%G*^V2u3EMj3k%)okI]dT)URKDS 7~m@TJR~荪fT"֛L \sM -0T KfJz+nإKr L&j()[E&I ߴ>e FW_kJR|!O:5/2跌3T-'|zX ryp0JS ~^F>-2< `*%ZFP)bSn"L :)+pʷf(pO3TMW$~>@~ū:TAIsV1}S2<%ޟM?@iT ,Eūoz%i~g|`wS(]oȤ8)$ ntu`өe`6yPl IzMI{ʣzʨ )IZ2= ld:5+請M$-ї;U>_gsY$ÁN5WzWfIZ)-yuXIfp~S*IZdt;t>KūKR|$#LcԀ+2\;kJ`]YǔM1B)UbG"IRߊ<xܾӔJ0Z='Y嵤 Leveg)$znV-º^3Ւof#0Tfk^Zs[*I꯳3{)ˬW4Ւ4 OdpbZRS|*I 55#"&-IvT&/윚Ye:i$ 9{LkuRe[I~_\ؠ%>GL$iY8 9ܕ"S`kS.IlC;Ҏ4x&>u_0JLr<J2(^$5L s=MgV ~,Iju> 7r2)^=G$1:3G< `J3~&IR% 6Tx/rIj3O< ʔ&#f_yXJiގNSz; Tx(i8%#4 ~AS+IjerIUrIj362v885+IjAhK__5X%nV%Iͳ-y|7XV2v4fzo_68"S/I-qbf; LkF)KSM$ Ms>K WNV}^`-큧32ŒVؙGdu,^^m%6~Nn&͓3ŒVZMsRpfEW%IwdǀLm[7W&bIRL@Q|)* i ImsIMmKmyV`i$G+R 0tV'!V)֏28vU7͒vHꦼtxꗞT ;S}7Mf+fIRHNZUkUx5SAJㄌ9MqμAIRi|j5)o*^'<$TwI1hEU^c_j?Е$%d`z cyf,XO IJnTgA UXRD }{H}^S,P5V2\Xx`pZ|Yk:$e ~ @nWL.j+ϝYb퇪bZ BVu)u/IJ_ 1[p.p60bC >|X91P:N\!5qUB}5a5ja `ubcVxYt1N0Zzl4]7­gKj]?4ϻ *[bg$)+À*x쳀ogO$~,5 زUS9 lq3+5mgw@np1sso Ӻ=|N6 /g(Wv7U;zωM=wk,0uTg_`_P`uz?2yI!b`kĸSo+Qx%!\οe|އԁKS-s6pu_(ֿ$i++T8=eY; צP+phxWQv*|p1. ά. XRkIQYP,drZ | B%wP|S5`~́@i޾ E;Չaw{o'Q?%iL{u D?N1BD!owPHReFZ* k_-~{E9b-~P`fE{AܶBJAFO wx6Rox5 K5=WwehS8 (JClJ~ p+Fi;ŗo+:bD#g(C"wA^ r.F8L;dzdIHUX݆ϞXg )IFqem%I4dj&ppT{'{HOx( Rk6^C٫O.)3:s(۳(Z?~ٻ89zmT"PLtw䥈5&b<8GZ-Y&K?e8,`I6e(֍xb83 `rzXj)F=l($Ij 2*(F?h(/9ik:I`m#p3MgLaKjc/U#n5S# m(^)=y=đx8ŬI[U]~SцA4p$-F i(R,7Cx;X=cI>{Km\ o(Tv2vx2qiiDJN,Ҏ!1f 5quBj1!8 rDFd(!WQl,gSkL1Bxg''՞^ǘ;pQ P(c_ IRujg(Wz bs#P­rz> k c&nB=q+ؔXn#r5)co*Ũ+G?7< |PQӣ'G`uOd>%Mctz# Ԫڞ&7CaQ~N'-P.W`Oedp03C!IZcIAMPUۀ5J<\u~+{9(FbbyAeBhOSܳ1 bÈT#ŠyDžs,`5}DC-`̞%r&ڙa87QWWp6e7 Rϫ/oY ꇅ Nܶըtc!LA T7V4Jsū I-0Pxz7QNF_iZgúWkG83 0eWr9 X]㾮݁#Jˢ C}0=3ݱtBi]_ &{{[/o[~ \q鯜00٩|cD3=4B_b RYb$óBRsf&lLX#M*C_L܄:gx)WΘsGSbuL rF$9';\4Ɍq'n[%p.Q`u hNb`eCQyQ|l_C>Lb꟟3hSb #xNxSs^ 88|Mz)}:](vbۢamŖ࿥ 0)Q7@0=?^k(*J}3ibkFn HjB׻NO z x}7p 0tfDX.lwgȔhԾŲ }6g E |LkLZteu+=q\Iv0쮑)QٵpH8/2?Σo>Jvppho~f>%bMM}\//":PTc(v9v!gոQ )UfVG+! 35{=x\2+ki,y$~A1iC6#)vC5^>+gǵ@1Hy٪7u;p psϰu/S <aʸGu'tD1ԝI<pg|6j'p:tպhX{o(7v],*}6a_ wXRk,O]Lܳ~Vo45rp"N5k;m{rZbΦ${#)`(Ŵg,;j%6j.pyYT?}-kBDc3qA`NWQū20/^AZW%NQ MI.X#P#,^Ebc&?XR tAV|Y.1!؅⨉ccww>ivl(JT~ u`ٵDm q)+Ri x/x8cyFO!/*!/&,7<.N,YDŽ&ܑQF1Bz)FPʛ?5d 6`kQձ λc؎%582Y&nD_$Je4>a?! ͨ|ȎWZSsv8 j(I&yj Jb5m?HWp=g}G3#|I,5v珿] H~R3@B[☉9Ox~oMy=J;xUVoj bUsl_35t-(ՃɼRB7U!qc+x4H_Qo֮$[GO<4`&č\GOc[.[*Af%mG/ ňM/r W/Nw~B1U3J?P&Y )`ѓZ1p]^l“W#)lWZilUQu`-m|xĐ,_ƪ|9i:_{*(3Gѧ}UoD+>m_?VPۅ15&}2|/pIOʵ> GZ9cmíتmnz)yߐbD >e}:) r|@R5qVSA10C%E_'^8cR7O;6[eKePGϦX7jb}OTGO^jn*媓7nGMC t,k31Rb (vyܴʭ!iTh8~ZYZp(qsRL ?b}cŨʊGO^!rPJO15MJ[c&~Z`"ѓޔH1C&^|Ш|rʼ,AwĴ?b5)tLU)F| &g٣O]oqSUjy(x<Ϳ3 .FSkoYg2 \_#wj{u'rQ>o;%n|F*O_L"e9umDds?.fuuQbIWz |4\0 sb;OvxOSs; G%T4gFRurj(֍ڑb uԖKDu1MK{1^ q; C=6\8FR艇!%\YÔU| 88m)֓NcLve C6z;o&X x59:q61Z(T7>C?gcļxѐ Z oo-08jہ x,`' ҔOcRlf~`jj".Nv+sM_]Zk g( UOPyεx%pUh2(@il0ݽQXxppx-NS( WO+轾 nFߢ3M<;z)FBZjciu/QoF 7R¥ ZFLF~#ȣߨ^<쩡ݛкvџ))ME>ώx4m#!-m!L;vv#~Y[đKmx9.[,UFS CVkZ +ߟrY٧IZd/ioi$%͝ب_ֶX3ܫhNU ZZgk=]=bbJS[wjU()*I =ώ:}-蹞lUj:1}MWm=̛ _ ¾,8{__m{_PVK^n3esw5ӫh#$-q=A̟> ,^I}P^J$qY~Q[ Xq9{#&T.^GVj__RKpn,b=`żY@^՝;z{paVKkQXj/)y TIc&F;FBG7wg ZZDG!x r_tƢ!}i/V=M/#nB8 XxЫ ^@CR<{䤭YCN)eKOSƟa $&g[i3.C6xrOc8TI;o hH6P&L{@q6[ Gzp^71j(l`J}]e6X☉#͕ ׈$AB1Vjh㭦IRsqFBjwQ_7Xk>y"N=MB0 ,C #o6MRc0|$)ف"1!ixY<B9mx `,tA>)5ػQ?jQ?cn>YZe Tisvh# GMމȇp:ԴVuږ8ɼH]C.5C!UV;F`mbBk LTMvPʍϤj?ԯ/Qr1NB`9s"s TYsz &9S%U԰> {<ؿSMxB|H\3@!U| k']$U+> |HHMLޢ?V9iD!-@x TIî%6Z*9X@HMW#?nN ,oe6?tQwڱ.]-y':mW0#!J82qFjH -`ѓ&M0u Uγmxϵ^-_\])@0Rt.8/?ٰCY]x}=sD3ojަЫNuS%U}ԤwHH>ڗjܷ_3gN q7[q2la*ArǓԖ+p8/RGM ]jacd(JhWko6ڎbj]i5Bj3+3!\j1UZLsLTv8HHmup<>gKMJj0@H%,W΃7R) ">c, xixј^ aܖ>H[i.UIHc U1=yW\=S*GR~)AF=`&2h`DzT󑓶J+?W+}C%P:|0H܆}-<;OC[~o.$~i}~HQ TvXΈr=b}$vizL4:ȰT|4~*!oXQR6Lk+#t/g lԁߖ[Jڶ_N$k*". xsxX7jRVbAAʯKҎU3)zSNN _'s?f)6X!%ssAkʱ>qƷb hg %n ~p1REGMHH=BJiy[<5 ǁJҖgKR*倳e~HUy)Ag,K)`Vw6bRR:qL#\rclK/$sh*$ 6덤 KԖc 3Z9=Ɣ=o>X Ώ"1 )a`SJJ6k(<c e{%kϊP+SL'TcMJWRm ŏ"w)qc ef꒵i?b7b('"2r%~HUS1\<(`1Wx9=8HY9m:X18bgD1u ~|H;K-Uep,, C1 RV.MR5άh,tWO8WC$ XRVsQS]3GJ|12 [vM :k#~tH30Rf-HYݺ-`I9%lIDTm\ S{]9gOڒMNCV\G*2JRŨ;Rҏ^ڽ̱mq1Eu?To3I)y^#jJw^Ńj^vvlB_⋌P4x>0$c>K†Aļ9s_VjTt0l#m>E-,,x,-W)سo&96RE XR.6bXw+)GAEvL)͞K4$p=Ũi_ѱOjb HY/+@θH9޼]Nԥ%n{ &zjT? Ty) s^ULlb,PiTf^<À] 62R^V7)S!nllS6~͝V}-=%* ʻ>G DnK<y&>LPy7'r=Hj 9V`[c"*^8HpcO8bnU`4JȪAƋ#1_\ XϘHPRgik(~G~0DAA_2p|J묭a2\NCr]M_0 ^T%e#vD^%xy-n}-E\3aS%yN!r_{ )sAw ڼp1pEAk~v<:`'ӭ^5 ArXOI驻T (dk)_\ PuA*BY]yB"l\ey hH*tbK)3 IKZ򹞋XjN n *n>k]X_d!ryBH ]*R 0(#'7 %es9??ښFC,ՁQPjARJ\Ρw K#jahgw;2$l*) %Xq5!U᢯6Re] |0[__64ch&_}iL8KEgҎ7 M/\`|.p,~`a=BR?xܐrQ8K XR2M8f ?`sgWS%" Ԉ 7R%$ N}?QL1|-эټwIZ%pvL3Hk>,ImgW7{E xPHx73RA @RS CC !\ȟ5IXR^ZxHл$Q[ŝ40 (>+ _C >BRt<,TrT {O/H+˟Pl6 I B)/VC<6a2~(XwV4gnXR ϱ5ǀHٻ?tw똤Eyxp{#WK qG%5],(0ӈH HZ])ג=K1j&G(FbM@)%I` XRg ʔ KZG(vP,<`[ Kn^ SJRsAʠ5xՅF`0&RbV tx:EaUE/{fi2;.IAwW8/tTxAGOoN?G}l L(n`Zv?pB8K_gI+ܗ #i?ޙ.) p$utc ~DžfՈEo3l/)I-U?aԅ^jxArA ΧX}DmZ@QLےbTXGd.^|xKHR{|ΕW_h] IJ`[G9{).y) 0X YA1]qp?p_k+J*Y@HI>^?gt.06Rn ,` ?);p pSF9ZXLBJPWjgQ|&)7! HjQt<| ؅W5 x W HIzYoVMGP Hjn`+\(dNW)F+IrS[|/a`K|ͻ0Hj{R,Q=\ (F}\WR)AgSG`IsnAR=|8$}G(vC$)s FBJ?]_u XRvύ6z ŨG[36-T9HzpW̞ú Xg큽=7CufzI$)ki^qk-) 0H*N` QZkk]/tnnsI^Gu't=7$ Z;{8^jB% IItRQS7[ϭ3 $_OQJ`7!]W"W,)Iy W AJA;KWG`IY{8k$I$^%9.^(`N|LJ%@$I}ֽp=FB*xN=gI?Q{٥4B)mw $Igc~dZ@G9K X?7)aK%݅K$IZ-`IpC U6$I\0>!9k} Xa IIS0H$I H ?1R.Чj:4~Rw@p$IrA*u}WjWFPJ$I➓/6#! LӾ+ X36x8J |+L;v$Io4301R20M I$-E}@,pS^ޟR[/s¹'0H$IKyfŸfVOπFT*a$I>He~VY/3R/)>d$I>28`Cjw,n@FU*9ttf$I~<;=/4RD~@ X-ѕzἱI$: ԍR a@b X{+Qxuq$IЛzo /~3\8ڒ4BN7$IҀj V]n18H$IYFBj3̵̚ja pp $Is/3R Ӻ-Yj+L;.0ŔI$Av? #!5"aʄj}UKmɽH$IjCYs?h$IDl843.v}m7UiI=&=0Lg0$I4: embe` eQbm0u? $IT!Sƍ'-sv)s#C0:XB2a w I$zbww{."pPzO =Ɔ\[ o($Iaw]`E).Kvi:L*#gР7[$IyGPI=@R 4yR~̮´cg I$I/<tPͽ hDgo 94Z^k盇΄8I56^W$I^0̜N?4*H`237}g+hxoq)SJ@p|` $I%>-hO0eO>\ԣNߌZD6R=K ~n($I$y3D>o4b#px2$yڪtzW~a $I~?x'BwwpH$IZݑnC㧄Pc_9sO gwJ=l1:mKB>Ab<4Lp$Ib o1ZQ@85b̍ S'F,Fe,^I$IjEdù{l4 8Ys_s Z8.x m"+{~?q,Z D!I$ϻ'|XhB)=…']M>5 rgotԎ 獽PH$IjIPhh)n#cÔqA'ug5qwU&rF|1E%I$%]!'3AFD/;Ck_`9 v!ٴtPV;x`'*bQa w I$Ix5 FC3D_~A_#O݆DvV?<qw+I$I{=Z8".#RIYyjǪ=fDl9%M,a8$I$Ywi[7ݍFe$s1ՋBVA?`]#!oz4zjLJo8$I$%@3jAa4(o ;p,,dya=F9ً[LSPH$IJYЉ+3> 5"39aZ<ñh!{TpBGkj}Sp $IlvF.F$I z< '\K*qq.f<2Y!S"-\I$IYwčjF$ w9 \ߪB.1v!Ʊ?+r:^!I$BϹB H"B;L'G[ 4U#5>੐)|#o0aڱ$I>}k&1`U#V?YsV x>{t1[I~D&(I$I/{H0fw"q"y%4 IXyE~M3 8XψL}qE$I[> nD?~sf ]o΁ cT6"?'_Ἣ $I>~.f|'!N?⟩0G KkXZE]ޡ;/&?k OۘH$IRۀwXӨ<7@PnS04aӶp.:@\IWQJ6sS%I$e5ڑv`3:x';wq_vpgHyXZ 3gЂ7{{EuԹn±}$I$8t;b|591nءQ"P6O5i }iR̈́%Q̄p!I䮢]O{H$IRϻ9s֧ a=`- aB\X0"+5"C1Hb?߮3x3&gşggl_hZ^,`5?ߎvĸ%̀M!OZC2#0x LJ0 Gw$I$I}<{Eb+y;iI,`ܚF:5ܛA8-O-|8K7s|#Z8a&><a&/VtbtLʌI$I$I$I$I$I$IRjDD%tEXtdate:create2022-05-31T04:40:26+00:00!Î%tEXtdate:modify2022-05-31T04:40:26+00:00|{2IENDB`Mini Shell

HOME


Mini Shell 1.0
DIR:/usr/lib/python2.7/site-packages/vdo/vdomgmnt/
Upload File :
Current File : //usr/lib/python2.7/site-packages/vdo/vdomgmnt/VDOOperation.pyo
�
.�t_c@s|dZddlmZddlmZddlmZddlmZddlmZddlmZddlmZdd	lm	Z	dd
lm
Z
ddlmZmZm
Z
ddlmZmZmZd
dlmZmZmZd
dlmZmZd
dlmZd
dlZd
dlZd
dlZd
dlZd
dlZd
dlZe �Z!d�Z"d�Z#d�Z$dee%fd��YZ&de'fd��YZ(de(fd��YZ)de(fd��YZ*de(fd��YZ+de(fd ��YZ,d!e(fd"��YZ-d#e(fd$��YZ.d%e(fd&��YZ/d'e(fd(��YZ0d)e(fd*��YZ1d+e(fd,��YZ2d-e(fd.��YZ3d/e(fd0��YZ4d1e(fd2��YZ5d3e(fd4��YZ6d5e(fd6��YZ7d7e7fd8��YZ8d9e7fd:��YZ9d;e7fd<��YZ:d=e7fd>��YZ;ej<d?�Z=d@�Z>dA�Z?e?e@�dS(Bs�
  VDOOperation - an object representing a vdo script command

  $Id: //eng/vdo-releases/magnesium/src/python/vdo/vdomgmnt/VDOOperation.py#9 $
i(t
ArgumentError(tCommandLock(t
Configuration(t	Constants(tDefaults(tMgmntLogger(t
MgmntUtils(tService(tVDOKernelModuleService(t
VDOServicetVDOServiceErrort VDOServicePreviousOperationError(t
ExitStatustSystemExitStatustUserExitStatusi����(tCommandtCommandErrort
runCommand(tTransactiont
transactional(tpartialNcOs�|d}tjj|j�}tjj|�}|jdd�d}tjjtj|�}t	||��|||�SWdQXdS(Nit/t_s.lock(
tostpathtabspathtconfFiletrealpathtreplacetjoinRtLOCK_DIRR(tisExclusivetfunctargstkwargstcommandArgsRtlockFileBasetlockFile((s=/usr/lib/python2.7/site-packages/vdo/vdomgmnt/VDOOperation.pytlock0s
cs�fd�}|S(sDDecorator that locks the configuration for exclusive (write) access.cstt�||�S(N(R&tFalse(R!R"(R (s=/usr/lib/python2.7/site-packages/vdo/vdomgmnt/VDOOperation.pytwrap?s((R R(((R s=/usr/lib/python2.7/site-packages/vdo/vdomgmnt/VDOOperation.pyt
exclusivelock=scs�fd�}|S(s@Decorator that locks the configuration for shared (read) access.cstt�||�S(N(R&R'(R!R"(R (s=/usr/lib/python2.7/site-packages/vdo/vdomgmnt/VDOOperation.pyR(Es((R R(((R s=/usr/lib/python2.7/site-packages/vdo/vdomgmnt/VDOOperation.pyt
sharedlockCstOperationErrorcBs eZdZd�Zd�ZRS(s=Exception raised to indicate an error executing an operation.cOs&tt|�j||�||_dS(N(tsuperR+t__init__t_msg(tselftmsgR!R"((s=/usr/lib/python2.7/site-packages/vdo/vdomgmnt/VDOOperation.pyR-XscCs|jS(N(R.(R/((s=/usr/lib/python2.7/site-packages/vdo/vdomgmnt/VDOOperation.pyt__str__\s(t__name__t
__module__t__doc__R-R1(((s=/usr/lib/python2.7/site-packages/vdo/vdomgmnt/VDOOperation.pyR+Js
	tVDOOperationcBsMeZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	RS(s�Every instance of this class runs one of the subcommands
  requested when 'vdo [<options>] <subcommand>' is called via the
  execute() method.cCsUg}|jr+|j|j�j��n&|j|�|j|j|j��|S(s�Return a list of VDOService objects to be operated on depending
    on the settings of the --name and --all options.
    Arguments:
      args: The arguments passed into vdo.
      conf: The config file
    Raises:
      ArgumentError
    (talltextendt
getAllVdostvaluest
_checkForNametappendtgetVdotname(R/R!tconftservices((s=/usr/lib/python2.7/site-packages/vdo/vdomgmnt/VDOOperation.pytgetVdoServiceshs		
cKs�d}d}|jdt�r3t|j|�}ntj|j�}xG|j||�D]3}y|||�WqXtk
r�}|}qXXqXW|jdt�s�|j�n|dk	r�|�ndS(s�Apply a method to all specified VDOs. An exception applying the method
    to some VDO will not prevent it from being applied to any other VDO,
    however any exception will result in applyToVDOs raising an exception.

    If the 'readonly' keyword argument is False, the configuration will be
    persisted after the method has been applied to all the VDOs (whether or
    not it succeeded for any of them).

    Arguments:
      args (dict):       The command line arguments
      method (callable): The method to call on each VDO; will be called as
                         method(args, vdo)
      kwargs:            Keyword args controlling what gets returned
                          and to use when making the Configuration
    treadonlyN(	tNonetgettTrueRRtmodifiableSingletonR@t	Exceptiontpersist(R/R!tmethodR"t	exceptionR>tvdotex((s=/usr/lib/python2.7/site-packages/vdo/vdomgmnt/VDOOperation.pytapplyToVDOszs
cCs,|jjtd�j|j��t�dS(s!Execute this operation. This method should be overridden by operation
    classes, and is intended only to be called from within the run() method
    below.

    Arguments:
      unused_args (dict): The command line arguments (used by subclasses)
    Raises:
      NotImplementedError
    s{0} unimplementedN(tlogterrorRtformatR=tNotImplementedError(R/tunused_args((s=/usr/lib/python2.7/site-packages/vdo/vdomgmnt/VDOOperation.pytexecute�s
"cCs�|jrHtj�dkrHtd�j|j�}t|dt��n|jr�xSdddgD]?}t	j
|�satd�j|�}t|dt��qaqaWn|jr�t
j�r�td�j|j�}t|dt��nd	S(
s�Perform checks prior to actually executing the command.

    Arguments:
      args (dict): The command line arguments (used by subclasses)
    Raises:
      OperationError
    is)You must be root to use the "{0}" commandt
exitStatust
vdodumpconfigtvdoforcerebuildt	vdoformats#executable '{0}' not found in $PATHs&{0} command not available with --noRunN(trequiresRootRtgetuidRROR=R+Rt
checkBinariesRtwhichR
trequiresRunModeRt	noRunMode(R/R!R0t
executable((s=/usr/lib/python2.7/site-packages/vdo/vdomgmnt/VDOOperation.pyt	preflight�s	
cCsNtj|_y|j|_Wntk
r/nX|j|�|j|�dS(s�Run this operation. This is the external entry point for users of
    VDOOperation.

    Arguments:
      args (dict): The command line arguments
    N(RRtKeyErrorR^RR(R/R!((s=/usr/lib/python2.7/site-packages/vdo/vdomgmnt/VDOOperation.pytrun�s

cKs�tjddt|�j�}|dj�|d|_tjtjd�|_	|j
dt�|_|j
dt
�|_|j
dt
�|_|t|j<dS(	Ns
Operation$tiis.VDOOperationsRWRYR[(tretsubttypeR2tlowerR=Rt	getLoggertmynameRMRCRDRWR'RYR[t
vdoOperations(R/R"R=((s=/usr/lib/python2.7/site-packages/vdo/vdomgmnt/VDOOperation.pyR-�s
cCs=|jdks$|jj�dkr9ttd���ndS(s|Check that the args contain a non-None name.
    Arguments:
      args: the args passed
    Raises:
      ArgumentError
    Ras"Missing required argument '--name'N(R=RBtstripRR(R/R!((s=/usr/lib/python2.7/site-packages/vdo/vdomgmnt/VDOOperation.pyR:�s$(
R2R3R4R@RLRRR^R`R-R:(((s=/usr/lib/python2.7/site-packages/vdo/vdomgmnt/VDOOperation.pyR5`s		$				
tActivateOperationcBs/eZdZd�Zed��Zd�ZRS(s Implements the activate command.cCstt|�j�dS(N(R,RjR-(R/((s=/usr/lib/python2.7/site-packages/vdo/vdomgmnt/VDOOperation.pyR-�scCs|j||jdt�dS(NRA(RLt	_activateR'(R/R!((s=/usr/lib/python2.7/site-packages/vdo/vdomgmnt/VDOOperation.pyRR�scCs|j�dS(N(tactivate(R/R!RJ((s=/usr/lib/python2.7/site-packages/vdo/vdomgmnt/VDOOperation.pyRks(R2R3R4R-R)RRRk(((s=/usr/lib/python2.7/site-packages/vdo/vdomgmnt/VDOOperation.pyRj�s	tChangeWritePolicyOperationcBs/eZdZd�Zed��Zd�ZRS(s)Implements the changeWritePolicy command.cCstt|�j�dS(N(R,RmR-(R/((s=/usr/lib/python2.7/site-packages/vdo/vdomgmnt/VDOOperation.pyR-
scCsBt|d�|_|jdkr%dS|j||jdt�dS(NtwritePolicyRA(tgetattrt_newWritePolicyRBRLt_changeWritePolicyR'(R/R!((s=/usr/lib/python2.7/site-packages/vdo/vdomgmnt/VDOOperation.pyRRscCs|j|j�dS(N(tsetWritePolicyRp(R/R!RJ((s=/usr/lib/python2.7/site-packages/vdo/vdomgmnt/VDOOperation.pyRqs(R2R3R4R-R)RRRq(((s=/usr/lib/python2.7/site-packages/vdo/vdomgmnt/VDOOperation.pyRms	
tCreateOperationcBs5eZdZd�Zd�Zeed���ZRS(sImplements the create command.cCstt|�jdt�dS(NRY(R,RsR-RD(R/((s=/usr/lib/python2.7/site-packages/vdo/vdomgmnt/VDOOperation.pyR-%scCsVtt|�j|�|js4ttd���n|jsRttd���ndS(Ns"Missing required argument '--name's$Missing required argument '--device'(R,RsR^R=RRtdevice(R/R!((s=/usr/lib/python2.7/site-packages/vdo/vdomgmnt/VDOOperation.pyR^)s
		cCs�tj|j�}t|�j�}|d}|d=t|j||�}tj�}|j	|j
�|j|j�|j
�|j�dS(NR=(RRERtvarstcopyR	R=RttransactiontcreatetforcetaddUndoStagetremoveRGt
announceReady(R/R!R>targsDictR=RJRw((s=/usr/lib/python2.7/site-packages/vdo/vdomgmnt/VDOOperation.pyRR3s

(R2R3R4R-R^R)RRR(((s=/usr/lib/python2.7/site-packages/vdo/vdomgmnt/VDOOperation.pyRss
		
tDeactivateOperationcBs/eZdZd�Zed��Zd�ZRS(s"Implements the deactivate command.cCstt|�j�dS(N(R,R~R-(R/((s=/usr/lib/python2.7/site-packages/vdo/vdomgmnt/VDOOperation.pyR-MscCs|j||jdt�dS(NRA(RLt_deactivateR'(R/R!((s=/usr/lib/python2.7/site-packages/vdo/vdomgmnt/VDOOperation.pyRRQscCs|j�dS(N(t
deactivate(R/R!RJ((s=/usr/lib/python2.7/site-packages/vdo/vdomgmnt/VDOOperation.pyRXs(R2R3R4R-R)RRR(((s=/usr/lib/python2.7/site-packages/vdo/vdomgmnt/VDOOperation.pyR~Gs	tGrowLogicalOperationcBs&eZdZd�Zed��ZRS(s#Implements the growLogical command.cCstt|�j�dS(N(R,R�R-(R/((s=/usr/lib/python2.7/site-packages/vdo/vdomgmnt/VDOOperation.pyR-bscCsOtj|j�}|j|�|j|j�}|j|j�|j�dS(N(	RRERR:R<R=tgrowLogicaltvdoLogicalSizeRG(R/R!R>RJ((s=/usr/lib/python2.7/site-packages/vdo/vdomgmnt/VDOOperation.pyRRfs

(R2R3R4R-R)RR(((s=/usr/lib/python2.7/site-packages/vdo/vdomgmnt/VDOOperation.pyR�\s	tGrowPhysicalOperationcBs&eZdZd�Zed��ZRS(s$Implements the growPhysical command.cCstt|�j�dS(N(R,R�R-(R/((s=/usr/lib/python2.7/site-packages/vdo/vdomgmnt/VDOOperation.pyR-vscCsItj|j�}|j|�|j|j�}|j�|j�dS(N(RRERR:R<R=tgrowPhysicalRG(R/R!R>RJ((s=/usr/lib/python2.7/site-packages/vdo/vdomgmnt/VDOOperation.pyRRzs


(R2R3R4R-R)RR(((s=/usr/lib/python2.7/site-packages/vdo/vdomgmnt/VDOOperation.pyR�ps	t
ListOperationcBs eZdZd�Zd�ZRS(sImplements the list command.cCstt|�j�dS(N(R,R�R-(R/((s=/usr/lib/python2.7/site-packages/vdo/vdomgmnt/VDOOperation.pyR-�scCs�t�}x^tddgdt�j�D]>}tjdtj|�}|r(|j|j	d��q(q(W|j
r�t|j�}|t|j
�j��O}nt|�}|j�tjj|�GHdS(NtdmsetuptstatustnoThrows(.+?): \d \d+ i(tsetRRDt
splitlinesRbtmatchRt
vdoTargetNametaddtgroupR6RRR8tkeystlisttsortRtlinesepR(R/R!tvdostlinetmR>((s=/usr/lib/python2.7/site-packages/vdo/vdomgmnt/VDOOperation.pyRR�s	%	
(R2R3R4R-RR(((s=/usr/lib/python2.7/site-packages/vdo/vdomgmnt/VDOOperation.pyR��s	tModifyOperationcBs8eZdZd�Zed��Zd�Zd�ZRS(sImplements the modify command.cCstt|�j�dS(N(R,R�R-(R/((s=/usr/lib/python2.7/site-packages/vdo/vdomgmnt/VDOOperation.pyR-�scCs|j||jdt�dS(NRA(RLt
_modifyVDOR'(R/R!((s=/usr/lib/python2.7/site-packages/vdo/vdomgmnt/VDOOperation.pyRR�scCs'tt|�j|�tj|�dS(N(R,R�R^R	tvalidateModifiableOptions(R/R!((s=/usr/lib/python2.7/site-packages/vdo/vdomgmnt/VDOOperation.pyR^�scCs|j|�dS(N(tsetModifiableOptions(R/R!RJ((s=/usr/lib/python2.7/site-packages/vdo/vdomgmnt/VDOOperation.pyR��s(R2R3R4R-R)RRR^R�(((s=/usr/lib/python2.7/site-packages/vdo/vdomgmnt/VDOOperation.pyR��s
			tPrintConfigFileOperationcBs&eZdZd�Zed��ZRS(s'Implements the printConfigFile command.cCs#tt|�jdtdt�dS(NRWR[(R,R�R-R'RD(R/((s=/usr/lib/python2.7/site-packages/vdo/vdomgmnt/VDOOperation.pyR-�scCs$t|jdt�}|j�GHdS(Nt	mustExist(RRRDt
asYAMLForUser(R/R!R>((s=/usr/lib/python2.7/site-packages/vdo/vdomgmnt/VDOOperation.pyRR�s(R2R3R4R-R*RR(((s=/usr/lib/python2.7/site-packages/vdo/vdomgmnt/VDOOperation.pyR��s	tRemoveOperationcBs/eZdZd�Zed��Zd�ZRS(sImplements the remove command.cCstt|�j�dS(N(R,R�R-(R/((s=/usr/lib/python2.7/site-packages/vdo/vdomgmnt/VDOOperation.pyR-�scCs|j||jdt�dS(sImplements the remove command.RAN(RLt
_removeVDOR'(R/R!((s=/usr/lib/python2.7/site-packages/vdo/vdomgmnt/VDOOperation.pyRR�scCsmg}y|j|jd|�WnFtk
rhtd�GHtd�GHtd�GHtjj|�GH�nXdS(NtremoveStepssA previous operation failed.s;Recovery from the failure either failed or was interrupted.s;Add '--force' to 'remove' to perform the following cleanup.(R{RyRRRR�R(R/R!RJR�((s=/usr/lib/python2.7/site-packages/vdo/vdomgmnt/VDOOperation.pyR��s
(R2R3R4R-R)RRR�(((s=/usr/lib/python2.7/site-packages/vdo/vdomgmnt/VDOOperation.pyR��s	tStartOperationcBs5eZdZd�Zed��Zed��ZRS(sImplements the start command.cCstt|�jdt�dS(NRY(R,R�R-RD(R/((s=/usr/lib/python2.7/site-packages/vdo/vdomgmnt/VDOOperation.pyR-�scCs|j||jdt�dS(NRA(RLt	_startVDOR'(R/R!((s=/usr/lib/python2.7/site-packages/vdo/vdomgmnt/VDOOperation.pyRR�scCs!|j|j�|jt�dS(N(tstarttforceRebuildR|R'(R/R!RJ((s=/usr/lib/python2.7/site-packages/vdo/vdomgmnt/VDOOperation.pyR��s(R2R3R4R-R)RRRR�(((s=/usr/lib/python2.7/site-packages/vdo/vdomgmnt/VDOOperation.pyR��s	tStatusOperationcBs&eZdZd�Zed��ZRS(sImplements the status command.cCs)tt|�jdtdtdt�dS(NRWRYR[(R,R�R-R'RD(R/((s=/usr/lib/python2.7/site-packages/vdo/vdomgmnt/VDOOperation.pyR-
scCs0t|jdt�}|js*t|_ny�i}i|td�6}tddgdtdt�|td�<tdd	gdtdt�|td
�<tj	�dkr�tdd
�|td�<nit
�j�td�6}i|j�td�6}i}i|td�6}x`|j||�D]L}	y|	j�||	j
�<Wq&tk
rq}
t|
�||	j
�<q&Xq&Wtj|dt�d GHtj|dt�d GHtj|dt�d GHtj|dtdtd��d GHtjj�tjj�Wn,tk
r+}
|jjdj|
��nXdS(NRAs
VDO statustunames-nR�RitNodetdates--rfc-3339=secondstDateisNot running as root,s some status may be unavailabletNotes
Kernel moduleRtVDOstdefault_flow_stylei����twidthtinfsexception ignored: {0}(RRR'R=RDR6RRRRXRR�R@tgetNameR
tstrtyamlt	safe_dumptfloattsyststdouttflushtstderrtIOErrorRMtdebugRO(R/R!R>R9t	vdoStatustkernelStatust
confStatusR�tperVdoStatusRJRK((s=/usr/lib/python2.7/site-packages/vdo/vdomgmnt/VDOOperation.pyRRs<	(
(R2R3R4R-R)RR(((s=/usr/lib/python2.7/site-packages/vdo/vdomgmnt/VDOOperation.pyR�s	t
StopOperationcBs/eZdZd�Zed��Zd�ZRS(sImplements the stop command.cCstt|�j�dS(N(R,R�R-(R/((s=/usr/lib/python2.7/site-packages/vdo/vdomgmnt/VDOOperation.pyR-EscCs|j||jdt�dS(NRA(RLt_stopVDOR'(R/R!((s=/usr/lib/python2.7/site-packages/vdo/vdomgmnt/VDOOperation.pyRRIscCs|j|j�dS(N(tstopRy(R/R!RJ((s=/usr/lib/python2.7/site-packages/vdo/vdomgmnt/VDOOperation.pyR�Ps(R2R3R4R-R)RRR�(((s=/usr/lib/python2.7/site-packages/vdo/vdomgmnt/VDOOperation.pyR�?s	tVersionOperationcBs eZdZd�Zd�ZRS(sImplements the version command.cCstt|�j�dS(N(R,R�R-(R/((s=/usr/lib/python2.7/site-packages/vdo/vdomgmnt/VDOOperation.pyR-ZscCs"t�}|j�|j�GHdS(N(RR�tversion(R/RQtkms((s=/usr/lib/python2.7/site-packages/vdo/vdomgmnt/VDOOperation.pyRR^s	
(R2R3R4R-RR(((s=/usr/lib/python2.7/site-packages/vdo/vdomgmnt/VDOOperation.pyR�Ts	tOptionTogglecBs2eZdZed�Zed��Zd�ZRS(sCBase class for operations which either enable or disable an option.cCs/tt|�jd|�||_||_dS(NRY(R,R�R-t_enablet_optionName(R/tenablet
optionNameRY((s=/usr/lib/python2.7/site-packages/vdo/vdomgmnt/VDOOperation.pyR-js	cCs|j||jdt�dS(NRA(RLt
_configureR'(R/R!((s=/usr/lib/python2.7/site-packages/vdo/vdomgmnt/VDOOperation.pyRRpscCs,|jjtd�j|j��t�dS(slActually update the configuration for this operation. This method must
    be overridden by derived classes.s{0} unimplementedN(RMRNRROR=RP(R/R!RJ((s=/usr/lib/python2.7/site-packages/vdo/vdomgmnt/VDOOperation.pyR�ws"(R2R3R4R'R-R)RRR�(((s=/usr/lib/python2.7/site-packages/vdo/vdomgmnt/VDOOperation.pyR�dstDisableCompressionOperationcBs eZdZd�Zd�ZRS(s*Implements the disableCompression command.cCstt|�jtd�dS(Ntcompression(R,R�R-R'(R/((s=/usr/lib/python2.7/site-packages/vdo/vdomgmnt/VDOOperation.pyR-�scCs|jt�dS(N(tsetCompressionR'(R/R!RJ((s=/usr/lib/python2.7/site-packages/vdo/vdomgmnt/VDOOperation.pyR��s(R2R3R4R-R�(((s=/usr/lib/python2.7/site-packages/vdo/vdomgmnt/VDOOperation.pyR�~s	tDisableDeduplicationOperationcBs eZdZd�Zd�ZRS(s-Implements the disable deduplication command.cCstt|�jtd�dS(Nt
deduplication(R,R�R-R'(R/((s=/usr/lib/python2.7/site-packages/vdo/vdomgmnt/VDOOperation.pyR-�scCs|jt�dS(N(tsetDeduplicationR'(R/R!RJ((s=/usr/lib/python2.7/site-packages/vdo/vdomgmnt/VDOOperation.pyR��s(R2R3R4R-R�(((s=/usr/lib/python2.7/site-packages/vdo/vdomgmnt/VDOOperation.pyR��s	tEnableCompressionOperationcBs eZdZd�Zd�ZRS(s)Implements the enableCompression command.cCstt|�jtd�dS(NR�(R,R�R-RD(R/((s=/usr/lib/python2.7/site-packages/vdo/vdomgmnt/VDOOperation.pyR-�scCs|jt�dS(N(R�RD(R/R!RJ((s=/usr/lib/python2.7/site-packages/vdo/vdomgmnt/VDOOperation.pyR��s(R2R3R4R-R�(((s=/usr/lib/python2.7/site-packages/vdo/vdomgmnt/VDOOperation.pyR��s	tEnableDeduplicationOperationcBs eZdZd�Zd�ZRS(s+Implements the enableDeduplication command.cCs#tt|�jtddt�dS(NR�RY(R,R�R-RD(R/((s=/usr/lib/python2.7/site-packages/vdo/vdomgmnt/VDOOperation.pyR-�scCs|jt�dS(N(R�RD(R/R!RJ((s=/usr/lib/python2.7/site-packages/vdo/vdomgmnt/VDOOperation.pyR��s(R2R3R4R-R�(((s=/usr/lib/python2.7/site-packages/vdo/vdomgmnt/VDOOperation.pyR��s	s^[A-Z].*Operation$cCs.tj|�o-|jdko-tj|j�S(NR5(tinspecttisclassR2toperationRER�(tmember((s=/usr/lib/python2.7/site-packages/vdo/vdomgmnt/VDOOperation.pyt_isOperation�scCs3x,tjtj|t�D]}|d�qWdS(Ni(R�t
getmembersR�tmodulesR�(t
moduleNamet	operation((s=/usr/lib/python2.7/site-packages/vdo/vdomgmnt/VDOOperation.pytmakeOperations�s (AR4RaRRRRRRRRRR	R
RRR
RtutilsRRRRRt	functoolsRR�t__main__tmainRRbR�R�tdictRhR&R)R*RFR+tobjectR5RjRmRsR~R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�tcompileR�R�R�R2(((s=/usr/lib/python2.7/site-packages/vdo/vdomgmnt/VDOOperation.pyt<module>sb		
		�(;