Using SlapOS in the Windows

Jondy Zhao

Revision History
Revision 0.42013-08-01Jondy Zhao - jondy.zhao@nexedi.com
Add chapter Create SlapOS Windows Installer Bootstrip Node.
Revision 0.32013-07-11Jondy Zhao - jondy.zhao@nexedi.com
Add chapter SlapOS Sources Changed For Windows.
Revision 0.22013-07-05Jondy Zhao - jondy.zhao@nexedi.com
Add Cron Service and Know Issues section, fix some problems in the chapter Generating windows installer from sources.
Revision 0.12013-06-20Jondy Zhao - jondy.zhao@nexedi.com
Create the document.

Table of Contents

1. Introduction
2. Installing SlapOS node in the Windows
3. Using Slapos in the Windows
3.1. Configure SlapOS
3.2. SlapOS Node
3.3. SlapOS
3.4. SlapOS Runner
3.5. Command Console
3.6. User Guide
3.7. Cron Service
3.8. Known issues
4. Generating windows installer from sources
4.1. Setting Up Cygwin
4.2. Building SlapOS
4.3. Preparing the sources files for installer
4.4. Making installer
5. Run SlapOS From Sources
6. SlapOS Sources Changed For Windows
6.1. How to upgrade the sources
6.2. How to upgrade installer
6.3. Merge sources to master branch
7. Create SlapOS Windows Installer Bootstrip Node
7.1. Add SlapOS Bootstrip Node to Vifib Cluster
A. Cygwin Required Packages List

Chapter 1. Introduction

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.

The goal of this tutorial is to teach how to use SlapOS in the windows.

Chapter 2. Installing SlapOS node in the Windows

At first, we need to sign up in VIFIB community Cloud by clicking here https://www.slapos.org/login_form

Then download the latest slapos windows installer from http://www.erp5.org/dists/installer, 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.

Double click the installer, click Next, Next ...

Note

If the current user isn't Administrator, you need run it as Administrator. Right click the installer, then click Run As Administrator.

At the final wizard page, click Install.

Waiting for everything done.

If you prefer to install slapos node from sources, refer to the chapter Chapter 5, Run SlapOS From Sources.

Chapter 3. Using Slapos in the Windows

After SlapOS has been installed successfully, you will find program group "SlapOS" which include the following entries:

  • Configure SlapOS

  • SlapOS Node

  • SlapOS

  • SlapOS Runner

  • Command Console

  • User Guide

3.1. Configure SlapOS

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.

Go to slapos.org (or any other SlapOS Master), register if not already done, go to My Account and request an SSL certificate:

  • Copy the certificate in a file, save it in C:/slapos/cygwin/certificate

  • Copy the key in a file, save it in C:/slapos/cygwin/key

You can save them anywhere, but it's better to save them in the path C:/slapos/cygwin which is your slapos installed, because it's the default path in the slapos configure script.

More information refer to http://community.slapos.org/wiki/osoe-Lecture.SlapOS.Extended/developer-Installing.SlapOS.Client

Then register your computer to slapos.org community Cloud. By doing so, we will obtain X509 certificate and key which are later needed for the configuration process.

  • Login to www.slapos.org. Go to the "My Space" area and then to the "My Servers" section. Click on the button "New Server". This button will lead you to a page where you can specify the name of your server.

  • Enter a self contained name to identify your server. Consider a name "VIFIB 19 Asus i7 for JB" rather than "My Server". This will help you find your server later on. Click on the "Add" button.

  • X509 key and certificate are generated. Certificates are not stored by slapos.org server. They will be lost if you do not save them : Do not close this web page yet as we are going to store the key and certificate in files in next step.

  • Copy the certificate in a file, save it in C:/slapos/cygwin/computer.crt

  • Copy the key in a file, save it in C:/slapos/cygwin/computer.key

More information refer to http://community.slapos.org/wiki/osoe-Lecture.SlapOS.Extended/developer-Running.SlapOS.on.your.computer in the section VIFIB Registration.

Now it's time to run Configure SlapOS, click Start -> SlapOS -> Configure SlapOS, if the current user isn't Administrator, Right click Configure SlapOS, then Run As Administrator.

