From b2b8a8a9fff6a50a26bbdc25a4571ecb7d4e7544 Mon Sep 17 00:00:00 2001 From: George T Kramer Date: Fri, 10 Mar 2017 16:08:50 -0800 Subject: [PATCH 01/12] Updating figure and documentation to be more step-wise --- source/_static/images/bulk-provision.png | Bin 0 -> 62941 bytes source/_static/images/bulk-provision.vsdx | Bin 0 -> 36884 bytes .../images/icis_installer_workflow.png | Bin 60011 -> 0 bytes source/_static/images/icis_pxe_diagram.png | Bin 33394 -> 0 bytes source/bulk_provisioning.rst | 238 ++++++++++-------- 5 files changed, 128 insertions(+), 110 deletions(-) create mode 100644 source/_static/images/bulk-provision.png create mode 100644 source/_static/images/bulk-provision.vsdx delete mode 100644 source/_static/images/icis_installer_workflow.png delete mode 100644 source/_static/images/icis_pxe_diagram.png diff --git a/source/_static/images/bulk-provision.png b/source/_static/images/bulk-provision.png new file mode 100644 index 0000000000000000000000000000000000000000..23042be9fc52a9869626329bc9b7bcb8bd22fec8 GIT binary patch literal 62941 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
h_Q(JY5J?B$azy10~asG>lc7*Ib@Zvf? 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 z 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
  • 9zI{UV4*dO_-}yY&TJEZnW2IVkTcd(O*x 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 T`yX9V6d>&Pq281GAK(5T{12vA literal 0 HcmV?d00001 diff --git a/source/_static/images/bulk-provision.png b/source/_static/images/bulk-provision.png deleted file mode 100644 index 23042be9fc52a9869626329bc9b7bcb8bd22fec8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 62941 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

    yr0L4 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 Fe*kd|7fJvC diff --git a/source/_static/images/bulk-provision.vsdx b/source/_static/images/bulk-provision.vsdx deleted file mode 100644 index eca3e87141f41e1f090d5266db1489db3111a249..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 36884 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 sMbeFEDWV&IT5Tg6zy%!5g`_ on the pxe server. The README in the ICIS github repo has + directions on how to install and configure. -Step 1 ------- +#. Generate the installer that will load and boot over PXE. Copy the relevant + files into the appropriate location on the iPXE server. -First, stand up an iPXE server as described in the :ref:`network_boot` docs. -Note that you will be generating your own artifacts to be served by PXE in a -later step. + A pxe installer is generated for every release of Clear Linux OS. It can be + found alongside the published images in + https://download.clearlinux.org/releases/XXXXX/clear/clear-XXXXX-pxe.tar.xz + + Alternatively, use the `create_pxe.sh + `_ script to + roll your own. Note this creates the pxe-installer from the "provisioning" + installer in Clear Linux. This is a touchless installer that takes all + installation information from a config file. You can get this image from a + given Clear Linux release by looking in + https://download.clearlinux.org/releases/XXXX/clear/ where XXXX is a Clear + Linux release number. Just download the image alongside the + ``create_pxe.sh`` script and name it ``provision.img``. + +#. Stage config files for ``ister`` that will govern Ister's behavior. This + includes modifying the script for ipxe boot, getting it to pass an + additional parameter to the kernel. -Step 2 ------- + The magic that ties all of this together is that the pxe script conveys to + ister the location of its configuration files via the kernel command line + of the installer it kicks off. The kernel preserves its command line + precisely, and ister inspects it via ``/proc/cmdline``. -Land `Ister Cloud Init Service `_ on the pxe server. The README in the ICIS github repo has directions on -how to install and configure. + Here is an example pxe script: -Step 3 ------- + .. code-block:: console -Generate the installer that will load and boot over PXE. Copy the relevant files into the -appropriate location on the iPXE server. + #!ipxe + kernel linux quiet rdinit=/usr/lib/systemd/systemd-bootchart initcall_debug tsc=reliable + no_timer_check noreplace-smp rw initrd=initrd isterconf=http://192.168.1.1/icis/static/ister/ister.conf + initrd initrd + boot -A pxe installer is generated for every release of Clear Linux OS. It can be found alongside the -published images in https://download.clearlinux.org/releases/XXXXX/clear/clear-XXXXX-pxe.tar.xz + When the pxe installer kicks off ``ister``, it will make note of the + location of the ``conf`` file that was given on the kernel command line, and + fetch the file. This file then tells ``ister`` where to get the json + template file that describes partition schemes, and which version of Clear + Linux to install. This means that so long as the contents of a release are + compatible with the version of software update (``swupd``) in the installer, + this pxe installer can be told to install a newer version of Clear Linux + simply by tweaking the json on the web server, rather than rolling an + entirely new installer. -Alternatively, use the `create_pxe.sh `_ -script to roll your own. Note this creates the pxe-installer from the "provisioning" installer in -Clear Linux. This is a touchless installer that takes all installation information from a config -file. You can get this image from a given Clear Linux release by looking -in https://download.clearlinux.org/releases/XXXX/clear/ where XXXX is a Clear Linux release number. -Just download the image alongside the ``create_pxe.sh`` script and name it ``provision.img``. + One other important piece of configuration data in the json configuration + file is the location of an ICIS configuration service. Ister will query + ICIS for a role using the MAC address of the network interface being used + to communicate with the ICIS service. Ister will then fetch that specific + :file:`cloud-init` file and ``configure ucd`` to run on first-boot against + that config file. -Step 4 ------- + The `Ister Cloud Init Service `_ github repo + has example ister configuration files under ``static/ister``. -Stage config files for ``ister`` that will govern Ister's behavior. This includes modifying the -script for ipxe boot, getting it to pass an additional parameter to the kernel. + Here is an example ister-template.json file. -The magic that ties all of this together is that the pxe script conveys to ister the location of its configuration files via the kernel command line of the installer it kicks off. The kernel preserves its command line precisely, and ister inspects it via ``/proc/cmdline``. + .. code-block:: console -Here is an example pxe script: + { + "DestinationType" : "phyiscal", + "PartitionLayout" : [ { "disk" : "/dev/sda", "partition" : 1, + "size" : "64M", "type" : "EFI" }, + { "disk" : "/dev/sda", "partition" : 2, + "size" : "2G", "type" : "linux" } ], + "FilesystemTypes" : [ { "disk" : "/dev/sda", "partition" : 1, "type" : "vfat" }, + { "disk" : "/dev/sda", "partition" : 2, "type" : "ext4" } ], + "PartitionMountPoints" : [ { "disk" : "/dev/sda", "partition" : 1, + "mount" : "/boot" }, + { "disk" : "/dev/sda", "partition" : 2, + "mount" : "/" } ], + "Version": 6580, + "Bundles": ["kernel-native", "os-core-update", "os-core", + "bootloader", "sysadmin-hostmgmt", "openssh-server"], + "PostNonChroot": ["./installation-image-post-update-version.py"], + "IsterCloudInitSvc": ["http://192.168.1.1/icis/"] + } -.. code-block:: console +#. Configure ICIS to map MAC addresses to role files appropriately. Then create the role files, which + are ``cloud-init`` configuration files. Note, it is possible to simply specify a "default" role for + any unmatched MAC address; this may be handy when all install targets are to be configured identically. - #!ipxe - kernel linux quiet rdinit=/usr/lib/systemd/systemd-bootchart initcall_debug tsc=reliable - no_timer_check noreplace-smp rw initrd=initrd isterconf=http://192.168.1.1/icis/static/ister/ister.conf - initrd initrd - boot +#. Final pre-flight check. Assuming your iPXE server is at 192.168.1.1, all of the + following urls need to be working: -When the pxe installer kicks off ``ister``, it will make note of the location of the ``conf`` file -that was given on the kernel command line, and fetch the file. This file then tells ``ister`` where -to get the json template file that describes partition schemes, and which version of Clear Linux to -install. This means that so long as the contents of a release are compatible with the version of -software update (``swupd``) in the installer, this pxe installer can be told to install a newer -version of Clear Linux simply by tweaking the json on the web server, rather than rolling an -entirely new installer. + * http://192.168.1.1/icis/static/ister/ister.conf + * http://192.168.1.1/icis/static/ister/ister_config.json + * http://192.168.1.1/icis/get_config/ + * http://192.168.1.1/icis/get_role/ + * http://192.168.1.1/ipxe_boot_script.txt -One other important piece of configuration data in the json configuration file is the location of -an ICIS configuration service. Ister will query ICIS for a role using the MAC address of the network -interface being used to communicate with the ICIS service. Ister will then fetch that specific -:file:`cloud-init` file and ``configure ucd`` to run on first-boot against that config file. - -The `Ister Cloud Init Service `_ github repo -has example ister configuration files under ``static/ister``. - -Here is an example ister-template.json file. - -.. code-block:: console - - { - "DestinationType" : "phyiscal", - "PartitionLayout" : [ { "disk" : "/dev/sda", "partition" : 1, - "size" : "64M", "type" : "EFI" }, - { "disk" : "/dev/sda", "partition" : 2, - "size" : "2G", "type" : "linux" } ], - "FilesystemTypes" : [ { "disk" : "/dev/sda", "partition" : 1, "type" : "vfat" }, - { "disk" : "/dev/sda", "partition" : 2, "type" : "ext4" } ], - "PartitionMountPoints" : [ { "disk" : "/dev/sda", "partition" : 1, - "mount" : "/boot" }, - { "disk" : "/dev/sda", "partition" : 2, - "mount" : "/" } ], - "Version": 6580, - "Bundles": ["kernel-native", "os-core-update", "os-core", - "bootloader", "sysadmin-hostmgmt", "openssh-server"], - "PostNonChroot": ["./installation-image-post-update-version.py"], - "IsterCloudInitSvc": ["http://192.168.1.1/icis/"] - } - -Step 5 ------- - -Configure ICIS to map MAC addresses to role files appropriately. Then create the role files, which -are ``cloud-init`` configuration files. Note, it is possible to simply specify a "default" role for -any unmatched MAC address; this may be handy when all install targets are to be configured identically. - -Step 6 ------- - -Final pre-flight check. Assuming your iPXE server is at 192.168.1.1, all of the -following urls need to be working: - -* http://192.168.1.1/icis/static/ister/ister.conf -* http://192.168.1.1/icis/static/ister/ister_config.json -* http://192.168.1.1/icis/get_config/ -* http://192.168.1.1/icis/get_role/ -* http://192.168.1.1/ipxe_boot_script.txt - -Step 7 ------- - -Boot an iPXE client and watch Clear Linux install. +#. Boot an iPXE client and watch Clear Linux install. .. _icis: https://github.com/clearlinux/ister-cloud-init-svc From 883dd75e911b2e925a7a25ed63c9b7e7fe5a4462 Mon Sep 17 00:00:00 2001 From: George T Kramer Date: Mon, 13 Mar 2017 11:27:11 -0700 Subject: [PATCH 03/12] Making documentation consistent --- source/_static/images/bulk-provision-flow.vsdx | Bin 32297 -> 0 bytes source/bulk_provisioning.rst | 11 ++++++----- 2 files changed, 6 insertions(+), 5 deletions(-) delete mode 100644 source/_static/images/bulk-provision-flow.vsdx diff --git a/source/_static/images/bulk-provision-flow.vsdx b/source/_static/images/bulk-provision-flow.vsdx deleted file mode 100644 index 882100ef12307ce5eb840311010f09a7968d07cb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32297 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

    h_Q(JY5J?B$azy10~asG>lc7*Ib@Zvf? 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 z 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
  • 9zI{UV4*dO_-}yY&TJEZnW2IVkTcd(O*x zBP)b(A~qROaY03O0$7wriD?ao=VHalmV`rdYpAx>GqD(`6AtnbH%4WFJ+r)@JsiV> z021(bgg&m3;RAQ_gBs!eM!QN5PpJAR_tB~jh~>F68it_r)H9z(XhxDeX=fPUEA}{` z&2+(@W6uQJYM9mA6;AeEx*39QA#6!Kcy!42An6=(!E3%lA|D~7f=NLLSioI~l{2us zw4NM>^7#czs3vz?g8--}PTi(rf)Y3ly5aif6C-N{EJ?Lm5i_8#y0--+mZ88vY&Hk4 zQ4x~%Stu)`WP@sP3V;hXt)Z$)=mN-pDT|7{Rj#i4NPFiG_ZfAxZ-2Wvw{F>|n+`OV zubOD_aI`Acs!&yPFh;tVx*K9*ghvQHHy3Kpcl9L;`;Ru0^}Ws1&EI0f*3DF3W36L*m(l~4^XG@15Y1n{6 zub)=yv_%$IXQ-mpTDn#YPEHo69Z$x%EzW*yz=odynR6OOtlQ1g+(XdKCYo}rQNA%i z%lU|$t=d=Xbpf9m9Vyy^)dGw+|0A}UtlYjN=RA)i?q=|WB?b2LgNMP6vUJqDKT5EN z2}07^AB!#8q^SmkMAY&bd1yvbmMBiKD?4bCd%)AO8??qk5?6&)NEm!3w4cDronUKU zYvBVuaHOMzif+C4k>{5b;a~l zt9H0M3wga|G=d@J_*HBWE^)g~Wn7Ti_LDG8I=Qd6^dOv@uejBFNC0LVk7ZDz>93`3 zue6&>)a^-(Fh`6|4anQs9DuI6v?%` zv7x+c_55lRI?6kpcC%vT>E&)Xx_?)c$iuZvF1sWnkQ*FjP z_HpV)-if7{Om28zG(H*LI?H)e0J|AQi`7oKB8x{!)8aZHqjVBIo;sg%A%)i4IkVN- zV~{*E`Ri<>i7l{_-t0~XC$ftje1B+`XZMf@E3Tg-eW75&C_8xWwRTrr< zbiCBu?7?+N^IXk;?~YBoB+I2?cp3#*?W51bowZE)P14aObg>H5ZbzZU;H!KnXe{d| z)P53a0TKnmj~c`%>vhT&WA@B%&CpOt-iS@{B|>pcwo=x{u_H{*mw%foK0jC`?7wnl z&syHmdfvD6ycJRbul2_7M{-~Z{O)!y?1;&zxQVDQAT*)3V$IgO5nMs3;IB+oj#f$x z!B*;6=C!7~qS=2N3P=@FoB&~RLu=0ygO-WF#MFQKVx$hjJNq7ZlL*sMOtJa;Ir z9^^KjCSfRRaTgLlhe=@PPut!70*DZg2q&LM#1?RZ>cKR5^(rn66YZKL$!0g^x7kj& zxxh>_XrLib7-PZFT zXi+zrrp^I*?tVhD-vVAkkl z2i;+_1+{{hE*Xt8*ap6Bv7K>U*mTGj+k6HIwLi$GEsApd@$F07*R>y?v7 z+qpUY(awBVRO_E9Z1#It!1e7qpfqAj4YUTD2U!hYdK9Q zKt%fl>#1)FC#U8O_IaJ4yAvhY6T~9!?9t#WgMI^*)M}QB*S>$1(zngKpV)JE@?bsu zZ7jU~87s4FN9|5VbNJ>VvDz$Mn+c`#`%qcq;k+XuiURdAJN-V!6j*&K2X{LpEk*>T zuf-2xjC2~Q;Gif|0mm^=E9fGv7R+Ayn1RLVJSLA#gjN$nEar}WcJ*aB(C)hSsh;rP z-$13cS2P)etIWyqbH#`6?cU$$(_17E~lqp(E}rSqIm!sojqG^}{~} z`b`?{uR}ls0fET_0inNp^ZVxFPmXr>P7KcGE;fd?1{T)zCN`$08CLcv3ur?ObeZ=` zE2*wUuW{@I&xHi$Cvtm7*RTDmcIPtDg2osP<(s){xT9oO?JRW&z)F5ZKz z`h!)gYLdWRBRKl>nwz#w4DZgGte7_j#OvK6I(`ykJdK|)LVVFbT-3Y#@7OAwJr2SH zd4ifW9=Gb$(UyHnO?kh1ZaM9KxOTd>s^I*vB(YA&5c|4|V9c?EX8wfB=e8dRPg48f zk3+~{=o6>j8#&DVEwC%_;nlb6QwPe*g??d#k5>QdrpJ7&9kh-4>(4%avpDnG$n~q1 zj8I>d9AEDe?#Ob)xZNBjJ6=66at2AzdH%hQ7v;9|y47-06Kek21;?AbRVC9JpR1k? zc-L!3dCJIFj9>Cqtt{QG7wtc(c&4!bYi43w8ExtTwKP^$7qyC{%f!Z|J z08st$I%jdir0*ZecvR*hTZtGqVyHvY3ek4p{4sIiqe6rAZiB0h$1iUXt-6{^A-WFVu11Ao7)a(U4zW07erO<*w^U7>Xbs}yrpmbWF8S^w_!sB%2v1yfg zI;l^nPpZ0KLK@7ZufT3fcV07E`;a3=bIrE7-)lsfg7$jE3EbgPHaX!N_V z{0>iasy_mqNkuMQ7Ypl*Wd|G_EPnnf1rC=3uG_8QPwBMSbU;&3(1$(yK$=a5>&JrwB?m!(bpY3=S>#)WO?gD%o`BPu_xFL$S6j!}jBnqE@0D}tEsJjV|! zW2L33aiAcJGoDjVLxfmR^xSu~J$aQ(s+Q}&)TX8$Rh3_CTZiMobJ-qgeY6V0JkbT; zi#=2xmd4Urme)O^DLrPtdO1!~A`aQRlQ5K*lUufCzjw8J8qiqaF%7dfDz)}V{ZW}L ze@k_g)Z}B{9Oa$^M!To1r8I`M5>b>iC=XEQrpV~}%*;sHA1674)r=8kjF&~-HeF~8 zNF_sYG{9U~v^Q_Mlp+{pGlwPWM_Md__`WRwz%+y<3@NEX=Z)OpuMr~YjSF3vBkX-G z$-~GJ9+?(Ok{J%7qo?mRpyc_~mtqm5nXtYUoof6@(I1GpAg~!_aQwUzMy{?t3bljn zB@J=)_P)KGGBpk{!QJm*2kspX5TZ7$is}9i6SP13CA9~LWeOb1Sl3@Y4}ty@<4jNsPiN5P?i@8AdyivJ;sq6yEp`84Egkir_uplTVwH z^u02mOO54U8+TfKQ2Fe>y`1^SjHfUW%@8hG_LFQYMwW=EGnV+t8{`OILL=!ZFAWFH z1v?sWaE3P)LCW}TyF82VMtl;TrXF-=HkCOFr6$LiS9t;!;|L^T&;D;sp1c^5U6-Q6G|Eucy01ZZGVpos7Oo`2x+ zlLR&^qwH|4{b1vJE?8#Rrpu-($VRgK4O&O+XQ157(;#LQRQHTiuk_WYeHiMTcp(0aQNmBG)Z)H^@bmgK9coz$SCI^r znfy;)N_-x}VvP+Cx{bY*T=fK*?l9GXFHa%o#^upa-@uW0c!(Rl7NWlHcax%1*R&Wj zWm>B+hY}ads6}%f6zMd8)q<%+oEzs+1GrPcipoZ*=P$Nn4=!3SLf^MwLRSE3Na(-! zC&0+(M%Du`@Nv5wFB)0up#wi@{WQ41DOLyOS}M-yMji(9lPy*jg_6PiHb4ot4|J5y zo$#Ur#Hf+$Rj&_i7&H>+@_yei-Nbw0_(0WDph&3!ASUA9_0l97Art zmaJ&;qHbuD{v3^~oh%h!+zsh_Ea~qxUsoDcaj=7th%=Apfui|3 zD_&)?R!$>uil<`UMf)R6G=0eN>K3j%ai%`y=4WrKO_U=j7J# zd|N`a*|gb?q-7@uZiCTLKBtb=DwJlQfnW$lT`P}(&#!wNvj}24SursTJ9GOdei&KR z;P*da{;BJz&lalZ@cxUjz`whW{}x_%HaD>`dG9^GAOF2c1b4~teIUcD@&tjpZm`9t zoYZVDRp*jO$+b6x1Qn<52L$@1uCeqrM468wv1>&7jhHtefTjCWo~-6Qd0cr?ilDsw z#+sA<#@n??EHr|H0=b7PDYc!kLP)&>pJd%qth*PAWD{iq+9)~YME#?LcZBp+vfJmk zSuJPvi5*ee?#Buq5%KNzvZP=Lh&{|!g(q^oL9F)l{Q(e_DOyvAcn}}(_V8PQM3WnR zzc?9G<_4gKmr~x;+WyTMy8YS@X6SFAvEk=j2h3vx?C6CfBs;cjb(NN{YT*yC*H0$;) zv&cVKmPoXsbH>r(BpCzb^pA3Jk6NGG9?#E&T_k9^_~5WnK9_*AcS;P3>h8}TPjKqt z?)C!^@R2XcYV1XM3GqSRgey44Rl`XXW|!};&Mbhy=Ju(_kbMtdi+vuv`fzJ{97(t} z&AD@FQlpGOI2yMxi|aPyfvxQ+UC5}6vrnt6y4rz=|F z>A&zygi~ZT4bJr{ROX&&0#Kg#6bNC&8v*bYG)ddAV!*g;mWPA7h{L(F*)W?W3c_aa z3q3(W`I_>rtnYuT$n6N!$uZc1KQ@)WqT9o1)%tMD421StA}NroY*j)jzYswVUT6Qu zDF-uQ>YeCYMxORY-EI#5@iS#u*cmEC&ZjaqWz@u6^%fs$DGr|5idjgu5vQ;jHilbp zRe0z^dswu>6P;1Rt&;hv{F45GKgub76$D}by(CxMCq1vXga(fCG-s-VT51RCf=g6X z+w8NPLhd)CLyc%nHJ${_tQ*SAu?43v=KQL(+~2KZjobx7+El7 z8N?bwkF9f%Bi+qc_vLM9E3qx4qp?!dSJ1k)P_9R z9@b(7HmyGfqGws zDE9l^^uhpAqeVf=nc+9D&b$Dl)9vaiJQ}{7TxLL^4WsX}zLPyqTg3JjQMRf}5&RE# zbZ~BwQ=oR1U1p?PmQXb9fx$EUP*~K}iU}&_=w=RNk2fvD7dt7!SH-hRVii^=KN2AE zrCN}`a^10~>`K-FHS%0Tg4wXtas8xp_ZZ#z2+3a;16eT4(vW@`fwaSa?aQH{wQPc4H!+u@mrtA zzOL>}jG*tuw`s$X0K81yjH#O9J)f*%iI!0s{KqG<6T$-zc2M3N>-<*!EI>r7U7V=4 zAqQI3&4*D=RTnSM@tB6DvK3=?J+us>p)E3_uKXeAFhhUbUJjHn49R=!|{wX z-^j6Qht#SX-5p1*O;^!_w;g7@u-tikYf{fN2CXJIoZYAk=~e>wI4gBO(!Q|yXpjX} zw2Omv31bX|meHyO7?GCn$nao`xT5@HrbwLFgcu_VB9VZ5y&?d!wJvs5nFt+M2T)e^f{zC9?)815~B9DBy-7Dr{wv zK~rY--~~9S+}_-y#3IQ9X7+H|u+sV!vRs@|kyy@+#Tq@CkJ-`_mUBHU2H8zVqlm-M zglN@glA11s*_ybGX!9fU&P`kP3)TQoIy#LCE3!IgY_5Hz>_yW6Ax}i~^^ap*bljh& z^NxA4zvqNC>MR~pXTG9WMFGk|^{d6vN^#QOT&Q*%rU`_mEo=7$*AKO=LzRul;%$g( z?u;Y483*V_P%Tb$lNyo)Yl7q&`-#+NBx+w}ICDoi>P1)LS7u>=b8@weoXI$;HXz8b z!OzNU&2KBwTZ_&VVPF!PXOvm-&~e2`OYIYZRMVn}mV6NNBXl>oX%HGn@oxGRT80poV(8s*EAPa!-*-H*K+#t!5_h%-xZW!F7C6ab9VB zb;+wth3k5$ICXUqeGK|mW!D>|Fbi18%QXsc71nbEWr#Cg0nvqnJ0B6Va`kcUcvKV3P+qk|(>e#0Lq|N?QG&BTswUbQi0MzQF1b_w zz$s|7@dBm0l`gKcqP24 zP;9}4t=8Lu5ck@4R(+Uz_*rEFlO;1sgEjD6j@0hdw4WGOK!?%r3m0O)wcvbdp zx_!lyJahb!#LQ7b^0C8Ru|Lb^p+MaFluOo?=`^~;pr#R{u5clh)Aws5#aqUV)k}UA zv-yqLi@C7<;9VF#W*zDea9lYE@>6umD)J{W(zdWOuCyiJJ)udTD+gN-?cMS{-IF=U#9(#c2uM2Ib3b?b)q&)X^vx1C z@9y6AUVUni+cYm2I|H8@DDIz8rxALVJQb}Nt<%9^eJv`vTM2}oXg`Dj7dE0j#u)`R z8RHb?0;%`ABuTCX&f9uS85EbKV&vr4a~jtAqbd3vS* zJ6-<16>0*XKAVb;lqHUDit2@&L?3tx1@^WYfnY2db4NqMYvQ5op2*Upv_W6d1lF9q zaKk997>C-&Ekhw?Q4tB1qYyvcr;PPi3Ay(?xuI{1xveLL>I_{RPwH(!r3bYf!7XhM zwynFv)V$fW4L4!E^7{Hd(BLwDxcoXrT`3jfYpm|4AKwzb&Y8&ZGx&?!&wrfXwV0Z+ z276zvP<>w^MFfHb{-60>1AF^F7AxKpj{(0Y4t!tf`2YKpp{!%I!iefaaLSL#Z-WpT zS4c-jNnI&yVNht`(2EZ%9AAyXq=6h~8u$7`XDKq?+QjH4`~qX>09Pk`{nRp%^*wu@ zXHryfJ}WSt4Aq@!Qq}cyk4xHPx64T4G^6yx<}A+rJ)91wQO^e`K0(Mcvmw9wUxC>SZX(4N>>n-R1~{cLoV131^6Pw)WBSUouT%+@4r|CbK3O&^iL8K@%7ET zphGrg4PK_k|6(!=!i_U@va3r?`qS3U=dRN|t{2O$EQY5UH~gHflNLL4p0wAz04wau zoSEv}HaU9fWz4cgcR!ozsP?F`Q3@J=O4?OKTO3SEF5Q``#UGZcE{p~t0T<>L*uCL% zPvK1jyTS4o$U!pQw{FlDiTLVOVN`Z$oO99z;17ef^cF@YKK9l<9Gg@Lx_|XqRZ9|nH9fN65&Un8)e>c;* z1sw(LzldyEIXO?$-x=G2%yunAV3Uf%0C|4bX8PX}2-UkqzBcdAh26VA!h6=uUr&ya zi<7gR&Hp_-zZ#78_#QidM%2Lz>3jZ|^;rMSKp-(-lz5BrL7r1X#4z?;I*aghjr*?Z zUPgS^<#AgdABK&K=QOp?*K*WnAuZhz;N7?aIYepoAhSL|x-(z-z|&%|=<320P`{uc z>m#pkJXuXz_LGSTDIqI^Z4#QCVF88_LW~V_mX%$k1|`W=MjpUvq%-nU_TU7SvC#ub zNbCZQMXDLzgD`KRuAAdNjD0)rC+D3TwLSbCp4|{9p$)c4;+n_lnv<^;igQHHYSzl_ zOyJB3m`c-_Ud<%W7AXJLhdyO4rhI#5+7Z$`JH+atDLZS-rbGTs>V>kS%oimtxYNPs zJoj@yg4at$k4mlOF#J_WzD!S$@+%4(O{!Df*2 z!tg<|F@Tpd@#E!diPT4cP~Zyo0r--n*5)S{_@d?xE{GxMnu3xqI>Z0fvJs| zsC51sVPY7*CMl_Zm?z6UB5W<*(mJ5shhmcaw2bg>|LWzcNE&5z89q)sk^U);29#?JRsonnJ_S$(N~8~Xejd$;BlxAe{->^;vOr{14f@@K z0#9MHYBpeYz3B*w`vMluxF0htHqME(MyS4)==tjg`fODHaIpk^KDa$UK9I#`TX4OV z0x4yeN>Ug?FN5>p-KIJ{&lVUw@`Pd};te_UzUzYleKWepo1z>(zV(%hYU1yk;;sfE zjv_Xugq%5{-)1fb5yvR86%A2qS%ZK(KDiXD{LE%Fa<$aB!0ulLJ;;Axo#~{CAv)qQ z61GtqFN_qGy_!`7l9>B>Z}&dqsj>4>RWHuXy`CB_N(Ccl$?YesG_i{AL}sNeOrf1w!P)y@Bn z`gg(pb^N1M`W^AR0`V_|0r8)RKWpnRdc?nDepg%kg=weyXUxB}7k|h6uIcs*lS%g{ z=J%TZ*JSs<K7(T?N7{K;-P*w|2^d7m$|m)e+xkQo$>qH!!Jg%@t;NbeI?>| z#@~lVzX(7;JobMn$A1P&zgz#kd-zvtSEs*N|LQFM4*2_<`>z08*S`Y(^B(^s{oy_R T`yX9V6d>&Pq281GAK(5T{12vA diff --git a/source/bulk_provisioning.rst b/source/bulk_provisioning.rst index cd01b909..57948c3a 100644 --- a/source/bulk_provisioning.rst +++ b/source/bulk_provisioning.rst @@ -1,7 +1,7 @@ .. _bulk_provisioning: Bulk Provisioning -***************** +################# Data centers have a need to install and configure new instances of operating systems in bulk. When managing new computers or hardware upgrades in bulk, data @@ -44,9 +44,10 @@ server and a host booting into the installer via pxe. This diagram is intended to show the logical flow of information, and is not a literal depiction of the protocol-level exchanges. -.. image:: _static/images/bulk-provision-flow.png - :align: center - :alt: pxe-icis-install-workflow +.. figure:: _static/images/bulk-provision-flow.png + :alt: Bulk provisioning information flow + + Figure 1: Bulk provisioning information flow Application server, web server, dhcp server, tftp server are hosted on a single machine, but can be hosted anywhere visible to PXE clients. @@ -152,4 +153,4 @@ single machine, but can be hosted anywhere visible to PXE clients. .. _icis: https://github.com/clearlinux/ister-cloud-init-svc .. _cloud-init: https://cloudinit.readthedocs.io -.. _micro-config-drive: https://github.com/clearlinux/micro-config-drive \ No newline at end of file +.. _micro-config-drive: https://github.com/clearlinux/micro-config-drive From 14c59c8a1137253b796f7ada6369aed10e178c88 Mon Sep 17 00:00:00 2001 From: George T Kramer Date: Wed, 15 Mar 2017 03:29:14 -0700 Subject: [PATCH 04/12] First pass at cleanup --- source/bulk_provisioning.rst | 114 +++++++++++++++++------------------ 1 file changed, 55 insertions(+), 59 deletions(-) diff --git a/source/bulk_provisioning.rst b/source/bulk_provisioning.rst index 57948c3a..4a15cbaa 100644 --- a/source/bulk_provisioning.rst +++ b/source/bulk_provisioning.rst @@ -3,77 +3,39 @@ Bulk Provisioning ################# -Data centers have a need to install and configure new instances of operating -systems in bulk. When managing new computers or hardware upgrades in bulk, data -center administrators need tooling for making changes with minimal effort. +Clear Linux* Project for IntelĀ® Architecture can be automatically provisioned in +bulk using a combination of `Ister`_ and the `Ister Cloud Init Service`_ (ICIS). -The bulk provisioning scenario is a continuation of the :ref:`network_boot` -scenario. After a network boot occurs, ``ister`` provides automation for this -task using `cloud-init`_ files by performing the following steps: +Configurations for a bulk provision are made by defining `cloud-init`_ files and +Ister configuration files and hosting them with ``ICIS`` so that ``Ister`` can +use them during the install process. Ister configuration files provide a way to +customize the install and cloud-init files provide a way to customize the +instance of the install. -#. Finding cloud-init files -#. Creating a `micro-config-drive`_ (ucf) to store the cloud-init files -#. Creating a systemd service which runs at first reboot to apply the - configurations defined by the cloud-init files -#. Reboots the machine to run the systemd service +The following diagram depics the flow of information between a PXE server and a +PXE client that needs to be set up to perform a bulk provision. -At this point, the machine has been rebooted twice, once to perform a network -boot and once again to apply cloud-init configurations. Afte the second reboot, -the machine can enter into a mode ready to be managed with Ansible. +.. figure:: _static/images/bulk-provision-flow.png + :alt: Bulk provision information flow -The ister cloud init service (`icis`_) is used by ister to host the cloud-init -configurations. Ister can be directed to look for cloud-init configurations -hosted by icis. + Figure 1: Bulk provision information flow -One nice attribute of this system is that once the iPXE bits are created, many -installer behaviors can be configured without having to regenerate the iPXE -bits. +This guide covers how to perform a bulk provision with ``Ister`` and ``ICIS``. Prerequisites ============= -Stand up an iPXE server as described in the :ref:`network_boot` -docs. Note that you will be generating your own artifacts to be served by -PXE in a later step. +Before performing a bulk provision, verify that you have a PXE server capable of +performing network boots of the latest release. Reference :ref:`network_boot` +for a guide on how to perform an iPXE boot using network address translation +(NAT). Configuration ============= -The following diagram illustrates the flow of information between the pxe -server and a host booting into the installer via pxe. This diagram is intended -to show the logical flow of information, and is not a literal depiction of the -protocol-level exchanges. - -.. figure:: _static/images/bulk-provision-flow.png - :alt: Bulk provisioning information flow - - Figure 1: Bulk provisioning information flow - -Application server, web server, dhcp server, tftp server are hosted on a -single machine, but can be hosted anywhere visible to PXE clients. - -#. Land `Ister Cloud Init Service `_ on the pxe server. The README in the ICIS github repo has - directions on how to install and configure. - -#. Generate the installer that will load and boot over PXE. Copy the relevant - files into the appropriate location on the iPXE server. - - A pxe installer is generated for every release of Clear Linux OS. It can be - found alongside the published images in - https://download.clearlinux.org/releases/XXXXX/clear/clear-XXXXX-pxe.tar.xz - - Alternatively, use the `create_pxe.sh - `_ script to - roll your own. Note this creates the pxe-installer from the "provisioning" - installer in Clear Linux. This is a touchless installer that takes all - installation information from a config file. You can get this image from a - given Clear Linux release by looking in - https://download.clearlinux.org/releases/XXXX/clear/ where XXXX is a Clear - Linux release number. Just download the image alongside the - ``create_pxe.sh`` script and name it ``provision.img``. +#. Install ``ICIS`` by following the getting started guide on GitHub. -#. Stage config files for ``ister`` that will govern Ister's behavior. This +#. Stage config files for ``Ister`` that will govern Ister's behavior. This includes modifying the script for ipxe boot, getting it to pass an additional parameter to the kernel. @@ -151,6 +113,40 @@ single machine, but can be hosted anywhere visible to PXE clients. #. Boot an iPXE client and watch Clear Linux install. -.. _icis: https://github.com/clearlinux/ister-cloud-init-svc -.. _cloud-init: https://cloudinit.readthedocs.io + +Data centers have a need to install and configure new instances of operating +systems in bulk. When managing new computers or hardware upgrades in bulk, data +center administrators need tooling for making changes with minimal effort. + +The bulk provisioning scenario is a continuation of the :ref:`network_boot` +scenario. After a network boot occurs, ``ister`` provides automation for this +task using `cloud-init`_ files by performing the following steps: + +#. Finding cloud-init files +#. Creating a `micro-config-drive`_ (ucf) to store the cloud-init files +#. Creating a systemd service which runs at first reboot to apply the + configurations defined by the cloud-init files +#. Reboots the machine to run the systemd service + +At this point, the machine has been rebooted twice, once to perform a network +boot and once again to apply cloud-init configurations. Afte the second reboot, +the machine can enter into a mode ready to be managed with Ansible. + +The ister cloud init service (`icis`_) is used by ister to host the cloud-init +configurations. Ister can be directed to look for cloud-init configurations +hosted by icis. + +One nice attribute of this system is that once the iPXE bits are created, many +installer behaviors can be configured without having to regenerate the iPXE +bits. + +.. _Ister: + https://github.com/bryteise/ister + +.. _Ister Cloud Init Service: + https://github.com/clearlinux/ister-cloud-init-svc + +.. _cloud-init: + https://cloud-init.io/ + .. _micro-config-drive: https://github.com/clearlinux/micro-config-drive From 2d3d79d70ea79e4b614fe6d4e1f9ecebf3972976 Mon Sep 17 00:00:00 2001 From: George T Kramer Date: Thu, 16 Mar 2017 11:31:40 -0700 Subject: [PATCH 05/12] Outline the steps to get started with ICIS in detail --- source/bulk_provisioning.rst | 245 ++++++++++++++++++----------------- 1 file changed, 124 insertions(+), 121 deletions(-) diff --git a/source/bulk_provisioning.rst b/source/bulk_provisioning.rst index 4a15cbaa..ea0d58b9 100644 --- a/source/bulk_provisioning.rst +++ b/source/bulk_provisioning.rst @@ -3,13 +3,13 @@ Bulk Provisioning ################# -Clear Linux* Project for IntelĀ® Architecture can be automatically provisioned in -bulk using a combination of `Ister`_ and the `Ister Cloud Init Service`_ (ICIS). +|CLOSIA| can be automatically provisioned in bulk using a combination of +Ister and :abbr:`ICIS (Ister Cloud Init Service)`. -Configurations for a bulk provision are made by defining `cloud-init`_ files and -Ister configuration files and hosting them with ``ICIS`` so that ``Ister`` can -use them during the install process. Ister configuration files provide a way to -customize the install and cloud-init files provide a way to customize the +Configurations for a bulk provision are made by defining Ister configuration +files and cloud-init files. By hosting them with ``ICIS``, ``Ister`` can +use them during the install process. Ister configuration files provide a way +to customize the install and cloud-init files provide a way to customize the instance of the install. The following diagram depics the flow of information between a PXE server and a @@ -20,133 +20,136 @@ PXE client that needs to be set up to perform a bulk provision. Figure 1: Bulk provision information flow -This guide covers how to perform a bulk provision with ``Ister`` and ``ICIS``. +This guide covers how to perform a bulk provision of |CL| with ``Ister`` and +``ICIS``. Prerequisites ============= -Before performing a bulk provision, verify that you have a PXE server capable of -performing network boots of the latest release. Reference :ref:`network_boot` -for a guide on how to perform an iPXE boot using network address translation -(NAT). +Before performing a bulk provision, verify that you have a PXE server capable +of performing network boots of |CL|. Reference +:ref:`network_boot` for a guide on how to perform an iPXE boot using +:abbr:`NAT (network address translation)`. + +Because a bulk provision relies on a reboot, some additional requirements must +be met: + +* Any existing disks must not be bootable +* The boot order for the computer performing an install must have the network + boot option come immediately after the disk boot option Configuration ============= -#. Install ``ICIS`` by following the getting started guide on GitHub. +#. Install ``ICIS`` by following the getting started guide on the `ICIS GitHub + repository`_. + +#. Create an Ister install file and save it to the ``static/ister`` + directory within the web hosting directory for ``ICIS``. This + install file is a block of JSON and describes to ``Ister`` how to + perform an installation. It outlines what partitions, file systems, and + mount points ``Ister`` should set up. It also outlines what bundles to + install. Reference :ref:`bundles_overview` for a list of installable + bundles. An Ister install file may look like the example below: + + .. code-block:: json + + { + "DestinationType":"physical", + "PartitionLayout":[ + {"disk":"sda", "partition":1, "size":"512M", "type":"EFI"}, + {"disk":"sda", "partition":2, "size":"512M", "type":"swap"}, + {"disk":"sda", "partition":3, "size":"rest", "type":"linux"} + ], + "FilesystemTypes":[ + {"disk":"sda", "partition":1, "type":"vfat"}, + {"disk":"sda", "partition":2, "type":"swap"}, + {"disk":"sda", "partition":3, "type":"ext4"} + ], + "PartitionMountPoints":[ + {"disk":"sda", "partition":1, "mount":"/boot"}, + {"disk":"sda", "partition":3, "mount":"/"} + ], + "Version":"latest", + "Bundles":[ + "kernel-native", + "os-core", + "os-core-update", + "os-cloudguest" + ], + "IsterCloudInitSvc":"http://192.168.1.1:60000/icis/" + } + + .. important:: + + Every Ister install file hosted by ``ICIS`` must contain the the + ``IsterCloudInitSvc`` parameter as well as the ``os-cloudguest`` bundle. + These allow ``Ister`` to customize an instance of of an install. + +#. Create an Ister configuration file that defines the location of the Ister + install file. Save it to the ``static/ister`` directory within the web + hosting directory for ``ICIS``. An Ister configuration file may look like + the example below: + + .. code-block:: + + template=http://192.168.1.1:60000/icis/static/ister/ister.json + +#. Direct ``Ister`` to the location of the Ister configuration file as hosted + by ``ICIS`` by modifying the kernel command line of the iPXE boot script + and adding an ``isterconf`` parameter. After the network image of |CL| + boots, ``Ister`` inspects the parameters used for network booting to find + the location of the Ister configuration file. With the ``isterconf`` + parameter an iPXE boot script may look like the example below: + + .. code-block:: + + #!ipxe + kernel linux quiet init=/usr/lib/systemd/systemd-bootchart initcall_debug tsc=reliable no_timer_check noreplace-smp rw initrd=initrd isterconf=http://192.168.1.1:60000/icis/static/ister/ister.conf + initrd initrd + boot + +#. Create a cloud-init file that will customize the instance of the install. + The `cloud-init Read the Docs`_ provides a guide on what may be configured + after an install. Save it to the ``static/roles`` directory within the web + hosting directory for ``ICIS``. Give the cloud-init file a name that + resembles a role. For example, a role may be "compute" or "web" or "ciao". + +#. After creating roles (cloud-init files), define which roles to apply to + which PXE clients by mapping them to the corrpsoinding MAC addresses of the + PXE clients. Define the mapping by modifying the :file:`config.txt` file + in the ``static`` directory within the web hosting directory for ``ICIS``. + A mapping may look like the example below: + + .. code-block:: + + # MAC address,role + 00:01:02:03:04:05,ciao + + If the MAC address of a PXE client is not found within the + :file:`config.txt` file, a default role mapping may be defined for un- + mapped MAC addresses as follows: + + .. code-block:: + + # MAC address,role + default,ciao + +#. Verify that the following URLs are accessible: -#. Stage config files for ``Ister`` that will govern Ister's behavior. This - includes modifying the script for ipxe boot, getting it to pass an - additional parameter to the kernel. - - The magic that ties all of this together is that the pxe script conveys to - ister the location of its configuration files via the kernel command line - of the installer it kicks off. The kernel preserves its command line - precisely, and ister inspects it via ``/proc/cmdline``. - - Here is an example pxe script: - - .. code-block:: console - - #!ipxe - kernel linux quiet rdinit=/usr/lib/systemd/systemd-bootchart initcall_debug tsc=reliable - no_timer_check noreplace-smp rw initrd=initrd isterconf=http://192.168.1.1/icis/static/ister/ister.conf - initrd initrd - boot - - When the pxe installer kicks off ``ister``, it will make note of the - location of the ``conf`` file that was given on the kernel command line, and - fetch the file. This file then tells ``ister`` where to get the json - template file that describes partition schemes, and which version of Clear - Linux to install. This means that so long as the contents of a release are - compatible with the version of software update (``swupd``) in the installer, - this pxe installer can be told to install a newer version of Clear Linux - simply by tweaking the json on the web server, rather than rolling an - entirely new installer. - - One other important piece of configuration data in the json configuration - file is the location of an ICIS configuration service. Ister will query - ICIS for a role using the MAC address of the network interface being used - to communicate with the ICIS service. Ister will then fetch that specific - :file:`cloud-init` file and ``configure ucd`` to run on first-boot against - that config file. - - The `Ister Cloud Init Service `_ github repo - has example ister configuration files under ``static/ister``. - - Here is an example ister-template.json file. - - .. code-block:: console - - { - "DestinationType" : "phyiscal", - "PartitionLayout" : [ { "disk" : "/dev/sda", "partition" : 1, - "size" : "64M", "type" : "EFI" }, - { "disk" : "/dev/sda", "partition" : 2, - "size" : "2G", "type" : "linux" } ], - "FilesystemTypes" : [ { "disk" : "/dev/sda", "partition" : 1, "type" : "vfat" }, - { "disk" : "/dev/sda", "partition" : 2, "type" : "ext4" } ], - "PartitionMountPoints" : [ { "disk" : "/dev/sda", "partition" : 1, - "mount" : "/boot" }, - { "disk" : "/dev/sda", "partition" : 2, - "mount" : "/" } ], - "Version": 6580, - "Bundles": ["kernel-native", "os-core-update", "os-core", - "bootloader", "sysadmin-hostmgmt", "openssh-server"], - "PostNonChroot": ["./installation-image-post-update-version.py"], - "IsterCloudInitSvc": ["http://192.168.1.1/icis/"] - } - -#. Configure ICIS to map MAC addresses to role files appropriately. Then create the role files, which - are ``cloud-init`` configuration files. Note, it is possible to simply specify a "default" role for - any unmatched MAC address; this may be handy when all install targets are to be configured identically. - -#. Final pre-flight check. Assuming your iPXE server is at 192.168.1.1, all of the - following urls need to be working: - * http://192.168.1.1/icis/static/ister/ister.conf - * http://192.168.1.1/icis/static/ister/ister_config.json - * http://192.168.1.1/icis/get_config/ - * http://192.168.1.1/icis/get_role/ - * http://192.168.1.1/ipxe_boot_script.txt + * http://192.168.1.1/icis/static/ister/ister.json + * http://192.168.1.1/icis/get_config/ + * http://192.168.1.1/icis/get_role/ + * http://192.168.1.1/ipxe/ipxe_boot_script.txt -#. Boot an iPXE client and watch Clear Linux install. +#. Power on the PXE client and watch it boot and install |CL|. + +Congratulations! You have successfully performed a bulk provision of |CL|. - -Data centers have a need to install and configure new instances of operating -systems in bulk. When managing new computers or hardware upgrades in bulk, data -center administrators need tooling for making changes with minimal effort. - -The bulk provisioning scenario is a continuation of the :ref:`network_boot` -scenario. After a network boot occurs, ``ister`` provides automation for this -task using `cloud-init`_ files by performing the following steps: - -#. Finding cloud-init files -#. Creating a `micro-config-drive`_ (ucf) to store the cloud-init files -#. Creating a systemd service which runs at first reboot to apply the - configurations defined by the cloud-init files -#. Reboots the machine to run the systemd service - -At this point, the machine has been rebooted twice, once to perform a network -boot and once again to apply cloud-init configurations. Afte the second reboot, -the machine can enter into a mode ready to be managed with Ansible. - -The ister cloud init service (`icis`_) is used by ister to host the cloud-init -configurations. Ister can be directed to look for cloud-init configurations -hosted by icis. - -One nice attribute of this system is that once the iPXE bits are created, many -installer behaviors can be configured without having to regenerate the iPXE -bits. - -.. _Ister: - https://github.com/bryteise/ister - -.. _Ister Cloud Init Service: +.. _ICIS GitHub repository: https://github.com/clearlinux/ister-cloud-init-svc -.. _cloud-init: - https://cloud-init.io/ - -.. _micro-config-drive: https://github.com/clearlinux/micro-config-drive +.. _cloud-init Read the Docs: + https://cloudinit.readthedocs.io From 2407b2e173c06b84dc16010383d78fa1d955585b Mon Sep 17 00:00:00 2001 From: George T Kramer Date: Thu, 16 Mar 2017 11:39:59 -0700 Subject: [PATCH 06/12] Adding forgotten critical step --- source/bulk_provisioning.rst | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/source/bulk_provisioning.rst b/source/bulk_provisioning.rst index ea0d58b9..e11fd5ed 100644 --- a/source/bulk_provisioning.rst +++ b/source/bulk_provisioning.rst @@ -144,7 +144,9 @@ Configuration * http://192.168.1.1/ipxe/ipxe_boot_script.txt #. Power on the PXE client and watch it boot and install |CL|. - + +#. Power-cycle the PXE client and watch it customize the install of |CL|. + Congratulations! You have successfully performed a bulk provision of |CL|. From 05946bd7853aa713e58b1c1f71f724fe998324a9 Mon Sep 17 00:00:00 2001 From: George T Kramer Date: Wed, 22 Mar 2017 13:58:05 -0700 Subject: [PATCH 07/12] Adding port numbers to URLs that need verification --- source/bulk_provisioning.rst | 46 ++++++++++++++++++------------------ 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/source/bulk_provisioning.rst b/source/bulk_provisioning.rst index e11fd5ed..3430866b 100644 --- a/source/bulk_provisioning.rst +++ b/source/bulk_provisioning.rst @@ -12,8 +12,8 @@ use them during the install process. Ister configuration files provide a way to customize the install and cloud-init files provide a way to customize the instance of the install. -The following diagram depics the flow of information between a PXE server and a -PXE client that needs to be set up to perform a bulk provision. +Figure 1 depics the flow of information between a PXE server and a PXE client +that needs to be set up to perform a bulk provision. .. figure:: _static/images/bulk-provision-flow.png :alt: Bulk provision information flow @@ -31,8 +31,8 @@ of performing network boots of |CL|. Reference :ref:`network_boot` for a guide on how to perform an iPXE boot using :abbr:`NAT (network address translation)`. -Because a bulk provision relies on a reboot, some additional requirements must -be met: +Because a bulk provision relies on a reboot, ensure the following preparations +have been made: * Any existing disks must not be bootable * The boot order for the computer performing an install must have the network @@ -44,13 +44,13 @@ Configuration #. Install ``ICIS`` by following the getting started guide on the `ICIS GitHub repository`_. -#. Create an Ister install file and save it to the ``static/ister`` - directory within the web hosting directory for ``ICIS``. This - install file is a block of JSON and describes to ``Ister`` how to - perform an installation. It outlines what partitions, file systems, and - mount points ``Ister`` should set up. It also outlines what bundles to - install. Reference :ref:`bundles_overview` for a list of installable - bundles. An Ister install file may look like the example below: +#. Create an Ister install file and save it to the ``static/ister`` directory + within the web hosting directory for ``ICIS``. This install file is a block + of JSON and describes how ``Ister`` needs to perform an installation. It + outlines what partitions, file systems, and mount points ``Ister`` should + set up. It also outlines what bundles to install. Reference + :ref:`bundles_overview` for a list of installable bundles. An Ister install + file may look like the example below: .. code-block:: json @@ -95,12 +95,12 @@ Configuration template=http://192.168.1.1:60000/icis/static/ister/ister.json -#. Direct ``Ister`` to the location of the Ister configuration file as hosted - by ``ICIS`` by modifying the kernel command line of the iPXE boot script - and adding an ``isterconf`` parameter. After the network image of |CL| - boots, ``Ister`` inspects the parameters used for network booting to find - the location of the Ister configuration file. With the ``isterconf`` - parameter an iPXE boot script may look like the example below: +#. Direct ``Ister`` to the location of the Ister configuration file hosted by + ``ICIS`` by modifying the kernel command line of the iPXE boot script and + adding an ``isterconf`` parameter. After the network image of |CL| boots, + ``Ister`` inspects the parameters used for network booting to find the + location of the Ister configuration file. With the ``isterconf`` parameter + an iPXE boot script may look like the example below: .. code-block:: @@ -113,7 +113,7 @@ Configuration The `cloud-init Read the Docs`_ provides a guide on what may be configured after an install. Save it to the ``static/roles`` directory within the web hosting directory for ``ICIS``. Give the cloud-init file a name that - resembles a role. For example, a role may be "compute" or "web" or "ciao". + resembles a role. For example, a role may be "database" or "web" or "ciao". #. After creating roles (cloud-init files), define which roles to apply to which PXE clients by mapping them to the corrpsoinding MAC addresses of the @@ -137,11 +137,11 @@ Configuration #. Verify that the following URLs are accessible: - * http://192.168.1.1/icis/static/ister/ister.conf - * http://192.168.1.1/icis/static/ister/ister.json - * http://192.168.1.1/icis/get_config/ - * http://192.168.1.1/icis/get_role/ - * http://192.168.1.1/ipxe/ipxe_boot_script.txt + * http://192.168.1.1:60000/icis/static/ister/ister.conf + * http://192.168.1.1:60000/icis/static/ister/ister.json + * http://192.168.1.1:60000/icis/get_config/ + * http://192.168.1.1:60000/icis/get_role/ + * http://192.168.1.1:60000/ipxe/ipxe_boot_script.txt #. Power on the PXE client and watch it boot and install |CL|. From 688035926dbe10a1b9d5348f27d338c308ff008b Mon Sep 17 00:00:00 2001 From: George T Kramer Date: Thu, 23 Mar 2017 12:58:16 -0700 Subject: [PATCH 08/12] Removing trailing whitespace --- source/bulk_provisioning.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/bulk_provisioning.rst b/source/bulk_provisioning.rst index 3430866b..88e6d4b6 100644 --- a/source/bulk_provisioning.rst +++ b/source/bulk_provisioning.rst @@ -136,7 +136,7 @@ Configuration default,ciao #. Verify that the following URLs are accessible: - + * http://192.168.1.1:60000/icis/static/ister/ister.conf * http://192.168.1.1:60000/icis/static/ister/ister.json * http://192.168.1.1:60000/icis/get_config/ From 22668669dda40b816b4e884452d62b6aa6dab661 Mon Sep 17 00:00:00 2001 From: George T Kramer Date: Fri, 31 Mar 2017 10:28:48 -0700 Subject: [PATCH 09/12] Clarifying steps for creating cloud-init files --- source/bulk_provisioning.rst | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/source/bulk_provisioning.rst b/source/bulk_provisioning.rst index 88e6d4b6..a6ffd844 100644 --- a/source/bulk_provisioning.rst +++ b/source/bulk_provisioning.rst @@ -109,26 +109,28 @@ Configuration initrd initrd boot -#. Create a cloud-init file that will customize the instance of the install. - The `cloud-init Read the Docs`_ provides a guide on what may be configured - after an install. Save it to the ``static/roles`` directory within the web - hosting directory for ``ICIS``. Give the cloud-init file a name that - resembles a role. For example, a role may be "database" or "web" or "ciao". +#. Write a cloud-init document that will customize the instance of the install + according to your requirements. The `cloud-init Read the Docs`_ provides a + guide on how to write a cloud-init document. The guide covers what cloud-init + is capable of customizing after an install. -#. After creating roles (cloud-init files), define which roles to apply to - which PXE clients by mapping them to the corrpsoinding MAC addresses of the - PXE clients. Define the mapping by modifying the :file:`config.txt` file - in the ``static`` directory within the web hosting directory for ``ICIS``. - A mapping may look like the example below: +#. Save the cloud-init document to the ``static/roles`` directory within the + web hosting directory for ``ICIS`` with the name of a role you would like + to create. For example, a role may be "database" or "web" or "ciao". + +#. After creating roles, also known as cloud-init files, assign roles to MAC + addresses of PXE clients by modifying the :file:`config.txt` file in the + ``static`` directory within the web hosting directory for ``ICIS``. An + assignment may look like the example below: .. code-block:: # MAC address,role 00:01:02:03:04:05,ciao - If the MAC address of a PXE client is not found within the - :file:`config.txt` file, a default role mapping may be defined for un- - mapped MAC addresses as follows: + If MAC addresses of PXE clients are not listed within the + :file:`config.txt` file, a default role for those MAC address may be defined + as follows: .. code-block:: From 3fb86f772ce685b3cd053bf9c89f22c65a29b1f5 Mon Sep 17 00:00:00 2001 From: George T Kramer Date: Fri, 31 Mar 2017 10:37:23 -0700 Subject: [PATCH 10/12] Clarifying kernel parameter addition to iPXE boot script --- source/bulk_provisioning.rst | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/source/bulk_provisioning.rst b/source/bulk_provisioning.rst index a6ffd844..ae6ddbb2 100644 --- a/source/bulk_provisioning.rst +++ b/source/bulk_provisioning.rst @@ -95,12 +95,11 @@ Configuration template=http://192.168.1.1:60000/icis/static/ister/ister.json -#. Direct ``Ister`` to the location of the Ister configuration file hosted by - ``ICIS`` by modifying the kernel command line of the iPXE boot script and - adding an ``isterconf`` parameter. After the network image of |CL| boots, - ``Ister`` inspects the parameters used for network booting to find the - location of the Ister configuration file. With the ``isterconf`` parameter - an iPXE boot script may look like the example below: +#. Add a kernel parameter to the command line for booting the network image by + modifying the iPXE boot script. The kernel parameter name to add is + isterconf and the karnel parameter value to assign is the location of the + Ister configuration file hosted by ``ICIS``. With the ``isterconf`` + parameter, an iPXE boot script may look like the example below: .. code-block:: @@ -109,6 +108,12 @@ Configuration initrd initrd boot + .. note:: + + After the network image of |CL| boots, ``Ister`` inspects the parameters + used during boot in :file:`/proc/cmdline` to find the location of the + Ister configuration file. + #. Write a cloud-init document that will customize the instance of the install according to your requirements. The `cloud-init Read the Docs`_ provides a guide on how to write a cloud-init document. The guide covers what cloud-init From 95cdb03ff28848b2ae697e55e264e4292a2c88a5 Mon Sep 17 00:00:00 2001 From: Rodrigo Caballero Date: Fri, 7 Apr 2017 11:06:35 -0500 Subject: [PATCH 11/12] Edit language and markup for clarity and consistency. Signed-off-by: Rodrigo Caballero --- source/bulk_provisioning.rst | 129 ++++++++++++++++++----------------- 1 file changed, 65 insertions(+), 64 deletions(-) diff --git a/source/bulk_provisioning.rst b/source/bulk_provisioning.rst index ae6ddbb2..611257d2 100644 --- a/source/bulk_provisioning.rst +++ b/source/bulk_provisioning.rst @@ -3,54 +3,54 @@ Bulk Provisioning ################# -|CLOSIA| can be automatically provisioned in bulk using a combination of -Ister and :abbr:`ICIS (Ister Cloud Init Service)`. +The |CLOSIA| can be automatically provisioned in bulk using a combination of +the |CL| installer, **Ister**, and the +:abbr:`ICIS (Ister Cloud Init Service)`. This guide covers how to perform a +bulk provision of |CL| using **Ister** and **ICIS**. -Configurations for a bulk provision are made by defining Ister configuration -files and cloud-init files. By hosting them with ``ICIS``, ``Ister`` can -use them during the install process. Ister configuration files provide a way -to customize the install and cloud-init files provide a way to customize the -instance of the install. +To configure a bulk provision, **Ister** configuration files and cloud-init +files must be defined. Hosting the configuration files in **ICIS**, allows +**Ister** to use them during the installation. The **Ister** configuration +files allow us to customize the installation. The cloud-init\* files allow us +to customize the instance of the installation. -Figure 1 depics the flow of information between a PXE server and a PXE client -that needs to be set up to perform a bulk provision. +Figure 1 depicts the flow of information between a PXE server and a PXE +client that needs to be set up to perform a bulk provision. .. figure:: _static/images/bulk-provision-flow.png :alt: Bulk provision information flow Figure 1: Bulk provision information flow -This guide covers how to perform a bulk provision of |CL| with ``Ister`` and -``ICIS``. - Prerequisites ============= -Before performing a bulk provision, verify that you have a PXE server capable -of performing network boots of |CL|. Reference -:ref:`network_boot` for a guide on how to perform an iPXE boot using -:abbr:`NAT (network address translation)`. +Before performing a bulk provision, verify you have a PXE server capable +of performing network boots of |CL|. Please refer to our +:ref:`guide on how to perform an iPXE boot` using +:abbr:`NAT (network address translation)` for details. -Because a bulk provision relies on a reboot, ensure the following preparations -have been made: +Because a bulk provision relies on a reboot, ensure the following +preparations have been made: -* Any existing disks must not be bootable -* The boot order for the computer performing an install must have the network - boot option come immediately after the disk boot option +* No existing disks are bootable. +* The network boot option must come immediately after the disk boot option + on any computer performing the installation. Configuration ============= -#. Install ``ICIS`` by following the getting started guide on the `ICIS GitHub - repository`_. +#. Install **ICIS** by following the getting started guide on the + `ICIS GitHub repository`_. -#. Create an Ister install file and save it to the ``static/ister`` directory - within the web hosting directory for ``ICIS``. This install file is a block - of JSON and describes how ``Ister`` needs to perform an installation. It - outlines what partitions, file systems, and mount points ``Ister`` should - set up. It also outlines what bundles to install. Reference - :ref:`bundles_overview` for a list of installable bundles. An Ister install - file may look like the example below: +#. Create an **Ister** installation file and save it to the + :file:`static/ister` directory within the web hosting directory for + **ICIS**. The installation file is a JSON block and provides **Ister** + with the steps it needs to perform an installation. The file outlines + what partitions, file systems, and mount points **Ister** should set + up. Lastly, the file outlines which bundles to install. See our + :ref:`bundles_overview` for the list of available bundles. The + following example shows the contents of an **Ister** installation file: .. code-block:: json @@ -82,26 +82,27 @@ Configuration .. important:: - Every Ister install file hosted by ``ICIS`` must contain the the - ``IsterCloudInitSvc`` parameter as well as the ``os-cloudguest`` bundle. - These allow ``Ister`` to customize an instance of of an install. + Every **Ister** installation file hosted on **ICIS** must contain the + the ``IsterCloudInitSvc`` parameter as well as the ``os-cloudguest`` + bundle. These entries allow **Ister** to customize an instance of of an + install. -#. Create an Ister configuration file that defines the location of the Ister - install file. Save it to the ``static/ister`` directory within the web - hosting directory for ``ICIS``. An Ister configuration file may look like - the example below: +#. Create an **Ister** configuration file defining the location of the + **Ister** installation file. Save it to the :file:`static/ister` directory + within the web hosting directory of **ICIS**. The following example shows + an **Ister** configuration file: - .. code-block:: + .. code-block:: json template=http://192.168.1.1:60000/icis/static/ister/ister.json -#. Add a kernel parameter to the command line for booting the network image by - modifying the iPXE boot script. The kernel parameter name to add is - isterconf and the karnel parameter value to assign is the location of the - Ister configuration file hosted by ``ICIS``. With the ``isterconf`` - parameter, an iPXE boot script may look like the example below: +#. Modify the iPXE boot script to add a kernel parameter to the command line + to boot the network image. Add the kernel parameter ``isterconf`` with the + location of the **Ister**configuration file hosted on **ICIS** as the + kernel parameter value. The following example shows an iPXE boot script + with the ``isterconf`` parameter: - .. code-block:: + .. code-block:: json #!ipxe kernel linux quiet init=/usr/lib/systemd/systemd-bootchart initcall_debug tsc=reliable no_timer_check noreplace-smp rw initrd=initrd isterconf=http://192.168.1.1:60000/icis/static/ister/ister.conf @@ -110,39 +111,39 @@ Configuration .. note:: - After the network image of |CL| boots, ``Ister`` inspects the parameters - used during boot in :file:`/proc/cmdline` to find the location of the - Ister configuration file. + After the network image of |CL| boots, **Ister** inspects the + parameters used during boot in :file:`/proc/cmdline` to find the + location of the **Ister** configuration file. -#. Write a cloud-init document that will customize the instance of the install - according to your requirements. The `cloud-init Read the Docs`_ provides a - guide on how to write a cloud-init document. The guide covers what cloud-init - is capable of customizing after an install. +#. Write a cloud-init document to customize the instance of the installation + according to your requirements. The `cloud-init Read the Docs`_ provides a + guide on how to write a cloud-init document. The guide covers the + customization options provided by cloud-init after an installation. -#. Save the cloud-init document to the ``static/roles`` directory within the - web hosting directory for ``ICIS`` with the name of a role you would like - to create. For example, a role may be "database" or "web" or "ciao". +#. Save the cloud-init document to the :file:`static/roles` directory within + the web hosting directory for **ICIS** with the name of a role you would + like to create. For example, a role may be "database", "web", or "ciao". -#. After creating roles, also known as cloud-init files, assign roles to MAC - addresses of PXE clients by modifying the :file:`config.txt` file in the - ``static`` directory within the web hosting directory for ``ICIS``. An - assignment may look like the example below: +#. After creating the roles, also known as cloud-init files, assign roles to + MAC addresses of PXE clients. To do so, modify the :file:`config.txt` file + in the ``static`` directory within the web hosting directory of **ICIS**. + The following example shows one such assignment: - .. code-block:: + .. code-block:: json # MAC address,role 00:01:02:03:04:05,ciao If MAC addresses of PXE clients are not listed within the - :file:`config.txt` file, a default role for those MAC address may be defined - as follows: + :file:`config.txt` file, a default role for those MAC address may be + defined as follows: - .. code-block:: + .. code-block:: json # MAC address,role default,ciao -#. Verify that the following URLs are accessible: +#. Verify the following URLs are accessible: * http://192.168.1.1:60000/icis/static/ister/ister.conf * http://192.168.1.1:60000/icis/static/ister/ister.json @@ -152,7 +153,7 @@ Configuration #. Power on the PXE client and watch it boot and install |CL|. -#. Power-cycle the PXE client and watch it customize the install of |CL|. +#. Power-cycle the PXE client and watch it customize the |CL| installation. Congratulations! You have successfully performed a bulk provision of |CL|. From 3898d9fd9df45ad51bb0aa9f4b9e1cb14f7d9f5b Mon Sep 17 00:00:00 2001 From: George T Kramer Date: Fri, 7 Apr 2017 16:57:43 -0700 Subject: [PATCH 12/12] Minor cleanup Fixed some punctuation. Only bolding ICIS or ISTER when referring to the standalone programs as proper nouns. When used as adjectives to describe the kind of file being worked with, they are not bolded. --- source/bulk_provisioning.rst | 38 ++++++++++++++++++------------------ 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/source/bulk_provisioning.rst b/source/bulk_provisioning.rst index 611257d2..cfc76b3f 100644 --- a/source/bulk_provisioning.rst +++ b/source/bulk_provisioning.rst @@ -4,15 +4,15 @@ Bulk Provisioning ################# The |CLOSIA| can be automatically provisioned in bulk using a combination of -the |CL| installer, **Ister**, and the -:abbr:`ICIS (Ister Cloud Init Service)`. This guide covers how to perform a -bulk provision of |CL| using **Ister** and **ICIS**. +the |CL| installer, **Ister**, and :abbr:`ICIS (Ister Cloud Init Service)`. +This guide covers how to perform a bulk provision of |CL| using **Ister** +and **ICIS**. -To configure a bulk provision, **Ister** configuration files and cloud-init -files must be defined. Hosting the configuration files in **ICIS**, allows -**Ister** to use them during the installation. The **Ister** configuration -files allow us to customize the installation. The cloud-init\* files allow us -to customize the instance of the installation. +To configure a bulk provision, Ister configuration files and cloud-init +files must be defined. Hosting the configuration files in **ICIS** allows +**Ister** to use them during the installation. The Ister configuration +files allow us to customize the installation process. The cloud-init\* +files allow us to customize the instance of the installation. Figure 1 depicts the flow of information between a PXE server and a PXE client that needs to be set up to perform a bulk provision. @@ -43,14 +43,14 @@ Configuration #. Install **ICIS** by following the getting started guide on the `ICIS GitHub repository`_. -#. Create an **Ister** installation file and save it to the +#. Create an Ister installation file and save it to the :file:`static/ister` directory within the web hosting directory for **ICIS**. The installation file is a JSON block and provides **Ister** with the steps it needs to perform an installation. The file outlines what partitions, file systems, and mount points **Ister** should set up. Lastly, the file outlines which bundles to install. See our :ref:`bundles_overview` for the list of available bundles. The - following example shows the contents of an **Ister** installation file: + following example shows the contents of an Ister installation file: .. code-block:: json @@ -82,23 +82,23 @@ Configuration .. important:: - Every **Ister** installation file hosted on **ICIS** must contain the + Every Ister installation file hosted on **ICIS** must contain the the ``IsterCloudInitSvc`` parameter as well as the ``os-cloudguest`` bundle. These entries allow **Ister** to customize an instance of of an install. -#. Create an **Ister** configuration file defining the location of the - **Ister** installation file. Save it to the :file:`static/ister` directory +#. Create an Ister configuration file to define the location of the + Ister installation file. Save it to the :file:`static/ister` directory within the web hosting directory of **ICIS**. The following example shows - an **Ister** configuration file: + an Ister configuration file: .. code-block:: json template=http://192.168.1.1:60000/icis/static/ister/ister.json -#. Modify the iPXE boot script to add a kernel parameter to the command line - to boot the network image. Add the kernel parameter ``isterconf`` with the - location of the **Ister**configuration file hosted on **ICIS** as the +#. Modify the iPXE boot script by adding a kernel parameter to the command line + for booting the network image. Add the kernel parameter ``isterconf`` with + the location of the Ister configuration file hosted on **ICIS** as the kernel parameter value. The following example shows an iPXE boot script with the ``isterconf`` parameter: @@ -113,7 +113,7 @@ Configuration After the network image of |CL| boots, **Ister** inspects the parameters used during boot in :file:`/proc/cmdline` to find the - location of the **Ister** configuration file. + location of the Ister configuration file. #. Write a cloud-init document to customize the instance of the installation according to your requirements. The `cloud-init Read the Docs`_ provides a @@ -155,7 +155,7 @@ Configuration #. Power-cycle the PXE client and watch it customize the |CL| installation. -Congratulations! You have successfully performed a bulk provision of |CL|. +**Congratulations!** You have successfully performed a bulk provision of |CL|. .. _ICIS GitHub repository:
  • yr0L4 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 Fe*kd|7fJvC literal 0 HcmV?d00001 diff --git a/source/_static/images/bulk-provision.vsdx b/source/_static/images/bulk-provision.vsdx new file mode 100644 index 0000000000000000000000000000000000000000..eca3e87141f41e1f090d5266db1489db3111a249 GIT binary patch literal 36884 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 sMbeFEDWV&IT5Tg6zy%!5g->Z66yNbi+ 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 diff --git a/source/_static/images/icis_pxe_diagram.png b/source/_static/images/icis_pxe_diagram.png deleted file mode 100644 index cb788eccb85e88bf961e25db3acbbde1d35ecd40..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33394 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 diff --git a/source/bulk_provisioning.rst b/source/bulk_provisioning.rst index dccdfbc0..81bf01f8 100644 --- a/source/bulk_provisioning.rst +++ b/source/bulk_provisioning.rst @@ -1,146 +1,164 @@ .. _bulk_provisioning: Bulk Provisioning -================= +***************** -Data centers tend to land and install new machines in bulk. When dealing with -large quantities of new machines or hardware upgrades, data center admins may need -a way to install and configure with a minimal amount of effort. To support this -use case, the Clear Linux team has developed some tooling and instructions for -how to bulk-load machines with Clear Linux using iPXE. +Data centers have a need to install and configure new instances of operating +systems in bulk. When managing new computers or hardware upgrades in bulk, data +center administrators need tooling for making changes with minimal effort. -This bulk provisioning scenario is a variation on the :ref:`network_boot` scenario, -with some alterations to facilitate installing and configuring many hosts. The Clear -Linux installer (``Ister``) was augmented to detect and find ``cloud-init`` configuration -data during the install. When this data is found, a :file:`cloud-init` file is fetched, -and the host, after being rebooted by ``ister``, uses micro-config drive (``ucf``) to -configure the host as directed by the :file:`cloud-init` configuration file. +The bulk provisioning scenario is a continuation of the :ref:`network_boot` +scenario. After a network boot occurs, ``ister`` provides automation for this +task using `cloud-init`_ files by performing the following steps: -In our pilot of this workflow, we used ``clear-cloud-init`` (which will become ucf - micro config drive) -to install the trust relationships for the host to be further managed by Ansible. The -:file:`cloud-init` configuration file was served by a simple little web application -that ``Ister`` knows how to query for host configuration data. This allowed us to -simultaneously power-on one hundred machines, each of which -* picked up the Clear Linux installer via PXE, -* installed Clear Linux, -* rebooted, and -* entered into a mode that can be managed through Ansible. +#. Finding cloud-init files +#. Creating a `micro-config-drive`_ (ucf) to store the cloud-init files +#. Creating a systemd service which runs at first reboot to apply the + configurations defined by the cloud-init files +#. Reboots the machine to run the systemd service -The web application that serves cloud-init configurations to ``Ister`` is uninspiringly named -"Ister Cloud Init Service" (ICIS), and is available at github - https://github.com/clearlinux/ister-cloud-init-svc +At this point, the machine has been rebooted twice, once to perform a network +boot and once again to apply cloud-init configurations. Afte the second reboot, +the machine can enter into a mode ready to be managed with Ansible. -One nice attribute of this system is that once the iPXE bits are created, many installer -behaviors can be configured without having to regenerate the iPXE bits. +The ister cloud init service (`icis`_) is used by ister to host the cloud-init +configurations. Ister can be directed to look for cloud-init configurations +hosted by icis. + +One nice attribute of this system is that once the iPXE bits are created, many +installer behaviors can be configured without having to regenerate the iPXE +bits. System Architecture -~~~~~~~~~~~~~~~~~~~ +=================== -The following diagrams illustrate the system architecture. +The following diagram illustrates the flow of information between the pxe +server and a host booting into the installer via pxe. This diagram is intended +to show the logical flow of information, and is not a literal depiction of the +protocol-level exchanges. -.. image:: _static/images/icis_pxe_diagram.png - :align: center - :alt: pxe-server-overview - -As can be seen, ICIS is a web application (specifically a Flask application, hence managed by ``uwsgi`` -under nginx) that can run **anywhere** visible to hosts booting from PXE. In our example, we simply -hosted it on the same system serving the pxe content. - -The following diagram illustrates the flow of information between the pxe server and a host booting -into the installer via pxe. This diagram is intended to show the logical flow of information, and -is not a literal depiction of the protocol-level exchanges. - -.. image:: _static/images/icis_installer_workflow.png +.. image:: _static/images/bulk-provision.png :align: center :alt: pxe-icis-install-workflow -Configuration Overview -~~~~~~~~~~~~~~~~~~~~~~ +Application server, web server, dhcp server, tftp server are hosted on a +single machine, but can be hosted anywhere visible to PXE clients. -Here is a high-level overview describing set up and configuration of a bulk-provisioning solution. +Configuration +============= -* First, stand up an iPXE server as described in the :ref:`network_boot` docs. Note that you will - be generating your own artifacts to be served by PXE in a later step. +Step 1 +------ -* Land `Ister Cloud Init Service `_ on the - pxe server. The README in the ICIS github repo has directions on how to install and configure. +First, stand up an iPXE server as described in the :ref:`network_boot` docs. +Note that you will be generating your own artifacts to be served by PXE in a +later step. -* Generate the installer that will load and boot over PXE. Copy the relevant files into the - appropriate location on the iPXE server. +Step 2 +------ - A pxe installer is generated for every release of Clear Linux OS. It can be found alongside the - published images in https://download.clearlinux.org/releases/XXXXX/clear/clear-XXXXX-pxe.tar.xz +Land `Ister Cloud Init Service `_ on the pxe server. The README in the ICIS github repo has directions on +how to install and configure. - Alternatively, use the `create_pxe.sh `_ - script to roll your own. Note this creates the pxe-installer from the "provisioning" installer in - Clear Linux. This is a touchless installer that takes all installation information from a config - file. You can get this image from a given Clear Linux release by looking - in https://download.clearlinux.org/releases/XXXX/clear/ where XXXX is a Clear Linux release number. - Just download the image alongside the ``create_pxe.sh`` script and name it ``provision.img``. +Step 3 +------ -* Stage config files for ``ister`` that will govern Ister's behavior. This includes modifying the - script for ipxe boot, getting it to pass an additional parameter to the kernel. +Generate the installer that will load and boot over PXE. Copy the relevant files into the +appropriate location on the iPXE server. - The magic that ties all of this together is that the pxe script conveys to ister the location of its configuration files via the kernel command line of the installer it kicks off. The kernel preserves its command line precisely, and ister inspects it via ``/proc/cmdline``. +A pxe installer is generated for every release of Clear Linux OS. It can be found alongside the +published images in https://download.clearlinux.org/releases/XXXXX/clear/clear-XXXXX-pxe.tar.xz - Here is an example pxe script: +Alternatively, use the `create_pxe.sh `_ +script to roll your own. Note this creates the pxe-installer from the "provisioning" installer in +Clear Linux. This is a touchless installer that takes all installation information from a config +file. You can get this image from a given Clear Linux release by looking +in https://download.clearlinux.org/releases/XXXX/clear/ where XXXX is a Clear Linux release number. +Just download the image alongside the ``create_pxe.sh`` script and name it ``provision.img``. - .. code-block:: console +Step 4 +------ - #!ipxe - kernel linux quiet rdinit=/usr/lib/systemd/systemd-bootchart initcall_debug tsc=reliable - no_timer_check noreplace-smp rw initrd=initrd isterconf=http://192.168.1.1/icis/static/ister/ister.conf - initrd initrd - boot +Stage config files for ``ister`` that will govern Ister's behavior. This includes modifying the +script for ipxe boot, getting it to pass an additional parameter to the kernel. - When the pxe installer kicks off ``ister``, it will make note of the location of the ``conf`` file - that was given on the kernel command line, and fetch the file. This file then tells ``ister`` where - to get the json template file that describes partition schemes, and which version of Clear Linux to - install. This means that so long as the contents of a release are compatible with the version of - software update (``swupd``) in the installer, this pxe installer can be told to install a newer - version of Clear Linux simply by tweaking the json on the web server, rather than rolling an - entirely new installer. +The magic that ties all of this together is that the pxe script conveys to ister the location of its configuration files via the kernel command line of the installer it kicks off. The kernel preserves its command line precisely, and ister inspects it via ``/proc/cmdline``. - One other important piece of configuration data in the json configuration file is the location of - an ICIS configuration service. Ister will query ICIS for a role using the MAC address of the network - interface being used to communicate with the ICIS service. Ister will then fetch that specific - :file:`cloud-init` file and ``configure ucd`` to run on first-boot against that config file. +Here is an example pxe script: - The `Ister Cloud Init Service `_ github repo - has example ister configuration files under ``static/ister``. +.. code-block:: console - Here is an example ister-template.json file. + #!ipxe + kernel linux quiet rdinit=/usr/lib/systemd/systemd-bootchart initcall_debug tsc=reliable + no_timer_check noreplace-smp rw initrd=initrd isterconf=http://192.168.1.1/icis/static/ister/ister.conf + initrd initrd + boot - .. code-block:: console +When the pxe installer kicks off ``ister``, it will make note of the location of the ``conf`` file +that was given on the kernel command line, and fetch the file. This file then tells ``ister`` where +to get the json template file that describes partition schemes, and which version of Clear Linux to +install. This means that so long as the contents of a release are compatible with the version of +software update (``swupd``) in the installer, this pxe installer can be told to install a newer +version of Clear Linux simply by tweaking the json on the web server, rather than rolling an +entirely new installer. - { - "DestinationType" : "phyiscal", - "PartitionLayout" : [ { "disk" : "/dev/sda", "partition" : 1, - "size" : "64M", "type" : "EFI" }, - { "disk" : "/dev/sda", "partition" : 2, - "size" : "2G", "type" : "linux" } ], - "FilesystemTypes" : [ { "disk" : "/dev/sda", "partition" : 1, "type" : "vfat" }, - { "disk" : "/dev/sda", "partition" : 2, "type" : "ext4" } ], - "PartitionMountPoints" : [ { "disk" : "/dev/sda", "partition" : 1, - "mount" : "/boot" }, - { "disk" : "/dev/sda", "partition" : 2, - "mount" : "/" } ], - "Version": 6580, - "Bundles": ["kernel-native", "os-core-update", "os-core", - "bootloader", "sysadmin-hostmgmt", "openssh-server"], - "PostNonChroot": ["./installation-image-post-update-version.py"], - "IsterCloudInitSvc": ["http://192.168.1.1/icis/"] - } +One other important piece of configuration data in the json configuration file is the location of +an ICIS configuration service. Ister will query ICIS for a role using the MAC address of the network +interface being used to communicate with the ICIS service. Ister will then fetch that specific +:file:`cloud-init` file and ``configure ucd`` to run on first-boot against that config file. -* Configure ICIS to map MAC addresses to role files appropriately. Then create the role files, which - are ``cloud-init`` configuration files. Note, it is possible to simply specify a "default" role for - any unmatched MAC address; this may be handy when all install targets are to be configured identically. +The `Ister Cloud Init Service `_ github repo +has example ister configuration files under ``static/ister``. -* Final pre-flight check. Assuming your iPXE server is at 192.168.1.1, all of the following urls need to be working. +Here is an example ister-template.json file. - - http://192.168.1.1/icis/static/ister/ister.conf - - http://192.168.1.1/icis/static/ister/ister_config.json - - http://192.168.1.1/icis/get_config/ - - http://192.168.1.1/icis/get_role/ - - http://192.168.1.1/ipxe_boot_script.txt +.. code-block:: console -* Boot an iPXE client and watch Clear Linux install. + { + "DestinationType" : "phyiscal", + "PartitionLayout" : [ { "disk" : "/dev/sda", "partition" : 1, + "size" : "64M", "type" : "EFI" }, + { "disk" : "/dev/sda", "partition" : 2, + "size" : "2G", "type" : "linux" } ], + "FilesystemTypes" : [ { "disk" : "/dev/sda", "partition" : 1, "type" : "vfat" }, + { "disk" : "/dev/sda", "partition" : 2, "type" : "ext4" } ], + "PartitionMountPoints" : [ { "disk" : "/dev/sda", "partition" : 1, + "mount" : "/boot" }, + { "disk" : "/dev/sda", "partition" : 2, + "mount" : "/" } ], + "Version": 6580, + "Bundles": ["kernel-native", "os-core-update", "os-core", + "bootloader", "sysadmin-hostmgmt", "openssh-server"], + "PostNonChroot": ["./installation-image-post-update-version.py"], + "IsterCloudInitSvc": ["http://192.168.1.1/icis/"] + } + +Step 5 +------ + +Configure ICIS to map MAC addresses to role files appropriately. Then create the role files, which +are ``cloud-init`` configuration files. Note, it is possible to simply specify a "default" role for +any unmatched MAC address; this may be handy when all install targets are to be configured identically. + +Step 6 +------ + +Final pre-flight check. Assuming your iPXE server is at 192.168.1.1, all of the +following urls need to be working: + +* http://192.168.1.1/icis/static/ister/ister.conf +* http://192.168.1.1/icis/static/ister/ister_config.json +* http://192.168.1.1/icis/get_config/ +* http://192.168.1.1/icis/get_role/ +* http://192.168.1.1/ipxe_boot_script.txt + +Step 7 +------ + +Boot an iPXE client and watch Clear Linux install. + + +.. _icis: https://github.com/clearlinux/ister-cloud-init-svc +.. _cloud-init: https://cloudinit.readthedocs.io +.. _micro-config-drive: https://github.com/clearlinux/micro-config-drive \ No newline at end of file From 77cab7fdfb789f825f5d29328187785a1bbbc18e Mon Sep 17 00:00:00 2001 From: George T Kramer Date: Fri, 10 Mar 2017 17:30:09 -0800 Subject: [PATCH 02/12] Using the same numbering scheme as other documents --- source/_static/images/bulk-provision-flow.png | Bin 0 -> 36437 bytes .../_static/images/bulk-provision-flow.vsdx | Bin 0 -> 32297 bytes source/_static/images/bulk-provision.png | Bin 62941 -> 0 bytes source/_static/images/bulk-provision.vsdx | Bin 36884 -> 0 bytes source/bulk_provisioning.rst | 191 +++++++++--------- 5 files changed, 91 insertions(+), 100 deletions(-) create mode 100644 source/_static/images/bulk-provision-flow.png create mode 100644 source/_static/images/bulk-provision-flow.vsdx delete mode 100644 source/_static/images/bulk-provision.png delete mode 100644 source/_static/images/bulk-provision.vsdx diff --git a/source/_static/images/bulk-provision-flow.png b/source/_static/images/bulk-provision-flow.png new file mode 100644 index 0000000000000000000000000000000000000000..036982f7c8cd784d37730c9ea8e080b56dd7d2b5 GIT binary patch literal 36437 zcmeFZdpOi<`#wA^m7-EfDn)xmnHEX1YeS+U`y!@Dk{BfhV@xI4l%z=ZB_cwTm~6(B zZP{i&3}ctE8wSJJjG6h}pBdD8p7s5`$9uf*@gDCVzdxSiS!aac<$;l@b4>~&s=hW!Peh}{3mVkXJYno^HOwA%+15;W{dfSbV~Cge z;b)wZ?ot%FAuKmVcRxNpa%XOF!+z|h@NTZcOzaCq$GgDkDTc5i>Mbmd=5m)u{wZ`1PCr|!LKgy%I6c9^rX z^QNej_8Oy_5OjtWA@{z(h#+B%`4a;Mnye_2_JKWy@TN<1`?yo7{@HI|WOiu_eZ9v( zX(;bd&tE6dSay2azz`v6SVQe_pY`R|cfIg0RO1e65T;A%g~1!{E$PEfHv4g-h^*sY z&vvB*3r*tId51QL!7&TeI5Ign*om#lltX9`1S$G=ItKl z1!;e^V|$pSy8&tqE3Jd|0@RLJT8p?oAiXuR4n7}FIu)~>*&j->ssI1%qZn-NA#X0H z`ENXh9Y!3Q8ln{C$#RcGdrY?HaVQ-b2TG|dpKm(~ulW9)+~sNZF?377k$6kjmtd%y zqDd&mCAn;OquBDgJxum{Zb*tolaEN-XwmHV)%0ENb5k5SE~2D6$t-R*j9b%LdJ?@1 z&t=vh#N3+D-#6E6s6}hEy=Hles6%_Bx9TD-Z}fnjYS??n+b^lQG?vlKk}bh^KR0t< zt$EiwYu73D>S&T?j{t*XM1zCn3%DPIF{!yzJ|Ug^2zgf!y%*5>sr z&f)1z@&JtEtnn$+CZIv<3Yrmh3#Ca0M59>04&B{irXt zrt=xiP9c%|Gmb75JARlH`yqJPApnDoq9DAm|6a1bX6k9oC?2sgj6sFlz{f&9eT4b~{S&K&2cj&%aO=3AZ>B~;s+PH}( zFBl^jIOZKrno0_gI`vIDhuZh*1W_FM0nJ_2o&8o)X*zuE7PgDwX{lnWc4i&%6=^O( zggrX`tC=!u0gg@lavYp{KpflE?sZHTdqjA(zIa|3UgVa@dX~3!r*$yl1wTq{^#6Z# z2U@alOp z8mw@xR3myWPQ&9kTi^mmpHnhbl74-b=sx%}1c6!aod8>P6g@>4C3;^!D8px&^x@D8&1`(P1WvPB97M zPE^vbQ&inqGi5~g5sB=xeo}d}ttfab=cB8eyRGdW)%CE>B`0W6D{;-gg4v~|rM*op zXNee<_hZ==ev&cX^yJ)Hv$&lPQ(>@)t-KB2Yex&;NZqU9!EO5aVrQR+vC{0I(ZigG z_s$1l_b4a%KNUb2oCuq;vTP@68|OdE)ZkJklI*~|3bmHNJeTo?_+m3lR`g(_y}?NJ z<)h=xqJ7o0k&#Dd1z;0P`Oi^f;+-zX%ruHy^K4l0<*jl);NJoyuRv7QAV`EZV1 z9~Ix!YZ9lHT(hGPFqpei{O|5(lF8(>5TiXry|`Z`^-|+T)3Bck{uqTF%*X^%jb)xZ zs}-f0ka~ynz20oEc~=Asmb;2Ktez(rGvtr}oXvFfo|c4p^4GuT343nRq1h^fsxtZ_ z8awlTK)9!C27GDd!k30#dP&u6BMIw6Esbn+bueegSlLL%nqkbDkErD5 z^ue=MEo7VMU&RG}lC7vh@|~^mE0~+z>pz@;^$YOEw?&0HHPX%k8>bnS>E$%UVP`xp zwo+zOYKuFfk$y&aC8g@wT(dPhku;+ygXx$d*w@bEyj3UR5SK4UdoW(Fa0x`jMzUr( z?3juqq4pNp`hxQ{wPuaK9w<#!pHW#J^oFU^z#Y^nmb~(nf1YV1L{x14?TJh4s2hl0 zLpkuq)8E3!!XCrb|Mu`ceDr-JhUnE_ z+tkw4neaT>Yxyw8lPz4Iq-5!H71KlVDSabJS;}Gv2s?B!%Q-aXCCCA13%IPD$(rSM z41AGTQQEZDlH=YBt0mg=c82SpmhDapv$3)HrnBdmi(`CSiQD_r)UCIARts5+t!7%B zYC3kL>#&Pkotq}hkjy1ZPS}+`^{;~6JGn4Ac(lZ&V{@;P?_{?>#e{ynIN8dG_NmT4 zCa8FGN0!nwGU~~x)`#_#Ei1{C>km=wlzXh%^Zshb{T9EEuXYoIOP}$R>xkaypn-4rgKx!$R+oltisF z_H$QzzA3T6f&(jE%JBAy4f*aSY!j9K?V>3;VZ-6xq4>Q-YL6sbi?Co){2B} z)THIJI4k8xm-k$5QN8bC0mq~IAI7d-O()y6QCV>!?ytg^!%DXE;GRax$jH!-Rh27j zTW#k(Glkzs^?C8&{#g89Fyke>6JS&3jY3V$^+%`(N^W#aZ)+MYv#_xErW5rPWzn%F zf9#kB%=oYQPg>P>g%3aea(5ah+;_T=aet;;9X|;(ImHX&qc%hw?)KP=DXrL4S87bS z6PzMcBMAF>p1<98G%;{q8QQTMebdXse1boh@?b++0M@^^xFBLJ`n(}cNl6I++y%{C znIvyUrb-;#&+ac+zx=|V#atAO03yZq-}OMQR`bYlJ)$ZIJ3hrf2!_@f{iFDSJ$WEL zAKN5BkR|#XR@9g&Vy1;$5XeiFITW}cGd13*!3D#&ddZaZBthoY`=nO(f ztNDER8VxrP0^Xif6j-qQyCN`=jl8G7yFe2FV|@AY<=#?llSyfP$v6*2XXQ{wu<@>x zG4bl4%9{30^cd{56o2oJ`C}fYaAs#`ySuv|+~4wM4EEEEAM>`>BCtbi`Ttxj3A-u6 z+uu{PC9j$P=Rf{GTo7ApVrFJ$K|ul7s-M?gT}^@@LZASH&BFM*=tD|<35Ub=5u2o> zw#BM?cn!W)x^Bhw?rab&YxoX`!HYia@Ru*a*9&c6Fv+d_=zl{>wU~)&PXByb592oH z$AD{0mbi4BxieNGeVyX{MsaQ|Ye47uVyx`N(va}Vtke1kRtX2BGtE{bkR)34{q$4x z*SVokMZPeYr!a5ZUq~}k>J>!OB6{E*%A+4|ct|!%3j$(rwoiN7TpgymmVZDhNvS7O z^*U5%m3DS%S$d5H1k?tD^IGKkn-@r;UG+8oR*ye+u)IA2kPyPrIds885t!N|9zyB_ zv%?U{9jk zOnYl4%0^G}tIB3cRbD^@ZDaZR`bIPp;f2x3LUZLfc#&U6KHjjC>dom*dIx_ZC>=(s z`A)z-9l2x~ztV?wWr%1%A5I@=0~;n-*@ei_|U^`R(YYeAG3{s$Bg$E)@586ZqGx;p-%Qh3gio%D#Umu zV63oXq-Bra&aIri-1U^HVl*;|Z+!G+_e|4fBxhyw?EY}+XX01RH~7@%J6VaW+ORN> zinL7pqu32st9!zes890dZker7zvF%DC|C}!>r-Q~2}Mf?HDsZZx|<0zaDEX!Dd}h08mu0eW2P z$I|+35)#6CGGlQ!&le`OJDW{Zrp7+%sp*s~6>w2)bxXgZ@wV*U=A}IpELnVycqRTR zW{mmBPdN>9`bGai|L>}89`QF+vR`|41|PHYlt@22eyB#`{8OZRf>o@}Y!}YK&2Vz^ z>v4Ww04!jW6oEb06JI_sn+P9G^9Xs5LuwE_$)zr7+@ISyt0=MS)SnGaldHv48$>bw zO7QG=Ck~BVR^IKpjeb>A*ZUj|Z_u+^8+qdR2e09x%A&W9&9A43+qOz}25Iijcb$RP z?4ER{V<%qU$M1@-8@jLFnOOqo_6ifZeSX--H&i@af=CWD5`d^U?96_H-VG{wNoE_} zH+Q7kv1Uj!l@bz%C13T_X1gpCrQaQkj#}DN9kz^ljN-Q8rQ5ammCQ#0E*I80gz4XU z=ep6Cp;_y8>szPe_uF3z(HAGu&Jt8#OcdEPx0Ob8rNxu&!KPQw0}NFO+Tm3Uw;Wpba%HM2f zduqEpx7lcwS>4AaD`}_g*R$C+a@hzuR7AizTdbOmqIL=0HfJ}LbevPJG1omH@yz>+ z@}?Mrb03(VuSL!TVsa{Fg@noYDR($iyq| zH*Um9x}~iR^7ZL@Gj6Z`MW)fzOwd}w|=CbyQa|-e7f2u41yT_>W;_WJ16IyeI@T!r_O@0f3)e4jxY-}53iNU zHQMZ&WUC7ojn$SNy>HsS%eFS=ot^qK(pee_dF$5YxnG!dRHvh$hzSb|>r4nMbaC-b zu2FvS`mYJm>ol7Pv+_VY^Fs_>@a3J2wx0t>j5oI1M^wt%mMCQXC3T~*-S~9-5q+va z0HOFPAs&>jGe6(PSB0Uye@!r%ZtmqWJD9zr6zuRWl#VLI&rW`7qK9H5{NJtTYf zBN{Si7~CSwfJ)iaANht2xiI`j<4z7bjaSDny2L<-s-1RwWg7?NZ1QV*g zD0LS1MK-*bduuYW+qS`xwVR=vIuas3sCV|Il@9bhvjYb!Ej{QawFBeToH;b$!d=QR z*s;VbH2wtnqa>HgXM8>xoBqLFay}5XQ0D5;G@q|W`=)%lnVIamS^VkTN~Q#6R}$bh~|rofQaX3lnOXL@{Nr8dIo|8l}wzX`E2jEq!jI#8!8;@h+coK|AaUGIl=0>@3Rl@weV z07DBj2GQsFTz)W{P@P`~R>@@Q3f-P`}Cj$H(k*UFf_%>%V4i}UdF*+c_fNW9}gLnH`hYRydC*W zSI7u8zz^Sq_IWp!CSYo6S{=L^F*{7o)L^^SWi*(?t!_IyO9PP;Ev1&}Z1YmW6V|_c zj3nYj4FeOimCxWuKmu=W>Qhu^n_buSM{J<){LV=Aggj<|u!2~c{# za%wxRM1|8Lg7}GG1#1H6SgbUX2 zfdkCF5)u+a%e(f$4nL1kQ7TLu=_&L6^t@75E3M*&So`}Yx%Kji;VWz2f?0yt`qZz7 zj_|Oi1L0~3Y$s=8h>gOIV%u&KB-BUt8qjQOUwr02H??06pu$UVj7(LHcqnlmL?}8A z+UXrk*o7T3%x_a86WeD_fG@>>1M)9noQ(s>=-y}6)ZS3;wH+6}77a^&wvVZH#yg#4 zaX)xN*2u;Gae4`2?nd)Z+R40csq5`Vg97N^;0qd>%}&1LF!AZGYTGn0fS!`Gwl`?ITKB)U7KcUt?VSa3Uk zB&m*ok^V8ap%4#Slf-aWrL1_TRC(xdGh^6h3{i4(*}8Qqqrn+mS%azX8k~vEiaXq6 z-!I*amK_cGuZS)AXT*lO27iuslCUk<#yVT9z8sM$cu(lIcU8f7rC_l&62MWy0vrvq z0Lt=!qTGFeXt*A|5(hrJ4o5en3Kafxq!rh!_RGe;7n?rAgOqH-_x!rR+_V_5`H(d1 ztBIq7Ab)NR{~vaF(_Q)U?Y(=WzJI ze_5RQ2)6K`1`s5`-U{eelPn+rbdsn5!0eGL-{mpCmLRn+u4Ry&mA$WO`@>2>e&j9L zqrl|n$v*-!MV@|u@SJp(H_rVF&tIem{G^^O4nhZPPMC+SDRgolk_5iq>wYr7Q0N#Q zD)Vz8+Q1WpA>qe7f^51#;}3P@^SOb4V88m0{7=RMkFP;QhWGI6w6u7YFpvxPf|wjT z$J=kEFavxV2&M9=g)k2951_apC_Mp8dk`#KIr~z}v!KqzaG#{{19yey_@9 zT(|)~$QIfl%S&T?$|AWRWV93j8ST5$lF6mue4LDRYW#hARGENlu+$m4^J7b?G_zPd z2Ce@Xn>LT%@|MoB;`b~|3!1@3LiC9Lth$QaD6p@?j7nMhIy67Dc$D#f#EJR9C%^a| zRBB92oJS%bnJ<}8(HA`7Ou8uRC~r9uNZ|`fDdbzLU1Hy?!HkH;0q;4Dz=VJ2~P!ZXh;Am5kva-|Z=k?Rm(^K^S zDr`|+i-Z5>g_8Rpk9^jb&p2Q*D+$g=Xe>!(I}`TP#F!}VR2eHJVQL@89>9l-sLcZL zW-Uc|bTsH~jULANK(co=nZ1v>$Qb5>B=VY7OHW-Hk2!)F=avnZSft?;%sQq~fD)~{ zkIK!(2B&yC{AvIk6e49ZE0gUQ;*=PgAAk@ZA%pl}cMReZ3IcG&@AKQ$zg(uVJ}x%K zqc1T!LdoPu9A;QWyiBhn4+Xzm?faBqGIq{(F*5<)0Js!CGg(9}>`l2rNbDvRg7dEo ztrFoJpt=TVcukbVggF~LKEyQrULUqVG$6Qy5bJ%NLcCDJ9bMmu!rQw_00FZU$o_bqjAA45=uFgM} zQ)e#SO){~y+CL;|uho7e7U0hKU6u-?K!yKg8K7uKdi3oH8Ptu|7@r6WFm;bS5`kMJ zR15PoiJ&*v(U<%)kIn5{}#zXz(OQ}4_mDJzXpF&{Fbux9|#x=Rl0F%q4vghr;B?d#Mhp4Kh*r5;<2BeS7$tZ+T@clit?lRoiuVQ z#`JT`uxy!Id?~t7BkStOc~?+Srezj&?GJ*AuHQ@!n3iNIGhsY-W+B5U_pSlRYzatO zvG;adTt-w2)xApL6?;{m4bhl7vX_a^6LT5Nr@=vYC(=A>9L4f;h(NWks;cTt z0L=C~zo3Q6(BD~b4?ipg*Ry7h9a&#+pxxV1!?VAG7^(2qF$;(4P^UWx4Eu=;OBix% z{WibSR!-8AURBmD{(5Q)!fQp-6I13|q_1npUdsI)o^g`55RpW0+Jln&oTZptXFt?K zhYVuck;>HPNXt1#RC?SUj|US)VxAw>GE$rCucOhdx$pJ{y{g_GH%ErTY!K!>`vI2R z0u{|sWEaE$q4V=6AVK?kz%vjEXTkLh<<>H^kci-fI#SmC(UCqCJR#`DVXsZLk2(kI zGw_U*6=v>~9Ih~0DrzmO&8Wf`e)+z_X7hQfP_>H|8K>ANfNfB&Cp%l3&=RWOw)zZ& z+dcPor$svEI;%O3PzdM&Jo2$j->1%IT9_GvH8R&0)R~_HvF!P3;2$wG1yaQKdUhrp zP(#*zO?8BXei7%C&#yj|3wf*Y?kW*yNwKJRH`lFS^CM#2*h|fNYnKg87FRo0QtQS6i=@`Zl2Rj;N(3d(dbVz0na;iPC0<8*pW+ue zd?m>oRN|iiur)aL@K`q9Ey8ShqBL`jKl}L3SPw#Wc3et~ez{IfYi;&X8GG-0jD6_H z!n}{u=a9Qn0u5eWIe9BGD-vjO!X{CqU(8i5KRwcc9C@8p_1*Q$WRtCAn0ozg_9#h_ zrx%leYyCe?Obq?&vV8z{}4`Sv(ahVliSY>?tU$S~OEo`6cd1@zVz&|B91 zVo$1xe$B9*s}17wfa5Fu*{-F?i~5H)9+nEU47^dSTt&VSCwt7~aI*dg^0b0a(c}Y9 z*@8PqH|@bxYkcZDW0c@dlHAW4FEeUGK7G49ekZm~U40oJU@p(f^&Ru32rW$p2*NX-&UJ61et8efZD=A-TOZ!Ey!D z4_CPKf_&%VJs|=T{Wl#O{&uJt{tGFehw@b(?-nYy&aZhPj)D|)z>cwZ8~@tqRBg#F z@vfzo6BH+Y0prMMr~y<`o4Z1sa~R~?)N-$2UFawRZD(MfBz9^NQ>q*>Ye468Y9OK` z;E36XT^aUEe*V^2d4Dz&$DEBiMm3e%4*z)YSA&-SgCj+>>?)RyE)`T|c}uY5!Sa zo((G~Do~w_ ziVH9fpO|&vQfDVL-T(4|nEM|U-Ze`0wS^g)J5`^vWS5=VN!q3Y##*0-Yj1CNb`>y# z)D(#9C+c>vD`hLf0KcgpUtsKEZ=H%W@~3XjG&362*oll?-DfA)nL-5#grieu5psaa zkKY9w$yZzYm!B1O3D@Iz0+U00hq6iBzRIoGOPIRO{3MY>)^L8c7l`tLv$@y;N#@bZ@ne+`o=(#d=&Dgo5w?jQiZ z*QZ%h!@?HIo4X>e2yf7QbC{R_G2`ygud~jz3vj=5jy2X{x(CplN<{1n%~;YDn6HU# z0RqYc_TfBL1$ur}b#?Xl_&5mFvD&VIsi)Ndl~OY>W?2YjRuA&MA84Py-h%CF`(9X; zla`h?`td-W4FckgYP?m*i=6oy?hhJ!0>^7EG$Jltx^(g4tGK*3tr_|13TcvZ2M_il zy)<=cfJ^aY1q*rj6Hq>B<*vv36VB6Zh-j3-W_1{>e}f%uvBYy!1r+1g0P`rXq6GY4 z_&ij;CWPb6g1Ge=1dRtd7>w#x;9%IWjs=x_DV0;n3(;0lDT-Di1YjUVLIl+frJ;c?0hVGrLwB7ko?J|c zKMU{S+74dR9jCA6TC--4?z9&4X7_0=Kf$35Y&VYDlodiL7|e`;apD z&>y_tA>6|@ju*Y2TUqxqh_h$EECT}rbRQDvMnEM!VDn_ z0!Ka@Q^VMxgjnT~EAU%&0)pAUjHK3xFOCTWZbS3*vV}Uh2T%^cl6TbHUAs^MF5jTQ z60j*LF3bwZ4(QSxMUBIKpPx?%H}l!S~6z zpolmX>m&mH2qdHmOXHXs;`D+*^aOmuLLN!>sjC25Op9DfB~bc->*UJuADdZ*iAwSv z8Boy8|8#=NJfea>Kf%0TJj+7>-puE*^U86Z0JR8lsK(uC831C*Hv4g8$f8Db)JCd? zCt+oQtZMLkHrrS!|9sZ9`-{s{@}JM@ny*;F6pLg3j39Zk*6{AdF&flR;ic9{Ac_6X zzSk&>)b??=Q%j4^P%GkP~!oF6d<;i zhZf>80H(4HJtKzWUw+S*w_4O^go=M>zx@$YpBHd*d1yY44s97@AJ`Qlkbx^K&&15= z=^~d=Lg$sS7F-4j0Cs|`!A77Wq73rF7S}JKqyR9@=N|g0LwXD2drAnI@jgg^#`xSL z@c?QE`j7Rt?%=0<3vepVhEi@qJl;^92?)!OV>TXNWB|J-C;Ave0P54?ewpv&!Kf1p zbZYEy9c^uwzbGsHt64TG)69fb)B=1R+n->90iy!|^+?r7o(>6-+Zn}_^R=Xmw6v`1 zH3(I9S0jQ(1Wj~=>eOm-Vo`7vXM$|SDtm+kwzS}-u;dNv&<6b}w{8Gt-R4WPr-of0 z2q5^(;W|j9FKx$ECTk^tgGJ0${|?BPz&VnjuKWc(<@7}ec3evnC+?A6euqbH=4YDX z{%$7}3eOdoAkDsr%g2Hg7s60Y(O)A6bd7nFt;`B*xR7OlT6O*>gf2YOvSB@s&YLZT zHe!mpKb$~Dir znumhk9O&v5=P2am*=GL5Y(FAQTf01%XZgJEkTac<~erhQ?EBBpdqH@_UZYNmEBb zNxh#?>1J>iG-rX%SUY|W{P=&`cb$NL4)XB%kK^EGP_^(QKS^x-oYr>+uNNAZ=Vr^y zqWhmQ>mBZs0=9?MHA`VX*V$Unvlj^0=8uSHYIj87!@h9R*=QVn&=J%5N559j4u^fV zi0q%*w6;Bg&U1hQm}*8f*!Z0_jh+tuKY;!Nd4B_e$r|jz^GYuH_opbNqC?*P1> zmpsN>v285SdQ^I?H8vcek<(cAP zOcknqh02sr`{?B5<2uLnwEHBTnDKThTVK-h;;dK-0X;R$(7SQjD>muF*RV`*bD%1Gp!M6+o%>Fk&Go5#)-- z=`)a-LIZQv3mBXdN6^^6bL-Xtu*uj#rIiY6M*?+Ue_9I<^c(xSH8?v)mgF07USS0o zR5n~!?iF$yt9y90h>JPv$=+IvwILo~c-EN{lV7D=t0#_J4*zvERw;68$LJY?>OEr` zDZC=z@R4eJ?lmjrqagV0@jy#cVFDlMfoGUhRE*2OiT0A|Ym*v*4p$Y*_>frq3AXY(q&Gs<=AUWR1kkaO zc=Ln$Q>iiSJFMX!Z8S7cJ%bJ%Vppqy&%F=feRHPM>y78&n#)^kzTOptQCM>6z~@F4#(8Wo&b& zPcEZ`|4ahM0nmnPlzNbhK+^pTemr6(!>zy+K=n4XmLDP;-VJI(xoC-%|Mc<*m0E!* zc!ORK82=t!no1xh?kc z<|)lw!pKwr7k?lp)kD?xnO*u2iJPpE8}o64T{x&^(*aKmZ;`tR3|(M#WHT*|0rb9v zL*3=^GAkT`poSXO1yVu;9`Ob8P7b}BzcQtv#>fNrm8^0F?>RlwVE!3?_Ir56^+}uv zskPPI+&prVlu08v6kgOSAB7C8hG9^0DdMP-yavjLULtUBBt)7yPkMPXhni$LP)M{3 zDR3LprE%eR*RocauqP)cOG-+X2`HZIS+b>qSvfjVdUN`9MM7DDAmEIk^y!tm>B4Wz zX+W$sf+PT20r_tnuv0Zh^z(oE{7Nb=5KIL9;D6?5u(4?%HNKrFrYwQX9tJp(g4;=g zKTxFw^W~U6V8y+131DP-JO;HGj|mSht;3mj9~Xt2I43xGcusEPv;gP0_wC)W9PQ>*OwPk03mD_^3pmM zFeDWd^)-uAj0wakeYl{$dT#&_D(>znkCz5j$sflB2r4QC#a4wC)4*C(4K6dayYJBe z1!%u+sIvZlA^;w!etaoh4QA}WjWvP^wwkhr1E>R>W)I&B2hM%kGduH31Hb|hB(G0v zhgxfE6`1W6UdNRdK6_0a56WV#c>}_6-=#RZ8&x1Bh;YF3IRLAM2ztTAw$#*MsDfY~G-OaPl}d0jlvLd8J-jpxv>3i)FNKEU5yxUMoNu^9OE` zfqtNsqp~n>Aej7j6xT!MkrEXmkeULoqYliE%5Y&TTtR*Gi9Z(e@P(BDecJyFlr?u3 z?IJs^;V#ff4M5ciYB4~OL4tAuHR6Vl^zt_%{+O+hvn6md8Yn*i?hc0VwrC#E%XJ|G z&36}D@8Jcb1?WKY!~|Wci-T6XDK$riy-|^6lm*bR z8l3VaCEL*8k4!%4Gza^!kRC2!Ks8$?85})6;d^`OY7?B1a~A%4WNkPpelmfA&-P8~r+6rpL4LR;d$eiu1?s{A^G+O?nJ<7! z2+jB(Q)K?viIcA}Y4Kh7A<0Z&0|B>sK7IQ1`E$aN4N#R`uyc2@6)y&W5CIk$61@>r zmvF0%YFa$!)=%Djt?+O-zWQlUkmcMj_Kz23NgXQ37);@tr#zf)O@J%FzELjF72qYx z&LsuP055^H4G3|cewwsYEj&CuULI>3-?)V{o!O(24_Y?jHJG9SzI@IFmt^&x1gD_c zqn*axIQTy!dvPD3*)9M;|9YS*fNr`8wJ%upU|noCsJ+dmX2UJ)z*S{&xzOV(e=Nox z#zGI^zV2i(X+T0dPV8XKK-wE=h)#&3ObdH2`}11wzkvwq#DGZes;h7pXQ<=wzyotZ zS*A{=5u{|%mGECN0wVh00x-BGyjncV-x`o6Z6KtV-x6;Gb~DKQ=HAx~oaqsLDKw7- zK+gJ*M#;H5-YnC&lMdW3xi~P-hl-%1Yyi@r65P!8V(I% z2PJh1JDr?TC#c7!+M(1DYxJ*NI10Qf3#dL6KGT+n@3uU%i-7=g6ciaLq?VS5O)8e- zjc78sN3~Zk<|9@n<2VgKAtY}u=>PpGUO(p}*?7SZo{+m9x7n)RQI%TbUdgUp%0v{e6j3TsoAWpI%*)zU0hyvA#bS;W^;gjAf&H61~{t+ z2XDHUCy*=_19|v1IO-qfe)~T1GC4W8+PRKM{OuVI5EKHxMO%TB8Wa@N znQ--weQw&#C@)OJms@^+Ixnxvd>zrgwcG1bF1yux;wKTSXm^@?(}rGvp)@aV6_ILH zO5nT|Q8*NQNAI!Trl%$F<8;M>>9rp=r_pv$gobvW2lu8X)YV7@hp}vMZ%Tl@a`tZ5 z8v2T6E3Ad%E3-Wvxzps4%RmxY57;Tc(@g`KOl3P-YZcXXmhe_qwhLZ4WzCIyTw=w; z)y2FDGL5QPZ|A)I(fD4=Dk=E>u6vX|$7Lml7M&iYr5BIw_6}7%@0g_`=6KrgRfR{? zaKyKzY6lAv#qFgeiY^*SN$dSW&dPolZu0vgG9@yOk5OQ^4;$Pz z6`pr@yug4ooh8 z&|c|oo^PEnQTiVy52OE^CXYUAM@L6+sZujcbh1DNeluT)`+l_x@+C0sGpkxgt16^G zZaxVTX=o+thS)-UZ)aV-_6>XES)0Tkb`EOe-`lr7SJ>6<`1oB3b>9bk;a3SK_}hTS zTuegF$|4l=DE^9q~`Oe2DiGTDxbowN=kgVZDx6Kz50N4nrVXyQO{u#kU097c=O6(!EU7 zy8c6Bv`^s0qvYbfc)M3Ve3J_qc{;r)4KK$?o`{h9)40)x-HiBWRPZux@4fk+tnodQ zzu?+eZJ%Ij-{G&G-WT1udT3?o1L`T<*>yojlRPAbU9^${mrwp+SKYYo{Ke`5vczmn zSvMq)JWwo&_#hTt0c6-ON*kRXpTO3uUXE7yvL1PIuId(D>7Du62=c~~f)n&KBZM}* zop|R~()XGcS%#NS>;f4F%&5W9Ha7K>Gx(=`hQqajR(_-9)UuqE&_Zi$Y%=>i^EM6SxE6o^Cg@Abh@$W6Lj+A~%6#-+B(Z3tQ)$<3~4aGfv+Sr+# zzn|NOGE_1foWTm|A7Q{S6aBjTsd8To`e3#DKYxrL-7 z18z0%eS}RaJYZ;P#gHD^8CU|*^?-<}w&`B*H6N6;@%A)Jxu9sYd5~GTs>;C))5lR% zHSG>X0lF`d{WB1?L+b8=apEL+p9*-Li3T?=ud1hVEF9c;_LV-g4_L~64ZOQfnQ|dE zeZ!W>UCr-*Ge)XVO}coP`6ID|?Kx9Y^cI=1WmhVt`)xdE{(zed{A7P~#%qSzfb=#s zq1$0OgrR!TuDaWINh3~HNsJio^3LhlBDs1Em)x~_+vEj? zsg?b87DK$Kv2_?h;NUeP+zqPCcHOkV>WxZgeSaLc?0&O$(6U;^r$XBE4Zq~*MBkjV z(pXI2*CKGe%4BLnC(-O$G1TMnkf*1{lQ}n`&C-Y z8?M8%*puv;uG%u}9gMm^yUY1!bSHMbGln8d&~Psi9xn7pH9QD(at_rX+3+2{N*56b z;?X(QQ*0UqykP~LGgN`6R0z0u(H%jp&PN^?^}dnxz>zCF6Xy%B?l4ZA80p#OlUrZ= zXb@*!FN-&Feff)|EkUW6a{OQ{N0tqWo5bMxHdU38NrWVCPAun4TbI3 z)N+-jGQJepmw?;iB2|sxE{G}$v1({ccW)*Nv4*#NJ~oV5f2E8a(l1=e{vRF@|5FMSmG^u4Ev-&R>|Z)KWxSdl~P+ zGLt$?r-pV8hk(~mc=hyW8cA(+2#UFsyN%^ByZai%_CR%JsHt{>6*Zn8Qj4I3;P7;s z$s6Ie7Ia=K;+{S+6T}+fE`3iv+Yx1toAODkzQH8dWA}R>rA!`IU~;B9f(le-nPTu6 zuyVR~%>fwhao~awO#amoO-LDOhTgE@i=_^WgO?5z^hF6ap6Z<@ea{;B(b#A*Ry47{ zA1p-8=NFZ%H7t$vjS_8>#Pjgk@%#>2X9dH%XYw_tJ9itJF*I_5>c`F~K<5=m8b~+d zkl5vGw@MV;rFT@NKJ#0t51cK|@ZqlTUl=mtO)yqR{f5`aE<5#!z^N)9tjc(j8)CAV z=GrqqxbRy}PAQ}Cg9i^zACQwv@e6cDtpj(Mz=rfxvOH0wS@D6T8I^+YYIMhgzK&v| zgtssu4r^jdcb&X3iu6;mR_Z;*{N^?-{{?}ee`Oj}PPF`X1m5ntP>_Kn%`}-J$4lrVEZvNB4-ee;LZeh3Bc~@?cV}= zZ^06_>ep$uUWwtO+nL`EqD>wlVy6`1Dh>^A+tOZD=F?gO#9+8hhCH_~1kuJ833ftA ziTFVmGcV8p$<@nqq*X8+WrHwXyt)Pjq-h^q6u<~~Z(w~o%P$Gbe2OLB?0T{@S zM48Eo2X}CDWqx>RgMleo$336PTwDLQ5%qN^7Ucvz;pFD|F z1g8wUWALf}#W2Y4^DPs+YGBsZ+uOZ?#b)B9LZ=+LA7ZB7I#HxD$9%TU-MdUe(gizw zR&t{I%{o~1m44-(JX4ZoP9~QjMUU}v9q!;ZcgNk>jbi$fa4IOLrTU6sK75s6OX3uE zTWp8>I#$0@pZhFPLfRj{4$Vb2mT|I!TF_Zab6Lt+yh|o`#~heHewcAD7wN!YG3$%f zV`uIp;=zSuAkNrCOszr=HM$*OQsPn=ScKI@C*l|fNvy>oxl5u*(W4BQJ{`|kj!jE< znqN2duMu9*x&hzDDICdSOb$5LpxWxQJUy?A8?hNnenRL$wc;DK!tvvO6Tad#B>a^= z9RX{Kw~^Y;_Y9q;0S-4`X5=c+9hO@aQ>J~Hf7{^cUGR)B#77Z2H3(sg&<1uSC7g&q z|6ATPI1rD(*NiUpr<~hQsGBSF+Jq)HdDuv`aKa{KW=e;cHuOkr={qN0Xi2?(p0P>_ zyvs)SJ@2*?&@O-_b0S_{Me0_RSk0uo_hm76q#27|KfRuHy_N;kWaE>4I6Pm#@sO8F zM&zRM)up`QgiQhOwBpu&M)nRj4+mf}K~W5}ne}KOFM>+U{+fE;gf1hIHGME|%CB!y ziOlMFES~={BPmOej6-Z1q7NN?8;iW1P1D0ptbRtj{JdKt_u?zC`tWd;a-0CvT)^YBfimBvKwH-NzK!WUJDv;cYAiivDPWmJ z%z2lbfp(RenyL^k_qlpa@XWbbRd1(T#*Wca5(VU9k?{o=N9yTEIA>cvYNw_)9P!;U9jD=y$y zC1v=e}&g`@cNy^k!h20s4HdygURgtn`bDgn~LCBfCiVd zLCXxftny1WSY}2vNe|rJ_jOnTGrqrzc^W8$kU{f@7XqxThcy;`Rj>Uu^y-~tcW<*P zdd@f{wK++8dapVxS!gp_KG+fXY805@zP~~lV&m9Ia-A0;oPG%6<>j3ix$` z*>#1{xx2)x%1%E^>}EKvS4|&3iQg zk>KtC-uR`N^yh2&j_pLzAR!OLhtziP`iIS|;o)K7U2&l^Ox8I-LY_qd6X&U?5cKYj zkh;kG1kggwusFo89P>W!iOR}EVV+&*#TGR0oC(N5FMa@T81jVPlok7eO(lelvh!R9 zqnfPnpwsvyIA}L#6Q%JDL1ZN}X2q22L;RH-v8A;S!ZKFDX3qHY}>NQ zsmDi>z5vyyS+=aen4GbdoTGuFiz)B;@jjSx(ZT|}@C7I2Y29&3WO!Td7Vu7<0WoPN zOk|7M;=JxcueD&;)zyLfEdJodK5eEUU!y4Cl>mTFbtbIOdrd&f-~{`T-8e{9lt;jM zpP!5vXpzF6eW+|ecj7cW+Em#G)Ks7mFP9EWD5kWDNo_Ucj@`~*`b@bVJ+OWIrpJ;j zkx2@(S+raDQS;lrEbRsgfyMN&drXBLSNzQL?OrQ*3N_Keiy6~E=M=nSXtwEnhS^ic z=tyA-(E@o%^tq+_#0_9@ayHcY@LJMJ%V&v;*@rK~cZS|C->lGRn#Zbrryhcf#}Ck- z9^6EGf*jClE&Jdxtkf z=_qEqTK0(Ul)t`3IoLT}6eG9R;!r`?RlWM=H83$l8D?lf6R*+liccHK(E{QOokpNn zGbRcS5`R`ju zVjG^S@qi!92GrjZvfZ>Q2bWN! z8l)$bURWb<Py!S3Y$*ya!HRoJ&e)Ic6!K?xzvO#Re@T;dEZl$X80JRw^8y$c6J%hLH*ueF<$}3; zxEPGawIU`gJ;Eyl+BR8VUk`XWFKy$Vlo~pYGI<7J!D>+li(UbKCyZ(=F_Gt7a8_gV zqh|%5-QyF$O9v{wrQSY z0?N`LOzY8TAn-{H0{A7OkNSykZ-9&snDr9We9r_9Af29~(;n8=3J7^$3}7h@hrNEX zlWci+#R=)_BzBFkA>+S@Z@=8sj2T@me`Afn+H_HkUnM6eFazmy<4EPRnqxf-sSbpN ztauko88Oy=wB6sD4E@3*C@JriN~Mt2nQ^~eWaiSOg_xtV<^c!cks@jppp7)?thO$Y zvEI~mWFxGBaboukBIMh8h5>Gnk9`Eubr@CbXj=Q01|S?$9(iWDgA&;X_&O-y)N5*G zXJ*P`#V|+Z&_e-302U)O!=bq`$aoTXxpaA72u-qXJFWpq&9SxJr%Zck;Gh2fdr^P@ zCU)jAgs1_~jd1#Ox(113-(&Ng6MR)Q+OBO(8E8b*(ChA?3SnGsEF~SD4WRh{MmQJ* z7gLMY&G_`){8#651^oA+|Jx%_T;u`#qu>5qH6J0H|0^r!h@?KG4p&~4| zAD>zuSp5J>II!(0DJcj*2!pv1znU8ak(Px2WO1>N)!2)s96Wq@C3&}D-;SIMS&(CZ zf?4=@r~lA1%N2H|58Z(v2ED}uAAuz;k5KhmWyF#mA{haWKcz-i>n+T!qiK zR61=t&UJ7U>U2^XjA!FN&O?qFVubVp0D+(naIw%-((Q7zDske{gZ^k!N^jFyP2D#D z7fKSw92G@p{bg2+E}k^h+2m#K+zz()U2Yz^e5CH2^)gbd6#5`qTwh;bsCNK`T{F>SgiWBWU+`t7MI4}h;V+o?woJ>E zn3_nLM^cuaKaaj#EtRf@cZC!XfP#PN;01e?|6}Y9`%~ImiIt1YqVLmFo3M?z=P@Dr zmy(wHyLS0w(|548Nw&x-F_wMS+1@2Pyq;A8+-yz#%q@}EtkP>7!?e6NfKF!#t;R=tcJkAyZo3};L~e*?4eY@Vb4$x z>Z^=Fb?f<#r?akocKY}zZ~CLt1pTT`EZ|%co_5SKzTYb`W<~x{TYDOAWBgQF6R&yF$LU}5+cWfeQ3~}N z)XLtAUKlTKKmSh7B;T}RW2y~lx6SsP3+AFe!PK$#xT;jzQoU)^(m@OWy(e_m~^Ry6|3x&jQF6u?CD*q@*f?6>TfaDw0B;%D^*pM`T78Hr^=~bZfwSVjhB{p z@44O{A1=I^B-uz>drWj-%Gx|fd0+&iN7=)l?Z3nrU3O;``?dYxl ziCpe}=RV&Bq_Tvntl{E5>nj1{x7$}%Za8x)NohfzXT6I14$yG!}#B*wRp%!+FR0% zWB$2HH;UPskBt&XO$5ODKSZV@j1&#NX}LoJ7>Ro`hyQ}k4CazYF_^JG`9^nLK~4g0 z}r72uKP4Gq`YAX%~Ak4kI%CQFsE!w|XvE3?nf6}4;7Kkto zzq@>&?hc9iHO;PPztKDDmADBE>8~9k%{~~+3-pdZyvgr-Ju|91uRgYwBs>_BfUP4J zBM<%GoEEX%)CT)%bc73K@=4i`u=zjbR;E?*^b!N{2<%nAB%@VvDu;XfL zYl9^Zn_nO>F(eNc0$;FL7(|(}8oKsw5YtyyE(;dA(TBbmFmH%=@28N-WGJCNE$i-% zmu;9 zNzA>M06Mk!tX2QN9~y;Z^OKU3e^2Mnjhfqy;<2*21mNrdI$w2&YGChNnmt8k;KbtZ z6%SA!K%xZ_JP5!_`R}<{&O!3=nD>CumO&_UCzVSYdNU8M;$a%>v?WvB$je*=UbMe+g2qd3b0Qj=o@>Rjqb-HvPOJT zaCNYgRv~uncKORZ05*Jpvk5sbS&|Tv@Obq}3B}uQVh(tbk2G33C;nZK)dKsRKC>qy zjn$Jp6M}04Dt8bkqOrOH;8lf1`=gBqXTOcrt#hx2@18VDUs4^26Gh5s6*oL^WUAoKVwS!+mzo!=Nm$ zJM&sxmha9@`SC`ecTXFWo0?NemQiZutsH!qOB=v#f8PLMmAqMzZkCHuiuc{{n&YFw zTwqmR#;l_Z@DnOznTF7(W0z(J`d&zsuVjnlmQ|m5*@=IiZg=lUO%wOOE0$L+b13b4 zxPg*2%U_LSI&ygEjQB6ql;1D@mAgiR}-RYEuXG!y0d+tEEB=BLlQ?F)mA5DDoJ(p=! z8=hwH;LZX4%@~< zDKVN-eu=GTcV76L^to~61A8xG4p6{qw%eebvqo)uO9~BPZYiPXwk zDTTBD9+Oj^qZPsKU-0ZPXQxFn(;@tX=o3Ghqf7njLLH4n+Wi5iAcuYtH#xc=1J`*0 zi|my57;NWBw7iJJw-ZQvCx=9j{=v%=V)i{He+WAL*}YRekh<65i0gqHqSto5G_>*? zzrEhP$ut(9x3P68kM?7^h*ok@M`P`ko4VEwT}o9(b1<>F726g(!#7d-m;^4rL!Xme zG`C_mF^Y?efuLkxsKN+vjwc%!-i=wu4MO41n;2X!7qZa6jjP4^K&`5(`nf(akKae8 z7fe0i7YI(=%FH16hi&P%b(@duD`6|ze^F=d2~H}{?X&V{_gODR=3L)N2p|sog`0w2 z#sSBJkZlfDcQhvwRkRIO&e@K|K&+Apb$dh*;)7!AS6$jzL3qDZSJ0d>KH)o}->>75 z7SE(``*a&Ko2O3xe1gZ%+>-m)2+hYP=hc7{gt(*0G)Pz~WzHdYEK4$H>_2 zYHBZKfu{M&wEMZm{Goh^Et={{o*IOjuDc`eZND;RXFzzkoFg0iV9cJp3_T{IKd7Lfa*kC`b;(i#G96OTSg<%`;l2wRt+o-67X9~bH1 zhi;l-#}W{}(7pMh+0KJi-|Nr_>zFIc8Fvb2nEjgTJbf5x7G7&!6mJ?=^{TQECn1i}8FedjzdtkBXuE7ypEoAA+rI zBE(2w=%r&HkVg7Ef0u|Tgy_k@F93S!B7W^hatBoqROusX9P?QW<*WBJr}NvNe5@uQ zmTCn31EmPw{)aRDPbWFBWYnNg)hd9&{(-7VOw}?NnoihQ{n&HUQng?9b39k97F0shsKXlkt!i`$Z&bri0M)w+=!as!Rd-x0y^0qbhS& z{6+xdu$=$kh4&Gz>#+(Ih(@;#hIIlHRbSKenGAc@A*wy@M9zy1C| zfY*JTI58R*kJmVBpww-9w?h;weXnO=DUFw(Lt9Ltr0cy?O0CeLj&ZI0j9k;HCE98s zD;k_=RU4=UL)i%;rMonaLt1Y5YE@;gP~ip#!P%MTNnBgtA>+YYIqY-UxJ?r`ZYWfiq1 z?d1AYsar|2LS}Q)6=PeuJ92hx;~q4;-4a(#x?--QuRnUb{pLY^&yR8T4HHfO?vbRv zyu-_$UbJxcpQoN}uNiUTId`=03sG5q)Yr{ym>V#7N_w#gJN^5eAuDs^h7Cw4 zUP?^ra!)Xb4ld6NN0N=#%cWvVK7|RcM;CT6NQGU;(XWqrJe8-JfUeG`p+!wmQrd>y zF&3>4+`D&T^+OAf$E3-u>gx61wke=8Xit(Y{&Lu-l{S>DVBPO)6$=_A&nI3}ZC+aA zsjlW{k*!>_IZ>m67lW^9{b8~IzSFF$AO3_rY)BvA<3_sbM-1q!=PQdLJd5t`E zw@to!{#lLsR9vpDe8)(b(7TRN+_$M!8M{dh5EnOyZ)W4=DU4Z(*xo651FHEmf9Is*GrUbp1eXmV#`m(t<6XGoQMtitcQw zIjdRmS?VN<@TMUiO*)b89njez`4PF{{#SGUM;(aGj-2C0JVZ|a48x&k4y z%7BxQrGTD+)GNdkrmWi_Y+PM*V*l+wd0EV^M?f1@^|557rKOpyjX5>K7WYj0JcAqf zUG|JvlLV2j9I(wCo=k-7rR1zjLb8_-qo!wM$o!^dWbA(3@=|vsQzBfEU7GB1t!IJR z!38&%s5;E^eAB1#uj;p2&9JvTpj^d#K8|`}5HU-Fd?RHFU%~pHXfvvCeZY$?>tGqPsBv`@eW=N1ad&1({vD8kG-Dgyc~ z2I{Z@NA=$#r~e04Up4Pf!idA}H8(eR*mD4AbRJk;baizlk+i~uF#S>JsB3!BtR^0N zSC4k~!!Fm-bb4x{#PA!Gz>oR6!^R9MbA}PnU*GiYn~0bo#zk)~cuh@JQ`U)>)usIC zLIT%JWTO|~B&$V4)Vj1W?{A}eRX`FJ9v%)ihkV0z1OfE*%Q*ln04L!&b(}rWD*vWq zI@#Xd4)G?UEVY`!hEmannRZ1W*NY*pmDGw@=Xc5dkPP{2oq26 zm`)M?ss1WlNRR@UZ8?Oibu~FEz2Tjc)H5yZ%%f^eV+X=&Lp(J5~~k^YTnGLS?7$|8s}OZ^?@U?<*H zeUKw`y8`@2{SOSfYKQ9P>5d>ZYk#?aO~A83cVIH~@kJTZ|~)Ecp9!v)&)dF3B!p@5H0ArOWIO+S#% z*?pqU_SkoeR&NC0VrK*Ltb3o=WSt~HIk~MiHYtOsPFjkwLREGxie`5#rFN}GO5@L* z(THW#h@?Q<-{((u`_iy@<7jB_ZCY!tEe*=R_ZJ&tFsip_eBi7;(gi04_V=nXGSe*n z*;YU&c|0lG%iHV973-YH8sPk+u7LT93KPQE&9o?iRwz<{svo|H;ESL%6bd54wbUlG z3lV-rsM>)eb-_jeOkmL|3H&WL*%dus(IoC@06ehb56a+6bT@Ql55&=6I8Vtni zzwYczzcrevlQyuED-~MMwF14gzX$_Ak{}g;G02Zwt}z91f6P=@87L6n=>R%Uo!NCP z8DDG~nt0xsh5B3iOVK&KVl1hk*Hfd4_g5eLWLL5&(5zxUTcf6-v{vEk88zdrtpjL$ElCA6*9(<9La#TL&!F+J?39J*%=IowK&6hCpZWU zc`amjmZIN#sy3k%l(H*jHD1Uf)AI87M<=QfDtkbO!rwJX%#8>%2K|9jCsi0CA_M6G zj8=fR>B{N2b_})s?o0vu^J61Bd6oO#6WVkT2Stiqc9*xD6~{!)=qLwMBk7usZ8T%8 z^rvazPytIawetK$Iv3A{hWk^_Kced{g^`Ee8}zXSqS8(AMjhHEtwv*|jqh=F-m&+NMlF<+k2R{XJ?Aw3 zMlx)t2wP63vf!GRz*Xu46z1A#q^^A2-AsaaN4nL1+oTy?G9L zYmDB_oAD#R~;UJzE+r! zw;ySGFJ7h;Bg@p<`PJj3=3zhU*W~Px#i>SX^n|tA(-DiTv5J_lx2Yw*+w8ENz1x*^bh_oOS*occeGMIDT>WV46E1=S z)=zw;vvS3IY>hirInsJ3(a+(;f=p#QP*UWwQuBe6pYQPGM2~du#!se2j`){3>D>x* z@$MfZHp(l>iH&h5-uk8Frkl%E9Jap>V;9zzlH>;%fk62XRx$r)j$u2+s#CHcId1#zIOIF*myEq_@Ep7vu%F~ly>{GCO;I6p^vWCJ{0^oXGbsJQzNwP8 zYT46elP?QWk@j5eZu-AaYu3eiM(TM~VTH>4{nkp|8ur`Ml1S+XFs z-KbjQw!*-Mcgb~*i)mLCC2d3RtrQYCF&86&L=PYWO!(p6MhY&+Eho)d>e73|e4S*K z-mja^-o9)s!E9b6GjRE?%kok|jw1PBMbNY$rto2}+*CSe!`_l&PQm$fA8L}JI_s%( z*N0ltn(NmyYKlhdZeH2SeHpCZwb|;(@Kq!APTSB&Wf_|TWBRA*troN<%wMPt{SCLx z9Uo~=HWNN_<_{Hd@$wJq8ZUP~zQahubk9nt&xF=nrd7D9Qo61b3yZbtSH(5`@QDG< zG_CrZVrDx8V$qGZzZ|Imc3WeCk%-78KPP!;Y&B292U=0%qAZnjM|_0RI7f--y0&DI z`u~~&gk^A+)B4|xnDJr10LaK+hXe!wkbt$FZ$D+`%-lnBI_$uJ@D_68t{i!>GDi8G z-*wmLdt@CE2h}3CW>zqZei2a5;;5&Y-2j#I5{N^HZ-Q6|A+rHmySc1AUv-k`se2cP z?5(a_u0Jb>iQ0%x9t6yt$TXrUQ7DL`iXVQ3j#LrgxTPh~PX(2x z6!b&{U4mv_WdC3I=cD$*sgKDzMvk~iv#BQ0iGb-bx`;&9R3w8ggI$2xu6{Ph!$doD zk{v--c8fmVV4fTzk6pxx&Y&90f2oK`3!aK`X56_afLS6DFxgwuvS`~uRTb?8R{GD( z3MuWM83jd|U#7d0#cU_r68fbvH*U7%Rg|=7%pGMBIn*A};D(XDGT7KiG%+KDOo_M! z;{a?T_&(}U2mChf_GP%%k_kVGVO0N|ME+9`|4}$**M~^4y8YupWZ05>S97oO&(gC! zkeShunghjVv5qo)8V7T9<3r?7!n}NDo+}&+nWiN?UGZBBLHnO=9Mdw#*p`4H=z74hZS z5&O}OqaY0mh6V%y1O)^HL<|%@4G|m%3F+0ab>{^_tyN97lQ^@T*U% zkeGt!#)P}A3wzoP!#mLO(y1P(m{G3IKh9Q&ZeQOT*qIfJSHad9 z2!9TVZ^YyS1YA3X*kg0=oE!R2AnEj@8*&P2S%GiX5W1(*e%=Eeazk@+HuwgbxZIXms1n6q;G7Rm6Hh|4mANjQO#Tk;37; zR1)+s`%1J7Q`z&V9P*6UQS_sR4kSL%Fdw%HNx5>=&z- zJ^z#OBO1c!H;(S+Q>dD(2m#MtCy^|#FsQIx_C%*k-a)J<^9Ql$>bTY(i2gn68%~p( zwc&0Qo$A>*uNn-|RZ}P4&36Cyu~KzyCoS5{Mj+H>7vDt-`=1=K;Pe> zKnnjGk4rWBo5=q1SnuyF>|Y-1JDOTMG0^{G{Qvy@f0(rY&GgEoaXG+0_$%=dbm+5R z#2c)TWQ(Na1{H#cbs=elEMOvE{&Zaj15QF_I!n(-uSH1~IF#rn`lT37$-|1oay(m- zH3SZt9Gj0$Z~)mznd;%o(60}#7sI;xGlkcB0p9#^i{jX+F+>Oi989>~AC?eBlPJf` zkS!Ra>|ks(O(ixgmR8Y;3BIwD7Re>Zqb2VhI{9}8oGi<*^27}mT~JhYz6|$|W^S_V zX1#;`swmcHgPFOSPxbRUUrTg1mL=4-j*?lF-`$hsdzg;l2NMFTc%E{^n|dhFZoz8# z-0MFng0`>2#YDjZy%0mMJdI1WmL z%T+%mTODT%;KyO$5Q`FRx6G=JZzkW!oLu+cY z&4Ae_ipPOjrV;rd$toY~oKQEyd@@$=kVb18C=Mh98Ma5PA-0jVCBj2D3ylGD)R zCbBC}-2?>L{x)uzrza|fg#6^6S1=bB(Ygx@@`tMkT`SyFe2x!7E9Aj(4V$UtY0oio zhV=64Vuz*r`J6Y8-KgO@dD7f*2>@PJU}`TUm@rNYN}t^X)r^O?vFhUrLH9$S5HgB; z5WszT4%3h#eswPxoZAhuw3z#WJKNnY&en)(uIS=`#RYSiA8dp79VwB=ZXPtWh8 zl@Q_tCS|&ulEWn226Lzfd#s(exMq98;kk2bnGN^`DCGX^`;ok|npUWCRFD=bG;m+* zW^X@Z+nFTOxLzgK;$Xo-Ox3}YGo`n``9)A`Qa5LN!Qtv;7EcC{G8Z3vYd!*p5HGK~ zl@UBXA&j}tR|$EI*Cm68wq~D73tD8BKH>rvMg4Z!I6$s7_CLZ6r?k|;=SU$DhKHes zaJd&RDvZ|zS|~{YQkfv=^_pobm0Z)NEil*gi&~14^+Va+r&VsOQtN11-{KIEnsBs5 zq8p5;IUyer-0kyKy&ANsk96>Jj*8j)#UPthvwuTDT*i~!(d`arEcu+~OqDopu!|z& z;_W2%d^Ja;mShOOM3li$OW`&RJ6I_;C>a=lkvC^Lzr;(TNbQzJ!`0TEfID5H|EpLn zN}|Zv78#l+_X>^I`1S|$&?nO9G9sdMf{*LFp74i8NNZfbUsdqN6pg{Y zBoeg7q-LU2G8?Rz)2Bu8$WlD|!7c6US+fH%LH#%pc!Kk6Q)fPp%!h&WkMM$u z_r?5X+dt=L03@-czhR{DXx+Ql8dxKLKa2Ymg?K^g)b4x~b*tG^1 z@w4?8^m-|!@Z6xW_;`U(Rl|i)hJk?RQ_X*>Ib{x{q+|~(-^MWb(O@8B@$=pq1Cc{A ze5;Q>ehO?u-l8EO+U{16c1r@V5T)=O;>FO#4lS=J-~fae%JDn`_|J}Lq%E?XL)kD) zU5MoRIwZLj?(m;f;oTcWdqPF_!KM(<7}L5q{QNLgbhxE+wL+sBV!*nqwdrTVh9(}a z20?=j^%uZZ@7`Qszwjw4l8x`E+n|1n`o{5M^kk;621!Y`pM3f?S(1T(JV6&R2}M(Rn)ptA-x*LgTL~= ziR0OeVtusEqDG(I@Z*RY660IV{FY}(I@N+u8T=VnS@wX!3q}0oYcqH)*61(Gk}W}s z-zik@4iPXhsVdb5l`G~+b@bd;skC;yu1Y#b+z!KR3I@21mpO{FIw}8PW1YDCEN_f^ z!^THw{N+MB<+e*mQ&xY0rNdTfKUS|-PJ3=Fh4F|y9r&sv`I{^?udD%02gmZs+PHw> zm=t5&`*l@C1Ch$T{O%XU{#2GBqlRRwiCQ_U7zXee^$}$uJ8!(U>fD|W7QG>^JAL@l z1C6{vb+%a9d{4xwAY#6BPefu3x(Vm8=~&1oL zPa8J<8#pBY9$;N?tnLZUBx;}?eDe#yFEmTGp9fquf(U@{^^!x;7))eyG90Z?$DLRM z`T@*6N&l=OUhftoXfHfl8hY6_Y=y;E)-Jn#>`5|&de$?#>HWb-P3*2x(rlxkPZcoz z^cZ!R0(0haQL$9qNN~5-8|l2$AkK&MYS!m z%Lyj`PG{_yxL*68+ribn^!o8G4p|#PJ_LAYMee0m_^)t+>Ixu~5Vt*XRIhxfTTwT-Dh7{BHMsV;? zx{j|sz`^C1vKbJODsPbNR{wlj(kDy@XEPYtG>tFbZDCsk_Hwa*4d_HbL)>(+|4^KY z))^$m^>RyvP|h}(X|MKH@W1_NYI$m}y4v+MH}COkt+=vr^uj4EtN#h}NA-s(aSw;{ zYf+P@&{#!L+dG;WOPSKbz}(`UA#@>#93i~R`gtKdP-Y;Zm+a%qG3)AaVUlyP3H6z} ze>pi?K|OlgXp*U*xKKSYa7fFRR#qYchB|~TuyP2dk|MN3TW?2c&S9kN{$6>_jUq4!55fZxUpZ@VOEfwFJRZ{1gjYXlwK=+S5DHSy}!Mo*DdpamC^p#Xx7KdA7L&=E&MlV_Qo^?gndEh~; zSpenF>OV|B%b?=iRBgyokTi0}+O#A3V@gnne0mA!BR9pEI}u3Tyb&$HstYM$(pa2@ zJQ>?Kus_$8+)xGZxgb!`9A<8Te#i0EfPU(_d(V{8WZ!;0K7wx)zvIh`QYjlp zwR?*T2QsDTk#zDXMXhFuK#yiJzC<;2!Jy6hRN$=vLHGsPdMfo}1^bSQ^if|#hD074 z@Cy7?sM+o)4WES0nFS+S@0s0}2OAD83L4lYkpz0Qs_iw-7#=m-d_fFX5=tXZ6}Zn`CTMWt2X@}GJRrG2&_9sE+s)peX!?=f zw6m8_hu?2`tKNHRUre7@uog=F&$EBxIp@n3#i{(Ar9xt*&`AwRE09~%pJT?hM9~&E zvE8uE8D8VqES&JxgZbq~xJPC@Rhdy;`<_NKP?O9Y9=wS?i2(*{*`YkhhWM&FM1ehp=4mD&LGh^jgnR^=)*E>2S7AM(cOIY>bTdzPQUwLs74R>%2(OdR9BU zqpl{&j0j<`u;b`{8NiC6%oq=%byPr0s?hO?&>YcHpIZ0big?+LoTZN1fj&9(cn7mG znryK{X0Hi5F06eHzE~SIX+I9_muc(Fg*Wb+h7Fu$eSXCm~GHKjY=IyCZz7w z&jwar^C{sC_%VUq79~(ARbwhRepx&(Sm7o-o{@f*u_!^M<&=Yxe=G&1fxdqPks}Jv zA&@HiHtn8;D?sWsGg~E7;byW$qFsgHXrPdf&^Fxp04ySKJm7Z`n zDck-jEhP|ml#-}1WD;(kUfD)C7j)ef*rqoF12o5Z05v6Hi>~UK5vOiWko@_a0J7#; z(}GB48b?!o=+Av33D?z)pn8(!oM#mLHEHk49#s6qPMmhRKn;q-eofK_97o5$ju=QN zy};2Br*}KQxrI{0Asu&R+Cw8fok?LtJBmNGnC;oV9nJIZtWppD9Tn5@E!;7v1-gJ$ zP!b9L7NP++PQK^d~j}E5$xum%_QQ9_Z>0cOh;gZI7zF0`iHY zuOlD79AHl9*#Zz~`jT;}!B)N)Ag@Z+xgm4fTF~AYmxQPG`K{V49=1Xd4+DA|<9iM$ zPP;^G#U31;#+SXp)KVJM@1bZ><}#~nQhzhNa?b(mtK}#aE1Om^UpX|WG11$^AV2O! zp9uWyeraoz`soIXox;F;6GbUPFHJeZlc4YtC1C;CIi!_EwHQ@iICmZ4q6%`LxTkI( z9Vq2sgkatDq5BN%SJs?xkp#D#gHYV9Iq1x~Rk>HPz44RD&&k8lOvcdtyP1BPqXMe{ zQEz~n-Ye}Bm!;v})#{^VkCJ!unKmhVn7ns ztRmj+gPbqDul83zTy--21kpyLA%uz)p&61j4pWd9y)lV}Du|EmNFeGj@bZB9xGbgD8c;)qQ90A<>!9+xtS` zBoJOQJ4|?1YAx?tM*x{GM*gof9n?OZqq=x6m3JMSqiNgAz47DS5IW;SxDbBG`k*n9 zpIxswBhedOgu1c(PxN0V9!xgFB6OTxS=!pY#~C|qvxcf6!L@w~w06d6W_^svTX$kn6>OIOv^}SqK@E7CW+Nve|Zk6 z_hu`*3n?mY)&Qmm_S|6lP5EO8yG2yJgdNr~ zd$8naxo+@**&GbC=OHQfH$nhuQS(e4K=-#oK5vO%HfG?_JII zdQGnNwfj6O*~uSU)72@!N=^DM$SPG3U&b+%gAzQN}Rw`q~zkenf_1aGi zg54m*E8dzz8CQcrZUX|=d7n)K%TYZt+`wVwo12q^9sg2sX74hrJZ{_tM1E2lf_Sp+h2*&h