StratusLab ships as RPM packages. The packages have dependencies on the ONE package (also packaged by StratusLab, including its dependencies).
However, depending on the hypervisor (i.e. KVM, XEN) we want to use and the share strategy (e.g. SSH, NFS), more packages are required to complete the installation. Therefore, depending on the installation strategy (e.g. manual, Quattor), further installation is required.
Different software is also required for setting up different machines: front-end, node, appliance repository, etc.
The packages are generated using Maven.
The StratusLab package contains the required software to facilitate manual installation (partly used for the Quattor installation as well), used by the system administrator to setup a cloud, but also end-user commands.
To generate StratusLab RPMs, clone the stratuslab-integration Git repository. At the root of that repository call the deploy goal:
mvn clean deploy
This will create the packages and upload them to the Nexus Maven Repository. For the upload to work, you will need the following in your ~/.m2/settings.xml file:
<settings>
<servers>
<server>
<id>stratuslab.snapshots</id>
<username>USERNAME</username>
<password>PASSWORD</password>
</server>
</servers>
</settings>
replacing USERNAME and PASSWORD with valid credentials.
From there, a cron job will add the RPMs to the project Yum repository.
The StratusLab YUM repository is here: http://yum.stratuslab.eu
The repository is updated from the Nexus server every 10 minutes. Build jobs should use private yum repositories created during the build process.
Hudson contains two jobs to build Packages that builds regularly and automatically the packages.