Or you can run configure script in the command line, first click Start -> SlapOS -> Command Console, if the current user isn't Administrator, Right click Command Console, then Run As Administrator, then in the command line:

/etc/opt/slapos/scripts/slapos-configure.sh

The configure script will guide you to configure slapos slave node, first, a super account "slaproot" will be created, you need type the password for this account

*** Info: Please enter a password for new user slaproot.  Please be sure
*** Info: that this password matches the password rules given on your system.
*** Info: Entering no password will exit the configuration.
*** Query: Please enter the password:
*** Query: Reenter:

Remember this password, it may be required when you run slapos configure again.

Next the configure script need certificate and key information:

  • Type computer certificate filename, if it's stored in the default path as above, type Enter directly

  • Type computer key filename, if it's stored in the default path as above, type Enter directly

  • Type client certificate filename, if it's stored in the default path as above, type Enter directly

  • Type client key filename, if it's stored in the default path as above, type Enter directly

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.

3.2. SlapOS Node

It's used to create instance of slapos webrunner, format slapos node, release software and create instance, you an run it at any time.

Click Start -> SlapOS -> SlapOS Node, if the current user isn't Administrator, Right click SlapOS Node, then Run As Administrator.

Be sure the scrip reports successfully, otherwise fix the problem and run it again.

3.3. SlapOS

This is used by slapos client, now it's connected to https://www.slapos.org. Logon and enjoy the journey in the SlapOS Cloud world.

3.4. SlapOS Runner

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.

After installing slapos, Node Runner isn't available. You need run SlapOS Node first. After that, Node Runner would be available.

Refer to http://community.slapos.org/wiki/osoe-Lecture.SlapOS.Extended/developer-Howto.Use.SlapOS.Web.Runner.html5

3.5. Command Console

It will open a terminal, here you can run most of slapos command, for examples,

slapos node foramt -cv --now
slapos supply slaprunner COMP-1658
slapos request "Jondy Web Runner In Windows 7" slaposwebrunner --node computer_guid=COMP-1658
slapos node software
slapos node instance
slapos node status

For more information, refer to http://git.erp5.org/gitweb/slapos.core.git/blob/HEAD:/documentation/source/slapos.usage.rst?js=1

3.6. User Guide

It just showes this documnet in the web browser.

3.7. Cron Service

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:

# List all cron tabs
crontab -l
# Check cron works
tail /var/log/messages
# Edit cron tasks
crontab -e
# Stop cron
net stop cron
# Start cron
net start cron

3.8. Known issues

  • Sometime cygwin service re6stnet cound't be stop by command "net stop", you need kill openvpn at first:

    TASKKILL /F /IM openvpn.exe
    net stop re6stnet
    rm -rf /var/lib/re6stnet
    

    Then you can start re6stnet again:

    net start re6stnet
    
  • If you're in non-english environment, be sure Cygwin Terminal works well in your own chareset. Click Start -> SlapOS -> Command Console, then

    netsh interface ipv6 show interface
    

    Check localize connection name show correctly. If not, maybe you need set environment variable "LANG" by command "ipwin" which is distributed with slapos windows installer. To be sure it's available. Type the following command:

    echo "LANG=C.$(ipwin codepage)" >> ~/.bashrc
    tail ~/.bashrc
    

    Then restart your command terminal.

  • Sometimes cygwin report remap errors, for example

      0 [main] python2.7 3416 child_info_fork::abort: unable to remap _zope_interface_coptimizations.dll to same address as parent (0x450000) - try running rebaseall
      0 [main] python2.7 2332 child_info_fork::abort: unable to remap etree.dll to same address as parent (0x28B0000) - try running rebaseall
      0 [main] python2.7 3604 child_info_fork::abort: unable to remap _zope_interface_coptimizations.dll to same address as parent (0x450000) - try running rebaseall
    

    You need close all the cygwin box, and double click autorebase.bat in the C:/slapos-node/cygwin/autorebase.bat.

  • Sometimes service re6stnet can't start, in this case, open cygwin terminal:

    rm -rf /var/lib/re6stnet
    net start re6stnet
    

