Commit 3ad9bbeb authored by Jondy Zhao's avatar Jondy Zhao

user guide: add chapter Create SlapOS Windows Installer Bootstrip Node

parent 7623789f
<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Using SlapOS in the Windows</title><meta name="generator" content="DocBook XSL Stylesheets V1.76.1"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="book" title="Using SlapOS in the Windows"><div class="titlepage"><div><div><h1 class="title"><a name="id9250019"></a>Using SlapOS in the Windows</h1></div><div><div class="author"><h3 class="author"><span class="firstname">Jondy</span> <span class="surname">Zhao</span></h3></div></div><div><div class="revhistory"><table border="1" width="100%" summary="Revision history"><tr><th align="left" valign="top" colspan="3"><b>Revision History</b></th></tr><tr><td align="left">Revision 0.3</td><td align="left">2013-07-11</td><td align="left">Jondy Zhao - jondy.zhao@nexedi.com</td></tr><tr><td align="left" colspan="3">Add chapter SlapOS Sources Changed For Windows.</td></tr><tr><td align="left">Revision 0.2</td><td align="left">2013-07-05</td><td align="left">Jondy Zhao - jondy.zhao@nexedi.com</td></tr><tr><td align="left" colspan="3">Add Cron Service and Know Issues section, fix some problems in the chapter Generating windows installer from sources.</td></tr><tr><td align="left">Revision 0.1</td><td align="left">2013-06-20</td><td align="left">Jondy Zhao - jondy.zhao@nexedi.com</td></tr><tr><td align="left" colspan="3">Create the document.</td></tr></table></div></div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="chapter"><a href="#ch_introduction">1. Introduction</a></span></dt><dt><span class="chapter"><a href="#ch_install_slapos">2. Installing SlapOS node in the Windows</a></span></dt><dt><span class="chapter"><a href="#id9246452">3. Using Slapos in the Windows</a></span></dt><dd><dl><dt><span class="section"><a href="#sec_configure_slapos">3.1. Configure SlapOS</a></span></dt><dt><span class="section"><a href="#id9207845">3.2. SlapOS Node</a></span></dt><dt><span class="section"><a href="#id9255725">3.3. SlapOS</a></span></dt><dt><span class="section"><a href="#id9255740">3.4. SlapOS Runner</a></span></dt><dt><span class="section"><a href="#id9255765">3.5. Command Console</a></span></dt><dt><span class="section"><a href="#id9255797">3.6. User Guide</a></span></dt><dt><span class="section"><a href="#id9255806">3.7. Cron Service</a></span></dt><dt><span class="section"><a href="#id9255830">3.8. Known issues</a></span></dt></dl></dd><dt><span class="chapter"><a href="#ch_generate_window_installer">4. Generating windows installer from sources</a></span></dt><dd><dl><dt><span class="section"><a href="#id9255945">4.1. Setting Up Cygwin</a></span></dt><dt><span class="section"><a href="#id9256125">4.2. Building SlapOS</a></span></dt><dt><span class="section"><a href="#id9256182">4.3. Preparing the sources files for installer</a></span></dt><dt><span class="section"><a href="#id9256362">4.4. Making installer</a></span></dt></dl></dd><dt><span class="chapter"><a href="#ch_run_slapos_from_sources">5. Run SlapOS From Sources</a></span></dt><dt><span class="chapter"><a href="#id9256499">6. SlapOS Sources Changed For Windows</a></span></dt><dd><dl><dt><span class="section"><a href="#id9256603">6.1. How to upgrade the sources</a></span></dt><dt><span class="section"><a href="#id9256652">6.2. How to upgrade installer</a></span></dt><dt><span class="section"><a href="#id9256662">6.3. Merge sources to master branch</a></span></dt></dl></dd><dt><span class="appendix"><a href="#appendix_cygwin_packages">A. Cygwin Required Packages List</a></span></dt></dl></div><div class="chapter" title="Chapter 1. Introduction"><div class="titlepage"><div><div><h2 class="title"><a name="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><div class="chapter" title="Chapter 2. Installing SlapOS node in the Windows"><div class="titlepage"><div><div><h2 class="title"><a name="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 <a class="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 <a class="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><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Using SlapOS in the Windows</title><meta name="generator" content="DocBook XSL Stylesheets V1.76.1"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="book" title="Using SlapOS in the Windows"><div class="titlepage"><div><div><h1 class="title"><a name="id9224811"></a>Using SlapOS in the Windows</h1></div><div><div class="author"><h3 class="author"><span class="firstname">Jondy</span> <span class="surname">Zhao</span></h3></div></div><div><div class="revhistory"><table border="1" width="100%" summary="Revision history"><tr><th align="left" valign="top" colspan="3"><b>Revision History</b></th></tr><tr><td align="left">Revision 0.4</td><td align="left">2013-08-01</td><td align="left">Jondy Zhao - jondy.zhao@nexedi.com</td></tr><tr><td align="left" colspan="3">Add chapter Create SlapOS Windows Installer Bootstrip Node.</td></tr><tr><td align="left">Revision 0.3</td><td align="left">2013-07-11</td><td align="left">Jondy Zhao - jondy.zhao@nexedi.com</td></tr><tr><td align="left" colspan="3">Add chapter SlapOS Sources Changed For Windows.</td></tr><tr><td align="left">Revision 0.2</td><td align="left">2013-07-05</td><td align="left">Jondy Zhao - jondy.zhao@nexedi.com</td></tr><tr><td align="left" colspan="3">Add Cron Service and Know Issues section, fix some problems in the chapter Generating windows installer from sources.</td></tr><tr><td align="left">Revision 0.1</td><td align="left">2013-06-20</td><td align="left">Jondy Zhao - jondy.zhao@nexedi.com</td></tr><tr><td align="left" colspan="3">Create the document.</td></tr></table></div></div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="chapter"><a href="#ch_introduction">1. Introduction</a></span></dt><dt><span class="chapter"><a href="#ch_install_slapos">2. Installing SlapOS node in the Windows</a></span></dt><dt><span class="chapter"><a href="#id9246497">3. Using Slapos in the Windows</a></span></dt><dd><dl><dt><span class="section"><a href="#sec_configure_slapos">3.1. Configure SlapOS</a></span></dt><dt><span class="section"><a href="#id9207797">3.2. SlapOS Node</a></span></dt><dt><span class="section"><a href="#id9255756">3.3. SlapOS</a></span></dt><dt><span class="section"><a href="#id9255771">3.4. SlapOS Runner</a></span></dt><dt><span class="section"><a href="#id9255796">3.5. Command Console</a></span></dt><dt><span class="section"><a href="#id9255828">3.6. User Guide</a></span></dt><dt><span class="section"><a href="#id9255838">3.7. Cron Service</a></span></dt><dt><span class="section"><a href="#id9255862">3.8. Known issues</a></span></dt></dl></dd><dt><span class="chapter"><a href="#ch_generate_window_installer">4. Generating windows installer from sources</a></span></dt><dd><dl><dt><span class="section"><a href="#id9255977">4.1. Setting Up Cygwin</a></span></dt><dt><span class="section"><a href="#id9256158">4.2. Building SlapOS</a></span></dt><dt><span class="section"><a href="#id9256214">4.3. Preparing the sources files for installer</a></span></dt><dt><span class="section"><a href="#id9256395">4.4. Making installer</a></span></dt></dl></dd><dt><span class="chapter"><a href="#ch_run_slapos_from_sources">5. Run SlapOS From Sources</a></span></dt><dt><span class="chapter"><a href="#id9256531">6. SlapOS Sources Changed For Windows</a></span></dt><dd><dl><dt><span class="section"><a href="#id9256633">6.1. How to upgrade the sources</a></span></dt><dt><span class="section"><a href="#id9256682">6.2. How to upgrade installer</a></span></dt><dt><span class="section"><a href="#id9256692">6.3. Merge sources to master branch</a></span></dt></dl></dd><dt><span class="chapter"><a href="#id9256715">7. Create SlapOS Windows Installer Bootstrip Node</a></span></dt><dd><dl><dt><span class="section"><a href="#id9256757">7.1. Add SlapOS Bootstrip Node to Vifib Cluster</a></span></dt></dl></dd><dt><span class="appendix"><a href="#appendix_cygwin_packages">A. Cygwin Required Packages List</a></span></dt></dl></div><div class="chapter" title="Chapter1.Introduction"><div class="titlepage"><div><div><h2 class="title"><a name="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><div class="chapter" title="Chapter2.Installing SlapOS node in the Windows"><div class="titlepage"><div><div><h2 class="title"><a name="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 <a class="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 <a class="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><div class="note" title="Note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="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 <a class="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><div class="chapter" title="Chapter 3. Using Slapos in the Windows"><div class="titlepage"><div><div><h2 class="title"><a name="id9246452"></a>Chapter 3. Using Slapos in the Windows</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="#sec_configure_slapos">3.1. Configure SlapOS</a></span></dt><dt><span class="section"><a href="#id9207845">3.2. SlapOS Node</a></span></dt><dt><span class="section"><a href="#id9255725">3.3. SlapOS</a></span></dt><dt><span class="section"><a href="#id9255740">3.4. SlapOS Runner</a></span></dt><dt><span class="section"><a href="#id9255765">3.5. Command Console</a></span></dt><dt><span class="section"><a href="#id9255797">3.6. User Guide</a></span></dt><dt><span class="section"><a href="#id9255806">3.7. Cron Service</a></span></dt><dt><span class="section"><a href="#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 <a class="xref" href="#ch_run_slapos_from_sources" title="Chapter5.Run SlapOS From Sources">Chapter5, <i>Run SlapOS From Sources</i></a>.</p></div><div class="chapter" title="Chapter3.Using Slapos in the Windows"><div class="titlepage"><div><div><h2 class="title"><a name="id9246497"></a>Chapter3.Using Slapos in the Windows</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="#sec_configure_slapos">3.1. Configure SlapOS</a></span></dt><dt><span class="section"><a href="#id9207797">3.2. SlapOS Node</a></span></dt><dt><span class="section"><a href="#id9255756">3.3. SlapOS</a></span></dt><dt><span class="section"><a href="#id9255771">3.4. SlapOS Runner</a></span></dt><dt><span class="section"><a href="#id9255796">3.5. Command Console</a></span></dt><dt><span class="section"><a href="#id9255828">3.6. User Guide</a></span></dt><dt><span class="section"><a href="#id9255838">3.7. Cron Service</a></span></dt><dt><span class="section"><a href="#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><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Configure SlapOS</p></li><li class="listitem"><p>SlapOS Node</p></li><li class="listitem"><p>SlapOS</p></li><li class="listitem"><p>SlapOS Runner</p></li><li class="listitem"><p>Command Console</p></li><li class="listitem"><p>User Guide</p></li></ul></div><p>
</p><div class="section" title="3.1.Configure SlapOS"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="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><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Copy the certificate in a file, save it in C:/slapos/cygwin/certificate</p></li><li class="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><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Type computer certificate filename, if it's stored in the default path as above, type Enter directly</p></li><li class="listitem"><p>Type computer key filename, if it's stored in the default path as above, type Enter directly</p></li><li class="listitem"><p>Type client certificate filename, if it's stored in the default path as above, type Enter directly</p></li><li class="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><div class="section" title="3.2. SlapOS Node"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="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 -&gt; SlapOS -&gt; 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><div class="section" title="3.3. SlapOS"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id9255725"></a>3.3. SlapOS</h2></div></div></div><p>This is used by slapos client, now it's connected to <a class="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><div class="section" title="3.4. SlapOS Runner"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="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 <a class="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><div class="section" title="3.5. Command Console"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="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><div class="section" title="3.2.SlapOS Node"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="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 -&gt; SlapOS -&gt; 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><div class="section" title="3.3.SlapOS"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id9255756"></a>3.3.SlapOS</h2></div></div></div><p>This is used by slapos client, now it's connected to <a class="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><div class="section" title="3.4.SlapOS Runner"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="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 <a class="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><div class="section" title="3.5.Command Console"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="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><pre class="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 <a class="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><div class="section" title="3.6. User Guide"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id9255797"></a>3.6. User Guide</h2></div></div></div><p>It just showes this documnet in the web browser.</p></div><div class="section" title="3.7. Cron Service"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="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 <a class="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><div class="section" title="3.6.User Guide"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id9255828"></a>3.6.User Guide</h2></div></div></div><p>It just showes this documnet in the web browser.</p></div><div class="section" title="3.7.Cron Service"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="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><pre class="programlisting">
# List all cron tabs
crontab -l
......@@ -46,7 +46,7 @@ net stop cron
# Start cron
net start cron
</pre><p>
</p></div><div class="section" title="3.8. Known issues"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id9255830"></a>3.8. Known issues</h2></div></div></div><p>
</p></div><div class="section" title="3.8.Known issues"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id9255862"></a>3.8.Known issues</h2></div></div></div><p>
</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Sometime cygwin service re6stnet cound't be stop by command "net stop", you need kill openvpn at first:
</p><pre class="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><div class="chapter" title="Chapter 4. Generating windows installer from sources"><div class="titlepage"><div><div><h2 class="title"><a name="ch_generate_window_installer"></a>Chapter 4. Generating windows installer from sources</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="#id9255945">4.1. Setting Up Cygwin</a></span></dt><dt><span class="section"><a href="#id9256125">4.2. Building SlapOS</a></span></dt><dt><span class="section"><a href="#id9256182">4.3. Preparing the sources files for installer</a></span></dt><dt><span class="section"><a href="#id9256362">4.4. Making installer</a></span></dt></dl></div><p>This chapter describes how to generate windows installer from sources.</p><div class="section" title="4.1. Setting Up Cygwin"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="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 <a class="ulink" href="http://cygwin.com/" target="_top">"http://cygwin.com/"</a> and click on <a class="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 <a class="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: <a class="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><div class="chapter" title="Chapter4.Generating windows installer from sources"><div class="titlepage"><div><div><h2 class="title"><a name="ch_generate_window_installer"></a>Chapter4.Generating windows installer from sources</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="#id9255977">4.1. Setting Up Cygwin</a></span></dt><dt><span class="section"><a href="#id9256158">4.2. Building SlapOS</a></span></dt><dt><span class="section"><a href="#id9256214">4.3. Preparing the sources files for installer</a></span></dt><dt><span class="section"><a href="#id9256395">4.4. Making installer</a></span></dt></dl></div><p>This chapter describes how to generate windows installer from sources.</p><div class="section" title="4.1.Setting Up Cygwin"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="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 <a class="ulink" href="http://cygwin.com/" target="_top">"http://cygwin.com/"</a> and click on <a class="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 <a class="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: <a class="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 class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>In the Windows destktop, Click Start</p></li><li class="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><li class="listitem"><p>Type the following commands:</p><pre class="programlisting">
D:
MD slapos
......@@ -129,7 +129,7 @@ EOF
</pre><p>
Then restart cygwin command box.
</p><div class="note" title="Note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="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><div class="section" title="4.2. Building SlapOS"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="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><div class="section" title="4.2.Building SlapOS"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="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.
</p><pre class="programlisting">
mkdir -p /cygdrive/d/slapos/opt
cd /
......@@ -159,7 +159,7 @@ echo Pause &gt;&gt; /autorebase.bat
exit
</pre><p>
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><div class="section" title="4.3. Preparing the sources files for installer"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="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><div class="section" title="4.3.Preparing the sources files for installer"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="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><pre class="programlisting">
mkdir -p /opt/git
cd /opt/git
......@@ -226,7 +226,7 @@ Get configure template file:
wget http://git.erp5.org/gitweb/slapos.core.git/blob_plain/HEAD:/slapos.cfg.example -O /opt/slapos/slapos.cfg.example
wget http://git.erp5.org/gitweb/slapos.core.git/blob_plain/HEAD:/slapos-client.cfg.example -O /opt/slapos/slapos-client.cfg.example
</pre><p>
</p></div><div class="section" title="4.4. Making installer"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="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 <a class="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 -&gt; Inno Setup 5 -&gt; Inno Setup Compiler, to open inno setup.</p><p>In the inno setup window, click File -&gt; 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><div class="section" title="4.4.Making installer"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="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 <a class="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 -&gt; Inno Setup 5 -&gt; Inno Setup Compiler, to open inno setup.</p><p>In the inno setup window, click File -&gt; 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 class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>OutputDir: the generated installer will be saved here</p></li><li class="listitem"><p>OutputBaseFilename: the prefix of output installer</p></li><li class="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><pre class="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><div class="chapter" title="Chapter 6. SlapOS Sources Changed For Windows"><div class="titlepage"><div><div><h2 class="title"><a name="id9256499"></a>Chapter 6. SlapOS Sources Changed For Windows</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="#id9256603">6.1. How to upgrade the sources</a></span></dt><dt><span class="section"><a href="#id9256652">6.2. How to upgrade installer</a></span></dt><dt><span class="section"><a href="#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><div class="chapter" title="Chapter6.SlapOS Sources Changed For Windows"><div class="titlepage"><div><div><h2 class="title"><a name="id9256531"></a>Chapter6.SlapOS Sources Changed For Windows</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="#id9256633">6.1. How to upgrade the sources</a></span></dt><dt><span class="section"><a href="#id9256682">6.2. How to upgrade installer</a></span></dt><dt><span class="section"><a href="#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><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Change the buildout.cfg files for components, softwares and stack</p></li><li class="listitem"><p>Add patch files for building some component</p></li><li class="listitem"><p>Patch recipe slapos.cookbook</p></li></ul></div><p>
Re6stnet for windows:
</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Branch 'cygwin' in the re6stnet.git</p></li><li class="listitem"><p>Babeld package for cygwin, in branch 'cygwin' of slapos.package.git, location: windows/babeld</p></li><li class="listitem"><p>OpenVPN package for cygwin, in branch 'cygwin' of slapos.package.git, location: windows/openvpn</p></li></ul></div><p>
......@@ -249,7 +249,7 @@ In the slapos.core.git:
</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Add branch 'cygwin'</p></li></ul></div><p>
In the slapos.package.git, add branch 'cygwin', it includes most of sources for cygwin:
</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>babeld</p></li><li class="listitem"><p>docs</p></li><li class="listitem"><p>openvpn</p></li><li class="listitem"><p>netreport</p></li><li class="listitem"><p>ipwin</p></li><li class="listitem"><p>psutils</p></li><li class="listitem"><p>inotifyw</p></li><li class="listitem"><p>patches</p></li><li class="listitem"><p>scripts</p></li></ul></div><p>
</p><div class="section" title="6.1. How to upgrade the sources"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="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><div class="section" title="6.1.How to upgrade the sources"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="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,
</p><pre class="programlisting">
wget http://psutil.googlecode.com/files/psutil-1.0.0.tar.gz
tar xzf psutil-1.0.0.tar.gz
......@@ -259,7 +259,9 @@ patch -p1 &lt; /opt/git/slapos.package/windows/patches/psutil-0.6.2.patch
python setup.py sdist
</pre><p>
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><div class="section" title="6.2. How to upgrade installer"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="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><div class="section" title="6.3. Merge sources to master branch"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="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><div class="appendix" title="Appendix A. Cygwin Required Packages List"><div class="titlepage"><div><div><h2 class="title"><a name="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><div class="section" title="6.2.How to upgrade installer"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="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><div class="section" title="6.3.Merge sources to master branch"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="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><div class="chapter" title="Chapter7.Create SlapOS Windows Installer Bootstrip Node"><div class="titlepage"><div><div><h2 class="title"><a name="id9256715"></a>Chapter7.Create SlapOS Windows Installer Bootstrip Node</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="#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><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Install cygwin</p></li><li class="listitem"><p>Prepare certificate, key, computer.key, computer.crt and test-computer.key, test-computer.crt</p></li><li class="listitem"><p>Run slapos-cygwin-bootstrip.sh, got it from slapos.package.git/windows/scripts</p></li><li class="listitem"><p>Run command slapos node software/release until instance created</p></li><li class="listitem"><p>Run command slapos remove to destroy this instance</p></li></ul></div><p>
</p><div class="section" title="7.1.Add SlapOS Bootstrip Node to Vifib Cluster"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="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><div class="appendix" title="AppendixA.Cygwin Required Packages List"><div class="titlepage"><div><div><h2 class="title"><a name="appendix_cygwin_packages"></a>AppendixA.Cygwin Required Packages List</h2></div></div></div><p>The following packages are requied by SlapOS Node
</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Devel/autobuild</p></li><li class="listitem"><p>Devel/autoconf</p></li><li class="listitem"><p>Devel/automake</p></li><li class="listitem"><p>Net/autossh</p></li><li class="listitem"><p>Devel/binutils</p></li><li class="listitem"><p>Devel/bison</p></li><li class="listitem"><p>Utils/bzip2<sup></sup></p></li><li class="listitem"><p>Net/ca-certificates</p></li><li class="listitem"><p>Admin/cron</p></li><li class="listitem"><p>Net/curl</p></li><li class="listitem"><p>Devel/cygport</p></li><li class="listitem"><p>Admin/cygrunsrv</p></li><li class="listitem"><p>Utils/file<sup>*</sup></p></li><li class="listitem"><p>Devel/flex</p></li><li class="listitem"><p>Devel/gcc4</p></li><li class="listitem"><p>Utils/gdbm</p></li><li class="listitem"><p>Devel/libgdbm-devel</p></li><li class="listitem"><p>Devel/gettext<sup>*</sup></p></li><li class="listitem"><p>Devel/gettext-devel</p></li><li class="listitem"><p>Devel/git</p></li><li class="listitem"><p>GNOME/libglib2.0-devel</p></li><li class="listitem"><p>GNOME/libglib2.0_0</p></li><li class="listitem"><p>Libs/libexpat1</p></li><li class="listitem"><p>Libs/libexpat1-devel</p></li><li class="listitem"><p>Libs/libmpfr-devel</p></li><li class="listitem"><p>Libs/libmpfr4</p></li><li class="listitem"><p>Libs/libsqlite3-devel</p></li><li class="listitem"><p>Libs/libsqlite3_0</p></li><li class="listitem"><p>Devel/libtool</p></li><li class="listitem"><p>Devel/libwrap-devel</p></li><li class="listitem"><p>Libs/libxml2</p></li><li class="listitem"><p>Libs/libxml2-devel</p></li><li class="listitem"><p>Libs/libxslt</p></li><li class="listitem"><p>Libs/libxslt-devel</p></li><li class="listitem"><p>Devel/make</p></li><li class="listitem"><p>Interpreters/m4</p></li><li class="listitem"><p>Devel/libncurses-devel</p></li><li class="listitem"><p>Devel/libncursesw-devel</p></li><li class="listitem"><p>Utils/patch</p></li><li class="listitem"><p>Utils/patchutils</p></li><li class="listitem"><p>Devel/pkg-config</p></li><li class="listitem"><p>Python/python<sup>2.7</sup></p></li><li class="listitem"><p>Python/python-openssl</p></li><li class="listitem"><p>Python/python-setuptools</p></li><li class="listitem"><p>Net/openssh</p></li><li class="listitem"><p>Devel/openssl-devel</p></li><li class="listitem"><p>Libs/libopenssl098</p></li><li class="listitem"><p>Libs/libopenssl100</p></li><li class="listitem"><p>Libs/popt</p></li><li class="listitem"><p>Devel/readline<sup>*</sup></p></li><li class="listitem"><p>Database/sqlite3</p></li><li class="listitem"><p>Devel/swig</p></li><li class="listitem"><p>Admin/syslog-ng</p></li><li class="listitem"><p>Devel/zlib-devel</p></li><li class="listitem"><p>Editor/vim</p></li><li class="listitem"><p>Web/wget</p></li></ul></div><p>
</p><div class="note" title="Note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title"><a name="package-docbook-utils"></a>Note</h3><p>
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>
......
......@@ -8,6 +8,13 @@
<surname>Zhao</surname>
</author>
<revhistory>
<revision>
<revnumber>0.4</revnumber>
<date>2013-08-01</date>
<authorinitials>Jondy Zhao - jondy.zhao@nexedi.com</authorinitials>
<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>
</section>
</chapter>
<appendix id="appendix_cygwin_packages"><title>Cygwin Required Packages List</title>
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment