This shows you the differences between two versions of the page.
|
stratuslabpackaging [2010/07/16 15:36] meb |
stratuslabpackaging [2010/08/16 12:52] (current) meb |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== StratusLab Packaging ====== | ====== StratusLab Packaging ====== | ||
| - | StratusLab ships as RPM and DEB (TODO). | + | StratusLab ships as RPM and DEB (TODO). The packages have dependencies on the ONE package (also packaged by StratusLab, including its dependencies). |
| - | Note: (TODO) We don't have repositories for these yet but this is also in the pipeline. | + | 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. | ||
| ===== Packaging ===== | ===== Packaging ===== | ||
| Line 9: | Line 11: | ||
| The packages are generated using Maven. | The packages are generated using Maven. | ||
| - | The current (rather crud) strategy is to simply package the minimum set of StratusLab scripts to bootstrap the installation during the installation of the packages. In other words, very little goes in the packages and the heavy lifting is taking place during the execution of the ''stratus-install''. There're no dependencies expressed yet in the packages, but this will come soon as well. | + | 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. |
| - | During the post-install step of the package installation, the ''/etc/rc.local'' file is modified to start ONe at start-up, such that if the machine reboots for any reason, no manual intervention is required. | + | Note: For Debian-type system, there's a hidden dependency that's not captured in the packages that needs to be added is on Git. This will be replaced on Debian when we fully support DEB packages. The ''stratus-install'' script at the moment pulls the ONe source code from the ONe Git repository, therefore the Git client is required. |
| - | + | ||
| - | Note: There's a hidden dependency that's not captured in the packages that needs to be added is on Git (TODO). The ''stratus-install'' script at the moment pulls the ONe source code from the ONe Git repository, therefore the Git client is required. This is likely to change if we also package the source code of ONe as part of the StratusLab packaging job. | + | |
| ===== RPM ===== | ===== RPM ===== | ||
| - | To generate StratusLab as an RPM, clone the stratuslab-integration Git repository. At the root of that repository call the ''rpm:rpm'' goal: | + | To generate StratusLab as an RPM, clone the stratuslab-integration Git repository. At the root of that repository call the ''deploy'' goal: |
| <file> | <file> | ||
| - | mvn rpm:rpm | + | mvn clean deploy |
| </file> | </file> | ||
| - | This will generate the rpm. | + | This will generate the rpm, and upload it to the YUM repository. For the upload to work, you will need the following in your ''~/.m2/settings.xml'' file: |
| + | <file> | ||
| + | <settings> | ||
| + | <servers> | ||
| + | <server> | ||
| + | <id>stratuslab.snapshots</id> | ||
| + | <username>USERNAME</username> | ||
| + | <password>PASSWORD</password> | ||
| + | </server> | ||
| + | </servers> | ||
| + | </settings> | ||
| + | </file> | ||
| + | replacing ''USERNAME'' and ''PASSWORD'' with valid credentials. | ||
| ===== DEB ===== | ===== DEB ===== | ||
| + | |||
| + | (TODO: Update this section) | ||
| To generate StratusLab as a DEB, clone the stratuslab-integration Git repository. At the root of that repository call the ''exec:exec'' goal: | To generate StratusLab as a DEB, clone the stratuslab-integration Git repository. At the root of that repository call the ''exec:exec'' goal: | ||
| Line 34: | Line 49: | ||
| ===== Package Repositories ===== | ===== Package Repositories ===== | ||
| - | TODO | + | The StratusLab YUM repository is here: ''http://yum.stratuslab.eu'' |
| - | These packages will start to become much more useful once we have repositories to host them. This means that we'll be able to use ''apt-get'' and ''yum'' to install StratusLab. | + | The repository is updated from the Nexus server every 5 minutes. So any Maven deploy execution should appear in the package rep shortly after. |
| ===== Hudson Job ===== | ===== Hudson Job ===== | ||
| Hudson contains two jobs to build [[http://hudson.stratuslab.eu:8080/job/StratusLab_package_RPM/modules|RPMs]] and [[http://hudson.stratuslab.eu:8080/job/StratusLab_package_DEB/modules|DEBs]] that builds regularly and automatically the packages. Each package is also archived, so that you can retrieve them from there. | Hudson contains two jobs to build [[http://hudson.stratuslab.eu:8080/job/StratusLab_package_RPM/modules|RPMs]] and [[http://hudson.stratuslab.eu:8080/job/StratusLab_package_DEB/modules|DEBs]] that builds regularly and automatically the packages. Each package is also archived, so that you can retrieve them from there. | ||