Chapter 4. Generating windows installer from sources

This chapter describes how to generate windows installer from sources.

4.1. Setting Up Cygwin

We need Cygwin environment in order to build slapos sources code in the Windows.

Go to "http://cygwin.com/" and click on "setup-x86.exe". This will download a GUI installer called setup-x86.exe which can be run to download a complete cygwin installation via the internet. Follow the instructions on each screen to install Cygwin.

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.

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 Appendix A, Cygwin Required Packages List. Since setup.exe automatically selects dependencies, be careful not to unselect any required packages.

Refer to: http://cygwin.com/cygwin-ug-net/setup-net.html

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.

  • In the Windows destktop, Click Start

  • 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:

  • Type the following commands:

    D:
    MD slapos
    CD slapos
    SET PACKAGES=-P autobuild -P autoconf -P automake -P autossh -P binutils -P bison -P bzip2 -P ca-certificates -P cron -P curl -P cygport -P cygrunsrv -P file -P flex -P gcc4 -P gdbm -P libgdbm-devel -P gettext -P gettext-devel -P libglib2.0-devel -P libglib2.0_0 -P libexpat1 -P libexpat1-devel -P libmpfr-devel -P libmpfr4 -P libtool -P libxml2 -P libxml2-devel -P libxslt -P libxslt-devel -P make -P m4 -P libncurses-devel -P libncursesw-devel -P patch -P patchutils -P pkg-config -P python -P python-setuptools -P openssh -P openssl-devel -P libopenssl098 -P libopenssl100 -P popt -P readline -P libsqlite3-devel -P libsqlite3_0 -P swig -P syslog-ng -P zlib-devel -P vim -P wget -P libwrap-devel
    MOVE d:\temp\setup.exe .\
    setup.exe %PACKAGES% --no-verify -D -L -l D:\slapos\cygwin-packages -R D:\slapos\cygwin -s http://www.netgull.com/cygwin
    

    Waiting for the installer finished.

A cygwin icon will be added in the windows desktop, click it to enter cygwin box. If the current user isn't Administrator, then right click cygwin icon, click Run As Administrator. Be suer you have enough rights to run the following commands:

sed -i -e "s/4\.3\.4/4.5.3/g" /usr/bin/libtool
[[ -f /etc/passwd ]] || mkpasswd > /etc/passwd
[[ -f /etc/group ]] || mkgroup > /etc/group
cp /etc/passwd /etc/passwd.orig

Now we need patch cygport, otherwise we can't specify install path in the buildout.cfg:

_filename=/usr/bin/cygport
if [[ -f ${_filename} ]] ; then
    echo Patching ${_filename} ...
    sed -i -e 's/D="${workdir}\/inst"/D="${CYGCONF_PREFIX-${workdir}\/inst}"/g' ${_filename} &&
    echo OK.
fi
_filename=/usr/share/cygport/cygclass/autotools.cygclass
if [[ -f ${_filename} ]] ; then
    echo Patching ${_filename} ...
    sed -i -e 's/prefix=$(__host_prefix)/prefix=${CYGCONF_PREFIX-$(__host_prefix)}/g' ${_filename} &&
    echo OK.
fi
_filename=/usr/share/cygport/cygclass/cmake.cygclass
if [[ -f ${_filename} ]] ; then
    echo Patching ${_filename} ...
    sed -i -e 's/-DCMAKE_INSTALL_PREFIX=$(__host_prefix)/-DCMAKE_INSTALL_PREFIX=${CYGCONF_PREFIX-$(__host_prefix)}/g' ${_filename} &&
    echo OK.
fi

If you'd like to make the font of command box bigger

cd ~
cat <<EOF  > .minttyrc
BoldAsFont=no
Font=Courier New
FontHeight=16
Scrollbar=none
EOF

Then restart cygwin command box.

Note

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.

4.2. Building SlapOS

Double click the desktop icon "Cygwin" to enter cygwin command box, the following commands are typed in this box.

