From 1ee99f2fb270b298ba2bfe535164ef4ffc635b0d Mon Sep 17 00:00:00 2001 From: "James E. Blair" Date: Thu, 8 Jul 2021 13:45:55 -0700 Subject: [PATCH] Always report the build page Now that the Zuul web server and database are both required, provide a consistent user experience by always reporting the build page. This means that success-url and failure-url are no longer useful, so remove them. Update the quick-start to reflect that the build page is always reported. Change-Id: I4ff108df3917c9b6f44e2f5b0ccc4a7adbda1677 --- doc/source/images/check1-1002.png | Bin 36136 -> 30534 bytes doc/source/images/check2-1002.png | Bin 50920 -> 51957 bytes doc/source/reference/drivers/mqtt.rst | 5 +- doc/source/reference/job_def.rst | 19 ------ doc/source/reference/tenants.rst | 15 ---- doc/source/tutorials/quick-start.rst | 19 ++++-- playbooks/tutorial/quick-start.yaml | 25 +++++-- ...tt-report-build-page-1780225ca98c7457.yaml | 4 +- .../remove-build-page-8d6acda308d513f1.yaml | 24 +++++++ .../report-build-page-2-49088c2b0a36e1b7.yaml | 2 +- .../ansible/git/common-config/zuul.yaml | 7 -- tests/fixtures/config/build-page/main.yaml | 2 - .../data-return/git/common-config/zuul.yaml | 1 - .../git/common-config/playbooks/test.yaml | 2 - .../git/common-config/zuul.d/config.yaml | 45 ------------ .../git/org_project/README | 1 - .../mqtt-driver-report-build-page/main.yaml | 9 --- .../playbooks/docs-draft-test.yaml | 2 - .../playbooks/docs-draft-test2.yaml | 2 - .../success-url/git/common-config/zuul.yaml | 38 ----------- .../config/success-url/git/org_docs/README | 1 - tests/fixtures/config/success-url/main.yaml | 8 --- tests/fixtures/layouts/timer-smtp.yaml | 2 - tests/unit/test_connection.py | 55 ++------------- tests/unit/test_scheduler.py | 64 ++++-------------- tests/unit/test_v3.py | 59 +++++++--------- tests/unit/test_web.py | 10 +-- zuul/configloader.py | 7 +- zuul/model.py | 59 ++-------------- 29 files changed, 115 insertions(+), 372 deletions(-) create mode 100644 releasenotes/notes/remove-build-page-8d6acda308d513f1.yaml delete mode 100644 tests/fixtures/config/mqtt-driver-report-build-page/git/common-config/playbooks/test.yaml delete mode 100644 tests/fixtures/config/mqtt-driver-report-build-page/git/common-config/zuul.d/config.yaml delete mode 100644 tests/fixtures/config/mqtt-driver-report-build-page/git/org_project/README delete mode 100644 tests/fixtures/config/mqtt-driver-report-build-page/main.yaml delete mode 100644 tests/fixtures/config/success-url/git/common-config/playbooks/docs-draft-test.yaml delete mode 100644 tests/fixtures/config/success-url/git/common-config/playbooks/docs-draft-test2.yaml delete mode 100644 tests/fixtures/config/success-url/git/common-config/zuul.yaml delete mode 100644 tests/fixtures/config/success-url/git/org_docs/README delete mode 100644 tests/fixtures/config/success-url/main.yaml diff --git a/doc/source/images/check1-1002.png b/doc/source/images/check1-1002.png index 7230b55d69dab6abbd0c2187677150e2c05bd053..710a00a168366a4dd9e003ab5104a12da2b9d74e 100644 GIT binary patch literal 30534 zcmeFYbyS>7)-U`JNFWd_KnM^dNN{(TV2!&=kj9gFa^?Jc0i5 z0#9=R;02MZk{U!o&xy#!&f3V-0!##Pu>li-olT7Zzn^?FUw z+!R>S<8^o;u*xgfTY|C8+v09XeV%r_|7yy`qxsOw_oLIV(EMfko1A9ft^F<@vQ0&W z0QZduT_lQonKUU+gp@oMI;kxFW?ivsH-;z21st8$Dp;Pv>nGEwxl!lla^Lo9iEVz| zd^jII)FqJJ_gg)LX~$TxHm<%XxxKTsw7vVD6nfF9+1|KWRjw}+A4;rj}GzMvj*RcD|_1QI47QQb%l3J0o3;TrE7U;x2q}6ck2Qdu6;Rctu*@q zSi616J~Zv&C$hy)!XW&|xx6s<&Ucr?wzNbu$qdwZiMEYj)My*+`%iLt1hDBW+?&m4 zdp%JF{J+(geNz%3a+DxC!z42X1#nPZN2F(ej)B!JV@J& z(yk7SQoMtSmw%_G>>qp^p1(F?ku^D`VLetE%;vUTRkKtNA#bJ>$!FOnPG>SS8_k!l z4>TJ|vtN@Z>SntROEdV&83$oHUOVW0YG2&YmtRoSWVnrMj=OCz8Sj8G{-J$isNTX^ z|AJQYV&)|CJynwH+_qRqvh4=hq*d)%^?Zp|25HT+Yact;QWY-+(rgn{#s;*4V!$uD5VH&p~M;}|+ z)u=KS*j@@f2LG3>tn;)vu_hiu0rBWHuK7!5wkyc)<09RKmN_K6Lk91)zohuQW?0+M ziPS4ET41YDucKXTtw&okS2Um;zaBKj9}#f3E@o9OEuiMSns)n4&Vje=D5_7dm0m!& zF+Q97;23YV^2xK?)l%G|qI0*pQ{Y!_akTYJ-v+4b#k9ag%+SnKhK|kG`i&?jo-Cc6 zw%ic6gc(u|aAy0nn3(C@kKY>{Kf#qVB2*_YVzYF$g~+p}&#QH#Hzs6C(O4)=7{xMn z6oOSI6+UeG2q19^<`=T98-!TrY*kn?7@=BRs*s(DT0eXKL^h826`KPlEs{XR!Ry{( zN&$4sH448lf|FHBK0WfKsu;JRV7p=byuKe3tSZ7iob!Dv1LysI?nS=2d40T0nj2BiR*#14 z>rw^_T9eOW2E1X}O^Q;VscY7}IMfEU6ZOUPf7Clp#@Y0uj0*a^TO(U98J892Xn#e{Rnc3uYe%92uU|L}QUdls0P)hS{Dj7siIzf88;PhPzh{Sfv&0+|!XSkY*N zbgUA+PU*d&l@DeU145M0m)@6#O4Sp=6cd$7-*HyeUgKP3bf$Kc38YH=B&P6EmwUHO zhwMiCQ9=bz1p&SFfSU1;Hh9tc)MS#U5DAQmD*5t_zHE1#sW&bXZf;o;!o~=_|1uNn z+s0hl^rW>qlH?agr}}5ai(e672*y=Gs5c*a-C!bwGEplO>cj;^(uD{^k_FHX+ zeu%vNiqar>8tovC)j3d_#u(Za{;)r~OFC+*Fa%)!Q|!69p) zxFr+P7t(VU&$7pvGQ3|so=JS9QDX(G$;J-=2M%T_|A+WoG|X5y@5P*WjIiJ4;PE6qe0Q^x$!e3K&-oKMgKYO zIS~z;B%4JkO%cx7o4hT%LKl1Oc+{GOCjAI+Z^x^ldnvlo^DJ@ucG3MX3||F!IpaD@ z^cjM2@#Ge~FrF^E5mf8}&GbuZVF&J_GKSH@xahV~<0*6olAKjUO^*$$S)TpW5aZ9c z`~l7|9R5!b$~sPPy+(N6yyYb7|6=94h9iNEE+1a>op=J)Oe09?CqmoA`koK1@F$yL z@ed?pcQun~=Xv1vn7Hd~-VO0rvv>GUCq)kdCGY z>eyP(1=VIFYao)(5Y`gPRNtF2&x!gkj#Ec-Y{pe`_)YBj-RF~k*VdwQOLdm)^dA;= zeVsIEiXIwTL>5((e2+^-sQvYemrh$cMlhPF8j}#u^Wb*+ekAMflDaQ^VFjX1UOv-g z{Yrc4Dm$dR>Ovygi1c=;QP=5K(KWTjN~EokF@OBK*Mw1}EIC?saz~>d7a@H4-qXjJnXyj`$5rU*wxNqBgJ4bm&`5BnMNT23vz&XceUFPpHh%Bi*`a9^QZ`20eF_Z9s!FGpC(75vCNSvHR* z4h3&e!tQMkzLrt4U8whmRG(00`BBzz(06ZHnVLws1__P`N8PfvL%XU#0w zW%C8^TksWiWfG=wA{u)&9A{f7pYP`LUJFZ7;xE>_qmHOF^&|If9WuM78BdY$xi2%c zW?#LOuHY#lhkZ|Kp913NVh~VT%@$4Cl(i{t3o<=2#@&J?{c@7ZWmSGxH(qYaKSW_a z(x`h2C*53k+Ur_JpHDB>P&ral$f`|5M?HVUda)`vxJ|Ixp@xO=d7SbN!Adk+Nz0M_ z7l!u7CYhh%9$!`+-QnKI1zak?b>fp)GP)V;?1t9f&7!6V>8jloiqXX~Jt?A6g7ME8 zFRgeUfhLsY!h*P*GU9v|)+1_$`l8%vG-&FjZ&qt4IGjO>ps5Xh-(LQG_^Lo_ydTVs zU-Mwti`5m4tz_&UB%e_Pc>9+S)GiT7lTKZoVc=19ZQtTBQFBHmA2ii58#-JZRW7&W zL{Y?HS(LOM5A7ew#T39kP<~`o=w^ETlQf#1w*MVo7d1=(v48+ez*PaBSzX2eRznIo zMka*?fH>J_nw8yJcISU~0B1L)c){$G??fOxT?_1n;E3#PP$yYCo}Qm}Guy6^X%}qw zW4W@i>-%xa&#hANB{4kHZh6`6BTuaU3;wma|HnFECYzQeoNY7}9}@37Y@#R|{}A<-k8SG--|O{cD67I8GnD@@xS zxg;8Y3EK%O%rv1~EDZ;S+Eb+X*AbZ5Vy#s_est?kwsxwk!mA3R-2%4u_6m^jmk+U+ z8Xe9y3!zRI1Wt!Qnmjmuk`=|I&eBK$1hon1?@JKgeu9Au4~qj2NGRYot?m-QG%au5Z!O!Onpk*=AhpNSvX{Lz;nmerqh;B)O&<( zq>y{)qHL8#*82yuO;*hv9`c9l$WvF%Abgl`%O5LsMU-wW>nIGDhCSJP5`ytUWe5!^ zqwMP+?=@4MCU=XfLdW5WB(<}wy+6PIP$@iX&UbjQy|=&2Ty*aVn48#TO5J~*1OU_^ zQ)uj_CN0HfU~NgKXK1YtrgOHmfyQdimozB2Cn7?oQA~we26^GTu=Z@Fhq~Y+0w$wp39k+_%|*W^!c%v zo|x!23B;V2SWQ}v=)JWan23drg^qz%#M#u5iI@+Oh{w**h)Y3O^iK%r8!xd51Y*NQ zPw(X9MCZgzXKiOp&&bKiNzcGU&%{IvrJ%KUv4ZG1(^}b+JVN||Aq=)RursxRm|9yA zJ!0zVTRT8_iHV{0M1O)qYYjx4p@n}o@c8~4-X3B|4}!k1K*s|mpl4!W;Gkt-qGjTw z|0_SVR$BV++*bB~N)akgdS^WwdPX`1dP~cH;;@H^IR2x(f5~C51P!6-6~Ok^4t54$ z5l65UgygS{+E_T)|FumAd+=k??|xet8qq^L^}FT2@`!?idnhvFKhZ->js7t~|1_S*n*Y%eXmfwZ|0n9d$?JDt ze#@0h*xJD1u~CpPFY#l4xeTohObxkyKQbCHv9U2Q>d`W>GqcmOursjHax$?R(lW3Z zG8=&z7>pPh4F3WJva*NhSs8#Ip`hS&rcfL`Hhm68R(5t;0|s^mS{4p48?8PQhd!+# z8@mxR2cteCBRlh7AY|=Kp({bp;;+4WgffIeF)=VRfY}WgX$?8p3}{&ljTmV44A_il z*}(cNteko*dPe#zzo8!IflE*h#7oRX$MBC5ISW0Ak+q#AFR_%Vm4ov?DwIqu!HN*Q zN1-vYF|jdoGBPl;v9PhTF>wBaNCj+X4^{FOHOvDDv-e=vcVk+ky2U)^97 z2EQ496N3#O*V~^fPDsy~{`V^n{l6prA4rNO)=pOcXE^^L{X2@F9mL7n&Ro_`R^JS4 z0QvVg|BCqUND9!s&K_dt0{Y(!>VKi*`9odBp}f|1E`MoX5p4U%+aDW}h3Rim5fS~~ z1i17J{t&;to+J1VU4_c=k17KbJu71{bhrI;sr{|o^k1kkGdr7}Av4&3)<9p6nU+PL zosE_Q%*jN{$iiR*1~W4-=yU#|D}P6~w>E+}>Dhq=jiEXKooDFM`aRD?6u-5P^0zwt zo!ZF+4Al`@26iq62I4=amxzb{aYOyv@OU1#9BFB;zY2ioaZBO?J!+n!gN==aDcJ6x z1@kvW`TwE&3;&-=`M+cTE7>31@2zcIpo`W7BI{)JZ=3%YgnuANnHqqt?5+P@*Z)fL zhgkk%cc6X#qYP@#pyrYO@AmOewSWrw|K;aTb^CwW1QF4H8~Kmq`(JVWS6u&*1pXu9 z|7zEN#q}Ra;6Eb%uXg=k6Bpt?B5be~)X{T-#?LG|%(2ke`?-y{x;+3OVLbl90P%^h zp@r}ekhBQ=Iy@>iIvP8UnF;_90U%*PCFi-lMF%y^c|7=EPHbu)whs=TJ!h21tk*0n z!`MUFYk0MzT!tjKr(z*5k*TRr7c&#TxJ>9h*4C&~a({5+;!LnO8^F9N<$f`+NAq)a z6&B&G51P=Hbt+6tBBy;RF`5vx;66S>EL5TN)gLeKq?CRWearp*&LIEDfuNWENQu@a z?E5cDuZKzV3uh|Z3VA*X5D|f3K!|XkR_J}zZB5kz{@^@FVTJ{8t_!QUf8N$#RAfdj^s#QeTO?h;QNeDWYi# zAig{U^K{ef8?v{n_J#`Mriv)2Bjz0)C$qAewfWwZuCA~8=PFx{3lvXJPhTxPaCtW{ zO3KPwO9)Js%s~>J+<0S>Wpmj{FYa+e2W#v!KN2aMFJIxx>ef@! zMQz6Ofj2iPRV|6;=8ciA2U@cgKhFn1h&+&UPoXS|NSf)&4o5+Rw-Zys%29E~3$q&Y zeWffVrA)<%%4+dA(KJOg@Nnp^tG?Obn9PQ+QRRv4r35QuFL6dG2j5Zc{yf>7f4In3 z5q~1sNxS!e*o!r~zsuPvc-lE7ol?dH9ZD6gJh(Iah*JxO5-m2SM{+20%oNU7pTAHH z%5BkQ;CtMPp_sdDLLp(#>b)N3j{8r6_Oo83feiHPkJJ)oyzH~yrsn9f(a{O7mI16qb)6dpP z>f!WqH6@q#-Fg^bxGBd0AfGw;3Z4hyMvE#+u4ZfdU`bN<4IrR)yB%2a&_5wz%POhr zF;w$a9_^>o{l;z-Q(dA}ciO6`qg*Boz<)T{Sph>>?xLU(qOEi(jreV)#>lOD5v{Ca zvrL!j^$xzDbn*nq7ZGR+y!5;G6qJvn3H(}p7WUkr-X!yqj^kH3E+8X)rSQFH_$A=d>5l`fI_j6+~I+PEmPR=C|^`a|SaA{DyJ z`<&KD(K#vwXqR#A4+|fHW}c*djX4vzkk@{S8f#sbf(pc{NVzaWhU@qcm-+C&p}vLz zymh+;pc*J{ejy(KVnlvJi+~6NfUi2iE}c^ziC7L3WBl(tL&T#L6)U%=^U}XJkk$i$ zx6qa&16HhQyn?uj;FN0TB#1u1Oj=RXQEcd@T*BH$0m}fbjR9k6I z1YlP>btyc!13k4IZns}8K}A* z&U4JBUygi7b<0W=?(i7w9?K|B4hY5q~nOYr>%SbAcaDc)Q{tNB?34#WTyPZzhbp!WME!n(Y3$S&HvD#Pd z??d+A91lJ#qT+TE=v+pV)b!KxOcgG3R8Sw?PmGFP0Rl!#^Q#!|7M+GRkb^``jgz^Z zNkCZ-F(lMC)SpL94h^VXdshXYy!9Db-phzkR>ce>jg}ac9PGP|+GA)S&k2+^7|DuS zyVN4^6t|<_~L?taNKn8PC_jIE1wKM722mUbpO0(A4R7*c& zR{@$~$mlg=KJcWsI9Y69(n6aS6Q&S}ppgUZ_ASO900?-j9IO`XBfORf-YTPSoX=my zg9km4d^_q27Kc3XW&(hjp@k~_L`3fd!}#$;ZWvSv_!ouK%dc#1t-^;2`7Z{Tvs*Y; zS4w;Dr$0HK;|iO<$H(gE#QL<7dW7LOGY*_vWQFUkZ$w?IGMa`7Mb`mD{CzAuE~65@cgOlJ9Q{z;y-PAjPCHwRN z(+&?vWjZ~QbPbgzv1A1VOb1fsO56zTo*}REcqJDtFS~t9;sH!T4$;fAYZHDV*CUrH zp*>}=!Jofaj90a;xJI2st9souC#)hC00JO8VC?UltXYBSZ--J90SXrRXZV1`QZoYf zZk=A?XF8ZvCP%HQrcE4?R2X0-say6yPY8Bo>+sTMb#s7f1nZ%iXDW8V%v4bl1M6v^ z#BeXOFkb{5fOB?f>e3w-$+e>ZM2Vr^Uv^z+_q~3P!4(Z4N((E&mCO_Spk2=gAi_QQ zB-9I%f?nAY)&Lb#aMQ0GP*aMiQ-V3u1TL2zK&Dn{A;IBM=>zozp^2jB3e2PEh;Ray zke3lVwHDJ`b@QXjMdtUD@#R)KoqF8{g5Z^pabGZj)Z92+cb*2XgW{gy+D>H)Hg8cd z82}4-zomlO0C5lq#=js};t3!wA@M{>S;ceTDr161ZDCA-&BOvAn)1hUgaG0nD(le_JKIxWbE-49JYg9{ z#lqB7IRxDF@`ydZX~!n%0lK0!q)UsDjU(L9J2Ljzkv$F7SMlpT>oGtJ=xJ(D(6rU? zi)XMLZ`cGHg~_J#yf#&H&P&A0c0PbdTYGzzV^HM6!qo?_?I1EXgL`o9bi)n)!QD@x zULHS-{3OIU>`9sc0Eci%+Di`Nqr^n;71A4g07Z}@1cqToxR?9l_?vKluVt-ePSVuT zKn7YUX;+{4!~FW}B&B5|59!Ia#KULpyEB&M7;OuXrogP$(I*IaG$RC zY)lfDk}g|%oxZYy3845X;;ncO8o>hEJ}9YdYcnJjIqX(EFI*kL_AM#heuVXn-Qh$) zu6B%$*4E`&UtVT4h0lFucE;E?T<<2knl0bRwsb-i=@o!X6)c(o6D?FknEY{g6Go|t z+ny+Fui0ky1uy5b-PtCQD!l-JDtO95g5`CoqXc|-ovKeRW{Vhr8@v>v{1ya*;0uI3 zoUYw(mPc;TIgLf7Z!W0UzHN$=j*)n}QUa%<&V6CoRm@1p?{R&(6{_jPHK4{d_zDnc zoL+dkxYiWX6=wLu7Ur#woLkj34;7*a1zK*x4p*o{0R^4nnBpO;oABmy59+}FzT-fy zV252^x6J%-8FkO_@hu&Vm}f#C0SZeu1a6$oicWsr#)Kff*?mhdA6por{l$5Dp~lve zE+*eI>kLSeo z51_!IxF0YVX2DVxIo~|BMs?NCGR6$d&Fy1HN!~mC%9Ed7uGMJTsWb@=icsv^NmsK| z;1W@Mk3~en7Ggd+I4KY!2=l{c$Ery|Ugf8eF%}Emr~G`xBeG^CQF(RH;}@i%pb-c| zEJ0PCrLG>me7xrrVSBJS{DzE-?1?kTmhxrwV!a7y^f{W{ciqD~;vEqREM=^ofq}v# zwQu)x53bHXFA9QE?vLm0WG$5Yhdka5XtFkAT&!1wDif7tOVIaFhRfw^KgFR0nKC}P z*D!n!jV?Tt2B`*VBNUa1KnhShG~V_@Qs_&0^0Sm~`a6Z5&0|mmW;CYk^MEOq>1l>> zXzUR!O4~~vV`;PV%sXF}Jrw_D${}OkT!nBnXelQ`So>mck-oO-rVuGXCZw5DRasW{ z4T0`rdC)eEyVFlYTyHK=bxtVN`BtJxqM)cqs0{B<@l*Uo*}D6LIfG4P4$jSkouip;jcIzYY1N_(XM=Z7WdGoZxl;*@Je8CtxK2J_D)f` zSBX5Ja(qYk9F2rS}ZN3#Xjd_K@Y(fk7#wr(;O6T$m1ng~&?rOoD@M2B=J7sp+VfX zw=?|3+5V5uQ&S6RoGH)@|Y`?zCf9See|O1;%3O@ zYcW>6ss4&hKBvVWlka0F-@*ASn8e?!FyXQ$$tjFy^7BwnaMW6=Ss*lY*fV}J#{i99l-|AJ z>Ru|p+xtvX@2pTKgKBC{F;-s$rb&pC|`2^MdZB)UC+ zg;^!WHrVk2(tY6kZfxD=q<-rFD!kfnuSd)@qV#r}X6}yHZ}^rzx@VWGPlF;YIst*A zlJ1H03f1Z&u5P7@9izhOz42!dDWz3dNA1D<4<;P4DRY|WK+A{J?yYo5_Rw3H<7bQ4 z$a~K0iQ3PIP~(%XAqZy=_Vngs=e63Th41Kb?e34y@C9k|6O&IeeGP)QTdu4u^H37m zGp@&qGM3n9Avl)1dO?18=zvnvN1ck^6ZRpueC&BqMM>9WY><>f#eb52&xct&Iu?TeYh{NuKWz=-4Wg_XiBL(o$k zBLCytm&o=WILa(pHjjk00;Rk*M1NQVUB6e&-yx zLLieY)9`={7Wd3ySzuaBT^!vM*iwMow2t7!Pg%Vhfx1*4*XI9d_5a|#JYQh8r5yTY)A_UOLTtt+< z_-DrvbWuJglI~(h=lIOVQv_m^V`7!NmU$odheN|D20L z`8P~k1!*;CvYX#zj5z8{%t}l;P*)Wmgc&48ZAXc zGvihu`cOtiU69ZDh7J_L@3O5#72S%a7Z?PRV9LY1<$!h(3VMx65pB90eRS4>oSX z|IqMhM7C@F*zN=ghnTo-4i{)yJ(<-C@xH5Yg2N4_62yr85ZK?}i-{F$WauF;uYiW0 zW&r!B8sWL(AH5gXaQy^`FcB_!_);XY0-1z=;lf?>hbXFZx*V5}y^I*pH55x7&Fzyo z27?O=6M2wX!7r4dvMRZ`A59r1hmKIQ7VJaX+m~;~*Sw9;YR$dZ4~%*<Cw{B@+Bq$3 z)4pO{=mq|Rp<&+1`#^G9+TIPDpg_r^WT?_zXJKF^v|HXZ%)Fsfl&V|;9AdXmw9Ovq zr7rO8eIzTic6ep*3+~|i5botHmg~)TPDaE-l3-WaDXZj&NGU93#gAX{y4_}Ep#xd9 zD`8IrZ9#Fx)m_VT=)zgb%9*>bqP>ymlGKIUIDT;pL+!gjeOWJ|`Y{o^l^UE;U42kQi%xERDF zCkGhsE4TVvCY_#&UTx@;RK+}1c+VddKZ|-WBS_43Y0$VN?75UsQO~nU8{cepSbK4G zTe6DnRo7s=m{_YLS)J$^(|X0m$9}V3+bD@m6JPJX+p1}s^=ZmTf%;_14)t)p7R}4F z6Z6o|7XYH4qq?)xUL-OaZ})k49-iRJhC?%1eM3RhC>DwAn={-5fD$?X`C{dO{ZzU` zf-Dax501jK+_WnjkF#numUo`rVQ`QJt$~-v_-ALw++ZQm%5hWh$%YG^j?*s*H5fu~ z!UOK{6FZ^7dEJAe^BGt65+h3kSvoa$;s^^zsviyWyJgq@%f8b6JgV?U0@rsAk|=Pj z4c=Y)$`T-n35$7tLoo_h+bhwSrQ9R@EC4{XvW%}dvjy$DmBns2-{L$0l&u|I3Y%lp zvEyLbWoGXZC;M`Uag`+$K6U1IEJ9s)&r#vd)suPd`d9BLYa2~BcO}jOmXK(E*&_3^ z$dUQ^M90l*1ntbsgWRuw9ql^g{g2E|o&U=&7#4Z--%W#`J+!hCxUdnsj zqkmg~*o%ksSG=ik-&Zro#e~D3KZ)AgC~I@;R4W*Rzo8dZ>UXf27(@!qeJ-qwPN*2Q z&uuc1k{Ic%H(ZNZ^tPY9P-8^)-Ac#N4X03iK!6@tp$!{qwsW`M^aOsTf&qFYWL93s z<0&R2Xl|et`ciUdk$tSX&DXRah(_Ro8tvo4}J%c)r-p8NVoLtE0oEUVAx`gsg zs*Fu13Yxn=r6;9Q7&(A{&BpzF_v)M$RWeG{LSu#W3+w%RSY-(t@i^b4XbQA1_!e=D zX?n`6)|q^di43nX25xO>{QlNeH{`>{15 zILuGe&{5=OXIPlH*z<*xj+;4XAoL@aH}?I6}{}mK6F3Rxoz2MEKk|sx2eDg7QMSd zwGsP$zHvtKiyvRhjZ(32{u~*0t+d+9CN=O5O-Dv0`AEYin=KOIhX+T2IXj35FsU>m zkQWA`Ma_%-d{WixtY7OLpRtNaq3COT0|gm7;L1@>T<1Nxbk`{u7k7+ns(h#!5RMFc znmWh1rHvFy6C)WIz563?7DD_P#ykgdITtJJF9G8n6Zd>|IJ4t>9~^HG&T$M`JWRMP zGmo!HoHCde=SdPffQUDZU;&o9fV`1Ib-=EYwB*atEn$7+f-cJIc?lhE+lh`ZZ->Dv)3p6ipGjEc<6s`GU)b6--RD*` zGLFQ$5}aT2BUc@pk<0tP^WQJ`MlBX6s&5cY2v6{HPJ74_dEm%~&jD`x%?q%@v=LKxG2kCkF=?XW- zn-=tuZ{BD;N!=aOrrjvkwQ(e?p<=&0-~AeIiphP>FzDgTNfF$shux*+rEzn{A-6p@ zT(@$Rhg1?_hh!I-{ARg)ia*@K^xX&t-X^JV_C}1Y;B--n=kefp4RM8CGbwyh<8{cv zLU&rUG2GV0K}Le-%|tY6ianBj`oT5LvbZ(6%o|&T-3ECdmb^T!K8jj@HA(`@Eu%AJ%J8hdT#vOPGML# z{mY8-NFggNm#aH?=W@mauuo7;I>kR;;@;Q!QhxUi^aJzA}n)Udgi@4pD`Dz?*w~H0e zifbNSIrO>T*9e_$%xmQo#{0k5l8or_%$9ae%A(wcwFYWk&vpnysVVKa9NTj)6biOy!>jCBe$kKDj9YOb zw@-MK-K_Utcr?IXNr5YhBj3$Vxi1P1EJ(p0zbK4`0R-B|L=SZ09H%keYniC^o68qQcyHWKIZGcWYvIclV8fxbcE_|%Q$>8FWGDQ!z+l+cU*0|a-zxR~UuoPq$^OJS%J*gu*f)@+aP z%5pdhZfhDv@o#qlABDy}OVTzS>%j-&7 zI;y~K$mxTaj?9<#b(K;ouR;8@!mph_?T*Cmppl)btP&uQArE!0i`*mqC9;@0J55+_ z^U<##GSf5VloV9d)z6@(E6`9OJ%R~~?5PC_RF$Tywq2Bz5Pd1%^=(E%!wk$Y)@9Nh zIRq+SiJVae$+QP+Vqyp~>-xg25St%0Jvl7oy19wu*Oj5XEu~-oq@3a_^j2dnXvAV2 zk!vQFCC|u{_F$1aHYP_)MJFve91#)qfvHm%=W9wc_pd9`g!a6`LONsRo?Z!R>OB2% zB50%&3k|hGBV!}O!^8Ei>Uy8HQ;8c2+-=ZPH5+88kkC1%7E7+)e27Tk}UXDM4hcE_n*2XQUO2@6&ZGth*kr3u_Ut_QXj z)!sff+c&#*lk(%~6S~l83K`aG|Kar`xF>>XuQzg)^9WmB?hAceB2}Tt9|LPD>ASSjGvC4r0B3rzKvnh#APAJpXf@ zuh-+WVN#Q@`fi%Iz?yDm75aswB4`UT|+SIj|3+{n?*M+qV{xh*cbRfw66U7N12fGMaRHy1rb^@Ejnu#cSH&89T7Ln87*Q>TGD~UVuZQCfm zgYH~QRnmTK&ew|UGVGbaS~9+|*_frO;h>vff6-Uz%|+sm4Xnd66K2~d@vY(9+EQQ1 z69+p*uZ>BftIScO3pYa}&2=~Vy$C3$s$|8u00EJStKe}hw^~P>?Xnd+DI5T3m>F9% z?Y&<-`NDm%c=qaec=&*2Pl*fDqt5^sjyqDtlG-=waDpuV>J}Bu7wwptv|m1R&Zx?(4*M z{_L2{CaS#AMZT#FlS4$y_pU$-A&>oH|2r-c zVEE~9rBil2d!K97>qCh8%7Kd*{}GV7)iqbePR&KnYirmobn<;OCEiNHoi4Wjr=3eC z8XW22?gP3ILfSH&{PTH_do#zEQ$gC?1hG^o+RZ(JFU)VT4M%hQ6eLDYSO5x_dya_N z@kx0&V5KA}z)qvV@mphconZI2!%%yz6mD zDtEtQh_p_?;=jC|jQAK7i_9`T!30rft5Cga7yAipJ6SiVzNxacCDeRRvKdazyO)5u zv#4T>jqQdVd$eg!WS3G96x0~hAGX>%qwy$JP>}=9^ZAtA_&6W@x@GQCxw?y{bzaia zCNGc=c$gqR_A`O86b=pn=DVf4FbsS^Eda!M8@l_f&MMbbgHJ3qHbFJAefzXp2huMc zSVAGKJ$fTE=yCdlAYt`a7UK6fbrwbD$hm}F)6?wvw5skn3=&^pn|-QK#*VwXu%6W0 z|I@qbSAU4@4&jy}1zEMCqt3ZxpWLtNu3wbOetIciH3hD-N5tLGG3m$c+3r)jyBb0V z_IoY@Z4I2%yG7x;gZi3KrTc3IB^gYOW2|3ksA&a%zyRO#fo*fgQSF|IyYy#2+G82A{!V(Dqi<*#|#??RQ|cp2W=_PX4i zJ`MO-&)$uKz`-O{u`HJp*~ERzZ9$N$eRtH6#Q-#<`a#Y81FO6|g&}wI!SpZo`-qH; z0vMw6u8%XW?~7tkU-MY*RCgZX4e@f?g9bgv+Eo|74xZkFmB>yAn5%=wEguv`Og9MJE`D7Q zEb*+;^mcXn@H^c1?mtzU?%M^w#6>Bxn7p-oxiwm*dd#Oh3dfhF|Wfhck`}T zM%8LpoMZ6U-`QWURqlX5A_UiYyO&9#B%VF=gK2C;-e^A-7x<$DC`bYJ50Cr0RQeMD z(U({#r{=i60rL}D+Bn{lpzpo<;u${Fq#E$v3c!S4)bDcZ^FodPwfWq{gD@Igk_`3) z8lrjAt_&KSFA)VMqETLoHPmvG3=P3}hfm#6%&=ZwAo#R-_uO!&ylG~;qL_LH?WY%m z{AA0o)7?@<=6bfPt=8!rCq7O(xQ5${8Z-gOv{M7yRc=x|&L6Zq@@cxXN=Z14c)QRn z6xub`hZLy3|KZd;j_;rI;eUD-|GM|LRe!UsVQZ70gvCftVYR)0K8(+3XP=H zUtLDt=edZ9;5iR-L%i;LX_dz$`E~Qf?tO7e z>x3e_Xx?)dEOkN|%UKq;n(K@~?G8;`^*PrqOgYuo^FMEMUcWAncXgcuQmq>}Hv?9W zVr@sV-b<26`yPX;?neTo4mUQ%H-~Mh1Qv=J~eAJ5{wK4F|ImKscTQcEcge z_|6nnqmYKmgx#+1GjkmE(lhQi%r)CzeO>4uzAVkFmu{GtHMZp8ntgCLEb2E@_cJTb7lFYu(I=XR8$c~lq<{Fn#-eFGp+&WeR zCzG`eIXCxa(}8&jx$@)-EO(b`gYtsU!Jl_?vtkXXo3TQZoGtHsbWqqrc)twr-)4JT z%u7I}0zJ4;Hu$vjHOFn(Lk?$Vxv4SoU5Z-6by<(Uwz16NiQEg1mgu6s2sq9`?TP=(=y893;Zu@GJUmwptTjm0D)I6Vy-4>r~8t1q|Pov6j z&R9PWAOPco%%2Ge@+cRo6hk4K4T+1&=)i)iY}4fKd3!oz%(C|HvnIXtYf-PUGT4j> zffh<>4^P92%{|3?)oi?%mMO_e$;tHA;4Gb*^vdi4Gd|bk-8<>`&l+s^*T*ts9~en6 zb7_a@sA;3k8Kx5DPXbH7Ib8DqaPZkLvsb0e-LAK^W3>050PFX*vkfDxNqbXI0PnEj zx50LH6}3m}WR&*!R+C?8*2-p+?5I9QCd*WmG8Jhv<2F`*Yy18kPH)YMJ)x1c1Vq;} zzh0WvRIl*3$lHX^2B*2lTU#KOJMH(XRvogsMsp!JXaF%WaZ#|~B#!N+{KdCv*_3AI za;Fu~l;_>_bhZ{hZ+wU$T)-&D=;$`&llO*Q^6iLrtkF031T9ftH}sYdV`c9Rl$uen zqA@<(0PzToy)-_6kAMGM0`;3_EL8~{9Z#pfO+SI`B{bj=$dZTgrhKcTtxT4SGq8T7 zku0htCPqfjSXQ`1gG=e=r8j(K6X+7kc*2&9urNovf4c6}7V|2txS(4+Ah@U=gXiwP z$+9LwKulKlH6gYxcRA7d+|=jL3IPdS-82r$g#4_mqTgRC`VtC}@sVj`!)*8PV*K19 zijq_cK^S~(d`Eo+qg8!{(=&(fARLRp4UUr6i-nUuL zJ#Af2aL-9j0=e0M#e3_fo)!o z?sK`{JR-+=T?$>8X?huBrL4Q}Rq-`A?!SJO z4?VKN|MW>S`EyhEJ?$*DW9UJ(dROW^g)!3Q%rB4p_A!3;lg7|t{DyFnG`;=m{ZRF1 zwDg~>c3lP%8n1fx^zcAWnW1+-s;tI<5&Jva5?W0s=_Vy%)p0x>6KZuz*M#AnO!}e z8-jA`$J!Z*SAJr+9kcIejJiY`#qJpQ-Tos- z`1ohYJ$;$X70?{@hn08wU;Z88&(qs~K0EgLm!*GN(Ese5c|@1|#r)#5!y>g+zrp`k z$XNx&6>MvGLkJ|eJ0XGK?iM^iaCdiicM>c(!3hq*85{-}BtURyaCaNroy)m(&-3l- zr>LUh6}n?;ciQLz4N%Jy8`Bax$;bC zA&yd*G0eRDGXi?LHAx$aaWQ6K&`p8{25kNMab1r-(C*Jvw0Le5Y`$*#CbAacYQ;qJ zEkf_j>S?EwqKC!^rb7F}qteM32sgp?c+GbNkM86k`6JJ#MVLs)^5l(deg~Sr%X8b# zBiQgo&q1>>&=TukyF5|jdfRu)Z)2uJRoZAX^pu|*VFUfnapfd(ox5QH{d!G2F1j`x zb*41Md}DzE2XCtyvPuextqfHgTa`XMj9$%U+pdsQy(4$wrpYgx-m!9iv)R@}HtVWh zoo)FIBjgaF@|?8YOjZ22si&}$JX?N|2BxFr z2~A^szaQ|iM>za3fP-t5wDl$q`=RQ=sFkr|wY0)$=EkP__qHp=WWf9b^Y`slki9~0 zoiIM?$+n%T=?S|{=XXnOE}F7K9Li`UGKDf8lQd7u%~DMnoASET?$YherA&LfEFbio zwg=^Va7Ga0*%GakHw&|BtowVpggGm`IL|(#ml$%cgF9p z&}Y;kZ7{Nkg-BnHKegZj($~0tVdspgk=*|=WQqwlt#G-u1m`<|ZcIa-jHYDe`mnr&>e3kwv zPVTuHOt=;*9b2fL_};8I*`#L-_0sS@wQ;xx584~k+;@^k5HqQru3H>-5&q(Xf{vNS zooV|s4>a{Ao_A>9DP*7hSoO@@4yL+);%nv@+r@h_9b@^5A>Xv=TRM0AJwC6~X z03L7}y!n7yxBAx*z#G`=cJmIHQK z*JV%T@BGp6x#JAPcbV2ocm5A3T!Cm-x=_%bcDSYf?rSFSP!eEz9=o{&p?#_CVW4kK zVc=QHgaRu4Zm-L|Ho0cP4pAx5W0S$PW^ z7QHqZzU&3!$cb)@$I_4mQQJa1sED}3h>?Vk-I+juZI9eQc?!2Ou_LW9 z<3pDGPt;~_nyQDcELFXVX!#0Xg=I)lp!r(*Lm@~p+1YqkVkQ?Pg@0Yc!CreP`OWC(%abVZzmtk*b=>5Yu>6A?`Y(cF(^6fp20qq zIUh^S*jlq~WPJixlvWbZ0=6ZKF4kuXl`<%zhQ29(4Fa9+^tX0q9Uf*rv{bcat1Uk0 z;q7+#_*KPnb7ws?Iikv$z45lquIWh#SMo8hjo2>R1<1JtGKSlvW@7!_vmhA-4GrRo zH(aTk9alyu7lua{dz(h~+vAQq-`Dajgg@0d-bo0spmFP8SUWr6k%!E__?7#%yraL6 z9K*Qw$(}HO?hE$DJS5L=W)ML6&lyQ}kb2a>voy#s=i%G6kBSY5C^b5W@BR4c=xgTk zO|%kZqDc<~eQa2xmUnK_fL5*#qNL^vu%OHs;&VTmI1JC)TH|d?`3dte|EH+)!cjuz z@2#=QFM)h5L+3`_=EiRncfWEz@HJMrg)4@H?)om;pV3SX%%rNMC+{|}EKS1NMvC^- zJJk;*89t!Jr*Ah>?}%ZEun9zca`>zZITIlIre>yT0WV^#PN6ug*5=_ku3{;(rAdXH zyCtihM+#MIwO}2Q3s$}@Y(dZ=U8(NC^Q0Ua^Gcw(m;3*X@62>j3C zxqk-^H=IVxM>2;A9#|_Z_SDC0r2d5fC>X3u=EOB-cNWB&ENp1@=Co}4+DI=cIL@V1MBwJ2d6Krap@hsi5c((Kn)G&E6Uy$d{*Ht{5`&F~Wj-w{jzJ-e^J5qV5-c= zmO4&o?otKC_t;1;`@d@OE(xWPBlxd8kfFP{r*<&4zxU4QLY;lu`A9aE%*Bk*$Kp8U z>1Pjin*bV{2E^aCGME+;mcw&cHm$d9AkX2VIJ?^9&>veZXt78~HUu(x*lO9iGUGa~ zoXeX)8IEhGTHEn(c_$~12F*^RLE8ujOYtwF*q_F2+6@Y&5j+6+IW$UAv80{7P#qA_ zevIxYIXH!vm5XDB2X3&i$>R&L%Z`_%v_VuQ!VMEq(yv?Pas5}aaP;KifRNM{F>N=6 zBZug?KW#rBj5rJT3TH~hr)C(=MpBGsTe2|j4_dW#u`w;xw=W*ECtYssXd z==hdPsL|s^w)>SrYQ@-c0uJ*%g`2sPnQjhwq2I$*@^(hk0~VhYnTVI>XL?IdF8w=u zMy}$7mz#O=P8OOqu5Q|?EuG}l0@uZBl$u=oVh0kbkC$r1X>qxEBBA%GSW;4hB2{F@ z>q5aj-=l>$*k0Oyge$J08M4&PjnrL-T>xvF-V(w#1%F$e=u5N(FAVg?%-IykK`jG$}gfnOgNn z%IZ*TsvQFyb%7mo@9~Hx&uv#DDmJe&)x)oRM)Wz0u>yiJVGcCTtW`C9;2Idyc$Gv*L{)MUFatx<(%B{6dG3%$`Xu|S=wX0-w38rP2Sm z&^9NB?a6{@-b_7zbthSX@Ro%w{ZsdX3l~paLt(WCxnc}-^32fm2-fT6P3K_f(~ZaT zCO(;XQF}rXJ4iZp+o=|I5GzSZYu>5{7$xF~Bw|(Rw(`pBh}1SIbyACFQmgW4NoFEW z`{CE~wi?H9(MgU-^Vfd-ChM#uUxfg+d+OYBLIW|BSG*iDoo~54*6798LG{g*nr|$W z`KtZjw5!d*Dp~V?1T|baP1^FsT)^y36f}(9QdOW-$+lH&JQTVt5@_iY(ME z?pe6`M+}hOMcNa%V%tiU1!Pe*&XjkDPb2Ef)>;~}I3$^J7*aQNV8&+IUG=M0Nomh) zl}lWSr^@hL+{W;eiP$}}7h48X!QFz#`VJXW=8vsiT@w=4>>oG44K-g0lU-w#11Uph zbXwV8`e|y+>lmMU2U6M<=1C~6YICW%5P`?Zhk5pl9bE%5O3gcN=XqTR-<#uqQW3Hg zbfz@vhUrC>33{1IFZ5DR=IXf2LXUh3vam@R7}Q_FFe`2`iynbkULzz`U&WKOSov#E zh9=_2is->VR%elxN627(JfS@|k2bYI|Hla7rB}dJ&wjD%P_x~?g=M73>(c0W@|P(0)pSqg%#-EIA?M9(Z@ian zJiZ4xZ(qf{9Rsc7c>6W%9BI6WwBo)d{=LfQkwbUAh8RXkVx=0wfbVKf_q!cx@mE-;Q8&97xE^Bh|1-|oiV0{yM3sld!7 zE6{#zmPnE~Pk!y_zu)8{-G_K#<%8JwbvgjzaeR3JA;!nw+4Xdv9nBh%w8Ua_M#KxE zpkN-&g@2h&uagMYtRlB70GS^&cGVf)fdq^Jb!+QpYzut|p|zE6oK~CdgBuAOdh#b` zg<|;euRT3q4?H0O=%;828Ljq5A`F85uso7R#e^o;N1da-ck_7+GZ>9LY_7z0-qS{2 zPEXd*N;3Nq@!;)>>9n?oQa5S_Qj>Mxl(cC) zvb>&{-xlr2ap7HnH1OBS9ZH(3=R1sDM1YVG*?nar^e@RE&M3Otv36i*mn<${F{ea8 zO?OyC$~gm4_SI@;+a&1lk%P{}b(zbzJnDd?#E!g(cDRZjv8ys}J}X^EaGLO-%!Pw2 z?X7i1GxA1@BuC zF&mvgDikb0zFDZ&oW=ov_cXMEb_BONkAjkh1!9qLmI)b4wO#*kbJ zXE9O};Q`F7FWvWDPH$28!m@weYl*XSHXKLGC+l*mOo+-a4QRVoAWDO$R>uE#`;v~{ zp-Y1$3#z~Sa}DTIuyL&=n%#r(`o|w>(9kFFEVFA{Fu2pKXp2Dfn_P0~M9P?IRg$lK z3Z0k|u;*4rh?h(IvL`hmaZJo?laClymf_247>YZ+(vk;qu3ndX2dd}&1o0{J@sxMg z6^LP5cuZqd*nG=XTJ!r#pIf;w3K7~V>Z!}qTfWw{bbYi`5mm)t|3JuC^NSOjpwFw* zV1N-AY`z_~BZRBEA|%$SqdnCt>KKe7NEw9|qDIaz7#yB{qAeC6(Nj7!Z!9ui0@yix zQaq)|?`q6hPq!v6GGwPQps#?D7Q~TO@`&YFTmNZw4WS6x72be*M0- z8=)u^K8ZNGNL|ZxyE+<&+g|dD{g(9!RMgLm6)a#r$5>bOdca2PiP zr$Ort6IWqUSNk@;fPl2kK;(j_>b|sPs6~D2_<~h7&jiDqk@-}+OV68bvwwL#J66VV zw)Ijt2qO9e8K4#XnV%FjZngX`64A>Wo{bN#UV^Bp`vG8|a*U&ZsuMi^buPBR$RfPA zz{0Xzq{6+f8-s>d$E+@PJEykEqL+D3N*tjZ7JV?hNFgf`u1|1tnMV#^Rh&aNEQk}@ zOi+13N{!=V)>&Pd6~_GK^a~7v)!I@uv!*T>Peubtuy<~XYYdoh*-rwUG&xr zw9xHpL?2Jg+s}+HHh30+A$AGkGsmQxW+ryRHuoY&hfQ-~v+j2jLK!CqUZ6cn=;@#* zhvlh8ifH%gRK;uV06knh;d6L*L`;lzH}1Uie{cCe=zH0D6lcop?eW{+hlZl~(73~< zy9+g6+Hvgu=`Qi~-`<+BEf!LL)%O8|jWZQx5UY^@Eaiy>SN86u;h@&c0_scFH&(1*X z1Xh62a0l=CM1*S5aV=|X1ahn$3W-GmYAkF29|X+#qKfhApJ86GP3n!#wP~;(zc-5O`*GNI9HBh82LSwp;Sa1^!?pe zUBubwrWs83c26zYB19^I_-z4&omF}bSuW}}bgL&h&@(v)14>;UT&grX#z*8{AXo)u zye9VN#=lEe4FYf#j}jd_EV`rT%T;VcCOHYwc4>l8aTyE_(1LMaXD$TnGisWp|K3+IP`<+OfN_xB!jI$cs+pZqR9a|K%S|*U=sD z@men}*>6kwVuKZ5$u5<-{?GoBeeTA7S6}T>03(q5i)ppf=>7tA><>Q-(H<}szB&0k z|7$VFPK-4tAm5WWh8l6keAmiq;V!X$m!=J=qaNIq{xzroPEVD+0v=s?j z?nD|QOy0<sa0$rv{--OkB2x22!~r9S8ZgV_w0H zexA&VKW&>tvvJ0ZRoXAED?U{Qx_l(6L)i(E8q1ho@Xy}|IFHuXX65s0tLQ;L?1h{W}ILF$Hzn5x&&A6b~jH{m$Jqj z+~T>3t?gV4#0KG{!XSL;<3q^+6H2SfYS6DaTqCG-?j$&6os;&82`d&ki3Z1f{0TFbT-o6@sOx*>gSrC zq*@p>zlFpfWcUgPjO-c?84$OD-1-Ssc&X@#nK#luWr_v!k@!9C(!}n3?;><4@1Z9v z!f-*-(N)$vdpaW#)?Y!) z*yH{*Wsde0a`6jeb#)HtnlKK90gE)5WJCZJ5UFw;H(}Ng179CBOj6#R;ME{Lpll+D zz6+{bOp%$V;VB&Q`?{nMP8lw{>14g!t#A0JDChOc`6%3dLT;qkaljV?<8C+(0ceNz zV5AacF}i87JfnP(^zW?0R=E)&(9M146Z7-dA-8xx_>N7JK3uU_r8F1X$OF9o!0CgJUoqCqb%RrfX)eE|OcnGF)+_;T8N3Dv~E>v%?1$h=>#_3Mc|+oVB2 zLW(07Hol9*YpTl|S?BllQj$fXx9?##sfp4$q*yz9%T0@`xBB!nec7KaH{>FG^lJ+;HB+nhFHC-2+3gJDpaiZJ6A(#nk8Qz?;N!4M zDwD-3E4TwX|1{3Y>Mvx*P3j+6<@jSI)$_Bmv43P^UmNVRGdj(u@MYRZH?b^|w@xgS zR4~*l_uNu~6S>I$__>U6adO9`H0)nq{bBDkf0PVfWWCR@x=5pg(vU|;SME>3k}c7z zH`&Y8l`kPkBV$j;3o9L85kE`5P9Oil?*`(&)T8wT8*&t+XluV~DHIK?#&XE|*GvG! zg30kxCH<$!D;5vD1|};l*`{by^h_eD8|SZ+vbfZ)$QtP}tgVa#$P5QP`@akvIZbHs ztYsaDuBacu$8N%s#d45hn;}k0kxvb1&$HZ#$^}R^wiGeZlb8h>F9cqwK!4Pe%SP=* zGU$avf`Xecni^<_AVDZ73$ENrX-E3)a9bc804ZYouDZYAI(UYXSKMZ)G8lut+>a!ea(_Z>j7p7~+$siqJ-G#wf`&0rdtV>Qqy;);`YOqIM$XVd=j z?RAX44iI~jIN4}X8U1pHNJO<8Ta(NlLxrr%bcSRp+~18W8O zwgvZA>~*wo8}yREpxl{W{+V4h3;pEuCz>Tx5)DK7Dk;wnK;l7v+;)t=J^>oG)IDv7 zpdsa3fO#Zl%I#Wm8M@IMGBm$fD^h+k=~!eH*skIO7RxeJYGcofU6JDbBW^eRn`}@9 z@(XgN?P{ELZeVf^5g0l*aFKVzCYbnK%wx_&C_)>3IxCUG%&VD84|4e8ym7aN;_{eW z5QXo^vWFJ~2M`{Bv&#IGioPkN_+5wySOtk70O)eU@mX?q{S{X2?scp!O*n8B(kHCP zG&0N@d+PM+T~{`)Hb;2ck3#41tok+vGVm6aIWQGY`mu0kmEsgm zZDAT@L;)A02v?S~DMzx;V_BBSkQ|qQe7(&fd}R9uP{UA&uQwS{*G^G;dMq`AseV4R zcNjvXJ(>OC80a`iZ_P`pdmcoYxwo7yibgN*)6PgOB+UyM`YQt2Lu4>iQhclnKw?pMTtMTU2 z)AQ-uB**2xNKOd1dHzZ~hn?~Rd5q=}YR(Tj17pO;-yAO@m+&~)!msm}q#2_b)RJeo zd$JhX%)3br&JjNp@bAxc8p`m0fm%*lww+(IXpueG+9(+8Y=(eH0uvCUy;iY+d-?SJ zGq2f~!`7tC^u%XYhs}KP&`wwCxAmFRjO4PhhF8-QzSiE&r8f#yKfjbeS*>`bjyl2t zX-N%KJyiCADtKNYV?>`{j0Y0-{#j~!&yQi>fMQ3l3EAc#b&YKU^VC%ta|viz0?u?I zweC*NTS})IP8(Av!aqFcEQ6~Y_1OvnMnK}m0Vo*$Rjc*B)5S=*mky!@8jhr|vbi&5 zq(YJoU5Rdu}oGoDi!zJi)N+x44ctr-{2)@?zFFw~l^Z zz!n0$?pZIYERUFH^5G%!b&xwsKyn)NhyLxVaY+m#b1)xuYtMx>i;!|i*ur`eZi1xz zb@DUgeEp3#nGD+Dk%vP?5C$NU%?pw`YR=yl82n9p3HQ{dfNq)(xEA?r^`$V+seW== zXCb9i5#p4-s)FK>(vhyOygNETd20;5B#b(9C>aY|nHwSl+y87{{kqR^x(+V_9Tn8p z?2m456T}XC|Apy7YHPl01d=nvYUA{C_q*t23gczMnBc)!lENZA9JlMOS59H& zyJL5EeSsM5iI?d7g(9Okbm3T;Z9BcSnsvYV)*}giM1PT&V_o>_TBOib&G`Udi?a@xab)^d|B@(P3Twk%@~!e}o7DTh@yxlJpz~|3t~UUiqu!ES3fDQ}565 zzL#!u9FzE~$>S{+XC6P$O{%O=fw{-`3g=u8kx`dh@t&=XZSshK5em1Qm7W_H%^~`H zpCMdoNiM!0cQfJo8cmqgtnyJG9T-`VYFGK)T9jtS2O z^QNT;S^X5LtE(E})+y`i9>gW^7li@jcA-R%xo>AzIDOHZ+GU)Cn_}P2YKS@pL=HFo z%qsLPA)i8;y&P_OIjEqGur$BxCO)AH9a7#zuzkCOf2LU%3;%Em5&x(sh#WB&DX9Gk z;T+Oz+{53}@6es;@ZHK15u`Z!vXwBXJ{+O7#?=R_x_aSFEWtt3;-H#dy&7M8Y#^v* zPPBTn>iRsXlwCFnzqTLEZr$SO>Nj!kuihY;Pz*l(XNLq<7&f-=g#)VM`f3(_a9KiQ z%ak=0Cng52LDRe%)3$9=e&OO+VQ8tyG)q(Ic7!LWm-Boj9IC#d_g`UA`J+WAc9J2Z zOH?R&-HcZf`fNDYD}<{@sgc)G9a^QLSv{>s7y2v3a3TbPVR>sS=^V&sNfyJ-Ar+ z7BDmCDjEX}nZ55{u|5EGFp3AyKpdf+(3r_@!FKp}pU-`D?F!WU=bEEqT9L(I0`^Iv zqyOf8pln`Xaqlx93=jo{`*7>BVY#-O{9m&}&x!~P%k5rs({V}1C;_jX zs=(rLPPunT+jBfRah=$}>gu0KvgK8;%tw~otqwJOxK3fk{r2Y&>}Ro`KM%-PLWLK& zynCu*#WfXB?je?;VQI=QhT~JOFXgYs=37Pa%zLcY%KsUUbg@$8lq*-1|EF@kt;58^ zgZsaMrTpK|{=db}oL~f?uOJR9^1n)GFVknV$Ywn#)aC2&E3O4dODKG;6f^qqKfM3o A_y7O^ literal 36136 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 diff --git a/doc/source/images/check2-1002.png b/doc/source/images/check2-1002.png index 9cb3a6d699d316caf27f73ee643b351bed7ed2c3..69b393838fbcc22e68ba2218bd1aea9437e78e8a 100644 GIT binary patch literal 51957 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≫uIr(7G^4b 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 **zuul.log_url**. This is - recommended as it allows the code which stores the URL to the - job artifacts to report exactly where they were stored. To - override this value, or if it is not set, supply an absolute URL - in this field. If a relative URL is supplied in this field, and - **zuul.log_url** is set, then the two will be combined to - produce the URL used for the report. This can be used to - specify that certain jobs should "deep link" into the stored job - artifacts. - - .. attr:: failure-url - - When a job fails, this URL is reported along with the result. - Otherwise behaves the same as **success-url**. - .. attr:: hold-following-changes :default: false diff --git a/doc/source/reference/tenants.rst b/doc/source/reference/tenants.rst index aad51b7d53..d05154dd02 100644 --- a/doc/source/reference/tenants.rst +++ b/doc/source/reference/tenants.rst @@ -42,7 +42,6 @@ configuration. Some examples of tenant definitions are: name: my-tenant max-nodes-per-job: 5 exclude-unprotected-branches: false - report-build-page: true source: gerrit: config-projects: @@ -322,20 +321,6 @@ configuration. Some examples of tenant definitions are: check for `allowed-labels` and may therefore be used to further restrict the set of permitted labels. - .. attr:: report-build-page - :default: false - - If this is set to ``true``, then Zuul will use the URL of the - build page in Zuul's web interface when reporting to the code - review system. In this case, :attr:`job.success-url` and - :attr:`job.failure-url` are ignored for the report (though they - are still used on the status page before the buildset is - complete and reported). - - This requires that all the pipelines in the tenant have a - :ref:`SQL reporter` configured, and at least one of - :attr:`tenant.web-root` or :attr:`web.root` must be defined. - .. attr:: web-root If this tenant has a whitelabeled installation of zuul-web, set diff --git a/doc/source/tutorials/quick-start.rst b/doc/source/tutorials/quick-start.rst index 561f067cfe..b5c3b26af9 100644 --- a/doc/source/tutorials/quick-start.rst +++ b/doc/source/tutorials/quick-start.rst @@ -385,10 +385,10 @@ uploaded, Zuul will run the new job and report back on the change. Visit http://localhost:8080/dashboard/self and open the change you just uploaded. If the build is complete, Zuul should have left a Verified: +1 vote on the change, along with a comment at the bottom. -Expand the comments and you should see that the job succeeded, but -there are no logs and no way to see the output, only a `finger` URL -(which is what Zuul reports when it doesn't know where build logs are -stored). +Expand the comments and you should see that the job succeeded, and a +link to the build result in Zuul is provided. You can follow that +link to see some information about the build, but you won't find any +logs since Zuul hasn't been told where to save them yet. .. image:: /images/check1-1002.png :align: center @@ -523,9 +523,14 @@ the change: .. image:: /images/check2-1002.png :align: center -Follow the link and you will be able to browse the console log for the -job. In the middle of the log, you should see the "Hello, world!" -output from the job's playbook. +Follow the link and you will be directed to the build result page. If +you click on the `Logs` tab, you'll be able to browse the console log +for the job. In the middle of the log, you should see the "Hello, +world!" output from the job's playbook. + +Also try the `Console` tab for a more structured view of the log. +Click on the `OK` button in the middle of the page to see the output +of just the task we're interested in. Further Steps ------------- diff --git a/playbooks/tutorial/quick-start.yaml b/playbooks/tutorial/quick-start.yaml index f2f4d95c8a..8f114f16f7 100644 --- a/playbooks/tutorial/quick-start.yaml +++ b/playbooks/tutorial/quick-start.yaml @@ -29,12 +29,12 @@ - name: Save test1 change info set_fact: changetest1: "{{ changeinfo }}" - json_query_finger: "messages[?contains(@.message, 'testjob finger://')].message | [0]" + json_query_finger: "messages[?contains(@.message, 'testjob http://')].message | [0]" -- name: "Fetch url finger://" +- name: "Check build URL" assert: that: - - (result_json | to_json | from_json | json_query(json_query_finger) | regex_search('(finger://[^ ]*)') | length > 0) + - (result_json | to_json | from_json | json_query(json_query_finger) | regex_search('(http://[^ ]*)') | length > 0) - name: Configure a Base Job zuul-config copy: @@ -82,15 +82,26 @@ projectname: test1 check_number: 2 -- name: Find the log URL with regex +- name: Find the build URL with regex set_fact: - log_url: "{{ result_json | to_json | from_json | json_query(json_query_log_url) | regex_search('(http://[^ ]*)') }}" + build_url: "{{ result_json | to_json | from_json | json_query(json_query_log_url) | regex_search('(http://[^ ]*)') }}" vars: - json_query_log_url: "messages[?contains(@.message, 'http://')].message | [0]" + json_query_log_url: "messages[?contains(@.message, 'http://')].message | [1]" + +- name: Extract build id from build url + set_fact: + build_uuid: "{{ build_url.split('/')[-1] }}" + +- name: Find log URL via Zuul API + uri: + url: "http://localhost:9000/api/tenant/example-tenant/build/{{ build_uuid }}" + method: GET + return_content: true + register: result - name: Fetch log URL get_url: - url: "{{ log_url }}job-output.txt" + url: "{{ result.json.log_url }}job-output.txt" dest: "{{ workspace }}/job-output.txt" - name: Verify log contents diff --git a/releasenotes/notes/mqtt-report-build-page-1780225ca98c7457.yaml b/releasenotes/notes/mqtt-report-build-page-1780225ca98c7457.yaml index 34b1a7348b..0d1b223679 100644 --- a/releasenotes/notes/mqtt-report-build-page-1780225ca98c7457.yaml +++ b/releasenotes/notes/mqtt-report-build-page-1780225ca98c7457.yaml @@ -2,7 +2,7 @@ fixes: - | Although the documentation states that the MQTT reporter reports the build's - log_url, this was only true as long as :attr:`tenant.report-build-page` was + log_url, this was only true as long as ``tenant.report-build-page`` was disabled. As soon as the setting was enabled, the MQTT reporter reported the url to the build's result page in Zuul. As MQTT is meant to be consumed by machines, this broke use cases like log post processing. @@ -10,4 +10,4 @@ fixes: This was fixed so that the :attr:`.buildset.builds.log_url` now always contains the log url, while an additional field :attr:`.buildset.builds.web_url` contains the url to the - build's result page if :attr:`tenant.report-build-page` is enabled. + build's result page if ``tenant.report-build-page`` is enabled. diff --git a/releasenotes/notes/remove-build-page-8d6acda308d513f1.yaml b/releasenotes/notes/remove-build-page-8d6acda308d513f1.yaml new file mode 100644 index 0000000000..18df9c5944 --- /dev/null +++ b/releasenotes/notes/remove-build-page-8d6acda308d513f1.yaml @@ -0,0 +1,24 @@ +--- +deprecations: + - | + The following attributes are now ignored: + + * The ``report-build-page`` tenant configuration setting. + * The ``success-url`` job attribute. + * The ``failure-url`` job attribute. + + The URL of the build page is now always reported for every build. + This is now also true for in-progress builds, which provides for a + more consistent user experience. + + Since the build page is always reported as the URL, the success + and failure URL job attributes are no longer useful, so this + functionality has also been removed. + + Zuul's configuration syntax checker will continue to allow these + settings for now (they are simply ignored) but this will be + removed in version 5.0 and using them will be considered an error. + + To achieve a similar result, consider returning the URL as an + artifact from the job via `zuul_return`. This will cause a link + to appear in the "Artifacts" section of the build page. diff --git a/releasenotes/notes/report-build-page-2-49088c2b0a36e1b7.yaml b/releasenotes/notes/report-build-page-2-49088c2b0a36e1b7.yaml index 3d78d12beb..8f662a5345 100644 --- a/releasenotes/notes/report-build-page-2-49088c2b0a36e1b7.yaml +++ b/releasenotes/notes/report-build-page-2-49088c2b0a36e1b7.yaml @@ -7,7 +7,7 @@ features: least one of :attr:`tenant.web-root` or :attr:`web.root` must be defined. - See :attr:`tenant.report-build-page`. + See ``tenant.report-build-page``. upgrade: - | As further integration with the web interface is planned, the diff --git a/tests/fixtures/config/ansible/git/common-config/zuul.yaml b/tests/fixtures/config/ansible/git/common-config/zuul.yaml index 2555d2f375..78f5f30fd9 100644 --- a/tests/fixtures/config/ansible/git/common-config/zuul.yaml +++ b/tests/fixtures/config/ansible/git/common-config/zuul.yaml @@ -79,14 +79,8 @@ - name: test_node label: test_label -- job: - name: base-urls - success-url: https://success.example.com/zuul-logs/{build.uuid}/ - failure-url: https://failure.example.com/zuul-logs/{build.uuid}/ - - job: name: python27 - parent: base-urls run: playbooks/python27.yaml pre-run: playbooks/pre.yaml post-run: playbooks/post.yaml @@ -236,7 +230,6 @@ - ubuntu-xenial - job: - parent: base-urls name: hello run: playbooks/hello-post.yaml post-run: playbooks/hello-post.yaml diff --git a/tests/fixtures/config/build-page/main.yaml b/tests/fixtures/config/build-page/main.yaml index 49513f481c..836fb668a2 100644 --- a/tests/fixtures/config/build-page/main.yaml +++ b/tests/fixtures/config/build-page/main.yaml @@ -1,7 +1,6 @@ - tenant: name: tenant-one web-root: https://one.example.com/ - report-build-page: true source: gerrit: config-projects: @@ -11,7 +10,6 @@ - tenant: name: tenant-two - report-build-page: true source: gerrit: config-projects: diff --git a/tests/fixtures/config/data-return/git/common-config/zuul.yaml b/tests/fixtures/config/data-return/git/common-config/zuul.yaml index 1c1f369bda..05a53c558d 100644 --- a/tests/fixtures/config/data-return/git/common-config/zuul.yaml +++ b/tests/fixtures/config/data-return/git/common-config/zuul.yaml @@ -34,7 +34,6 @@ - job: name: data-return-relative - success-url: docs/index.html run: playbooks/data-return-relative.yaml - job: diff --git a/tests/fixtures/config/mqtt-driver-report-build-page/git/common-config/playbooks/test.yaml b/tests/fixtures/config/mqtt-driver-report-build-page/git/common-config/playbooks/test.yaml deleted file mode 100644 index f679dceaef..0000000000 --- a/tests/fixtures/config/mqtt-driver-report-build-page/git/common-config/playbooks/test.yaml +++ /dev/null @@ -1,2 +0,0 @@ -- hosts: all - tasks: [] diff --git a/tests/fixtures/config/mqtt-driver-report-build-page/git/common-config/zuul.d/config.yaml b/tests/fixtures/config/mqtt-driver-report-build-page/git/common-config/zuul.d/config.yaml deleted file mode 100644 index c842e94246..0000000000 --- a/tests/fixtures/config/mqtt-driver-report-build-page/git/common-config/zuul.d/config.yaml +++ /dev/null @@ -1,45 +0,0 @@ -- pipeline: - name: check - manager: independent - trigger: - gerrit: - - event: patchset-created - start: - mqtt: - topic: "{tenant}/zuul_start/{pipeline}/{project}/{branch}" - success: - gerrit: - Verified: 1 - mqtt: - topic: "{tenant}/zuul_buildset/{pipeline}/{project}/{branch}" - failure: - gerrit: - Verified: -1 - mqtt: - topic: "{tenant}/zuul_buildset/{pipeline}/{project}/{branch}" - -- job: - name: base - parent: null - -- job: - name: test - run: playbooks/test.yaml - -- job: - name: dependent-test - run: playbooks/test.yaml - -- project: - name: org/project - check: - jobs: - - test - - dependent-test: - dependencies: - - test - -- project: - name: common-config - check: - jobs: [] diff --git a/tests/fixtures/config/mqtt-driver-report-build-page/git/org_project/README b/tests/fixtures/config/mqtt-driver-report-build-page/git/org_project/README deleted file mode 100644 index 9daeafb986..0000000000 --- a/tests/fixtures/config/mqtt-driver-report-build-page/git/org_project/README +++ /dev/null @@ -1 +0,0 @@ -test diff --git a/tests/fixtures/config/mqtt-driver-report-build-page/main.yaml b/tests/fixtures/config/mqtt-driver-report-build-page/main.yaml deleted file mode 100644 index 2a5a4f4cc3..0000000000 --- a/tests/fixtures/config/mqtt-driver-report-build-page/main.yaml +++ /dev/null @@ -1,9 +0,0 @@ -- tenant: - name: tenant-one - report-build-page: true - source: - gerrit: - config-projects: - - common-config - untrusted-projects: - - org/project diff --git a/tests/fixtures/config/success-url/git/common-config/playbooks/docs-draft-test.yaml b/tests/fixtures/config/success-url/git/common-config/playbooks/docs-draft-test.yaml deleted file mode 100644 index f679dceaef..0000000000 --- a/tests/fixtures/config/success-url/git/common-config/playbooks/docs-draft-test.yaml +++ /dev/null @@ -1,2 +0,0 @@ -- hosts: all - tasks: [] diff --git a/tests/fixtures/config/success-url/git/common-config/playbooks/docs-draft-test2.yaml b/tests/fixtures/config/success-url/git/common-config/playbooks/docs-draft-test2.yaml deleted file mode 100644 index f679dceaef..0000000000 --- a/tests/fixtures/config/success-url/git/common-config/playbooks/docs-draft-test2.yaml +++ /dev/null @@ -1,2 +0,0 @@ -- hosts: all - tasks: [] diff --git a/tests/fixtures/config/success-url/git/common-config/zuul.yaml b/tests/fixtures/config/success-url/git/common-config/zuul.yaml deleted file mode 100644 index b9f4bff99c..0000000000 --- a/tests/fixtures/config/success-url/git/common-config/zuul.yaml +++ /dev/null @@ -1,38 +0,0 @@ -- pipeline: - name: check - manager: independent - trigger: - gerrit: - - event: patchset-created - start: - smtp: - to: alternative_me@example.com - success: - gerrit: - Verified: 1 - smtp: - to: alternative_me@example.com - failure: - gerrit: - Verified: -1 - -- job: - name: base - parent: null - -- job: - name: docs-draft-test - success-url: http://docs-draft.example.org/{change.number:.2}/{change.number}/{change.patchset}/{pipeline.name}/{job.name}/{build.uuid:.7}/publish-docs/ - run: playbooks/docs-draft-test.yaml - -- job: - name: docs-draft-test2 - success-url: http://docs-draft.example.org/{NOPE}/{build.parameters[BAD]}/publish-docs/ - run: playbooks/docs-draft-test2.yaml - -- project: - name: org/docs - check: - jobs: - - docs-draft-test - - docs-draft-test2 diff --git a/tests/fixtures/config/success-url/git/org_docs/README b/tests/fixtures/config/success-url/git/org_docs/README deleted file mode 100644 index 9daeafb986..0000000000 --- a/tests/fixtures/config/success-url/git/org_docs/README +++ /dev/null @@ -1 +0,0 @@ -test diff --git a/tests/fixtures/config/success-url/main.yaml b/tests/fixtures/config/success-url/main.yaml deleted file mode 100644 index 0027ae1484..0000000000 --- a/tests/fixtures/config/success-url/main.yaml +++ /dev/null @@ -1,8 +0,0 @@ -- tenant: - name: tenant-one - source: - gerrit: - config-projects: - - common-config - untrusted-projects: - - org/docs diff --git a/tests/fixtures/layouts/timer-smtp.yaml b/tests/fixtures/layouts/timer-smtp.yaml index d9e4282816..ff69e133ad 100644 --- a/tests/fixtures/layouts/timer-smtp.yaml +++ b/tests/fixtures/layouts/timer-smtp.yaml @@ -17,12 +17,10 @@ - job: name: project-bitrot-stable-old - success-url: http://logs.example.com/{job.name}/{build.number} run: playbooks/project-bitrot-stable-old.yaml - job: name: project-bitrot-stable-older - success-url: http://logs.example.com/{job.name}/{build.number} run: playbooks/project-bitrot-stable-older.yaml - project: diff --git a/tests/unit/test_connection.py b/tests/unit/test_connection.py index cb1f7b6bae..c3a8bbf049 100644 --- a/tests/unit/test_connection.py +++ b/tests/unit/test_connection.py @@ -633,10 +633,14 @@ class TestMQTTConnection(ZuulTestCase): self.assertEquals(test_job['result'], 'SUCCESS') self.assertEquals(test_job['dependencies'], []) self.assertEquals(test_job['artifacts'], [artifact]) - # Both log- and web-url should point to the same URL which is specified - # in the build result data under zuul.log_url. self.assertEquals(test_job['log_url'], 'some-log-url/') - self.assertEquals(test_job['web_url'], 'some-log-url') + build_id = test_job["uuid"] + self.assertEquals( + test_job["web_url"], + "https://tenant.example.com/t/tenant-one/build/{}".format( + build_id + ), + ) self.assertIn('execute_time', test_job) self.assertIn('timestamp', mqtt_payload) self.assertIn('enqueue_time', mqtt_payload) @@ -667,51 +671,6 @@ class TestMQTTConnection(ZuulTestCase): "A should report a syntax error") -class TestMQTTConnectionBuildPage(ZuulTestCase): - config_file = "zuul-mqtt-driver.conf" - tenant_config_file = "config/mqtt-driver-report-build-page/main.yaml" - - def test_mqtt_reporter(self): - "Test the MQTT reporter with 'report-build-page' enabled" - - # Add a sucess result - A = self.fake_gerrit.addFakeChange("org/project", "master", "A") - self.executor_server.returnData( - "test", A, {"zuul": {"log_url": "some-log-url"}} - ) - self.fake_gerrit.addEvent(A.getPatchsetCreatedEvent(1)) - self.waitUntilSettled() - - success_event = self.mqtt_messages.pop() - - self.assertEquals( - success_event.get("topic"), - "tenant-one/zuul_buildset/check/org/project/master", - ) - - mqtt_payload = success_event["msg"] - self.assertEquals(mqtt_payload["project"], "org/project") - self.assertEquals(mqtt_payload["branch"], "master") - self.assertEquals(mqtt_payload["buildset"]["result"], "SUCCESS") - - builds = mqtt_payload["buildset"]["builds"] - test_job = [b for b in builds if b["job_name"] == "test"][0] - self.assertEquals(test_job["job_name"], "test") - self.assertEquals(test_job["result"], "SUCCESS") - - build_id = test_job["uuid"] - # When report-build-page is enabled, the log_url should still point to - # the URL that is specified in the build result data under - # zuul.log_url. The web_url will instead point to the builds page. - self.assertEquals(test_job["log_url"], "some-log-url/") - self.assertEquals( - test_job["web_url"], - "https://tenant.example.com/t/tenant-one/build/{}".format( - build_id - ), - ) - - class TestElasticsearchConnection(AnsibleZuulTestCase): config_file = 'zuul-elastic-driver.conf' tenant_config_file = 'config/elasticsearch-driver/main.yaml' diff --git a/tests/unit/test_scheduler.py b/tests/unit/test_scheduler.py index cc18b6a90c..f0382c225a 100644 --- a/tests/unit/test_scheduler.py +++ b/tests/unit/test_scheduler.py @@ -5796,15 +5796,15 @@ For CI problems and help debugging, contact ci@example.org""" self.assertEqual(0, len(G.messages)) self.assertIn('Build failed.', self.smtp_messages[0]['body']) self.assertIn( - 'project-test1 finger://', self.smtp_messages[0]['body']) + 'project-test1 https://', self.smtp_messages[0]['body']) self.assertEqual(0, len(H.messages)) self.assertIn('Build failed.', self.smtp_messages[1]['body']) self.assertIn( - 'project-test1 finger://', self.smtp_messages[1]['body']) + 'project-test1 https://', self.smtp_messages[1]['body']) self.assertEqual(0, len(I.messages)) self.assertIn('Build succeeded.', self.smtp_messages[2]['body']) self.assertIn( - 'project-test1 finger://', self.smtp_messages[2]['body']) + 'project-test1 https://', self.smtp_messages[2]['body']) # Now reload the configuration (simulate a HUP) to check the pipeline # comes out of disabled @@ -6089,9 +6089,10 @@ For CI problems and help debugging, contact ci@example.org""" self.assertEqual(A.data['status'], 'NEW') self.assertEqual(A.reported, 2) - self.assertIn('project-merge : NODE_FAILURE', A.messages[1]) - self.assertIn('project-test1 : SKIPPED', A.messages[1]) - self.assertIn('project-test2 : SKIPPED', A.messages[1]) + self.assertTrue(re.search('project-merge .* NODE_FAILURE', + A.messages[1])) + self.assertTrue(re.search('project-test1 .* SKIPPED', A.messages[1])) + self.assertTrue(re.search('project-test2 .* SKIPPED', A.messages[1])) def test_nodepool_resources(self): "Test that resources are reported" @@ -7308,46 +7309,6 @@ class TestSchedulerTemplatedProject(ZuulTestCase): self.assertEqual(len(stable_items), 0) -class TestSchedulerSuccessURL(ZuulTestCase): - tenant_config_file = 'config/success-url/main.yaml' - - def test_success_url(self): - "Ensure bad build params are ignored" - self.scheds.execute(lambda app: app.sched.reconfigure(app.config)) - self.init_repo('org/docs') - - A = self.fake_gerrit.addFakeChange('org/docs', 'master', 'A') - self.fake_gerrit.addEvent(A.getPatchsetCreatedEvent(1)) - self.waitUntilSettled() - - # Both builds ran: docs-draft-test + docs-draft-test2 - self.assertEqual(len(self.history), 2) - - # Grab build id - for build in self.history: - if build.name == 'docs-draft-test': - uuid = build.uuid[:7] - elif build.name == 'docs-draft-test2': - uuid_test2 = build.uuid - - # Two msgs: 'Starting...' + results - self.assertEqual(len(self.smtp_messages), 2) - body = self.smtp_messages[1]['body'].splitlines() - self.assertEqual('Build succeeded.', body[0]) - - self.assertIn( - '- docs-draft-test http://docs-draft.example.org/1/1/1/check/' - 'docs-draft-test/%s/publish-docs/' % uuid, - body[2]) - - # NOTE: This default URL is currently hard-coded in executor/server.py - self.assertIn( - '- docs-draft-test2 finger://{hostname}/{uuid}'.format( - hostname=self.executor_server.hostname, - uuid=uuid_test2), - body[3]) - - class TestSchedulerMerges(ZuulTestCase): tenant_config_file = 'config/merges/main.yaml' @@ -7754,8 +7715,8 @@ class TestSemaphore(ZuulTestCase): 0) self.assertEquals(1, A.reported) - self.assertIn('semaphore-one-test3 semaphore-one-test3 : NODE_FAILURE', - A.messages[0]) + self.assertTrue(re.search('semaphore-one-test3 .* NODE_FAILURE', + A.messages[0])) def test_semaphore_resources_first(self): "Test semaphores with max=1 (mutex) and get resources first" @@ -7836,8 +7797,9 @@ class TestSemaphore(ZuulTestCase): self.assertEqual(len(tenant.semaphore_handler.semaphoreHolders( "test-semaphore")), 0) self.assertEquals(1, A.reported) - self.assertIn('semaphore-one-test1-resources-first : NODE_FAILURE', - A.messages[0]) + self.assertTrue( + re.search('semaphore-one-test1-resources-first .* NODE_FAILURE', + A.messages[0])) def test_semaphore_zk_error(self): "Test semaphore release with zk error" @@ -8759,7 +8721,7 @@ class TestReportBuildPage(ZuulTestCase): self.assertHistory([ dict(name='python27', result='SUCCESS', changes='1,1'), ]) - self.assertIn('python27 finger://', A.messages[0]) + self.assertIn('python27 https://', A.messages[0]) class TestSchedulerSmartReconfiguration(ZuulTestCase): diff --git a/tests/unit/test_v3.py b/tests/unit/test_v3.py index 6b3d7ce24f..26b85786f1 100644 --- a/tests/unit/test_v3.py +++ b/tests/unit/test_v3.py @@ -20,6 +20,7 @@ import os import sys import textwrap import gc +import re from time import sleep from unittest import skip, skipIf from zuul.lib import yamlutil @@ -3227,17 +3228,6 @@ class FunctionalAnsibleMixIn(object): with open(secrets_path) as f: self.assertEqual(f.read(), "test-username test-password") - msg = A.messages[0] - success = "{} https://success.example.com/zuul-logs/{}" - fail = "{} https://failure.example.com/zuul-logs/{}" - self.assertIn(success.format("python27", build_python27.uuid), msg) - self.assertIn(fail.format("faillocal", build_faillocal.uuid), msg) - self.assertIn(success.format("check-vars", - build_check_vars.uuid), msg) - self.assertIn(success.format("hello-world", build_hello.uuid), msg) - self.assertIn(fail.format("timeout", build_timeout.uuid), msg) - self.assertIn(fail.format("failpost", build_failpost.uuid), msg) - def test_repo_ansible(self): A = self.fake_gerrit.addFakeChange('org/ansible', 'master', 'A') self.fake_gerrit.addEvent(A.getPatchsetCreatedEvent(1)) @@ -4234,9 +4224,9 @@ class TestRoles(RoleTestCase): files=file_dict) self.fake_gerrit.addEvent(A.getPatchsetCreatedEvent(1)) self.waitUntilSettled() - self.assertIn( - '- project-test project-test : ERROR Unable to find role', - A.messages[-1]) + self.assertTrue(re.search( + '- project-test .* ERROR Unable to find role', + A.messages[-1])) class TestImplicitRoles(RoleTestCase): @@ -4316,10 +4306,9 @@ class TestDataReturn(AnsibleZuulTestCase): dict(name='data-return-relative', result='SUCCESS', changes='1,1'), dict(name='child', result='SUCCESS', changes='1,1'), ], ordered=False) - self.assertIn('- data-return http://example.com/test/log/url/', + self.assertIn('- data-return https://zuul.example.com/', A.messages[-1]) - self.assertIn('- data-return-relative ' - 'http://example.com/test/log/url/docs/index.html', + self.assertIn('- data-return-relative https://zuul.example.com', A.messages[-1]) def test_data_return_child_jobs(self): @@ -4352,12 +4341,12 @@ class TestDataReturn(AnsibleZuulTestCase): dict(name='data-return', result='SUCCESS', changes='1,1'), ]) self.assertIn( - '- data-return-child-jobs http://example.com/test/log/url/', + '- data-return-child-jobs https://zuul.example.com/', A.messages[-1]) self.assertIn( - '- data-return http://example.com/test/log/url/', + '- data-return https://zuul.example.com/', A.messages[-1]) - self.assertIn('child : SKIPPED', A.messages[-1]) + self.assertTrue(re.search('child .* SKIPPED', A.messages[-1])) self.assertIn('Build succeeded', A.messages[-1]) def test_data_return_invalid_child_job(self): @@ -4368,9 +4357,9 @@ class TestDataReturn(AnsibleZuulTestCase): dict(name='data-return-invalid-child-job', result='SUCCESS', changes='1,1')]) self.assertIn( - '- data-return-invalid-child-job http://example.com/test/log/url/', + '- data-return-invalid-child-job https://zuul.example.com', A.messages[-1]) - self.assertIn('data-return : SKIPPED', A.messages[-1]) + self.assertTrue(re.search('data-return .* SKIPPED', A.messages[-1])) self.assertIn('Build succeeded', A.messages[-1]) def test_data_return_skip_all_child_jobs(self): @@ -4382,10 +4371,10 @@ class TestDataReturn(AnsibleZuulTestCase): changes='1,1'), ]) self.assertIn( - '- data-return-skip-all http://example.com/test/log/url/', + '- data-return-skip-all https://zuul.example.com/', A.messages[-1]) - self.assertIn('child : SKIPPED', A.messages[-1]) - self.assertIn('data-return : SKIPPED', A.messages[-1]) + self.assertTrue(re.search('child .* SKIPPED', A.messages[-1])) + self.assertTrue(re.search('data-return .* SKIPPED', A.messages[-1])) self.assertIn('Build succeeded', A.messages[-1]) def test_data_return_skip_all_child_jobs_with_soft_dependencies(self): @@ -4397,10 +4386,10 @@ class TestDataReturn(AnsibleZuulTestCase): dict(name='data-return-c', result='SUCCESS', changes='1,1'), dict(name='data-return-d', result='SUCCESS', changes='1,1'), ]) - self.assertIn('- data-return-cd http://example.com/test/log/url/', + self.assertIn('- data-return-cd https://zuul.example.com/', A.messages[-1]) - self.assertIn('data-return-a : SKIPPED', A.messages[-1]) - self.assertIn('data-return-b : SKIPPED', A.messages[-1]) + self.assertTrue(re.search('data-return-a .* SKIPPED', A.messages[-1])) + self.assertTrue(re.search('data-return-b .* SKIPPED', A.messages[-1])) self.assertIn('Build succeeded', A.messages[-1]) def test_several_zuul_return(self): @@ -4412,9 +4401,9 @@ class TestDataReturn(AnsibleZuulTestCase): changes='1,1'), ]) self.assertIn( - '- several-zuul-return-child http://example.com/test/log/url/', + '- several-zuul-return-child https://zuul.example.com/', A.messages[-1]) - self.assertIn('data-return : SKIPPED', A.messages[-1]) + self.assertTrue(re.search('data-return .* SKIPPED', A.messages[-1])) self.assertIn('Build succeeded', A.messages[-1]) def test_data_return_child_jobs_failure(self): @@ -6282,7 +6271,7 @@ class TestJobPause(AnsibleZuulTestCase): dict(name='compile', result='SUCCESS', changes='1,1'), ]) - self.assertIn('test : SKIPPED', A.messages[0]) + self.assertTrue(re.search('test .* SKIPPED', A.messages[0])) def test_job_pause_pre_skipped_child(self): """ @@ -6330,7 +6319,7 @@ class TestJobPause(AnsibleZuulTestCase): dict(name='compile', result='SUCCESS', changes='1,1'), ]) - self.assertIn('test : SKIPPED', A.messages[0]) + self.assertTrue(re.search('test .* SKIPPED', A.messages[0])) def test_job_pause_skipped_child_retry(self): """ @@ -7104,7 +7093,7 @@ class TestProvidesRequiresMysql(ZuulTestCase): dict(name='hold', result='SUCCESS', changes='1,1'), dict(name='hold', result='SUCCESS', changes='1,1 2,1'), ], ordered=False) - self.assertIn('image-user : FAILURE', B.messages[0]) + self.assertTrue(re.search('image-user .* FAILURE', B.messages[0])) self.assertEqual( B.messages[0].count( 'Job image-user requires artifact(s) images'), @@ -7130,7 +7119,7 @@ class TestProvidesRequiresMysql(ZuulTestCase): dict(name='image-builder', result='FAILURE', changes='1,1'), dict(name='hold', result='SUCCESS', changes='1,1'), ], ordered=False) - self.assertIn('image-user : SKIPPED', A.messages[0]) + self.assertTrue(re.search('image-user .* SKIPPED', A.messages[0])) B = self.fake_gerrit.addFakeChange('org/project1', 'master', 'B') B.data['commitMessage'] = '%s\n\nDepends-On: %s\n' % ( @@ -7144,7 +7133,7 @@ class TestProvidesRequiresMysql(ZuulTestCase): dict(name='image-builder', result='FAILURE', changes='1,1 2,1'), dict(name='hold', result='SUCCESS', changes='1,1 2,1'), ], ordered=False) - self.assertIn('image-user : FAILURE', B.messages[0]) + self.assertTrue(re.search('image-user .* FAILURE', B.messages[0])) self.assertEqual( B.messages[0].count( 'Job image-user requires artifact(s) images'), diff --git a/tests/unit/test_web.py b/tests/unit/test_web.py index 87cdac5174..eab835604b 100644 --- a/tests/unit/test_web.py +++ b/tests/unit/test_web.py @@ -180,10 +180,8 @@ class TestWeb(BaseTestWeb): hostname=self.executor_server.hostname, uuid=status_jobs[0]['uuid']), status_jobs[0]['finger_url']) - # TOOD(mordred) configure a success-url on the base job self.assertEqual( - 'finger://{hostname}/{uuid}'.format( - hostname=self.executor_server.hostname, + 'https://zuul.example.com/t/tenant-one/build/{uuid}'.format( uuid=status_jobs[0]['uuid']), status_jobs[0]['report_url']) self.assertEqual('project-test1', status_jobs[1]['name']) @@ -197,8 +195,7 @@ class TestWeb(BaseTestWeb): uuid=status_jobs[1]['uuid']), status_jobs[1]['finger_url']) self.assertEqual( - 'finger://{hostname}/{uuid}'.format( - hostname=self.executor_server.hostname, + 'https://zuul.example.com/t/tenant-one/build/{uuid}'.format( uuid=status_jobs[1]['uuid']), status_jobs[1]['report_url']) @@ -213,8 +210,7 @@ class TestWeb(BaseTestWeb): uuid=status_jobs[2]['uuid']), status_jobs[2]['finger_url']) self.assertEqual( - 'finger://{hostname}/{uuid}'.format( - hostname=self.executor_server.hostname, + 'https://zuul.example.com/t/tenant-one/build/{uuid}'.format( uuid=status_jobs[2]['uuid']), status_jobs[2]['report_url']) diff --git a/zuul/configloader.py b/zuul/configloader.py index e4c5608fc5..e01ecfb759 100644 --- a/zuul/configloader.py +++ b/zuul/configloader.py @@ -583,7 +583,9 @@ class JobParser(object): 'provides': to_list(str), 'failure-message': str, 'success-message': str, + # TODO: ignored, remove for v5 'failure-url': str, + # TODO: ignored, remove for v5 'success-url': str, 'hold-following-changes': bool, 'voting': bool, @@ -642,8 +644,6 @@ class JobParser(object): 'attempts', 'failure-message', 'success-message', - 'failure-url', - 'success-url', 'override-branch', 'override-checkout', 'match-on-config-updates', @@ -1533,6 +1533,7 @@ class TenantParser(object): 'default-parent': str, 'default-ansible-version': vs.Any(str, float), 'admin-rules': to_list(str), + # TODO: Ignored, allowed for backwards compat, remove for v5. 'report-build-page': bool, 'web-root': str, } @@ -1552,8 +1553,6 @@ class TenantParser(object): conf['exclude-unprotected-branches'] if conf.get('admin-rules') is not None: tenant.authorization_rules = conf['admin-rules'] - if conf.get('report-build-page') is not None: - tenant.report_build_page = conf['report-build-page'] tenant.web_root = conf.get('web-root', self.scheduler.web_root) if tenant.web_root and not tenant.web_root.endswith('/'): tenant.web_root += '/' diff --git a/zuul/model.py b/zuul/model.py index 0bc52bfdae..6cc2797b35 100644 --- a/zuul/model.py +++ b/zuul/model.py @@ -1294,8 +1294,6 @@ class Job(ConfigObject): hold_following_changes=False, failure_message=None, success_message=None, - failure_url=None, - success_url=None, branch_matcher=None, _branches=(), file_matcher=None, @@ -3165,16 +3163,12 @@ class QueueItem(object): return url def formatJobResult(self, job, build=None): - if (self.pipeline.tenant.report_build_page and - self.pipeline.tenant.web_root): - if build is None: - build = self.current_build_set.getBuild(job.name) - pattern = urllib.parse.urljoin(self.pipeline.tenant.web_root, - 'build/{build.uuid}') - url = self.formatUrlPattern(pattern, job, build) - return (build.result, url) - else: - return self.formatProvisionalJobResult(job, build) + if build is None: + build = self.current_build_set.getBuild(job.name) + pattern = urllib.parse.urljoin(self.pipeline.tenant.web_root, + 'build/{build.uuid}') + url = self.formatUrlPattern(pattern, job, build) + return (build.result, url) def formatStatusUrl(self): # If we don't have a web root set, we can't format any url @@ -3200,46 +3194,6 @@ class QueueItem(object): ) return self.formatUrlPattern(pattern) - def formatProvisionalJobResult(self, job, build=None): - if build is None: - build = self.current_build_set.getBuild(job.name) - result = build.result - pattern = None - if result == 'SUCCESS': - if job.success_message: - result = job.success_message - if job.success_url: - pattern = job.success_url - else: - if job.failure_message: - result = job.failure_message - if job.failure_url: - pattern = job.failure_url - url = None # The final URL - default_url = build.result_data.get('zuul', {}).get('log_url') - if pattern: - job_url = self.formatUrlPattern(pattern, job, build) - else: - job_url = None - try: - if job_url: - u = urllib.parse.urlparse(job_url) - if u.scheme: - # The job success or failure url is absolute, so it's - # our final url. - url = job_url - else: - # We have a relative job url. Combine it with our - # default url. - if default_url: - url = urllib.parse.urljoin(default_url, job_url) - except Exception: - self.log.exception("Error while parsing url for job %s:" - % (job,)) - if not url: - url = default_url or build.url or None - return (result, url) - def formatJSON(self, websocket_url=None): ret = {} ret['active'] = self.active @@ -5253,7 +5207,6 @@ class Tenant(object): self.max_job_timeout = 10800 self.exclude_unprotected_branches = False self.default_base_job = None - self.report_build_page = False self.layout = None # The unparsed configuration from the main zuul config for # this tenant.