<html><head><metahttp-equiv="Content-Type"content="text/html; charset=ISO-8859-1"><title>Using SlapOS in the Windows</title><metaname="generator"content="DocBook XSL Stylesheets V1.76.1"></head><bodybgcolor="white"text="black"link="#0000FF"vlink="#840084"alink="#0000FF"><divclass="book"title="Using SlapOS in the Windows"><divclass="titlepage"><div><div><h1class="title"><aname="id9250019"></a>Using SlapOS in the Windows</h1></div><div><divclass="author"><h3class="author"><spanclass="firstname">Jondy</span><spanclass="surname">Zhao</span></h3></div></div><div><divclass="revhistory"><tableborder="1"width="100%"summary="Revision history"><tr><thalign="left"valign="top"colspan="3"><b>Revision History</b></th></tr><tr><tdalign="left">Revision 0.3</td><tdalign="left">2013-07-11</td><tdalign="left">Jondy Zhao - jondy.zhao@nexedi.com</td></tr><tr><tdalign="left"colspan="3">Add chapter SlapOS Sources Changed For Windows.</td></tr><tr><tdalign="left">Revision 0.2</td><tdalign="left">2013-07-05</td><tdalign="left">Jondy Zhao - jondy.zhao@nexedi.com</td></tr><tr><tdalign="left"colspan="3">Add Cron Service and Know Issues section, fix some problems in the chapter Generating windows installer from sources.</td></tr><tr><tdalign="left">Revision 0.1</td><tdalign="left">2013-06-20</td><tdalign="left">Jondy Zhao - jondy.zhao@nexedi.com</td></tr><tr><tdalign="left"colspan="3">Create the document.</td></tr></table></div></div></div><hr></div><divclass="toc"><p><b>Table of Contents</b></p><dl><dt><spanclass="chapter"><ahref="#ch_introduction">1. Introduction</a></span></dt><dt><spanclass="chapter"><ahref="#ch_install_slapos">2. Installing SlapOS node in the Windows</a></span></dt><dt><spanclass="chapter"><ahref="#id9246452">3. Using Slapos in the Windows</a></span></dt><dd><dl><dt><spanclass="section"><ahref="#sec_configure_slapos">3.1. Configure SlapOS</a></span></dt><dt><spanclass="section"><ahref="#id9207845">3.2. SlapOS Node</a></span></dt><dt><spanclass="section"><ahref="#id9255725">3.3. SlapOS</a></span></dt><dt><spanclass="section"><ahref="#id9255740">3.4. SlapOS Runner</a></span></dt><dt><spanclass="section"><ahref="#id9255765">3.5. Command Console</a></span></dt><dt><spanclass="section"><ahref="#id9255797">3.6. User Guide</a></span></dt><dt><spanclass="section"><ahref="#id9255806">3.7. Cron Service</a></span></dt><dt><spanclass="section"><ahref="#id9255830">3.8. Known issues</a></span></dt></dl></dd><dt><spanclass="chapter"><ahref="#ch_generate_window_installer">4. Generating windows installer from sources</a></span></dt><dd><dl><dt><spanclass="section"><ahref="#id9255945">4.1. Setting Up Cygwin</a></span></dt><dt><spanclass="section"><ahref="#id9256125">4.2. Building SlapOS</a></span></dt><dt><spanclass="section"><ahref="#id9256182">4.3. Preparing the sources files for installer</a></span></dt><dt><spanclass="section"><ahref="#id9256362">4.4. Making installer</a></span></dt></dl></dd><dt><spanclass="chapter"><ahref="#ch_run_slapos_from_sources">5. Run SlapOS From Sources</a></span></dt><dt><spanclass="chapter"><ahref="#id9256499">6. SlapOS Sources Changed For Windows</a></span></dt><dd><dl><dt><spanclass="section"><ahref="#id9256603">6.1. How to upgrade the sources</a></span></dt><dt><spanclass="section"><ahref="#id9256652">6.2. How to upgrade installer</a></span></dt><dt><spanclass="section"><ahref="#id9256662">6.3. Merge sources to master branch</a></span></dt></dl></dd><dt><spanclass="appendix"><ahref="#appendix_cygwin_packages">A. Cygwin Required Packages List</a></span></dt></dl></div><divclass="chapter"title="Chapter 1. Introduction"><divclass="titlepage"><div><div><h2class="title"><aname="ch_introduction"></a>Chapter 1. Introduction</h2></div></div></div><p>SlapOS can be described as a cloud operating system in which "everything is a process" unlike Unix in which "everything is a file". If one has to manage thousands of servers with thousands of processes, hundred different applications in multiple different releases or versions, SlapOS can help you a lot by making the whole management process well specified, automated and under control.</p><p>The goal of this tutorial is to teach how to use SlapOS in the windows.</p></div><divclass="chapter"title="Chapter 2. Installing SlapOS node in the Windows"><divclass="titlepage"><div><div><h2class="title"><aname="ch_install_slapos"></a>Chapter 2. Installing SlapOS node in the Windows</h2></div></div></div><p>At first, we need to sign up in VIFIB community Cloud by clicking here <aclass="ulink"href="https://www.slapos.org/login_form"target="_top">https://www.slapos.org/login_form</a></p><p>Then download the latest slapos windows installer from <aclass="ulink"href="http://www.erp5.org/dists/installer"target="_top">http://www.erp5.org/dists/installer</a>, the filename of windows installer look like slapos-XXX-windows-YYY-all-in-one.exe or slapos-XXX-windows-YYY.exe, XXX stands for version-release information. YYY could be X86 or x64, the former means 32-bit, the latter 64-bit windows. The all-in-one installer include all the files required by slapos node, so it can run in the computer which doesn't access internat; the later will download most of packages from internet and build, so it need more time than all-in-one installer. It's recommanded to use the former installer in case of slow or unstable internet even if the size of all-in-one installer is more than 100MB, compare of the latter which size is about 2MB.</p><p>Double click the installer, click Next, Next ...
<html><head><metahttp-equiv="Content-Type"content="text/html; charset=ISO-8859-1"><title>Using SlapOS in the Windows</title><metaname="generator"content="DocBook XSL Stylesheets V1.76.1"></head><bodybgcolor="white"text="black"link="#0000FF"vlink="#840084"alink="#0000FF"><divclass="book"title="Using SlapOS in the Windows"><divclass="titlepage"><div><div><h1class="title"><aname="id9224811"></a>Using SlapOS in the Windows</h1></div><div><divclass="author"><h3class="author"><spanclass="firstname">Jondy</span><spanclass="surname">Zhao</span></h3></div></div><div><divclass="revhistory"><tableborder="1"width="100%"summary="Revision history"><tr><thalign="left"valign="top"colspan="3"><b>Revision History</b></th></tr><tr><tdalign="left">Revision 0.4</td><tdalign="left">2013-08-01</td><tdalign="left">Jondy Zhao - jondy.zhao@nexedi.com</td></tr><tr><tdalign="left"colspan="3">Add chapter Create SlapOS Windows Installer Bootstrip Node.</td></tr><tr><tdalign="left">Revision 0.3</td><tdalign="left">2013-07-11</td><tdalign="left">Jondy Zhao - jondy.zhao@nexedi.com</td></tr><tr><tdalign="left"colspan="3">Add chapter SlapOS Sources Changed For Windows.</td></tr><tr><tdalign="left">Revision 0.2</td><tdalign="left">2013-07-05</td><tdalign="left">Jondy Zhao - jondy.zhao@nexedi.com</td></tr><tr><tdalign="left"colspan="3">Add Cron Service and Know Issues section, fix some problems in the chapter Generating windows installer from sources.</td></tr><tr><tdalign="left">Revision 0.1</td><tdalign="left">2013-06-20</td><tdalign="left">Jondy Zhao - jondy.zhao@nexedi.com</td></tr><tr><tdalign="left"colspan="3">Create the document.</td></tr></table></div></div></div><hr></div><divclass="toc"><p><b>Table of Contents</b></p><dl><dt><spanclass="chapter"><ahref="#ch_introduction">1. Introduction</a></span></dt><dt><spanclass="chapter"><ahref="#ch_install_slapos">2. Installing SlapOS node in the Windows</a></span></dt><dt><spanclass="chapter"><ahref="#id9246497">3. Using Slapos in the Windows</a></span></dt><dd><dl><dt><spanclass="section"><ahref="#sec_configure_slapos">3.1. Configure SlapOS</a></span></dt><dt><spanclass="section"><ahref="#id9207797">3.2. SlapOS Node</a></span></dt><dt><spanclass="section"><ahref="#id9255756">3.3. SlapOS</a></span></dt><dt><spanclass="section"><ahref="#id9255771">3.4. SlapOS Runner</a></span></dt><dt><spanclass="section"><ahref="#id9255796">3.5. Command Console</a></span></dt><dt><spanclass="section"><ahref="#id9255828">3.6. User Guide</a></span></dt><dt><spanclass="section"><ahref="#id9255838">3.7. Cron Service</a></span></dt><dt><spanclass="section"><ahref="#id9255862">3.8. Known issues</a></span></dt></dl></dd><dt><spanclass="chapter"><ahref="#ch_generate_window_installer">4. Generating windows installer from sources</a></span></dt><dd><dl><dt><spanclass="section"><ahref="#id9255977">4.1. Setting Up Cygwin</a></span></dt><dt><spanclass="section"><ahref="#id9256158">4.2. Building SlapOS</a></span></dt><dt><spanclass="section"><ahref="#id9256214">4.3. Preparing the sources files for installer</a></span></dt><dt><spanclass="section"><ahref="#id9256395">4.4. Making installer</a></span></dt></dl></dd><dt><spanclass="chapter"><ahref="#ch_run_slapos_from_sources">5. Run SlapOS From Sources</a></span></dt><dt><spanclass="chapter"><ahref="#id9256531">6. SlapOS Sources Changed For Windows</a></span></dt><dd><dl><dt><spanclass="section"><ahref="#id9256633">6.1. How to upgrade the sources</a></span></dt><dt><spanclass="section"><ahref="#id9256682">6.2. How to upgrade installer</a></span></dt><dt><spanclass="section"><ahref="#id9256692">6.3. Merge sources to master branch</a></span></dt></dl></dd><dt><spanclass="chapter"><ahref="#id9256715">7. Create SlapOS Windows Installer Bootstrip Node</a></span></dt><dd><dl><dt><spanclass="section"><ahref="#id9256757">7.1. Add SlapOS Bootstrip Node to Vifib Cluster</a></span></dt></dl></dd><dt><spanclass="appendix"><ahref="#appendix_cygwin_packages">A. Cygwin Required Packages List</a></span></dt></dl></div><divclass="chapter"title="Chapter1.Introduction"><divclass="titlepage"><div><div><h2class="title"><aname="ch_introduction"></a>Chapter1.Introduction</h2></div></div></div><p>SlapOS can be described as a cloud operating system in which "everything is a process" unlike Unix in which "everything is a file". If one has to manage thousands of servers with thousands of processes, hundred different applications in multiple different releases or versions, SlapOS can help you a lot by making the whole management process well specified, automated and under control.</p><p>The goal of this tutorial is to teach how to use SlapOS in the windows.</p></div><divclass="chapter"title="Chapter2.Installing SlapOS node in the Windows"><divclass="titlepage"><div><div><h2class="title"><aname="ch_install_slapos"></a>Chapter2.Installing SlapOS node in the Windows</h2></div></div></div><p>At first, we need to sign up in VIFIB community Cloud by clicking here <aclass="ulink"href="https://www.slapos.org/login_form"target="_top">https://www.slapos.org/login_form</a></p><p>Then download the latest slapos windows installer from <aclass="ulink"href="http://www.erp5.org/dists/installer"target="_top">http://www.erp5.org/dists/installer</a>, the filename of windows installer look like slapos-XXX-windows-YYY-all-in-one.exe or slapos-XXX-windows-YYY.exe, XXX stands for version-release information. YYY could be X86 or x64, the former means 32-bit, the latter 64-bit windows. The all-in-one installer include all the files required by slapos node, so it can run in the computer which doesn't access internat; the later will download most of packages from internet and build, so it need more time than all-in-one installer. It's recommanded to use the former installer in case of slow or unstable internet even if the size of all-in-one installer is more than 100MB, compare of the latter which size is about 2MB.</p><p>Double click the installer, click Next, Next ...
</p><divclass="note"title="Note"style="margin-left: 0.5in; margin-right: 0.5in;"><h3class="title">Note</h3><p>If the current user isn't Administrator, you need run it as Administrator. Right click the installer, then click Run As Administrator.</p></div><p>
</p><p>At the final wizard page, click Install.</p><p>Waiting for everything done.</p><p>If you prefer to install slapos node from sources, refer to the chapter <aclass="xref"href="#ch_run_slapos_from_sources"title="Chapter 5. Run SlapOS From Sources">Chapter 5, <i>Run SlapOS From Sources</i></a>.</p></div><divclass="chapter"title="Chapter 3. Using Slapos in the Windows"><divclass="titlepage"><div><div><h2class="title"><aname="id9246452"></a>Chapter 3. Using Slapos in the Windows</h2></div></div></div><divclass="toc"><p><b>Table of Contents</b></p><dl><dt><spanclass="section"><ahref="#sec_configure_slapos">3.1. Configure SlapOS</a></span></dt><dt><spanclass="section"><ahref="#id9207845">3.2. SlapOS Node</a></span></dt><dt><spanclass="section"><ahref="#id9255725">3.3. SlapOS</a></span></dt><dt><spanclass="section"><ahref="#id9255740">3.4. SlapOS Runner</a></span></dt><dt><spanclass="section"><ahref="#id9255765">3.5. Command Console</a></span></dt><dt><spanclass="section"><ahref="#id9255797">3.6. User Guide</a></span></dt><dt><spanclass="section"><ahref="#id9255806">3.7. Cron Service</a></span></dt><dt><spanclass="section"><ahref="#id9255830">3.8. Known issues</a></span></dt></dl></div><p>After SlapOS has been installed successfully, you will find program group "SlapOS" which include the following entries:
</p><p>At the final wizard page, click Install.</p><p>Waiting for everything done.</p><p>If you prefer to install slapos node from sources, refer to the chapter <aclass="xref"href="#ch_run_slapos_from_sources"title="Chapter5.Run SlapOS From Sources">Chapter5, <i>Run SlapOS From Sources</i></a>.</p></div><divclass="chapter"title="Chapter3.Using Slapos in the Windows"><divclass="titlepage"><div><div><h2class="title"><aname="id9246497"></a>Chapter3.Using Slapos in the Windows</h2></div></div></div><divclass="toc"><p><b>Table of Contents</b></p><dl><dt><spanclass="section"><ahref="#sec_configure_slapos">3.1. Configure SlapOS</a></span></dt><dt><spanclass="section"><ahref="#id9207797">3.2. SlapOS Node</a></span></dt><dt><spanclass="section"><ahref="#id9255756">3.3. SlapOS</a></span></dt><dt><spanclass="section"><ahref="#id9255771">3.4. SlapOS Runner</a></span></dt><dt><spanclass="section"><ahref="#id9255796">3.5. Command Console</a></span></dt><dt><spanclass="section"><ahref="#id9255828">3.6. User Guide</a></span></dt><dt><spanclass="section"><ahref="#id9255838">3.7. Cron Service</a></span></dt><dt><spanclass="section"><ahref="#id9255862">3.8. Known issues</a></span></dt></dl></div><p>After SlapOS has been installed successfully, you will find program group "SlapOS" which include the following entries:
</p><divclass="section"title="3.1.Configure SlapOS"><divclass="titlepage"><div><div><h2class="title"style="clear: both"><aname="sec_configure_slapos"></a>3.1.Configure SlapOS</h2></div></div></div><p>It used to generate all the configure files required by slapos slave node, you can run it anytime when you need change the configure of your slapos slave node.</p><p>Go to slapos.org (or any other SlapOS Master), register if not already done, go to My Account and request an SSL certificate:
</p><divclass="itemizedlist"><ulclass="itemizedlist"type="disc"><liclass="listitem"><p>Copy the certificate in a file, save it in C:/slapos/cygwin/certificate</p></li><liclass="listitem"><p>Copy the key in a file, save it in C:/slapos/cygwin/key</p></li></ul></div><p>
...
...
@@ -24,7 +24,7 @@ Remember this password, it may be required when you run slapos configure again.
Next the configure script need certificate and key information:
</p><divclass="itemizedlist"><ulclass="itemizedlist"type="disc"><liclass="listitem"><p>Type computer certificate filename, if it's stored in the default path as above, type Enter directly</p></li><liclass="listitem"><p>Type computer key filename, if it's stored in the default path as above, type Enter directly</p></li><liclass="listitem"><p>Type client certificate filename, if it's stored in the default path as above, type Enter directly</p></li><liclass="listitem"><p>Type client key filename, if it's stored in the default path as above, type Enter directly</p></li></ul></div><p>
Then waiting for configure script finished. Be sure the configure scrip report successfully, otherwise fix the problem and run it again. You can run Slapos Configure at anytime, and netx time you needn't input anything, configure scripts just checks all the configuration and update the configure files.
</p></div><divclass="section"title="3.2. SlapOS Node"><divclass="titlepage"><div><div><h2class="title"style="clear: both"><aname="id9207845"></a>3.2. SlapOS Node</h2></div></div></div><p>It's used to create instance of slapos webrunner, format slapos node, release software and create instance, you an run it at any time.</p><p>Click Start -> SlapOS -> SlapOS Node, if the current user isn't Administrator, Right click SlapOS Node, then Run As Administrator.</p><p>Be sure the scrip reports successfully, otherwise fix the problem and run it again.</p></div><divclass="section"title="3.3. SlapOS"><divclass="titlepage"><div><div><h2class="title"style="clear: both"><aname="id9255725"></a>3.3. SlapOS</h2></div></div></div><p>This is used by slapos client, now it's connected to <aclass="ulink"href="https://www.slapos.org"target="_top">https://www.slapos.org</a>. Logon and enjoy the journey in the SlapOS Cloud world.</p></div><divclass="section"title="3.4. SlapOS Runner"><divclass="titlepage"><div><div><h2class="title"style="clear: both"><aname="id9255740"></a>3.4. SlapOS Runner</h2></div></div></div><p>SlapOS Runner is a web based development tool which uses slapgrid to install the software, and it could be used to manage your slapos slave node in your computer.</p><p>After installing slapos, Node Runner isn't available. You need run SlapOS Node first. After that, Node Runner would be available.</p><p>Refer to <aclass="ulink"href="http://community.slapos.org/wiki/osoe-Lecture.SlapOS.Extended/developer-Howto.Use.SlapOS.Web.Runner.html5"target="_top">http://community.slapos.org/wiki/osoe-Lecture.SlapOS.Extended/developer-Howto.Use.SlapOS.Web.Runner.html5</a></p></div><divclass="section"title="3.5. Command Console"><divclass="titlepage"><div><div><h2class="title"style="clear: both"><aname="id9255765"></a>3.5. Command Console</h2></div></div></div><p>It will open a terminal, here you can run most of slapos command, for examples,
</p></div><divclass="section"title="3.2.SlapOS Node"><divclass="titlepage"><div><div><h2class="title"style="clear: both"><aname="id9207797"></a>3.2.SlapOS Node</h2></div></div></div><p>It's used to create instance of slapos webrunner, format slapos node, release software and create instance, you an run it at any time.</p><p>Click Start -> SlapOS -> SlapOS Node, if the current user isn't Administrator, Right click SlapOS Node, then Run As Administrator.</p><p>Be sure the scrip reports successfully, otherwise fix the problem and run it again.</p></div><divclass="section"title="3.3.SlapOS"><divclass="titlepage"><div><div><h2class="title"style="clear: both"><aname="id9255756"></a>3.3.SlapOS</h2></div></div></div><p>This is used by slapos client, now it's connected to <aclass="ulink"href="https://www.slapos.org"target="_top">https://www.slapos.org</a>. Logon and enjoy the journey in the SlapOS Cloud world.</p></div><divclass="section"title="3.4.SlapOS Runner"><divclass="titlepage"><div><div><h2class="title"style="clear: both"><aname="id9255771"></a>3.4.SlapOS Runner</h2></div></div></div><p>SlapOS Runner is a web based development tool which uses slapgrid to install the software, and it could be used to manage your slapos slave node in your computer.</p><p>After installing slapos, Node Runner isn't available. You need run SlapOS Node first. After that, Node Runner would be available.</p><p>Refer to <aclass="ulink"href="http://community.slapos.org/wiki/osoe-Lecture.SlapOS.Extended/developer-Howto.Use.SlapOS.Web.Runner.html5"target="_top">http://community.slapos.org/wiki/osoe-Lecture.SlapOS.Extended/developer-Howto.Use.SlapOS.Web.Runner.html5</a></p></div><divclass="section"title="3.5.Command Console"><divclass="titlepage"><div><div><h2class="title"style="clear: both"><aname="id9255796"></a>3.5.Command Console</h2></div></div></div><p>It will open a terminal, here you can run most of slapos command, for examples,
</p><preclass="programlisting">
slapos node foramt -cv --now
slapos supply slaprunner COMP-1658
...
...
@@ -33,7 +33,7 @@ slapos node software
slapos node instance
slapos node status
</pre><p>
</p><p>For more information, refer to <aclass="ulink"href="http://git.erp5.org/gitweb/slapos.core.git/blob/HEAD:/documentation/source/slapos.usage.rst?js=1"target="_top">http://git.erp5.org/gitweb/slapos.core.git/blob/HEAD:/documentation/source/slapos.usage.rst?js=1</a></p></div><divclass="section"title="3.6. User Guide"><divclass="titlepage"><div><div><h2class="title"style="clear: both"><aname="id9255797"></a>3.6. User Guide</h2></div></div></div><p>It just showes this documnet in the web browser.</p></div><divclass="section"title="3.7. Cron Service"><divclass="titlepage"><div><div><h2class="title"style="clear: both"><aname="id9255806"></a>3.7. Cron Service</h2></div></div></div><p>After run Configure SlapOS, a cron service will start in the background which used to release software and create instance periodically. Open Cygwin Terminal, type the following command to check cron jobs:
</p><p>For more information, refer to <aclass="ulink"href="http://git.erp5.org/gitweb/slapos.core.git/blob/HEAD:/documentation/source/slapos.usage.rst?js=1"target="_top">http://git.erp5.org/gitweb/slapos.core.git/blob/HEAD:/documentation/source/slapos.usage.rst?js=1</a></p></div><divclass="section"title="3.6.User Guide"><divclass="titlepage"><div><div><h2class="title"style="clear: both"><aname="id9255828"></a>3.6.User Guide</h2></div></div></div><p>It just showes this documnet in the web browser.</p></div><divclass="section"title="3.7.Cron Service"><divclass="titlepage"><div><div><h2class="title"style="clear: both"><aname="id9255838"></a>3.7.Cron Service</h2></div></div></div><p>After run Configure SlapOS, a cron service will start in the background which used to release software and create instance periodically. Open Cygwin Terminal, type the following command to check cron jobs:
</p><preclass="programlisting">
# List all cron tabs
crontab -l
...
...
@@ -46,7 +46,7 @@ net stop cron
# Start cron
net start cron
</pre><p>
</p></div><divclass="section"title="3.8. Known issues"><divclass="titlepage"><div><div><h2class="title"style="clear: both"><aname="id9255830"></a>3.8. Known issues</h2></div></div></div><p>
</p><divclass="itemizedlist"><ulclass="itemizedlist"type="disc"><liclass="listitem"><p>Sometime cygwin service re6stnet cound't be stop by command "net stop", you need kill openvpn at first:
</p><preclass="programlisting">
TASKKILL /F /IM openvpn.exe
...
...
@@ -79,7 +79,7 @@ rm -rf /var/lib/re6stnet
net start re6stnet
</pre><p>
</p></li></ul></div><p>
</p></div></div><divclass="chapter"title="Chapter 4. Generating windows installer from sources"><divclass="titlepage"><div><div><h2class="title"><aname="ch_generate_window_installer"></a>Chapter 4. Generating windows installer from sources</h2></div></div></div><divclass="toc"><p><b>Table of Contents</b></p><dl><dt><spanclass="section"><ahref="#id9255945">4.1. Setting Up Cygwin</a></span></dt><dt><spanclass="section"><ahref="#id9256125">4.2. Building SlapOS</a></span></dt><dt><spanclass="section"><ahref="#id9256182">4.3. Preparing the sources files for installer</a></span></dt><dt><spanclass="section"><ahref="#id9256362">4.4. Making installer</a></span></dt></dl></div><p>This chapter describes how to generate windows installer from sources.</p><divclass="section"title="4.1. Setting Up Cygwin"><divclass="titlepage"><div><div><h2class="title"style="clear: both"><aname="id9255945"></a>4.1. Setting Up Cygwin</h2></div></div></div><p>We need Cygwin environment in order to build slapos sources code in the Windows. </p><p>Go to <aclass="ulink"href="http://cygwin.com/"target="_top">"http://cygwin.com/"</a> and click on <aclass="ulink"href="http://cygwin.com/setup.exe"target="_top">"Install Cygwin Now!"</a>. This will download a GUI installer called setup.exe which can be run to download a complete cygwin installation via the internet. Follow the instructions on each screen to install Cygwin. </p><p>The Root Directory for Cygwin (default C:\cygwin) will become / within your Cygwin installation. You must have write access to the parent directory, and any ACLs on the parent directory will determine access to installed files.</p><p>By default, setup.exe will install only the packages in the Base category and their dependencies, resulting in a minimal Cygwin installation. We need choose the packages required by SlapOS, see <aclass="xref"href="#appendix_cygwin_packages"title="Appendix A. Cygwin Required Packages List">Appendix A, <i>Cygwin Required Packages List</i></a>. Since setup.exe automatically selects dependencies, be careful not to unselect any required packages.</p><p>Refer to: <aclass="ulink"href="http://cygwin.com/cygwin-ug-net/setup-net.html"target="_top">http://cygwin.com/cygwin-ug-net/setup-net.html</a></p><p>Or you can install cygwin by command console, first you need download setup.exe from cygwin.com, save to D:\temp\setup.exe or somewhere else.
</p></div></div><divclass="chapter"title="Chapter4.Generating windows installer from sources"><divclass="titlepage"><div><div><h2class="title"><aname="ch_generate_window_installer"></a>Chapter4.Generating windows installer from sources</h2></div></div></div><divclass="toc"><p><b>Table of Contents</b></p><dl><dt><spanclass="section"><ahref="#id9255977">4.1. Setting Up Cygwin</a></span></dt><dt><spanclass="section"><ahref="#id9256158">4.2. Building SlapOS</a></span></dt><dt><spanclass="section"><ahref="#id9256214">4.3. Preparing the sources files for installer</a></span></dt><dt><spanclass="section"><ahref="#id9256395">4.4. Making installer</a></span></dt></dl></div><p>This chapter describes how to generate windows installer from sources.</p><divclass="section"title="4.1.Setting Up Cygwin"><divclass="titlepage"><div><div><h2class="title"style="clear: both"><aname="id9255977"></a>4.1.Setting Up Cygwin</h2></div></div></div><p>We need Cygwin environment in order to build slapos sources code in the Windows. </p><p>Go to <aclass="ulink"href="http://cygwin.com/"target="_top">"http://cygwin.com/"</a> and click on <aclass="ulink"href="http://cygwin.com/setup.exe"target="_top">"Install Cygwin Now!"</a>. This will download a GUI installer called setup.exe which can be run to download a complete cygwin installation via the internet. Follow the instructions on each screen to install Cygwin. </p><p>The Root Directory for Cygwin (default C:\cygwin) will become / within your Cygwin installation. You must have write access to the parent directory, and any ACLs on the parent directory will determine access to installed files.</p><p>By default, setup.exe will install only the packages in the Base category and their dependencies, resulting in a minimal Cygwin installation. We need choose the packages required by SlapOS, see <aclass="xref"href="#appendix_cygwin_packages"title="AppendixA.Cygwin Required Packages List">AppendixA, <i>Cygwin Required Packages List</i></a>. Since setup.exe automatically selects dependencies, be careful not to unselect any required packages.</p><p>Refer to: <aclass="ulink"href="http://cygwin.com/cygwin-ug-net/setup-net.html"target="_top">http://cygwin.com/cygwin-ug-net/setup-net.html</a></p><p>Or you can install cygwin by command console, first you need download setup.exe from cygwin.com, save to D:\temp\setup.exe or somewhere else.
</p><divclass="itemizedlist"><ulclass="itemizedlist"type="disc"><liclass="listitem"><p>In the Windows destktop, Click Start</p></li><liclass="listitem"><p>Click Run, type command: 'cmd', click OK to enter windows console. Be sure you start 'cmd' as Administrator, if the login user isn't Administrator, run 'cmd' as Administrator:</p></li><liclass="listitem"><p>Type the following commands:</p><preclass="programlisting">
D:
MD slapos
...
...
@@ -129,7 +129,7 @@ EOF
</pre><p>
Then restart cygwin command box.
</p><divclass="note"title="Note"style="margin-left: 0.5in; margin-right: 0.5in;"><h3class="title">Note</h3><p>On Windows Vista or Windows 7, you need to run as administrator when launching the cygwin shell to allow the system configuration changes required in some of the steps below. You can configure cygwin to always launch with admin privileges if you wish.</p></div><p>
</p></div><divclass="section"title="4.2. Building SlapOS"><divclass="titlepage"><div><div><h2class="title"style="clear: both"><aname="id9256125"></a>4.2. Building SlapOS</h2></div></div></div><p>Double click the desktop icon "Cygwin" to enter cygwin command box, the following commands are typed in this box.
</p></div><divclass="section"title="4.2.Building SlapOS"><divclass="titlepage"><div><div><h2class="title"style="clear: both"><aname="id9256158"></a>4.2.Building SlapOS</h2></div></div></div><p>Double click the desktop icon "Cygwin" to enter cygwin command box, the following commands are typed in this box.
After exit cygwin, double click autorebase.bat in the Windows explorer. If the current user isn't Administrator, then right click it, click Run As Administrator.
</p></div><divclass="section"title="4.3. Preparing the sources files for installer"><divclass="titlepage"><div><div><h2class="title"style="clear: both"><aname="id9256182"></a>4.3. Preparing the sources files for installer</h2></div></div></div><p>Let's we start cygwin box, then clone slapos.package.git
</p></div><divclass="section"title="4.3.Preparing the sources files for installer"><divclass="titlepage"><div><div><h2class="title"style="clear: both"><aname="id9256214"></a>4.3.Preparing the sources files for installer</h2></div></div></div><p>Let's we start cygwin box, then clone slapos.package.git
</p></div><divclass="section"title="4.4. Making installer"><divclass="titlepage"><div><div><h2class="title"style="clear: both"><aname="id9256362"></a>4.4. Making installer</h2></div></div></div><p>We use Inno-Setup sripts to genarate microsoft installer, so we need install inno setup first. You can download the installer from <aclass="ulink"href="http://www.innosetup.com"target="_top">http://www.innosetup.com</a>, then install inno-setup in you computer</p><p>Then click Start -> Inno Setup 5 -> Inno Setup Compiler, to open inno setup.</p><p>In the inno setup window, click File -> Open, select the script: /opt/git/slapos.package/windows/scripts/slapos-all-in-one.iss</p><p>In the section "Setup", there are some options:
</p></div><divclass="section"title="4.4.Making installer"><divclass="titlepage"><div><div><h2class="title"style="clear: both"><aname="id9256395"></a>4.4.Making installer</h2></div></div></div><p>We use Inno-Setup sripts to genarate microsoft installer, so we need install inno setup first. You can download the installer from <aclass="ulink"href="http://www.innosetup.com"target="_top">http://www.innosetup.com</a>, then install inno-setup in you computer</p><p>Then click Start -> Inno Setup 5 -> Inno Setup Compiler, to open inno setup.</p><p>In the inno setup window, click File -> Open, select the script: /opt/git/slapos.package/windows/scripts/slapos-all-in-one.iss</p><p>In the section "Setup", there are some options:
</p><divclass="itemizedlist"><ulclass="itemizedlist"type="disc"><liclass="listitem"><p>OutputDir: the generated installer will be saved here</p></li><liclass="listitem"><p>OutputBaseFilename: the prefix of output installer</p></li><liclass="listitem"><p>SourceDir: it's a very important option. It's the root path of all the relative path in the section "Files"</p></li></ul></div><p>
In the section "Files", to be sure all the source files are exsiting in your computer, for example
</p><preclass="programlisting">
...
...
@@ -241,7 +241,7 @@ mkdir -p /etc/slapos/scripts
/usr/local/bin/slapos-node.sh
</pre><p>
If there are some errors when run both of scripts, fix them and run again, until no any error reported, and now you can run any slapos command in this terminal.
</p></div><divclass="chapter"title="Chapter 6. SlapOS Sources Changed For Windows"><divclass="titlepage"><div><div><h2class="title"><aname="id9256499"></a>Chapter 6. SlapOS Sources Changed For Windows</h2></div></div></div><divclass="toc"><p><b>Table of Contents</b></p><dl><dt><spanclass="section"><ahref="#id9256603">6.1. How to upgrade the sources</a></span></dt><dt><spanclass="section"><ahref="#id9256652">6.2. How to upgrade installer</a></span></dt><dt><spanclass="section"><ahref="#id9256662">6.3. Merge sources to master branch</a></span></dt></dl></div><p>There are so many slapos sources changed for Windows. In the branch 'cygwin-share' in the slapos.git:
</p></div><divclass="chapter"title="Chapter6.SlapOS Sources Changed For Windows"><divclass="titlepage"><div><div><h2class="title"><aname="id9256531"></a>Chapter6.SlapOS Sources Changed For Windows</h2></div></div></div><divclass="toc"><p><b>Table of Contents</b></p><dl><dt><spanclass="section"><ahref="#id9256633">6.1. How to upgrade the sources</a></span></dt><dt><spanclass="section"><ahref="#id9256682">6.2. How to upgrade installer</a></span></dt><dt><spanclass="section"><ahref="#id9256692">6.3. Merge sources to master branch</a></span></dt></dl></div><p>There are so many slapos sources changed for Windows. In the branch 'cygwin-share' in the slapos.git:
</p><divclass="itemizedlist"><ulclass="itemizedlist"type="disc"><liclass="listitem"><p>Change the buildout.cfg files for components, softwares and stack</p></li><liclass="listitem"><p>Add patch files for building some component</p></li><liclass="listitem"><p>Patch recipe slapos.cookbook</p></li></ul></div><p>
Re6stnet for windows:
</p><divclass="itemizedlist"><ulclass="itemizedlist"type="disc"><liclass="listitem"><p>Branch 'cygwin' in the re6stnet.git</p></li><liclass="listitem"><p>Babeld package for cygwin, in branch 'cygwin' of slapos.package.git, location: windows/babeld</p></li><liclass="listitem"><p>OpenVPN package for cygwin, in branch 'cygwin' of slapos.package.git, location: windows/openvpn</p></li></ul></div><p>
</p><divclass="section"title="6.1. How to upgrade the sources"><divclass="titlepage"><div><div><h2class="title"style="clear: both"><aname="id9256603"></a>6.1. How to upgrade the sources</h2></div></div></div><p>Update sources in the slapos.git, then push it</p><p>Update sources in the slapos.core.git, then push it</p><p>Update sources in the re6stnet.git, then push it</p><p>Update sources in the slapos.package.git, then push it.</p><p>Update egg psutil, for example, upgrade from 0.6.1 to 1.0.0,
</p><divclass="section"title="6.1.How to upgrade the sources"><divclass="titlepage"><div><div><h2class="title"style="clear: both"><aname="id9256633"></a>6.1.How to upgrade the sources</h2></div></div></div><p>Update sources in the slapos.git, then push it</p><p>Update sources in the slapos.core.git, then push it</p><p>Update sources in the re6stnet.git, then push it</p><p>Update sources in the slapos.package.git, then push it.</p><p>Update egg psutil, for example, upgrade from 0.6.1 to 1.0.0,
Then upload the source packages dist/psutil-1.0.1.tar.gz to http://www.nexedi.org/static/packages/source/
</p><p>Update egg netifaces, same as psutil, except use patch file netifaces-0.8-1-cygwin.patch</p></div><divclass="section"title="6.2. How to upgrade installer"><divclass="titlepage"><div><div><h2class="title"style="clear: both"><aname="id9256652"></a>6.2. How to upgrade installer</h2></div></div></div><p>Redo all the action in the chapter Generate Installer For Windows</p></div><divclass="section"title="6.3. Merge sources to master branch"><divclass="titlepage"><div><div><h2class="title"style="clear: both"><aname="id9256662"></a>6.3. Merge sources to master branch</h2></div></div></div><p>merge cygwin to master in the slapos.core.git</p><p>merge cygwin to master in the slapos.package.git</p><p>merge cygwin-share to master in the slapos.git</p><p>merge cygwin to master in the re6stnet.git</p></div></div><divclass="appendix"title="Appendix A. Cygwin Required Packages List"><divclass="titlepage"><div><div><h2class="title"><aname="appendix_cygwin_packages"></a>Appendix A. Cygwin Required Packages List</h2></div></div></div><p>The following packages are requied by SlapOS Node
</p><p>Update egg netifaces, same as psutil, except use patch file netifaces-0.8-1-cygwin.patch</p></div><divclass="section"title="6.2.How to upgrade installer"><divclass="titlepage"><div><div><h2class="title"style="clear: both"><aname="id9256682"></a>6.2.How to upgrade installer</h2></div></div></div><p>Redo all the action in the chapter Generate Installer For Windows</p></div><divclass="section"title="6.3.Merge sources to master branch"><divclass="titlepage"><div><div><h2class="title"style="clear: both"><aname="id9256692"></a>6.3.Merge sources to master branch</h2></div></div></div><p>merge cygwin to master in the slapos.core.git</p><p>merge cygwin to master in the slapos.package.git</p><p>merge cygwin-share to master in the slapos.git</p><p>merge cygwin to master in the re6stnet.git</p></div></div><divclass="chapter"title="Chapter7.Create SlapOS Windows Installer Bootstrip Node"><divclass="titlepage"><div><div><h2class="title"><aname="id9256715"></a>Chapter7.Create SlapOS Windows Installer Bootstrip Node</h2></div></div></div><divclass="toc"><p><b>Table of Contents</b></p><dl><dt><spanclass="section"><ahref="#id9256757">7.1. Add SlapOS Bootstrip Node to Vifib Cluster</a></span></dt></dl></div><p>This chapter descripts how to create a slapos node in the windows which used to test the windows installer self:
</p><divclass="itemizedlist"><ulclass="itemizedlist"type="disc"><liclass="listitem"><p>Install cygwin</p></li><liclass="listitem"><p>Prepare certificate, key, computer.key, computer.crt and test-computer.key, test-computer.crt</p></li><liclass="listitem"><p>Run slapos-cygwin-bootstrip.sh, got it from slapos.package.git/windows/scripts</p></li><liclass="listitem"><p>Run command slapos node software/release until instance created</p></li><liclass="listitem"><p>Run command slapos remove to destroy this instance</p></li></ul></div><p>
</p><divclass="section"title="7.1.Add SlapOS Bootstrip Node to Vifib Cluster"><divclass="titlepage"><div><div><h2class="title"style="clear: both"><aname="id9256757"></a>7.1.Add SlapOS Bootstrip Node to Vifib Cluster</h2></div></div></div><p>Create an instance of SlapOS Test-Agent in slapos bootstrip node (computer.key/computer.crt), it will test the software: http://git.erp5.org/gitweb/slapos.git/blob_plain/refs/heads/cygwin-share:/software/slapos-windows-installer/software.cfg, this software can build slapos windows installer, then run the installer to create a slapos test node.</p><p>Create another instance of SlapOS Test-Agent used to test the instances running in the slapos test node (test-computer.key/test-computer.crt). This test agent can include any software which can run in the slapos windows.</p></div></div><divclass="appendix"title="AppendixA.Cygwin Required Packages List"><divclass="titlepage"><div><div><h2class="title"><aname="appendix_cygwin_packages"></a>AppendixA.Cygwin Required Packages List</h2></div></div></div><p>The following packages are requied by SlapOS Node
There is another package: Text/docbook-utils, it only used to generate user-guide.html from source file. But this package will increase required disk size remarkable, because many dependent packages are installed by Cygwin, so it recommand not to check this package when building slapos source or the installer. Only you really need to build the document, then install this package from cygwin setup gui interface by double clicking setup.exe downloaded from cygwin.com</p></div><p>
<revremark>Add chapter Create SlapOS Windows Installer Bootstrip Node.</revremark>
</revision>
<revision>
<revnumber>0.3</revnumber>
<date>2013-07-11</date>
...
...
@@ -476,7 +483,23 @@ Then upload the source packages dist/psutil-1.0.1.tar.gz to http://www.nexedi.or
<para>merge cygwin-share to master in the slapos.git</para>
<para>merge cygwin to master in the re6stnet.git</para>
</section>
</chapter>
<chapter><title>Create SlapOS Windows Installer Bootstrip Node</title>
<para>This chapter descripts how to create a slapos node in the windows which used to test the windows installer self:
<itemizedlist>
<listitem><para>Install cygwin</para></listitem>
<listitem><para>Prepare certificate, key, computer.key, computer.crt and test-computer.key, test-computer.crt</para></listitem>
<listitem><para>Run slapos-cygwin-bootstrip.sh, got it from slapos.package.git/windows/scripts</para></listitem>
<listitem><para>Run command slapos node software/release until instance created</para></listitem>
<listitem><para>Run command slapos remove to destroy this instance</para></listitem>
</itemizedlist>
</para>
<section><title>Add SlapOS Bootstrip Node to Vifib Cluster</title>
<para>Create an instance of SlapOS Test-Agent in slapos bootstrip node (computer.key/computer.crt), it will test the software: http://git.erp5.org/gitweb/slapos.git/blob_plain/refs/heads/cygwin-share:/software/slapos-windows-installer/software.cfg, this software can build slapos windows installer, then run the installer to create a slapos test node.</para>
<para>Create another instance of SlapOS Test-Agent used to test the instances running in the slapos test node (test-computer.key/test-computer.crt). This test agent can include any software which can run in the slapos windows.</para>