mkdir -p /opt/git
cd /opt/git
(cd slapos.package ; git pull) || git clone -b cygwin http://git.erp5.org/repos/slapos.package.git
cp /opt/git/slapos.package/windows/scripts/* /usr/local/bin
mkdir -p /opt/slapos/log
mkdir -p /opt/download-cache
cd /opt/slapos
echo "[buildout]
extends = http://git.erp5.org/gitweb/slapos.git/blob_plain/refs/heads/cygwin-share:/component/slapos/buildout.cfg
download-cache = /opt/download-cache
prefix = ${buildout:directory}
" > buildout.cfg
python -S -c 'import urllib2;print urllib2.urlopen("http://git.erp5.org/gitweb/slapos.core.git/blob_plain/HEAD:/bootstrap.py").read()' > bootstrap.py
python -S bootstrap.py
bin/buildout

Now we need patch slapos.core for supporting cygwin, after these code are merged, it don't need.

cd $(ls -d /opt/slapos/eggs/slapos.core-*.egg/)
_filename=/opt/git/slapos.package/windows/patches/slapos-core-format.patch
patch -f --dry-run -p1 < ${_filename} > /dev/null  && patch -p1 < ${_filename}

It seems netifaces.dll need to rebase,

echo "PATH .\bin;%PATH%" > /autorebase.bat
echo "dash /bin/rebaseall -v" >> /autorebase.bat
echo "EXIT 0" >> /autorebase.bat
echo "Pause" >> /autorebase.bat
exit

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.

4.3. Preparing the sources files for installer

Let's we start cygwin box, then clone slapos.package.git

cd /opt
rm -rf slapos/slapos.tar.gz
tar czf slapos.tar.gz slapos/
mv slapos.tar.gz slapos/

Then build babeld and openvpn for cygwin, we need use the sources in the slapos.package.git, they are patched for cygwin:

cd /opt/git/slapos.package/windows/babeld
# WINVER could be XP, VISTA, WIN7, WIN8
WINVER=XP make
cp babeld.exe /usr/bin

cd /opt/git/slapos.package/windows/openvpn
libtoolize
aclocal -I m4
autoheader
automake --add-missing
autoreconf
ac_cv_type_socklen_t=yes IFCONFIG="C:/WINDOWS/system32" LDFLAGS="-liphlpapi -lws2_32" CFLAGS="-DWIN32 -DCYGWIN -D__USE_W32_SOCKETS -D__INSIDE_CYGWIN_NET__ -DWIN32_LEAN_AND_MEAN -D_WIN32_WINNT=0x0503 -g" OPENSSL_CRYPTO_CFLAGS=-I/usr/include OPENSSL_CRYPTO_LIBS="-L/usr/lib -lcrypto" OPENSSL_SSL_CFLAGS=-I/usr/include OPENSSL_SSL_LIBS="-L/usr/lib -lssl" ./configure --disable-lzo --disable-pkcs11 --disable-plugin-auth-pam --disable-plugin-down-root
make
cp src/openvpn/.libs/openvpn.exe /usr/bin

Now, build ipwin.exe which used to manage slapos network. If you have msvc build environments, build the solution "D:/slapos/opt/git/slapos.packages/windows/ipwin/ipwin.sln" as your perfer. If you have no idea about msvc, do as the following steps:

  • Install Microsoft Visual C++ 2008 Express Edition or later version, you can download package from http://www.microsoft.com/visualstudio/express, it's free.

  • If you're running X64 environments, install Microsoft Windows SDK v7.0. You can download the package from http://download.microsoft.com/download/2/E/9/2E911956-F90F-4BFB-8231-E292A7B6F287/GRMSDKX_EN_DVD.iso.

  • Double click D:/slapos/cygwin/opt/git/slapos.packages/windows/ipwin/ipwin/build.bat in the windows explorer, be sure there is no error. This script assumes your vcvarsall.bat installed at "C:\Program Files\Microsoft Visual Studio 9.0\VC\vcvarsall.bat", and setenv.cmd installed at "C:\Program Files\Microsoft SDKs\Windows\v7.0\Bin\SetEnv.cmd" (required only for x64 platform), if not, please edit the script as your installed path.

    Note

    Don't run build.bat in the cygwin terminal, PROCESSOR_ARCHITECTURE maybe isn't right in the 64-bits architecture machine.

Then generate user-guide.html from using-slapos-in-windows.xml, generally you need not do this, just copy this file (you're looking now) to /opt/git/slapos.package/windows/docs. If you really want to generate the document by your self, make sure docbook-utils package installed in the Cygwin. Refer to Note to know what about docbook-utils.

cd /opt/git/slapos.package/windows/docs
# Before run make, be sure there is the file /usr/share/sgml/docbook/xsl-stylesheets/html/docbook.xsl, if not, find it first
# find /usr/share -name docbook.xsl
# Then replace the old file name with this one in the ./Makefile, then run make
make

Download pyOpenSSL-0.13.tar.gz, miniupnpc-1.8.tar.gz,

mkdir -p /opt/downloads
cd /opt/downloads
wget --no-check-certificate https://pypi.python.org/packages/source/p/pyOpenSSL/pyOpenSSL-0.13.tar.gz#md5=767bca18a71178ca353dff9e10941929
wget http://miniupnp.free.fr/files/download.php?file=miniupnpc-1.8.tar.gz -O miniupnpc-1.8.tar.gz

Get re6stnet for cygwin

cd /opt/git
(cd re6stnet ; git pull) || git clone -b cygwin http://git.erp5.org/repos/re6stnet.git
cd re6stnet
python setup.py sdist

Get the icons and openvpn drivers, if you use 32-bit windows, uncomment the comment line to download openvpn-driver-i386.tar.gz other than openvpn-driver-x86_64.tar.gz:

cd /opt
wget http://www.dashingsoft.com/products/slapos/images.tar.gz
wget http://www.dashingsoft.com/products/slapos/openvpn-driver-x64.tar.gz -O openvpn-driver.tar.gz
# wget http://www.dashingsoft.com/products/slapos/openvpn-driver-X86.tar.gz -O openvpn-driver.tar.gz
tar xzf images.tar.gz --no-same-owner
tar xzf openvpn-driver.tar.gz --no-same-owner

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

4.4. Making installer

We use Inno-Setup sripts to genarate microsoft installer, so we need install inno setup first. You can download the installer from http://www.innosetup.com, then install inno-setup in you computer

Then click Start -> Inno Setup 5 -> Inno Setup Compiler, to open inno setup.

In the inno setup window, click File -> Open, select the script: /opt/git/slapos.package/windows/scripts/slapos-all-in-one.iss

In the section "Setup", there are some options:

  • OutputDir: the generated installer will be saved here

  • OutputBaseFilename: the prefix of output installer

  • SourceDir: it's a very important option. It's the root path of all the relative path in the section "Files"

In the section "Files", to be sure all the source files are exsiting in your computer, for example

Source: "images\slapos.ico"; DestDir: "{app}\cygwin\etc\slapos\images";

Assum SourceDir in the section "Setup" is "D:\slapos", the builder will find "D:\slapos\images\slapos.ico" as the source, so this file should be exsited.

Click menu Build -> Compile, then wait for the building process finished. You can check the installer in the OutputDir.

There is another script "slapos.iss", it used to build network installer. All-in-one installer will include all the files, so no internet connection required. However network installer need internet connection to download the files and packages. It's remarkable smaller than all-in-one installer.

Chapter 5. Run SlapOS From Sources

This chapter describes how to run slapos slave node from sources in the windows.

First follow the instructions in the above chapter Chapter 4, Generating windows installer from sources, except the last section Making Installer.

Next register to slapos community to get client and computer certificate and key files, refer to Section 3.1, “Configure SlapOS”.

Then open cygwin box as Administrator, if the current user isn't Administrator, then right click cygwin icon, click Run As Administrator. Be suer you have enough rights to run the following commands:

(cd /opt/downloads; cp pyOpenSSL-0.13.tar.gz miniupnpc-1.8.tar.gz /)
mkdir -p /etc/slapos/scripts
/usr/local/bin/slapos-configure.sh
/usr/local/bin/slapos-node.sh

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.

Chapter 6. SlapOS Sources Changed For Windows

There are so many slapos sources changed for Windows. In the branch 'cygwin-share' in the slapos.git:

  • Change the buildout.cfg files for components, softwares and stack

  • Add patch files for building some component

  • Patch recipe slapos.cookbook

Re6stnet for windows:

  • Branch 'cygwin' in the re6stnet.git

  • Babeld package for cygwin, in branch 'cygwin' of slapos.package.git, location: windows/babeld

  • OpenVPN package for cygwin, in branch 'cygwin' of slapos.package.git, location: windows/openvpn

In the slapos.core.git:

  • Add branch 'cygwin'

In the slapos.package.git, add branch 'cygwin', it includes most of sources for cygwin:

  • babeld

  • docs

  • openvpn

  • netreport

  • ipwin

  • psutils

  • inotifyw

  • patches

  • scripts

6.1. How to upgrade the sources

Update sources in the slapos.git, then push it

Update sources in the slapos.core.git, then push it

Update sources in the re6stnet.git, then push it

Update sources in the slapos.package.git, then push it.

Update egg psutil, for example, upgrade from 0.6.1 to 1.0.0,

wget http://psutil.googlecode.com/files/psutil-1.0.0.tar.gz
tar xzf psutil-1.0.0.tar.gz
cd psutil-1.0.0
patch -p1 < /opt/git/slapos.package/windows/patches/psutil-0.6.2.patch
# change the version to 1.0.1 in the psutil/__init__.py
python setup.py sdist

Then upload the source packages dist/psutil-1.0.1.tar.gz to http://www.nexedi.org/static/packages/source/

Update egg netifaces, same as psutil, except use patch file netifaces-0.8-1-cygwin.patch

6.2. How to upgrade installer

Redo all the action in the chapter Generate Installer For Windows

6.3. Merge sources to master branch

merge cygwin to master in the slapos.core.git

merge cygwin to master in the slapos.package.git

merge cygwin-share to master in the slapos.git

merge cygwin to master in the re6stnet.git

Chapter 7. Create SlapOS Windows Installer Bootstrip Node

This chapter descripts how to create a slapos node in the windows which used to test the windows installer self:

  • Install cygwin

  • Prepare certificate, key, computer.key, computer.crt and test-computer.key, test-computer.crt

  • Run slapos-cygwin-bootstrip.sh, got it from slapos.package.git/windows/scripts

  • Run command slapos node software/release until instance created

  • Run command slapos remove to destroy this instance

7.1. Add SlapOS Bootstrip Node to Vifib Cluster

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.

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.

Appendix A. Cygwin Required Packages List

The following packages are requied by SlapOS Node

  • Devel/autobuild

  • Devel/autoconf

  • Devel/automake

  • Net/autossh

  • Devel/binutils

  • Devel/bison

  • Utils/bzip2

  • Net/ca-certificates

  • Admin/cron

  • Net/curl

  • Devel/cygport

  • Admin/cygrunsrv

  • Utils/file*

  • Devel/flex

  • Devel/gcc4

  • Utils/gdbm

  • Devel/libgdbm-devel

  • Devel/gettext*

  • Devel/gettext-devel

  • Devel/git

  • GNOME/libglib2.0-devel

  • GNOME/libglib2.0_0

  • Libs/libexpat1

  • Libs/libexpat1-devel

  • Libs/libmpfr-devel

  • Libs/libmpfr4

  • Libs/libsqlite3-devel

  • Libs/libsqlite3_0

  • Devel/libtool

  • Devel/libwrap-devel

  • Libs/libxml2

  • Libs/libxml2-devel

  • Libs/libxslt

  • Libs/libxslt-devel

  • Devel/make

  • Interpreters/m4

  • Devel/libncurses-devel

  • Devel/libncursesw-devel

  • Utils/patch

  • Utils/patchutils

  • Devel/pkg-config

  • Python/python2.7

  • Python/python-openssl

  • Python/python-setuptools

  • Net/openssh

  • Devel/openssl-devel

  • Libs/libopenssl098

  • Libs/libopenssl100

  • Libs/popt

  • Devel/readline*

  • Database/sqlite3

  • Devel/swig

  • Admin/syslog-ng

  • Devel/zlib-devel

  • Editor/vim

  • Web/wget

Note

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