From 8170e2d4f23cec8614009e5e97523d071684cddb Mon Sep 17 00:00:00 2001 From: ocket8888 Date: Fri, 8 Oct 2021 09:44:27 -0600 Subject: [PATCH] Add blueprint for Secondary Streaming IPs --- .../img/add.secondary.streaming.interface.png | Bin 0 -> 15399 bytes blueprints/img/add.secondary.streaming.ip.png | Bin 0 -> 36733 bytes blueprints/img/cache.stats.png | Bin 0 -> 45726 bytes .../delivery.service.server.assignments.png | Bin 0 -> 34234 bytes ...che.secondary.streaming.interface.list.png | Bin 0 -> 24120 bytes ...edge.cache.secondary.streaming.ip.list.png | Bin 0 -> 45237 bytes blueprints/secondary.streaming.ips.md | 959 ++++++++++++++++++ 7 files changed, 959 insertions(+) create mode 100644 blueprints/img/add.secondary.streaming.interface.png create mode 100644 blueprints/img/add.secondary.streaming.ip.png create mode 100644 blueprints/img/cache.stats.png create mode 100644 blueprints/img/delivery.service.server.assignments.png create mode 100644 blueprints/img/edge.cache.secondary.streaming.interface.list.png create mode 100644 blueprints/img/edge.cache.secondary.streaming.ip.list.png create mode 100644 blueprints/secondary.streaming.ips.md diff --git a/blueprints/img/add.secondary.streaming.interface.png b/blueprints/img/add.secondary.streaming.interface.png new file mode 100644 index 0000000000000000000000000000000000000000..1ee4bcfb5832fef81618aee19e7ef6dc9d8b390f GIT binary patch literal 15399 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 literal 0 HcmV?d00001 diff --git a/blueprints/img/delivery.service.server.assignments.png b/blueprints/img/delivery.service.server.assignments.png new file mode 100644 index 0000000000000000000000000000000000000000..39aa917d1d8621905cc2764d0586fb03368cf6d6 GIT binary patch literal 34234 zcmdSBc{r5q|2OV#QK_NsNC@qvg@ne^jF_VCY!wM1$)2$enuQ`%LRzd@hO#sEeMTbt znq_QbNWu(8m>C(v?;PFt_xpLC@9%RQpXZA8WPHbg*N zfRB$4a_#Enn|yp*;Cy_We75t0cS3`XB=GS)=DT)T!_a4NhQeVO8TmH&tvz13W%lNH z(KTI1$D47{o&CFSHuRW&zGM9^w&{*c&$W*R5!^@_P>!_dU@9lf$O5 z)z=r*cYwz5@m;d)36J0Sjc)}z|8tGQ*u3%A(vB_C8^1gr{r$#&dfbiu{cZp0(O<}m z*HL_Y2bX_e_}|B=bR36u48xvto+s9?VWyNCOP$EM54bDLrk!$Cug=^pJ7-ex;Mxk6 zP`!pO@LON&X06h4hM4sdE=T1^%lFY|68+YGE#1krAgaRJ-!mwvk=YSqCD|F_V(GV3 zWo(I4GAXjZu_DR*dR^|A3+dPK>M>{1?W`F~4kpWt@F-_IOj7N2yqb5a@*3Zz`L3^{ z+@Wgj&z85* z$94PFP>V@%hcS;xqXE(tKHX{ha-LPaNqum}>7hh#UuFrvZWo>1r7b<7I+ds5@neew zmN+rIsN|2%vwUC-6*x#Y#iZcG??c6e5UY!*Z>3w@a|bLH{< zhRihaY=O1hs)gpr#kD8fq^@H8FS7cro9aU)cEGp81#W~!cQPc{0buS#Z~{{6JNt6X z-Z&4Hd|a<|=uUmm7OT{RV^c)4x%fI_cTKRPo;}gC`{)V-hGDsWeOo3be*VE#)8QUp zN+p97w@O{-TDCZ$j&MgX4CV?qX;adV;RvtywedbHb6y&Kx=Al$1_`&47AvXTTw}K4 z)U2U|%<1J$R54gY7Wrqv%5kpnT2iZ#PnEjfMfL18qJ?}Z+yNidhv_5m>NVTI$Xs4e zvO)dw%!+6>aI;+2N4ghFu%1KO{RcNs%G zFqqc-o^xSo3FuSYUA_68q(aNI_4W$45;n0iu}FtA+(iGCWaDrkpJ;yicJ{M5c|4i8 zy3i8J&a4j_NY#U=xzb}B{kQIPG@ndRjzrDaQSDBTDm2{H-`B#wHy=iSA*^ELn#MTn zocK%js~1fz^Xg-K#S#6BKQFJq6kSHDmfpATJnwl1ORa-Tq!hfjFYLczMPp zsDE;9VWK6DWi#bNXCwSPs;hgg^@X-;lJzAg-?^B3N|hmqORtW3&QQj%gX^~Hj`5zW z*66AtdTgKS0DF_F><>=XRk!W}^1WUv+M8S4+R1k5W4y%RoV3ag3u!g4<_0+)+XJF& zjrN$tLRB+uMc&Qt-r5RbeQ;<<6Y_nmHh7y~v@r7FNL6{CxU^|_^*X0IeC}gX+W6e$ zu-`h@c}NiE7N_WNv&C+8Adzcw{ZmrhCaPVgnQH`pb{q7veSe-+jg7;}H=pzN9ML)o zu3nF0ZTd-3q-#yIt1))XrTDF+`TZ3&YgQj11njBI z(AAZPrQ~p3NOotdILkZMWlAGLGg!g4b-OP~oFK4uc+8fiG?j3DWv*udhd8bSIZX9_ ziNW@EUkd%XzQ$N*`G&zQTe=>l8K`^0ZQ^&T>a8z_ukRoBW%3C~I(c)1zsvOR2(+uH zp9yk**yUbnb*JHxh(tm|`&2TuC>xi~+|euJNLI?3{mFc)*kW*!)t$Je$X-czhuq!) zFVZiDwRXM)GeHk{Wj3JEa$qA<-F~ z9D)u-R?r0Cnv`ayXG1A0^T}v#IBW(_^IA?Q;7r*Lb4%?K9vyeg_KZkQ;Uzp*NhIml z56|j-vw=ySM-8EM9}kI|K+l^%n<~1vE!C?n>GjEk)X!60DGD8OY>y(j`#XbAt$Ij& zQ@xG;EWYSV%(ZtjvTU>qHmQ(WNRZ{U6Hd{G_cj#JREMa?D#qF?>KD;IUzUpGsq)D9 zm@2%sK<32=87j+7d$1DRmqFuU8=rFAqA?-l?06d z{t5m+NK|6grv|T)N0W~dXDX?>G?@rC>;pr(+v#vgaKtZS_IOq1;7}8sbtTu%W38Mh zGU%pD_m*A4#g+P^ECP)D!_QZD**Mk6@GWptjkxB_KsrqZG5-hO7U|+`(j*B5wzgL2 z{9y&%W#qxEEz+cVq6>98wHrrUNRj5IyY1}_n{BL!SyHmV5$%Ujr`#>{s2nw37rcFUU+dhl-aNYBA_F2gTT z<$*S|)mF!$vIJphSJTsEFy8R;I=ff1Q`r;~PeCr)*qLsPy9t%yq0Kemt`e%GinFZz4z+5m{zqZWa`P~p`JnERdhgA4 z33>xi*GKw|_oq_x>_s2WS}I`|&=_I!Nj>Qn)jpM;O9nL>YCesb<9|9Xl_NfRN)0eQ zzsj+n9Zs9eHcfrv7#uNJDj;JNu8n$8#Ar1Tpzd{2sxZ9UC7GO#GITjGYX_kg5`I;U z*0Lp2ACqT$N9iJe?!~5?RdU6-rIq27S3}-d3d7wTL1G}3@(O$vW=3ntL$$Lt<2z5G z?#?(baBWvvrPa**Ge>Q z>h#@7iCjFn63X$iZt{lPKsfW1{TZ>?bYuu&Qm60N#A!YZo8pZLk4gy2ypcRX-(i|w z;5Sv_PF70&Wb+J3vv$f^MvM03x5vXHQQ3tIQ-b?}0!<0;{Xv8~MJ@x5*-sNjGM{{S z+yg0C_`J7LJ1U`>j*%hUHn5l@=gb|p+A*$qO&zjTZYoWf{NK5;Q0W=K~)do%^F_r5D^zzNb_ky4JCC5(H&16*-C zyyDbyXZK<1ej}7!aYmN2T7VGsjuoXfMoi97{vtiK!h9$KDw)lB(Bw;GI5^&xue(zr z)-#!Iwq_G$zRz4(U*B=K^RoVB3ho24-2@u&2$6W+NCQN%a&y9{1Z!m%dUu~ z3Q)Z=v^8)4wD2||)u#l>RZJ$EDJsb=Z^xbZK3g3PV)J6=L!Z%H0>SR~ZF?F$=d}p- zEin}blfX@CwZaMG;=2M*%=ymG1{g$mQ}b%GM~@WA;grk^{KF4dgPg@ibD6VH%Wu@GqGtM?48 zRGpfF{2n?S$k|cEMKef-N*XK=W+xIRkSc>O$+S*?;r|FxZM6=VDU$*%IN|6+gk3;@KmgBNcCix0Jf#R9@ z)i@NtH0r%EYO6HqAVu=qt&fuq15Sf%*tj0?KxGHLjDPXPn(bEUR1%BVnc*EJLA7K;7Nw4op4{@kJmc-DG zG`LuTD#~#zDED$Oc`HuKEwBdv0l(kA>{A zyQ$01R=dR1eev}Csk?VBEH?_EnXqf~UE+dXs>|sBq8wR1DSmsIl*SygU@OgX5_WLI z8uZwAC&aV=#6H!WO0LnKD&q+rD~9u9P9OTW?l6k(;8xNMrh?6^^_|5nvn52hrM@2& zhpxugXxq0sv@T)e2g9Oc4)*xCX4OQ+{BarTiu8GHe4y9(U-1Erk&REN-*3&m5qWsG6>0C@z_&9hZxHAbtP6+;+JuGGKGsdHstw|F+u zepi@Ad0kAgwImm}$6t&@<#p!LeJY#W=)-U|Yu5JA#3m@unwiv4w;( zhjgFVuuxV;>a{b2t~_4u!D5B9i9(U>v^n*!Z z^>QXH?l2CO?U5F4BT2u@*7bOI=pMfQ9qmcFSBUsY@gTbnJv`$e#Liv9f9|J|(4RQ{ zY0h7h8L3^0iFnf^jxRal3@=!~`7gR{on=))w|QOjB{<}LdP&x8L9IJF9+@&${*DjAmr}U6Qmpjj3A0J54ho`Mg z8dS-+?isF*O=xXG}AkztQl>$ZmcQO(|v3FcgQWR5a|yQ2;*~ z>f6o2b)@GNaPtu4Xogzf%wk1u&8b>->{e@>5OgLX2_LLIx5N@yzz(?xD3O0w{`H#y z@JnC$g%mX6Qbb>+=S3zQqZD7-tPCcCpfKBflpM{nh4_FCfFQrdKR z);L{F(4+tTYj;)QnywJkEewm8rHo-!^lfRoG`#d<;vq^NP>+QhbW|@}ii~ z)1tvF(WDmsxR^;7&lbl<+t9|YO{qa$eBvlAT0;y$x1Eq3nJa(y8*Cr8Ouw+8{?QM& z26Ueo_JK%(LihC`q}L!((njEcE%U*%vADBGB8Mgnp&qfHOQy2Jm35L`50@vy*6SQ=ndJc zuIYgGgpD2{L0=6Mvy9Emr&m*i9N; z(iM}5e(=n6hqTfoA%uo&txHMrnzeTdrk=+!3VR?bURr$2ORf_6M&d2_H2X*9*4AMm z$P0zyf*0D}j*rwiQM5wEMQ|QjyHg(OK2Hu6mE2~j8~YFIBcr+x2>f9k{PCBq=bz?T zsd{=5)-!R;Yc)1AoL;q0t*;}Pabr8TD+U#O)N-sd)$hhNeK56vwaCIOl;beX{u_Wuzfkjx#VhvZ&qa!5~gws*$&LoX;x=T>% z19J)avA|y=3(T)s3xAK~$AIvD>4QXM-LpLo#GwA5mlja3nf}&#&=RQ82_!#z+PT-M!+5!8b*iB?Y0si$>a07vkkEb;gye*N#$C0G-M-B$<^qr> z>GW9E4P61M@7J{(Pi~feN@HBibcfWtv!6WbOi5~FtKk=0jaLV}ou^iBkIqR9ek9vc zLVB5%vEEfJ{91gE;o?}&7YVdOGcFM1+h_Y_DbHdYL{YU#Cg(0V z4;uPR1=Ky60$HA%IJ8 znL<2tDI3uwj?Lh*7YkZZciw5LEXHSR-S1O1gb`@Awh8j|o^HDJx>Ph%1|!`W=5#KS zB--X~)bX*I5vo%9f@PXL?kxh)=MxJ(XeQ~iCt9F>?T^k-ta&@rbJ)3cnMBouNdQj< zoB@9@SmfZ)yJ#@6LR!8oe2Kc}RC9JNowg%6BiE?vE4g=#UA+$D>;}fxXuxQSTu8=y z(!H8ZERn~#AEhLap)dMljyCIcLBO~93oRX658_S7qYu`A3jFq@3u4=5{xJOx*ncfTHx!9bFkfui*hIt zXnTxb&p98m1)KylwvE?+dIZ|{#_K;k{$o&0VgA10k|j@(;=TU&J64=sULKcT-@fr- z=ZSwjF@T0QUjO0o(%;|ypB}fv`(-x1|3CNa{;##{_k;iM{q*ntuG#i?7yr}e|LO5> z^AgB}zi;?IkIcDO$eL@vt;c`4&EGfRP2+&SolpO8k`(qmvSnkI@IDwX+6C83xES;8 z^Tw#}#_q;0WsHtbrzPsGFzHdT^49#KLMz#~()5mH8553w=NYKmfgz+v9vufZ(dajg z#HG1P#&J<|&l~PPV(gA5`mV@ucr*9lvNG2{+)GsM*fJlw9vGDG-lO_Vrd9MdW&rO- zV4!fa%gXFw4*;pb%U|gC&+h>|xC~g9>pcGcOP6Y{SApmBSN`5J2Kn{<9sPxN`U}mc z2_G2d)xJ1)U~FmDG=R|i1|o4mF>)P*=VMgtqOLVp@4a#a7HE^s)UfkIr#Wnf%c?G2 zhU&|4Zdr+`o?iF+`9-v;`Q7PmHgHkOCz$oyq_Leo@dMS5LY)c^C^ffKfkz`<2hM3< zQAcqr&tx?Zo@j|Gb*4&P^vQFe);}c7(h1diUbBO}cgP~AZ-1EV<}j+InQK6x{5bgy zprsyVQT5gN+EEqu&jx8I1l3iJx6WdYHf-AHBJhY~qt+u;k3#Q#R=W4;@q_ME-57@7 zVjEOKztUVl)wUxcUJRS==EDp^(FdJ^B+#FpXNJHpjM!qOwTD4nU6Pw>r3>{sh)auj!^#n_4U_`>h+Pz zvnGVX&8H<8A0i;J>f*GE0q*+5Lpf6(+gogM7Yr*wat;DPqpg&&t0Lr~|;6uyzGUOkVS-K&3bPw}q6lfWd0@QZ^E3>AP6 zlLuKQ8^jP>J*Oqdc3I$jHUZLr$7Ih?bL~xCEIVHP_Kg zj=-YRWf*7l;{%g37_l72Z=Kt5%rf$W_Q7b+sjaw3^&&aMgkMR;--@N3^!Toj4E`PeDZDq zd2%Ak5}CQT18EcH3KVu*#$*j5H7TnaY0heQ9C;aKP`y7Zu!=rW1ZwEu0RZEUU5{WeV z`?hgE^PN0E^YEy=&D%r}ZKuLA#-OR%FNrQRL3q!bBSnJfaNL0l$l*Ko)XZ~^4|R8m zNVf@?^lZLj6~`dP;wIv~M;u~tU#cu?0wwRrtVY9e=nB94=xsdf^!F?`7si$mMK6ER zFdF{a0QIazo*U91SrlLR!9|8gRGDr+esl-yqgtzRwJ^V%xc4PK+ z^nLsssRoRB;`WJ%|qJxS#Z%H(-{#s|vTZxX3ytcm*U8>`k#^*K69a2Cq zO|^2r?PESPp2u%WxPs}9&cH0%Ud)erqonlE!WEB`_xREJ7X#XT+)fOR^;xLdCjC2k z@B#qw*m9>|R+pO3{HP9~P`;`!YjY|ij1m!sNj=WOl|-e5AZ;Kl+mu-MWt-dxwN^Wr zk=3AWA2&OSAc_>QLi!M}qs{!%tj>rE|L_JW%o#4!JMvxhC?dD)+lyiAljv#{QEXvF zS>ZSP+oCyU7U6rC`(iFQoBmKNMiXFx=Qh&)rFo6{t}h7lW*rSjX!N2#AJrhrKtIrc zz^~A2-)9g7Y7Jsk6c5}7DZoNJ7hhj)?y7kD>TV1x;(U#E#G&Ix!4>`8KY$D=q`vCv zId9dcapf-r$4EzaA4X;6{dsZ%W%D&z((*S?Ra4zSCvsxGo#pc#Ck;OtBJTDq)hLer#6eYW2e_Lomo91uqsXB(1lut6w>rMhzB}6d+l4_xu3o znTK?8W=+(Gzoqh4oa9k^Nkc=$r9lIEa{p-UocU{|Te^L2&vI(+2Me0iG^F21Ne(E= zF)Q6SSju{NM*PCZ!yoWu$Jjet#ap7}^f7 zxIkKF&`U=De~+8r%*gb^-jC`%{f5>Zx$#!w3&^S6w3sAzaB5+(-D2l?#kzxXR~uv7 zOIp3^-0fcN*sA1JTLGjzJ-fJGiTV+!s#I!?i;$c^TSZEOqOm#3$Z$SFgmvalUXp`} zrSC5rJdUnsmo;(_Plhj#2I$g1jML`G+3c*z7mT|FrH7oR`pjI2?MgsrPGK=>aK*`bU~)vV9va;Hc6vBQ6dR4p!ev?=Vii@|U@%Y7&CzJ-Q<*C(bOI(kU(%xd zR+r>3|U#z*Z-Y(+cfp!w&z{Sd^ROFb0m zf!b89$q(1w#EO$*y;$Xw3D+gUY_ICv9&5}Ty73gfsh@aJr$eZ1Q}VYs{3rr;zm?k4 z*uO#zS21q(aqyL?6io&h-pyfJ;Iwq)wx}&f18-x+MZlz0 zzHj~ZH0+JH?Cfy40xZ1f%vR<6mdpx5tJkSK1&&UOcQ~%Ef_^u`Yj%UlY{ckMpML$3 zLa?yY)Y@X*QsRY4(N?=nzT7BAde!uG_M{V^42=iK!FZ#wMS5npfB2>u8Do*-=@!oj z>>wES3PKWn-(2Z(eS*q^h3`!xPFYXL*mOX8&(ya zARE=*(d_Q4P!w_0-_>;JcabOHEa9>#V+Zju*B`7d|1?*4a2a8-PxkKq_pl$yA+mot zMfEELF5UKmM0P&B$a@anq}G_|KBSM${LmY4Ls_{(+>W= zPtCT!nLZ$+|4>sv<#DiOWlH2mQ+OXVIEZ22Uwm}FS0bDaQgy<&13ZEXuGBN|58tP+ z&h`9Cu&nL@cplv=kK;1Q-AwpmtHK-b$=k)%bq`uk#se_4#0#xFTE)A2c*z!Np^NjE z2r3Bzs_m-uGyXyiywbzFo?TaF_JWf@BeqBn_z^07WNNf=g3|E!?=f@bq0H2X_4O56 z7Ge8F1n?KyV8lO0trvf^Ii!qaD}=887_Hr+`QP6GfX2z?Q!ufg|M%FOeo9Qc0F zipTKX*z~ItVDZMEF|R1nC_Z3Vcb=udni+Tl>MT!BW5@){!~-hs9}MQ*z|467>OMjz zs#$|hO;9Sf`%d-V6MEmU*M#sTY4#nBB%pxWZsCk_k0Nid|0ic&R zRlk13h2jz?L1pYT+;940lsIP<=#9JPhQig?fY%ffR=$Z>X%)-hHErYBDPq{xIH+9z zsPwsemkK};XDd4k?@X@ElbMQ!VZ3bT@me0Y^>+sT!6TeVz8f}b!eRa3D^}>;2AT{f z?RmVb6|c&U84t?vY@?Gtje%Zk-{r(FB=vq~sI-H##vZ}QmCqEkB(tLcTbz7-UG^Gj zeGNm}5FdCw>#0BgbGDRve1kWR5B#sZQAla-UwGpsz#E53UG&#|0cTHBg6mjYwq&a< z-{En>icGt}7uk`xY7>{zZNZvv`q@s+rbKO+vyQ${BBfI@g22;1vAkcw zR_E3@bD>2}f5c}z^m|G;{4Wa}vp4d@DnKhPV#lpS|A39ZRCsNdh`TT=gCE;VlG=ov zcLSEz1+F=9zoI7sp)d95dqn!76Go+o9(!uFpWhJOWQI~%Y7>{>^X<7OrdMs8#F=y2 zAuK!-&9408X`d4qD2M2u0Hb~wqO-o|vCD&2?brJm#y%*J`Fq~0c*Krm88n}-x!o8s zw88F(F!>qRFOY*Y;2L>tkrvmq?n?o6<k<=(l-}0YOuJ>&h!M(_r;!2qg z`(I3l;z#S2?%y!@`05m6*dYD>T59ZR+eCY=5jDVx7l(L@Rhzt38t`1^g_q_?q0J(K z%wDVyD15A9sH2zcyE(I?wYl6e*2BEB7FEjov4)f|J$`BAA4Vd7LWnHDz@4k+fOhk+ zr=x5xsR`b*|QjODA3g$;d&Y+bc+eH*dGY zFU{X@n#VsL^WQ0JpE16>`+Ch5Q7;1DR)JWzV@tkDNw}JZ#)u;x0eegHkBD~=HLvbmGc9w)m(Hh;SPPWI&Ref6O;7)v$*?&0FL$xpwj=08 zK&IW}aF_HKl7P$qiN$sgRKT{(u?mcj}K{(!LTSXlbgo*rNx`?r*3OMk6oTGx_9btCi2G;Z4|MdQ~wi05rqus z6ZF0^6tsZm@hs+4pWuPv5pfA9GW!7b?Le5Sf4Eg`kcc4s`-{`LjpoK(oVEgHHBwGA zuFw1Hhikfp6J<5Qc$0^zx^a;zx;Z6g3SIx;_e%sxS^-F6pNGUxC5Wl@Tpg*Jtr~4R-0*`Z;5!u%Li zsN-0XY<`(nj?qYyZtC+H98BU!g|7D&bj2gB1}pk{*qbfaFU1vEYhJcT(;8nP&=83(pox#_xg;141KlbZHRii+K)l#cOk&2?j!< z%va^K%&aOfu+JVqZh%b(rS1XYYg|qm{Yx<~HSWfOQaZZ75a#y2Ta61qXGBhmxp(VA zm6SdyefYeJ1Bpa8G5`LT7pZLe;tYS8gfbQghq|}2G7k|!X?`kOKl&U#!!<*K7d+zy z;8=uFU#|Jkf;jVPzNIy~whRWB!pz9KOyTh|EY2+cs+YcG*Gol`lm^SK5b#cVQikj7 z_*T%8jf4SWPor}wrSE3rO~gS^1sm_#x36^SBZcomO(2DisDCN;=EAViYLD^L?pcR? zFn=P+fAa~~n+;x`=a*drw%tmz=52Wa&oW2ZxA*JGs!rjuxsn-x7YB-+j4N_TxLhfT zRJ&j^voBkYh~G@XUs{~(aQU?hbM@s=+-1YZMnv}|=)WWo-FbYyYim*J`3H@!QoqHp z=0h{P8#9&d2Qtj*gM!kP-iUbS8R5pdIfYWu(4pF6-#_n^d$_W0R*H1S2GR0=gMKRj z`tP^UmmUFfc6$XwZT~Mg6>y%w}Hs4TuxT%j{9Bf{Umh?k3K{ikzmb>K>irJ%UhHHrh!z>UHfVPDQ!#>u;Xn}I!nuV zRhx4JfAFaX&nN@ecW$lG)~7=_4`&C9yA&$YePkxZc%S$Sfk|#`E)CRqeK3Xg?z*U` z_S~XYh1VW1?G7$qMbnvhhnq^Z&usT~&71?6AnDbHCA4v+%kS8Esq*#T4#&U4$N%pA z|6|--qxTy(|4$o+_c%P7@?Xb`JTA4d$7^Z2`%TlE6TG};j}@D$X1c7zS)`B)I(X-T zrcI#*&dB>E)e2A3%t5>6CxVr4iNcQdbKxWq~6ZLz3EsJo9fq5e)DUz zytO!I0T@S9FUEP2HF(Ul9hQt;5T}e3yC66s(Wv-G1CwkiO*vN*4>r6tMI6!oE2lDu z0k&Gz3SPj1Ids7CcPA)A(%l$4VKj>{xz&^BhprC<X{_7QT=r*5yMZkI0Ibm_mC5(r zJ<17c-pCA;FD)bOCV+&K*lC0Lu8e=$j2o^%(M{1-h8fcl+KIEW`gDV$vFsq15jsde zJw3`&aI7-I2z_n7<|i+Fg3dE7D=e$)p%}<*XZjjExhWDY%q?9zo0|5_O#f&JS-UGJ zUnlOu**huYiyi9vF^B#X_bLRA*T%joZE0N3LIr`ek~v+dG;@V0v;@UaANJ=R;vN_% zaW=bdeV4dzDOS`HE01dfp52C<;)v<#_X7##t3v>D1XL&-kAu4C@$9fiRWr=>`C6ej zAQgUWaN>oc>X_MQD!xA!XJ+S~j~-zx^Cr|5=}!)Nx7sU+ato>16dL2a9BI;hF+D!JJrycI6|G^O{5WbG88f#-L>D!z73PynAxy9Px0^5zQyh zIV9f3LtT32?xRIgV7XZLnH>5H6rbS#83lW>AFqu&4WDS8oOhiFlt${mi5`=+5w9<_ z>p)i7O?Bc!M?VWHY633azog3HB2(1DKl_^$+D?$>z@{jtfuM|AXPW< z%FWPCp<1t62vjjpUao3h)739C?HMuq@E41rJ=mxJ%%Ovl$L|FT(IBssst#qP1rsK< z`|@_2ZSf`ceVhZz@!lE!YKrv{VeDPEFCq?C4*@^a!82UQ`qSe-n!bGr=}wSL(GC|3 zI(RBFldKbS{^PXE5v`Y3_2N}~@6<=0H8X`xn%?M-IbypJen$;cQX1X#7f0y{$95epwYu6 zqbanFSr2G}(0gYw0RJi@11RRe@@Y3`Kvh{e7Deu$$0 zWO%ezCy}<({=PpC24MpDL=G266{6_3U0kiuve600SG>3W8L&+VS>@fEX>_Al7StVg z%6EAUC|$Z@cvXrM$D+>1uQGm5{G7 z_CY27v2egAabQP8;_081x}8N=6> z$BSfx=^)ZN1gO&s?{9hzHi!5>OJ;;a;5;>9pLr-`3+M}j^uq#3t*`^r-1i{aK-ain z3$z@HB(ejZDfM^Myp(trDSqVmtCN3Xm&F%QTcqPII5*ES=Q-4McsURyPH&SgaGz+d zpL~yF4LIoU_b$`vdvw!y{s!~!xWFf%Z%5yUXiFxumOM*{Fi^+Wn4BOgu(gL?Bl{!6 z!I{1tKBJkHJm75jO39Fu0!m?f|5>nC!KP8;baG%SJQR$_V0OpX&V3xFsi=SW57*DR zSrNttio&PBP<#YhMZ$~CKQY&wY-^iRE~|MvNi+*5MFq@ymb)~yjp@G1qA96*kw9bB1R_@PHgBx zAQ_BM=|>3X985@?GV+PAx&+7KxzQtrc?xutjlU4pea1f-sXVsxpk}SXjFtQez4wjW znKR<>ao-<+vzs_12B$VVH~ceC6qVX37W=&jPrSCCd30;40#y4M4SA-~l&s)Rpzf?j zN}5Giw8`dHdzMf*-EESbzrHuUVR0h`6wxJ@92 zeYKJmFcfwyax#fMo&4U6tX{RX76J zPdfe*IER-kEf6pTZ0!vl#>;3KI|#9l98&jGW;XqhKRR9T8SJ6$*yq3*UbNed&AauO zwAXhT?c0wBKFsN_g9p6ycZ1BT>$fxTL~7bLyf(Y*=PmheJR{ znxY~H$qwc5mpr?ni5F%fnX4euzd3{m`p`lHQsh#Ft%~QAK}GxA8XN?(4HeVe)}>6V zNb=2bUB~w>CG^}%*@1j(ZNq!+3?jRvipMOQz%I|^&y}FQ>4fNA*C*_%&T`2@NgzTm z<<^4T>0b@-Gw_?d?YD>x!#UoXFm#HeKh_BF^4?;L&HTHrBCCGZe-9M3xC%D&#!aD| z*vw3=DWI*!@+!Y{TX>aTZ$Nv`(M%}-xSj_!6OqnRplGQ8hy`IdKUST$*$gAeBoS;) ztt_$r;cI7ahLWOV!+yP&K$hWu#$&+)mz+tVRBzr`!>66l_IIvJ!W5RoRSL7;Qvin(ARo(Qyj8^)jyaUhpdqChJos^w!w}-pm{67tFK<& zTL6~s@T~Is>S85nTO&x;$>MFQWJD;VEe<+K^5cckQ4Pp@>GkD?@*HKtM zR*$!tj{afx#mqmkQ~S$c=UTmk!s5A%!F7`w0*;a?dQ&a3tNrg@5#e#T8v(UTtFFOB zdlQ@5EwDpgE+vIXL#A-Il+-!b(NC#vofSWe)o(#xWJ=z&iDNGH66M<}pBDwsMc2o3 zx7>yxI1HM*g>f5SshiP6kTItlX^?RU2Pz3ugQ|w^Wr7_gXhC}&?10723rcIK+-Q_x zDFf7>6)QIDmb!Ky90qcK-cBNC%WaM(*`Fxq#TcP1`9ctR>$!QK1z!|Z&!Ut;VOv~~ z!&EWI*^h1!1ZR(6#2kl*TJC`V^73(XoM(ox6R*QIz}ii2utMZv zY2bdO2Bi>&NZiYMiD|JAqwqGs?ga==`+8sG)o!9rPW_-Db!4_@q-=Zhs|wgKM!C|! zk!M_CUUlt=2fd=Qe^WWcxKQq^bl<02-j!N^rF*~h-_`Bv+2O`Ld;GyommQ0-=Zk%2 zxayu$ox@xPvXt=TcEg%SKzQ_`>DWyR!Ur!)0&;$zV^t>Unmuf$I&hP@w@PNs4K~|O zA6GhI0=8I;QQuTqU6Zf%nmMP>srAn3fAW#kp(B^A8uc&J$>c6Az4As;!qtZaA=t4J zmsaN=wrX^(USwy68LGA0h_WSehxbCgSupZ2r9POFqvEM>Mj#;bz}`wL!v+YU(ic#$ zmTa-4OBzEts^UOzkcTiXo+614x#o4qtJU4;;IGt1*l&MMDJ#M}obppTdXR7;DB)AE zI1;Vjs@fljz=htzToAGBI9J-B-MU6Dc6Lb|QYKWagX$yX=utKAxoj@FZ7^+){e0-n zNnxG-p|mj_{K!F;Dkzf+tl3>aW81}3oo&6cJ9W+t2Ctau+|Y;aehGmWL|QQdvMo;A zZg06FYW{Y0g6+g z>skafbFR(vHdm1IJOzD9IOiFoPq|Y!qdqe($h=SYgV~l|Pp5W_IBw#daU^nd2-+ub zkY}f9ZT>g|A#fE7TH)EJm!CQNO!l%ncS(zDEdcasN4g-4?GF{Uw&qw15#^n zWENCgLgw@_KmL@w?rk6BzXvEyM^uUgdCu=Gd`osUebtrxac0dsc%ffEkKXTR6ChMt z^31&YV=i6EB{4H12d}2e!gC$iIya}R^?zn{YQRnug%{d#^Mf({O1iY=wQMKLaw=i2 z_4M2fjD%KW%}Ziz#h5oke!-edgUqg{(pt}XP1)r>uZZf({X5XStGzpTqf@aY?OLm= zC}n24-UMoeMms0m9e~pD5=Lr@J5b$%#F8mU;-k;08LDm3P8=;2y29*XFMRH(jYV9q zLT!SGHf4&bVk7emQ898a2XeV=rkIV*G@}dpP66kK|Uj+h(Bh# zFPi>;t$lYq)$iYbTPdVa5vP)@tjx^HDqB_*Lbi;o90z?UE2~5zJ9}lXkgQ~nW3Q0C z$Fcdn-ba1z&-eb`_x&4>U;l`6&ih>N>wR6X`FuVv)E0jSKLrcf%rSYKLLz^u$aIgI z`NB^v+Bt`J+?Ylhw4PszW-lG{`f-*Dp{AK3$?_m{u9q{FZaPuh$oJBSX)TFjX99eB zqo%;^EPzqCoFm8burBL;nyr^ZWRXKL?=x`=KK=%^68!UZ_Y1po3_EOjva)FP z=AA*M%~P5P`&_$iE7uuk8MA-8bM<0#c_xuvLN?CJVS}SMnM_l!%43t!`V*lXoo`BA z$W*&TeZ6IZ%t)+?$3jghJ4M6mjK=?1!MT+zmH1$mW#!WJfomMTSBeSlv{0?3vUZE3 z4_Eey^{ig?<|6(fBQ!O4_H0MHRmHUX0gkqiQs@l4dLO%H)a4#c|Iy&sk>z*F@>#Q; z6MLOPvhe~93H^7iB8kr#7mSm4t~Ll>fhwrWPwTHwufJ+^ss*HO= zKCzK*yY?~5W3JNOELwj(-lvh%e(ury4KBxb8FKgk<^H(x!V~9p&dsFgY4mncsT7}k zLD{X&d6ev_5%vP6EBj=ktBb0=WwDjQO0}~5nb|vTb_dJ(&7aH0{tyh}^5vpt7K&D} zH_LC)vN3YsYR~m-RvNm|xA2vSsP8hn_&1+aEh>{!Me>_OverqHy02I2t&#}tCU{VG z`&umz6ydakmigNk=G#}NS~tk~%|ok1OI|DqSENghXnBM-=FiPHMf9ktS4d*2v|g{U z{?J&1iOt9?t8bPhCsDa;(v(;5=RF27f*=64}m>dxHl5GoaWgO{oF zyFwQ*1#NN$tHX({dem8(bWFI zO9zXDbhY;;{6^L9Ku7G;R{iWwwAL9rt2Tx2$@2%f?PgsgO0`boLz~hcgj+c@=3N?U z3zrQVYZ(ELKS zQ|;A*;uW{J`r@WIRNlzuXHHD}4&mxQ8!{&W&)a0YYg)-B57j^uqr(q1iyY4N&(q8y zwi%}Qtw(trCqoAbk6vPV^70omPX;C~GXe&jUB}{1H__IQ@MuZS_sU6`XV1DDXu8>* zA2m;ynhUYDJ^Y7By)4vW=-KcLiW8fgF4^h|bn-q?882cdcMod)n z>Wncx_R@W~2QJKKF{87hj$exAPnao&Lx*<}P@iwOd+!!|hmB#q6c++Jp=Rf*lGF#=` z%{VPKN*?9W;wB=xEC7a#8PBBP$5 z{j_u{tj%}yTNI^9)K2ncVM1=@>??USatW>^*g4M+#04{mvng0*iNGw?`e|mw&=8n( zG08yZ@?7j%Nr`XIv4&eQ*5lB9f8{}lh2`Ppgl!z6<#}ndrlQIaZ7RC@pijTc_9>>~ zK{9Ks(x1!?k@L&bIwx*y^t!|>O&WAH@`J@xXOB1vmOWfZ>o4~x((2`W@Z_og&J!H) zX8g@7leAnT3f#MRYo8$^TYI~piNwHvB#Y{``Qi4s3s?AyFjn!dG_TmTt$q4-d2OpLe@EqgOVXc>q1;x%!rtS> zkFsUsN<*_o>9 zN&3P%bYi%b<*#kzSZBA^6vmT%cb=h`G%BH4{M!N9J!3yL)zeSpIZQmxnzILRGy4*j zZbme+0`_@wP_*--z;2n*U)Y%PK*~?%w^i~ltJ&@a0Y~v&rxx4bM)%w_mb&9~^7xQD zh25=B7ar@P7eImSW>;Ob9~kIebLLIQVYz9lI%1csZ%oC8L3gyB){2C*?B@EqgY|8O ze{ZATHP+rz8J5`eZ}H-;By0ByC`aa2{=((>;Zl#eM?_5-7krSo!Sk81b>dl#cCq|+ z4mEBiqBOl3&7YKzt077Bl%aLKbG(K^w?V^Q=(StoB_mZ9uOfqH#e=2L+++=B;!T;* zzHXoB_Kl3Cf^73-rsMU3+X0kJl71JBH5wsnp*%>%`eskX_W}EB%T9H)zve zAZm~!E3&)j&*?bbRijDtaIK)X+#`b0RJ&kHic@u>HruaEfG(4AYz~dh-0L${5Z9hv zZ5^~NLGf8$3O_LdfKC&K%?zh5n5zB+^N^^gdr;ue!1<$RUVWoo(^y%((rlII|EhN@ z8K#UM7bMI%E%0DE+9|QALl}EHGmBg9&Y+}2ox<}GEz>#Mn1}~BQ<<+uo$qQ1nUb%^ z{z-9}J&HXk(X$#60%6iv9adxt89zLNO*a`R!+iyNv}ZRgBlv~m2u<&2)-#v_U%|E) zSlLv{C+4CpyaUdFGmEQvQj=~va3hBrNk7|)ruI@u<1d^9D(n<_Yv2s)u6Tj(De_yk zRIP+YT!Q7A?l|9!@^KnRZZ7VUlt!H`e)h=u4(sQmZzMIeViW4ntr?~j&aE^i48N$? zm{t$xI7Kg~P3>AcHjt4go3?mO+X9f5WjaHsltVV3Sv} zv2F|o!7<5$k+w4_U*;d%Qv?ofkMZX2MO0p=oz}?q2>-CWTj_O{MJRpAK$)r7r^qE6 zAB|?rtXe?_{FD5hX)QltrASRf3;!;98=UVNwSC{4-tUTr^hCYL#`qxw++Au8gXQYkhq0@UXNrBGwK!&;fL7_|Ozyt?KEAEt;oyxr zqZ$heeA11cYtMSCA{v$cA}*cLW;UTDQ;FEb?uho``@Ei0&ZsGeA-{Z($oo#k_LP#^ zq3t%M2_K?*SY91sk?5u)Pd`oJ;N#G0NI0%vlK=fiJBwgWS%Q4zT-v#2qL~rZcT=J- z(X0jX6TbHXul;iO>uEx?-Yg5ztzl|5wjkA6e)^XDB6i(dD8KLPkBAm}HihOk+f}>f z&w*Wf_wDwoaO=&c%3l?IySt`~=cc*I4$XCE(-%TP)J^9-`s9OXk>KLGm)~ht71#$rQAFZ`(4F(+tu4%;>h|fr^d9V6U}#$Z#PplaoCoqQ6J2v z2FBX-kDY!-lNsj3w%ulj2RSvb)0wSzlaI$9BH&i_#<)`!j%}ZFtbSWsx`$p~O{QTn zxIma>!$N-HnnAjF_TGv*0+*>N6WRJ<|FFeWw$o$+gXK=_Ote=k4#wBre}=G@Ot z#VN*(c??VwTTHIB7b4|xsE%K9a-E^_(?uJSeR!stvATMNLq|%$#1mgUhg`aEp`vrS zf|!L%KicpNO$V2l(<{89&~GFL9x z)(;@vccdL)l5gH$bpN2|zaT=;Ob?PT=^^~}G-82MEiTi8E4(G~cP}d=AKHf<|Mx%t zH$8`c??L<_4Z{%e|Nc*Z{{QPi;J@}CJqi5pNdIMjK>s}y{a;@HgUJ53Hp_p$<^TNq z|9uE+|mb(!r& zG(u=D+u_O+jTXqY;Ng{f3?lNiE7P59+yGTf7j_4Dq7-Y%N^A8dC3r>i8;-acE%Je! zHZVSKu_jI&w8Qw9z@dq1Ui@-E6 z&}(?Kg?t#nOK<-M$!`ptG-o5>o`QzKK#s=`=!Q3+asHT2vrHRlb z-xHwff>}%nd2;*)0l?m7O2MMhz7lFRQXQUG?%}?(znu0bWP+|7f&C0VD1*K`f%e*W zT7NDrUZ~`b0(zeAZ$v$S(5PHV$dfQ2>l+v+{hlW=*vW4W z`C&(O)LJF%2^2+rn;v8v$S%RhcyLY;2%mdvJMO)f$;>iP@z@J2M4&4lAI-`?rj1z? zUxL9eL-K~yQ~}Q>;O6hJJa+W814uMq>drA%8r#A)=T#iG@A5Pd1;%B&5kSL>OXk%^ zG<3eEKw7a>xcxm0NjDPi&5Xja(7q2cqYy@~Iaj}> zla3ic!3YXEKfeiCivUvgz}INMS*K{tQ;*F zxV)Uo;#0AX?QPX7D+?F6j1-po?FSd}Nc>NT`3TS-lDjnAFwO`wrJW6Hs5*QMDPl0H}GW{7K8}Wdz7Y2O2 zAmPcrSp`0&v5T1}lT0)o%^qIkCiI=r$E!S-O_pV&twUCk-cB1kSsRsTxfi-IBueVC z%0OYXLe;h`x0=j>PpfK9Bb2 zqKIgnpE?P4fjxtY-^OTU$9y3=pd!EFU$OQ|+G!*PwunhW(Dp4s$`P}ZYx(nz#ZSc&$yd^|KktD=yS%?)z1<&1^U#sm&7lh7GpEQ2 zRAL8ec$KT55<+uAxOCF2pN7_f`-;q6T|BTq)$%*_z!^dzFe?9!zmK&48-IWDJXie_ zC_5Va5@AoY)bk=t;5i>=rFfYW6pSi-pMG*h-`aO{;6Le&Itftb6OTKaJ;Q^<#bstM z$Yr5V8fhqNFX(tsIEc#2SP&IwYS!4TCz`wWGv9G1LDBR{kn=Za1W)$s5ZqE%su&}; z5dt#15?iPs%x}bX1N6}K9s_b2P{F{@=?g7t%tRTM4+JDEudQBFXgZWXC!y*@3_?D< zmX?mDW_<;j&lVI71Rg*sIcu`PMYpjq~A=j<=tHetkIw3*#B zU(lHWNYQWhanE3=*FNM0ZV5fB@E$Nm=LR|y7VEpBS*L6t6C49UJE5bdc=|Ev)CXPp z&d@bsa>j683$1`8A>Da`qc`M|Piaw1l z6Qc5d*q1Y9cm83XnX&N#vqIwX_Jce#^|pm5@PEg&Q#PrkgRkEUX48(qg($-M5kl0k zOI^xcj}8opMy9-wT$NBw)A;3-;oh34>TQvC5g&8F*7+D!V$T1N$o4q*H|+5|Q^Sy< zZ$#90d@V~vxWdzf>b!!ZqtBH#eV$f-B5U~2K%jnsbju=iQta}*{&5e1@HDjBORcRT zHxizw*&Tz_J!hwW#?ai@lXqOhnW{L=5%q~gJ?eOE&PLhR725Io8rN7HR|l0zQf?BZ zz0yOsOj)nZWUu>XuXu2eecq`akylapJe-8RVyD!BdvPi8d)(q;M~L+YpNyvY4NZq%K_J(Pxpd#cyA}HKzydT3w^c=J z?&1zY82Z!K3`BCYq>L^Xq3a3wi{I(%*Y zcz(a#Lvh-=kV6P9!3Gi5Tk+kFs;M!Iss-&xp(%Lh3pBo4 zIbu-KB|(ptl4W%^XDwVFabL{Qy{W{&0#bw*$YEC z(Ja*^j8$c20t7>@fAT_i#q;YGp(ICiySvMFS2HFL+w#!GYYjCw&bOE^v>3a*E^%DD zhP+}*;{p;ClTyrBTtCDPMP%l=I{@nn`U2jcT&17$_l58#&j^)~oSDg&L0JR3Y%(P_5WZdQuh zu>tR@%4?#8TvBukI}C!e8`us%w4gf!W)2A(kNG6Bf0qyPbiRyD=3Q!2(IaFf1MmZ@BtDj}Hv~%9^(?xk5zk}(-fB4jkp%G=OQ)_0h-(`8pe8=KS4SzdE zx2btOh$?GgF_|2r$>hK1vq%k30f{2-9-AJNydFr&>{I#UN+y3jfDO5C0Q?#sSqtF} zL{kv{$9_h!pD*o4q5IMKeunga{+6Hdh)u`8A8r}`yPq)p^YTYf|JCJo%sbOHYoSc_ z7BDDufXR_E2l2XAms7)oiyB|f>FK6A0!$xZW(V0^eK6l!QoHDJwg@kvoPd2ORl7{M zaJA#%Lt???qnE6%uaV(9`G>y&$v}Wu(0e#!4#0MBcXA&N6A*tY;Wv48&c5GPt+lN! zP}OpD>-iTTW=@(eYLyssSk3TxI0C2*zRHRIme{nfR!&XAZ zbW%cJ;v%gd*0{+ZkV@&31S4Mn$0f1>wYHujTu3SH`h*|mvm(nnA9*AU=eY3W9L9a6b$eHt7 zt@7oPE>8P{ZtMH@>LhbAJOAWl%iW8`&r1v3RZ$;D%JW;+sRiub30?HRzzL@HHb8DM z2a&ncRD4twhb^U=Wx$;^&YOzG5{$4z!zNUSA2&Z3`6K>rWlosO_6VvL!nU_aOiMlj zA^!urnGoC=EWx5y=^bFM(M?)?1Dy($MRppMlN@6R?5gIvMh?T|?CjI2H7}1H1mRzI ztfmxD#mA3OLySb9C{ttork^XrM3`Qa4jI4q%TY2HX)-7=(8VmB6p%Ss1H%hFErlm zLWGw1u`wEZUYt#WoJeu3Nd6_66?GK{08ymfd^E}=UvdECJ+XIucwA)9LEMs5M^crX zl$?|_gluiA(Y{p4E{)W+y~yu5TlJI9iVQD65&`+di&Qy7bFnr1_n{*_dSztIDIuVt~vye z*zZg1L5PALz=jOrdVpLfukl~dffTb=VE#+sHaL`nhkCz0GTN%dm0V*_{Rr#7k^ib-%X(RP$cP!(*%x;t*V3vXB=HGs={ZJiIQ1;6L_ncJjfget$E(!Vt6KiIhM~mHG`odVk+IV;S__KIkG%((2Sq>iw0_<&rdw3c z+5C`y24l0iaR@QDiAL=F%}tRm?B?Riilb`AjK?TfDbYNjXccPkW>6$Owr7fE!}1CW z^CadFovL*b&(77Eff4~Czt9uHQ?i$938<=esTYeiEz6JEI=->tT%TB32A@$*UH?`=zFGJE<=yI);B6~J+zD*~Q8dxvkGsUeQ@?}9DbW0Tu`D+-wlqWDOGt*Yn(Kds*vDHvuG{3+M^b$1yU_&CA3;K0&+9w zOgx`veED@jn7FYiz%PWIwpb6EY5q&46ToQ6p0jZiI z;Iq92k%feno1I&jj&HVimD>lG2veH(YIMvp$tEU zs`^S-wkey+N((6zeA_9?svoZ>+Y;6`ZjM|`ab{{o$fF>>yVZdFhzzqS?kdxM0+Q&mH>$;?Z2SYj%k>mPtlmj&L5i>wfQ zV~VPQ7%D){)qi+C7!Fl?gA}#E@vf%`o0qJ1i%U7>0h|2-m=a&bs z-egctq`Zj3(%HbNZDZ*y_LM4TyE6f$sgylTE5aJ=)8HQl8a0z8fSmn2yDX+s4Q59A zUQg+`swr1$ zzr8D+xO~SRrgS^!0|+W~I3bJXXZ+X6v(CyX+uuDXgoK2QE&MQacee$!Uay(FqF0ae zXx1C@YGMohfVA}Wg~WvP63m z`k}E@4c>Y=khbqwK-y0pT?2k-WB^%c;PNLefIIN?=%q~gnQ0ngV#LYwm~}OeGgsq- zxAOrpI>tvX0PjK8(RQ>VVBP);#e7wWDrGd3<^L^4+>iPG$1w8GTlS;O|1nbhzkUn* z#7s{vGji(Rji)_1Pk@(S3t}2toBp@))2J)sW7~uer`d>+-Ml6nJ~|UUqL*|DJz}IB%~f z2ci0l=HTeUYj9|k!81g$5oAcvN?QojzHqK+y47hZ9g3WY0*uo$mvd}dA0uefR{{EM zZW3uk>{v_p{+;H?XPt_-UT5jA%>y0wVP_`r<5xI=VNIohXVg=FS*Za{Ua&4)Y5x*| zo)Z#@`8EQA71v)KYB+)dYGL|uL2pF*BYj}-IDez?)=a#c|9Z)lBStpiuz?NgIvM9!uuvm?Wmf2stor{Fg4(mTX0zphn8Hxv*c-5hD0tHd4+Md#h@;55ZWCkLgIW5fr}BT!c|4wA@azkHH;>L{vgtA9Qe{k>716FDjI;ZM2Zwwt>8AGYWD z0J0z2hCx~-tp&&3idMrJXtq9DH%=BT{ZjsjPaoMUtKMc;O}&~?=B#M@ zq31O0e)CA)N)yzEi4T&3Xok}buEnS>C}Nt^JIiRbWvx2Y4dYZUrQu|138*>9={7CJ zBK;)FB{NS<;bwbHBgR4Uge80gbTk;kh}*m%Jbb6Q2Z!qw@AgmoTjQ;cjJ0u6wDA$j z+(Z5`5uI0uTwo~?+WH+Q{jw8V$ z4XQhr*Sa2~)U46=sOLg&>acQTX^3+xY8=1$1JVuNlAvJMPRUs$sZA=TEyWJxyysJM z#ypbd?EC^rg7**i#6%-9jMzdzT52mpy^+2dH|ecP+dQ~v?ss^CTKV3wL75Gqf)39r zgc;m^;-Ag|rr`H!`8j4XM8-TT-`m6F?mxPdANb2U?1bvAquXRdv1SX4 zK;O$D$AD|*pCxIn<(6=3-!|cZlHSCoefsY`a!KV;b)HtFukPJeAGD5ymF;`G_qh;c zdB!PaBdJ45F`<<3C!==u+}?7@(lsQegw{OJUuKo#$$o_uRlkdY`ib3+KRAag)Zk-YyYY0=LIMtpqJYle)xE-D#^PzQh{-MkMTKM|n zlrW|5EZ4f{BvUup>jz13-ASxF)R-?ouzxCRJIS^F9K!iJCf%u{qK7y3XTwBJ`(}`m z=4Mfiqze!4>}be_*451W(jdT=kWvJ~ZRs|tp!86bqbtX|`rFdHBU7`z8Pp&friqP% z!1Cdp+#qj%h!K1Ce=oyWga8M<>_ zO%`e-oi-4$PE#|hTGjgdn@-jZ(aJ!$kW?L-ZO|~a`Oe3{%^!;VS1UY7ET+~j2-uk! z_tE+bw&HSSL%EV{J|anle0%o_3cEp4bpjTLZP0U7QC+h80_uT zkY~W9@#f&j9R&d&246>D*B3p@c=$osx`x{RU84)gm#9$(T69oC*xZH7{dM?V+4e6s zrzOolTP2a*X>%p(z!hin9C;ZXuU%@z%V$zDUxJ@jwLnYLkIzUfD9&(_1`%wOo>zRu zuJi3>R?;=_@{9r!GC~e;tVkdt=`AZEnp)7RHqM+r)|!}P0_B8Zu3&ahV9q&%B;^Pv zMir+e*v?Bxhx9vFhiDIlgy;r}$SXUGX}<-V8i!@tSW8}IMq*ASA#U$Z?2j|qe;zS4 zGpkB(B8PEtGWXrtCl`86+88L0qDYwlD^tdJk~sMS2v;F)Gx@fn^P_C+$qkc0gHXrn z5=tSoO~o{3=r4lgxxLD>@?7LnqwkxZ=1v;@8F{3#6Oa+prXh5-EAF8k4GU(~F8z|^ zgir{wXfAw!He*~Hj|ul+-xmk#?sdq@cx_9KG(u(NjdMPlUvqtrsGFG#krFAyO2u`Q zg6=BgwBdbI+mOVswR576v~xd?D@Wi>>8;3>&EuJ8Bzc)chR<824lfGK&bA~yKcEeM z1>qJezob087%h0{)$s?zlyItWkXe5b)}8{NZ>M-m*SkMY3yeTzTI8xc9xj-J^@^kj zvdRYFJF}*IRD(bIW@3}?W;MsMp%L5#1fA|+G`o#CawaAx?>SnJGT+9R(bSj)YePQ} zBJD{?=cKU79TSyFbCcka;et{zuCZFH64}G&`yU{I4tRc>ekkMg65i5{?CKN(89OA{ zJVzu=`yCND>`9?TxmT8rmnx{`o(j1R4HO(f>3Cu(vyPI=wCy z(B=+DB$)9?k5S<1JA)()FFhOyCK3oe=xd0D4211kD1X?98FC!B1+L@5f`W#<oKlhv6SsRQzMg{Gmq)nvZv z@#Iqr3yWu16}7nX>in{u*(ac!L_Pv-h>=lg?aljHkIP*zyObSk{g10(ltFEKY~p|_ z#v*IDvFPve5%QcA-M;+N)wEFvN7A3;&ol-Ryil1?E=C71dT)W;o-nUJ4WzTkLko;sE8s<-!xNzRZFB-7K>}N`54d07*xJkCOd# z94x-74$V*OB8l+&WBzM*ypD?vuXbmn*pAX83P8r&q9i+oHud7KDT1i!5547+R}Q_% z_gTbANY&pf6U0~cIy2YeN05+)H1*VKlkDHCwz9%n@K#SmpIoGH$(8NnhyWFo@6>sA z4Mn!pli2RQJiE9F5rDMxkVMs89^qus(xsq`PZ@)j6-4?qNa=QS6JqW+yBAsEzS`zlcjMBf;ssx*x|B-(065}AS=Z6>ARXnD)4rkMB?)+$wHp*Kvsj% z*vPaV_q+e#jL12E`wF7He6C%{Kjj=}_D(qTacBQXhgeKx+GD-D<#*zsygX#5Y` zQd!|Bc#C*-HpjT_ZLfK8+87*Gy)!TUQ&L`DeiJRDSj)tDrP9+X^Ge;hvh}L_3yOkr zTs#ea%h2tl2je1lO(sNvhxJg%cA<%;#dQ~fb`jp+HcDrqd;lQ4H20XVLk(DEb?5kn zEcPp^kGf$yFb;ip4LH4JNREPrjBb^cZfHG()Y3JZ^@hTMayqsC-4F*P)krG4SK5SZ zZz)=x*@7yA@pl*Vzs;QwV)R@`6oz0A2D$n_IL2H3 zN@QnJK2AYzcYC82Y(;CpRhKWwnGRfIQ0A4b2pHaQ-fW8uuC7!LIj$DtU~=7K9B`Y-g)JM*S>c>dBI1PMAs^fzt|iHmJ8%616LL4Ql^lA@U< zWwiK3dY5#J(GmzQs+B~5xL~^`R)2B0N;uzz^l!sQpF(6uvN4ND;$!9=-(R&Ka4^Ki zJ)!-&KEF4|*lSVywn|^mWhpT7Dsl+P(rSiFNsfGK>HS$u3+GkWw}IG8*bLK#(EPU+ zKswX!BprXfyxAvbeiYyJd*M!w>Q;Uo{l(Y$LW?x*7DB~Er0*hd%bqkB7d3KsU^jk1 z+IjuFjzW|lt9K(YOZOUKL4zyzh?}T6%lKF7jD^?XXk$dr;*yxc& zbk67e-rUIsBHJE;N}9wo@&F@vdr=784p)0hG9yx$ERA`;BYP4-WB#ajG*{hhE_gaU zHj0QTxFPPWr`n#kv|>>c$IF7CUl_8@vD1^HBQ8P$oHw1f`A+dK_WRCT{>L>g3fr(d z7>o%`x{Y}AYTbi!(Lpx}jNwQz)!@%{)~$Unue@%#6@1_NdkE{o&pejeHx(YOYr;D# zN)LMv=K8+StHG^FwdLHwc5 zPjM~w`^+0*)MPDwuZn+$U-(J>e~j_|hgj=(DY4uGO78z{UGYx<_-~=x;{*GW&t#`6H*)HYo0z&&v}vGhBSUH=#64FKx^ literal 0 HcmV?d00001 diff --git a/blueprints/img/edge.cache.secondary.streaming.interface.list.png b/blueprints/img/edge.cache.secondary.streaming.interface.list.png new file mode 100644 index 0000000000000000000000000000000000000000..f9949d3e0e697f1d0fb38022130e98ef7a08f821 GIT binary patch literal 24120 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

Q8C#Bi@C%M7_?K-x^QV-T@jonsQPE3zy~_-~ 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�wgaPsp`fm$Du;Oo0XU)F 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 literal 0 HcmV?d00001 diff --git a/blueprints/img/edge.cache.secondary.streaming.ip.list.png b/blueprints/img/edge.cache.secondary.streaming.ip.list.png new file mode 100644 index 0000000000000000000000000000000000000000..14288c14721630a23058ddec40e71ca91987e2ca GIT binary patch literal 45237 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 BO|Sp} literal 0 HcmV?d00001 diff --git a/blueprints/secondary.streaming.ips.md b/blueprints/secondary.streaming.ips.md new file mode 100644 index 0000000000..442e8ed6ac --- /dev/null +++ b/blueprints/secondary.streaming.ips.md @@ -0,0 +1,959 @@ + +# Traffic Server Secondary Streaming IPs Design +## Purpose +### Scope +This document contains the requirements and top-level architectural design for +Traffic Server Secondary IPs feature. + +## Architectural Framework +### Functional Overview +In current implementation, edge cache servers will stream to clients via a +single IPv4 or IPv6 address. When Traffic Router act as the DNS Resolver for a +cache plus delivery service domain name (i.e. edge1.ds.cdn.customer.com), it +will response with the IPv4 and IPv6 (if configured) configured for that server. + +There is feature request from market to add secondary IPs support on edge cache +servers, and the functionality to assign a delivery service to a secondary IP of +an edge cache. + +### Architectural Overview +This feature requires Traffic Ops implementation to support secondary IP +configuration for edge cache, and delivery service assignment to secondary IP. + +Traffic Monitor should also monitor connectivity of secondary IPs configured. +And Traffic Router needs support to resolve streamer FQDN to secondary IP +assigned in a delivery service. + +Traffic Server should record the IP serving client request. And should reject +request to an unassigned IP for a delivery service. + +### Performance Requirements +This feature will add additional health check from Traffic Monitor to secondary +IPs of edge caches. Considering the message size and interval, the additional +health check traffic should have little impact the streaming traffic. + +## Common Design and Implementation Standards +### Design and implementation +#### Configuration +##### Cache node system configuration +The IP configuration for cache node is not managed by Traffic Control. Adding a +new secondary IP requires operate on the cache node Linux system via IP tools or +some continuous deployment infrastructure like Salt Stack. + +##### GUI Mockup +This feature development will be based on Apache Traffic Control master branch. +Therefore, GUI configuration on Traffic Portal must be supported. Traffic Ops +GUI is obsolete. + +GUI mockups below are prototypes to demonstrate the concept of cache node +secondary streaming IP configuration. They will provide a guide line to support +this feature on Traffic Portal. + +###### Configure Secondary Streaming IPs for an Edge Cache +A new list for all configured secondary stream IPs will be added on the server +edit web page. This list will only be available for edge caches. Operator could +remove selected secondary IPs, or add a new secondary IP via "Add New" button. + +![Edge Cache Secondary Streaming IP list](img/edge.cache.secondary.streaming.ip.list.png) + +After "Add New" pressed, a new box "Add secondary streaming IP" will pop up. The +configuration could be "IPv4 Only", "IPv6 Only" or "IPv4 + IPv6". The edit page +should be similar as the add page. + + +![Add secondary streaming IP](img/add.secondary.streaming.ip.png) + +The secondary streaming IP will share the same "TCP Port", "HTTPS Port", +"Status" configuration in the server edit page. The interface configuration will +also share with the primary IP. + +However, if a different interface needs be selected, the secondary streaming +interfaces must be added first as shown below. And "Server Checks" for the +secondary streaming interfaces should be added in this case. + +![Edge Cache Secondary Streaming Interface list](img/edge.cache.secondary.streaming.interface.list.png) + + +![Add secondary streaming Interface](img/add.secondary.streaming.interface.png) + +###### Assign Secondary Streaming IP to delivery service +When assigning an edge cache to a delivery service, operator could select from +the primary IP or one of secondary IPs. If selected the check box for a device, +the primary IP will be assigned by default. + +![Delivery Service Server Assignments](img/delivery.service.server.assignments.png) + + +##### Traffic Ops API changes + +Traffic Portal is relied on Traffic Ops APIs to do the configuration on Traffic +Control. New Traffic Ops APIs need be designed to configure secondary streaming +IPs. + +New CRUD `servers/{{server ID}}/interfaces` APIs will be added to support +configuration for multiple interfaces on a server. New CRUD +`/servers/{{server ID}}/ips` APIs will be added to support configuration for +multiple IPs on a server. Create or delete IP of type primary/management/ilo is +NOT allowed, and delete interface with primary IP assigned is NOT allowed. + +For backward compatibility, the old CRUD `/servers` APIs are no +modified, and will not operate on secondary IPs. + +###### Configure Secondary Streaming IPs +`GET /servers/{{server ID}}/interfaces` + +Request Route Parameters: +| Name | Required | Description | +------------|----------|-------------- +| server ID | yes | Server ID | + + +Response Properties: +| Parameter | Type | Description | +----------------|---------|--------------------------------------------------------------------- +| id | integer | The interface ID | +| interfaceName | string | The interface name | +| interfaceMTU | integer | The Maximum Transmission Unit (MTU) to configure for interfaceName | + + +Response Example: +```json +{ + "response": [ + { + "id": 1, + "interfaceName": "bond0", + "interfaceMTU": 9000 + }, + { + "id": 3, + "interfaceName": "bond1", + "interfaceMTU": 1500 + } + ] +} +``` + +`GET /servers/{{server ID}}/interfaces/{{interface ID}}` + +Request Route Parameters: +| Name | Required | Description | +---------------|----------|------------------- +| server ID | yes | Server ID | +| interface ID | yes | The interface ID | + + +Response Properties: +| Parameter | Type | Description | +----------------|---------|--------------------------------------------------------------------- +| id | integer | The interface ID | +| interfaceName | string | The interface name | +| interfaceMTU | integer | The Maximum Transmission Unit (MTU) to configure for interfaceName | + + +Response Example: +```json +{ + "response": { + "id": 1, + "interfaceName": "bond0", + "interfaceMTU": 9000 + } +} +``` + +`POST /servers/{{server ID}}/interfaces` + +Request Route Parameters: +| Name | Required | Description | +------------|----------|-------------- +| server ID | yes | Server ID | + + +Request Properties: +| Parameter | Required | Description | +----------------|----------|--------------------------------------------------------------------- +| serverID | yes | Server ID | +| interfaceName | yes | The interface name | +| interfaceMTU | yes | The Maximum Transmission Unit (MTU) to configure for interfaceName | + + +Request Example: +```json +{ + "interfaceName": "bond0", + "interfaceMTU": 9000 +} +``` + +Response Properties: +| Parameter | Type | Description | +----------------|---------|--------------------------------------------------------------------- +| id | integer | The interface ID | +| interfaceName | string | The interface name | +| interfaceMTU | integer | The Maximum Transmission Unit (MTU) to configure for interfaceName | + +Response Example: +```json +{ + "response": { + "id": 1, + "interfaceName": "bond0", + "interfaceMTU": 9000 + }, + "alerts":[ + { + "level": "success", + "text": "Server interface creation was successful." + } + ] +} +``` + +`PUT /servers/{{server ID}}/interfaces/{{interface ID}}` + +Request Route Parameters: +| Name | Required | Description | +---------------|----------|------------------- +| server ID | yes | Server ID | +| interface ID | yes | The interface ID | + + +Request Properties: +| Parameter | Required | Description | +----------------|----------|--------------------------------------------------------------------- +| serverID | yes | Server ID | +| interfaceName | yes | The interface name | +| interfaceMTU | yes | The Maximum Transmission Unit (MTU) to configure for interfaceName | + + + +Request Example: +```json +{ + "interfaceName": "bond0", + "interfaceMTU": 9000 +} +``` + +Response Properties: +| Parameter | Type | Description | +----------------|---------|--------------------------------------------------------------------- +| id | integer | The interface ID | +| interfaceName | string | The interface name | +| interfaceMTU | integer | The Maximum Transmission Unit (MTU) to configure for interfaceName | + + + +Response Example: +```json +{ + "response": { + "id": 1, + "interfaceName": "bond0", + "interfaceMTU": 9000 + }, + "alerts":[ + { + "level": "success", + "text": "Server interface update was successful." + } + ] +} +``` + +`DELETE /servers/{{server ID}}/interfaces/{{interface ID}}` + +Request Route Parameters: +| Name | Required | Description | +---------------|----------|------------------- +| server ID | yes | Server ID | +| interface ID | yes | The interface ID | + + +Response Example: +```json +{ + "alerts":[ + { + "level": "success", + "text": "Server interface delete was successful." + } + ] +} +``` + +`GET /servers/{{server ID}}/ips` + +Request Route Parameters: +| Name | Required | Description | +---------------|----------|------------------- +| server ID | yes | Server ID | + +Response Properties: +| Parameter | Type | Description | +----------------|---------|--------------------------------------------------------------------------------------------------------------- +| id | integer | Server IP ID | +| type | string | IP type: "ilo", "management", "primary", or "secondary" | +| interfaceName | string | The network interface name assigned with this IP
For IP of type "ilo" or "management", it should be null | +| ip6Address | string | The IPv6 address/netmask of this IP | +| ip6Gateway | string | The IPv6 gateway of this IP | +| ipAddress | string | The IPv4 address of this IP | +| ipGateway | string | The IPv4 gateway of this IP | +| ipNetmask | string | The IPv4 netmask of this IP | + + +Response Example: +```json +{ + "response": [ + { + "id": 1, + "type": "management", + "ipAddress": "192.168.2.2", + "ipGateway": "192.168.2.1", + "ipNetmask": "255.255.255.0" + }, + { + "id": 3, + "type": "primary", + "interfaceName": "eth0", + "ipAddress": "10.10.1.2", + "ipGateway": "10.10.1.1", + "ipNetmask": "255.255.255.0" + }, + { + "id": 11, + "type": "secondary", + "interfaceName": "bond0", + "ip6Address": "2033:D0D0:3300::2:2/64", + "ip6Gateway": "2033:D0D0:3300::2:1", + "ipAddress": "10.10.2.2", + "ipGateway": "10.10.2.1", + "ipNetmask": "255.255.255.0" + }, + { + "id": 13, + "type": "secondary", + "interfaceName": "bond1", + "ipAddress": "10.10.7.5", + "ipGateway": "10.10.7.1", + "ipNetmask": "255.255.255.0" + } + ] +} +``` + +`GET /servers/{{server ID}}/ips/{{ID}}` + +Request Route Parameters: +| Name | Required | Description | +---------------|----------|------------------- +| server ID | yes | Server ID | +| ID | yes | Server IP ID | + + +Response Properties: +| Parameter | Type | Description | +----------------|---------|--------------------------------------------------------------------------------------------------------------- +| id | integer | Server IP ID | +| type | string | IP type: "ilo", "management", "primary", or "secondary" | +| interfaceName | string | The network interface name assigned with this IP
For IP of type "ilo" or "management", it should be null | +| ip6Address | string | The IPv6 address/netmask of this IP | +| ip6Gateway | string | The IPv6 gateway of this IP | +| ipAddress | string | The IPv4 address of this IP | +| ipGateway | string | The IPv4 gateway of this IP | +| ipNetmask | string | The IPv4 netmask of this IP | + + +Response Example: +```json +{ + "response": { + "id": 11, + "type": "secondary", + "interfaceName": "bond0", + "ip6Address": "2033:D0D0:3300::2:2/64", + "ip6Gateway": "2033:D0D0:3300::2:1", + "ipAddress": "10.10.2.2", + "ipGateway": "10.10.2.1", + "ipNetmask": "255.255.255.0" + } +} +``` + +`POST /servers/{{server ID}}/ips` + +Request Route Parameters: +| Name | Required | Description | +---------------|----------|------------------- +| server ID | yes | Server ID | + + +Request Properties: +| Parameter | Required | Description | +----------------|----------|--------------------------------------------------- +| serverID | yes | Server ID | +| type | yes | Should always be "secondary" | +| interfaceName | yes | The network interface name assigned with this IP | +| ip6Address | no | The IPv6 address/netmask of this IP | +| ip6Gateway | no | The IPv6 gateway of this IP | +| ipAddress | no | The IPv4 address of this IP | +| ipGateway | no | The IPv4 gateway of this IP | +| ipNetmask | no | The IPv4 netmask of this IP | + + +Request Example: +```json +{ + "type": "secondary", + "interfaceName": "bond0", + "ip6Address": "2033:D0D0:3300::2:2/64", + "ip6Gateway": "2033:D0D0:3300::2:1", + "ipAddress": "10.10.2.2", + "ipGateway": "10.10.2.1", + "ipNetmask": "255.255.255.0" +} +``` + +Response Properties: +| Parameter | Type | Description | +----------------|---------|--------------------------------------------------- +| id | integer | Server IP ID | +| type | string | Should always be "secondary" | +| interfaceName | string | The network interface name assigned with this IP | +| ip6Address | string | The IPv6 address/netmask of this IP | +| ip6Gateway | string | The IPv6 gateway of this IP | +| ipAddress | string | The IPv4 address of this IP | +| ipGateway | string | The IPv4 gateway of this IP | +| ipNetmask | string | The IPv4 netmask of this IP | + + +Response Example: +```json +{ + "response": { + "id": 11, + "type": "secondary", + "interfaceName": "bond0", + "ip6Address": "2033:D0D0:3300::2:2/64", + "ip6Gateway": "2033:D0D0:3300::2:1", + "ipAddress": "10.10.2.2", + "ipGateway": "10.10.2.1", + "ipNetmask": "255.255.255.0" + }, + "alerts":[ + { + "level": "success", + "text": "Server IP creation was successful." + } + ] +} +``` + +`PUT /servers/{{server ID}}/ips/{{ID}}` + +Request Route Parameters: +| Name | Required | Description | +---------------|----------|------------------- +| server ID | yes | Server ID | +| ID | yes | Server IP ID | + + +Request Properties: +| Parameter | Required | Description | +----------------|----------|--------------------------------------------------- +| serverID | yes | Server ID | +| interfaceName | no | The network interface name assigned with this IP | +| ip6Address | no | The IPv6 address/netmask of this IP | +| ip6Gateway | no | The IPv6 gateway of this IP | +| ipAddress | no | The IPv4 address of this IP | +| ipGateway | no | The IPv4 gateway of this IP | +| ipNetmask | no | The IPv4 netmask of this IP | + + +Request Example: +```json +{ + "interfaceName": "bond0", + "ip6Address": "2033:D0D0:3300::2:2/64", + "ip6Gateway": "2033:D0D0:3300::2:1", + "ipAddress": "10.10.2.2", + "ipGateway": "10.10.2.1", + "ipNetmask": "255.255.255.0" +} +``` + +Response Properties: +| Parameter | Type | Description | +----------------|---------|--------------------------------------------------------------------------------------------------------------- +| id | integer | Server IP ID | +| type | string | IP type: "ilo", "management", "primary", or "secondary" | +| interfaceName | string | The network interface name assigned with this IP
For IP of type "ilo" or "management", it should be null | +| ip6Address | string | The IPv6 address/netmask of this IP | +| ip6Gateway | string | The IPv6 gateway of this IP | +| ipAddress | string | The IPv4 address of this IP | +| ipGateway | string | The IPv4 gateway of this IP | +| ipNetmask | string | The IPv4 netmask of this IP | + + +Response Example: +```json +{ + "response": { + "id": 11, + "interfaceName": "bond0", + "ip6Address": "2033:D0D0:3300::2:2/64", + "ip6Gateway": "2033:D0D0:3300::2:1", + "ipAddress": "10.10.2.2", + "ipGateway": "10.10.2.1", + "ipNetmask": "255.255.255.0" + }, + "alerts":[ + { + "level": "success", + "text": "Server IP update was successful." + } + ] +} +``` + +`DELETE /servers/{{server ID}}/2ndips/{{ID}}` + +Request Route Parameters: +| Name | Required | Description | +---------------|----------|------------------- +| server ID | yes | Server ID | +| ID | yes | Server IP ID | + + +Response Example: +```json +{ + "alerts":[ + { + "level": "success", + "text": "Server IP delete was successful." + } + ] +} +``` + +###### Assign Secondary Streaming IP to delivery service +The following existing APIs need modification: + +`GET /deliveryserviceserver` + +If secondary IP assigned, new parameters "ipID" and "type" will be shown in +response: +| Parameter | Type | Description | +------------|---------|------------------------------------------------------------- +| ipID | integer | Server streaming IP ID | +| type | string | IP type: "IP_PRIMARY primary", or "IP_SECONDARY secondary" | + + +Response Example: +```json +{ + "response": [ + { + "lastUpdated": "2014-09-26T17:53:43Z", + "server": "20", + "ipID": "2", + "type": "primary", + "deliveryService": "1" + }, + { + "lastUpdated": "2014-09-26T17:53:44Z", + "server": "21", + "ipID": "11", + "type": "secondary", + "deliveryService": "1" + }, + ] +} +``` + +`GET /deliveryservices/{{id}}/servers` + +If secondary IP assigned, new parameters "ipID" and "type" will be shown in +response: +| Parameter | Type | Description | +------------|---------|------------------------------------- +| ipID | integer | Server streaming IP ID | +| type | string | IP type: "primary", or "secondary" | + + +And the following parameter will display the actual IP and interface assigned. +| Parameter | Type | Description | +----------------|---------|--------------------------------------------------------------------- +| interfaceName | string | The network interface name used for streaming IP | +| interfaceMTU | string | The Maximum Transmission Unit (MTU) to configure for interfaceName | +| ip6Address | string | The IPv6 address/netmask for streaming IP | +| ip6Gateway | string | The IPv6 gateway for streaming IP | +| ipAddress | string | The IPv4 address for secondary streaming IP | +| ipGateway | string | The IPv4 gateway for secondary streaming IP | +| ipNetmask | string | The IPv4 netmask for secondary streaming IP | + +Response Example: +```json +{ "response": [ + { + "cachegroup": "us-il-chicago", + "cachegroupId": "3", + "cdnId": "3", + "cdnName": "CDN-1", + "domainName": "chi.kabletown.net", + "guid": null, + "hostName": "atsec-chi-00", + "id": "19", + "iloIpAddress": "172.16.2.6", + "iloIpGateway": "172.16.2.1", + "iloIpNetmask": "255.255.255.0", + "iloPassword": "********", + "iloUsername": "", + "ipID": 11, + "type": "secondary", + "interfaceName": "bond0", + "interfaceMTU": 9000, + "ip6Address": "2033:D0D0:3300::2:2/64", + "ip6Gateway": "2033:D0D0:3300::2:1", + "ipAddress": "10.10.2.2", + "ipGateway": "10.10.2.1", + "ipNetmask": "255.255.255.0", + "lastUpdated": "2015-03-08 15:57:32", + "mgmtIpAddress": "", + "mgmtIpGateway": "", + "mgmtIpNetmask": "", + "offlineReason": "N/A", + "physLocation": "plocation-chi-1", + "physLocationId": "9", + "profile": "EDGE1_CDN1_421_SSL", + "profileDesc": "EDGE1_CDN1_421_SSL profile", + "profileId": "12", + "rack": "RR 119.02", + "routerHostName": "rtr-chi.kabletown.net", + "routerPortName": "2", + "status": "ONLINE", + "statusId": "6", + "tcpPort": "80", + "httpsPort": "443", + "type": "EDGE", + "typeId": "3", + "updPending": false + } +]} +``` + +`POST /deliveryserviceserver` + +A new "ipIDs" parameter will be added to request: +| Parameter | Required | Description | +------------|----------|------------------------------------------------------------------------------------------ +| ipIDs | yes | An array of server streaming IP ID
The array must have the same size with "servers" | + + +Request Example: +```json +{ + "dsId": 246, + "servers": [ 2, 3, 4, 5, 6 ], + "ipIDs": [ 5, 2, 7, 9, 1 ], + "replace": true +} +``` + +A new "ipIDs" parameter will be added to response: +| Parameter | Required | Description | +------------|----------|------------------------------------------------------------------------------------------ +| ipIDs | yes | An array of server streaming IP ID
The array must have the same size with "servers" | + + +Response Example: +```json +{ + "alerts": [ + { + "level": "success", + "text": "Server assignments complete." + } + ], + "response": { + "dsId" : 246, + "servers": [ 2, 3, 4, 5, 6 ], + "ipIDs": [ 5, 2, 7, 9, 1 ], + "replace" : true + } +} +``` + +`POST /deliveryservices/{{XML ID}}/servers` + +A new "ipIDs" parameter will be added to request: +| Parameter | Required | Description | +------------|----------|------------------------------------------------------------------------------------------ +| ipIDs | yes | An array of server streaming IP ID
The array must have the same size with "servers" | + + +Request Example: +```json +{ + "serverNames": [ + "tc1_ats1", + "tc1_ats2" + ], + "ipIDs": [ + 11, + 3 + ] +} +``` +A new "ipIDs" parameter will be added to response: +| Parameter | Required | Description | +------------|----------|------------------------------------------------------------------------------------------ +| ipIDs | yes | An array of server streaming IP ID
The array must have the same size with "servers" | + + +Response Example: +```json +{ "response":{ + "serverNames":[ + "tc1_ats1", + "tc1_ats2" + ], + "ipIDs":[ + 11, + 3 + ], + "xmlId":"my_ds_1" +}} +``` + +##### DB schema changes +Add a new table to describe IPs: +```sql +CREATE TABLE ip ( + id bigint NOT NULL, + server bigint NOT NULL, + type bigint NOT NULL, + intfid bigint, + ipv4 cidr, + ipv4_gateway inet, + ipv6 cidr, + ipv6_gateway inet, + last_updated timestamp with time zone DEFAULT now(), +PRIMARY KEY (id), +FOREIGN KEY (intfid) REFERENCES interface(id) ON UPDATE CASCADE ON DELETE CASCADE +FOREIGN KEY (server) REFERENCES server(id) ON UPDATE CASCADE ON DELETE CASCADE +); +``` + +Add new value into type table to describe IP types: +```sql +INSERT INTO type (name, description, use_in_table) VALUES ('IP_MANAGEMENT', 'Management IP', 'ip'); +INSERT INTO type (name, description, use_in_table) VALUES ('IP_ILO', 'ILO IP', 'ip'); +INSERT INTO type (name, description, use_in_table) VALUES ('IP_PRIMARY', 'Primary IP', 'ip'); +INSERT INTO type (name, description, use_in_table) VALUES ('IP_SECONDARY', 'Secondary streaming IP', 'ip'); +``` + +Add a new table to describe interfaces: +```sql +CREATE TABLE intf ( + id bigint NOT NULL, + server bigint NOT NULL, + interface_name text NOT NULL, + interface_mtu DEFAULT '9000'::bigint NOT NULL, + last_updated timestamp with time zone DEFAULT now(), +PRIMARY KEY (id), +FOREIGN KEY (server) REFERENCES server(id) ON UPDATE CASCADE ON DELETE CASCADE +); +``` + +Modify server table to remove duplicated information, which will be moved to ip and interface table: +```sql +ALTER TABLE server DROP COLUMN IF EXISTS interface_name; +ALTER TABLE server DROP COLUMN IF EXISTS interface_mtu; +ALTER TABLE server DROP COLUMN IF EXISTS ip_address; +ALTER TABLE server DROP COLUMN IF EXISTS ip_netmask; +ALTER TABLE server DROP COLUMN IF EXISTS ip_gateway; +ALTER TABLE server DROP COLUMN IF EXISTS ip6_address; +ALTER TABLE server DROP COLUMN IF EXISTS ip6_gateway; +ALTER TABLE server DROP COLUMN IF EXISTS mgmt_ip_address; +ALTER TABLE server DROP COLUMN IF EXISTS mgmt_ip_netmask; +ALTER TABLE server DROP COLUMN IF EXISTS mgmt_ip_gateway; +ALTER TABLE server DROP COLUMN IF EXISTS ilo_ip_address; +ALTER TABLE server DROP COLUMN IF EXISTS ilo_ip_netmask; +ALTER TABLE server DROP COLUMN IF EXISTS ilo_ip_gateway; +``` + +Modify deliveryservice_server table to add a new column for IP assignment: +```sql +ALTER TABLE deliveryservice_server + ADD COLUMN ip bigint default 0, + ADD CONSTRAINT fk_ipid FOREIGN KEY (ip) REFERENCES ip(id) ON UPDATE CASCADE ON DELETE CASCADE; +``` + +#### Traffic Monitor +The "CrConfig" generated by Traffic Ops should add a new "secondaryIps" array to +describe all secondary streaming IPs configured on an edge cache server. +Example: +```json +{ "company-edge-se-1": { + "port": "80", + "cacheGroup": "edge1", + "status": "REPORTED", + "secondaryIps": [ + { + "interfaceName": "eth0", + "ip": "10.10.8.5", + "ip6": "2033:D0D0:3300::8:5" + }, + { + "interfaceName": "eth1", + "ip": "10.10.3.11" + } + ], + "profile": "EDGE1_532" +}} +``` + +Traffic Monitor must query the connectivity to all the configured secondary IPs +with the same manner as the primary IP via "health.polling.url" configured. The +"CacheStats" should also add a new "secondaryIps" array to describe each +secondary IP availability on each edge server. Example: +```json +{ + "caches": { + "edge-se-1": { + "isAvailable": true, + "secondaryIps": { + "eth0": { + "10.10.8.5":true, + "2033:D0D0:3300::8:5":true + }, + "eth1": { + "10.10.3.11":true + } + } + }, + "edge-se-2": {"isAvailable": true}, + "crdc-mid-se-1": {"isAvailable": true} + }, + "deliveryServices": { + "vod1": { + "disabledLocations": [null], + "isAvailable": true + }, + "live1": { + "disabledLocations": [], + "isAvailable": true + } + } +} +``` + +While there will be a query for each primary and secondary IP, and each +interface configured, the following stats shown in "CrStates" should be +aggregated for all configured interfaces: +- `"kbps"` +- `"availableBandwidthInMbps"` +- `"availableBandwidthInKbps"` +- `"bandwidth"` + +Also in "CrStates", the following stats should uniquely include all interfaces +configured for secondary streaming IPs: +- `"system.inf.name"` +- `"system.inf.speed"` + +Also in "CrStates", the following stats should add value for each secondary +streaming IP: +- `"isHealthy"` +- `"isAvailable"` + +In the "Cache Stats" table of Traffic Monitor GUI, "Bandwidth" should be the +aggregate of all the primary and secondary interfaces configured. And a new +"Secondary IP Status" column should report the status of all secondary IPs +configured. + +![Cache Stats](img/cache.stats.png) + +#### Traffic Router +The "CrConfig" generated by Traffic Ops should add a new +"deliveryServices2ndIps" array to describe all secondary streaming IPs +assignment to delivery services on an edge cache server. Example: +```json +{ + "company-edge-se-1": { + "port": "80", + "cacheGroup": "edge1", + "status": "REPORTED", + "deliveryServices": { + "vod1": ["edge.vod1.companycdn.com"], + "live1": ["company-edge-se-1.live1.companycdn.com"], + "primary1": ["company-edge-se-1.primary1.companycdn.com"] + }, + "deliveryServices2ndIps": { + "vod1": { + "ip": "10.10.8.5", + "ip6": "2033:D0D0:3300::8:5" + }, + "live1": { + "ip": "10.10.3.11" + } + }, + "profile": "EDGE1_532" + } +} +``` + +When Traffic Router trying to redirect a delivery service request to an edge +cache, it should use the secondary IPs listed in "deliveryServices2ndIps" if +available. And only use the primary IPs if secondary IPs could not be found in +"deliveryServices2ndIps" for that delivery service. + +#### Traffic Server +To get the client request dest IP in ATS access log, use "hii" field instead of +"phi" field. + +Traffic Server should reject a request to a delivery service on an unassigned +IP. For example, when a delivery service assigned to the primary IP, any request +to the secondary IP for that delivery service should be rejected. + +In ATS 8.0.0, the header_rewrite plugin adds support for condition +`"%{IP:INBOUND}"`, which could be used to support to restrict unassigned IPs. +Another option is implement a new plugin to support this restriction. However, +this restriction could be considered as optional as it will not impact the +feature usage itself. + +## Analysis Support +The IP serving client request on cache server could be get from Traffic Server +access log. The information could be extracted from "phi" field or a new "phis" +field, see "Traffic Server" above. + +## Upgrade and Downgrade +When upgraded from a release not supported this feature, DB migration will add +all the new secondary IP related tables and new columns. The existing delivery +service will not be impacted. + +When downgrade to a release not supported this feature, DB migration will drop +the secondary IP related tables and columns. Any delivery service assigned to a +secondary IP of a cache, will be served by the primary IP of that cache.