This builds a systemvm template with Packer to be used with the Cosmic Cloud Orchestrating Platform.
Every night Jenkins builds systemvm templates from this repository. Find them here.
A Bubble is perfectly suited for this task.
./build.sh
Artifacts are a compressed QCOW2 and a VHD systemvm image in the ./packer_output
folder.
The build script will generate a new version every day. On April 3rd 2016
, the version would be 16.4.3
, etc. This is done so that it can be easy upgraded and that it is visible when the image was build (and thus which security patches are included).
Previously, only during version upgrades a new systemvm template was introduced. Starting with version 4.6
this was only done when needed in order to simplify the upgrades and reduce the impact (downtime) for users. Now, with the automated build and clear versioning, the Cosmic system VMs can be upgrade at any time, at any pace.
In Cosmic, there are several global settings
to tweak when working with system VM templates:
minreq.sysvmtemplate.version
this is the minimum version virtual routers should report for the management server to be able to work with. When you set it to16.4.1
, anything newer will be accepted (16.4.3
,16.5.12
,16.7.1
, etc) and older versions are rejected (4.6.0
(legacy versioning),16.3.22
,16.2.1
, etc). Routers that are not up-o-date will display aRequires Upgrade
flag.router.version.check
Should the version check be undesireable, then you can turn it off by setting this tofalse
. It istrue
by default.router.template.xenserver
androuter.template.kvm
. These point to the name of the template that should be used for new system VMs. For examplecosmic-systemvm-16.4.3
.
The system VMs generated by this build are compabible with:
- Any Cosmic Cloud version
- Apache CloudStack
4.6
,4.7
and4.8
- Possibly also with older Apache CloudStack versions but that has to be tested.
Compared to the stock Apache CloudStack system VMs, these are the changes:
- Larger disk with less partitions (so you can manually install packages or updates should you wish)
- Versioning, as described above
- Works in separate repository. Therefore it does not include
systemvm
-scripts, as these will be copied from thesystemvm.iso
at time of use anyway.
- Boris Schrijver
- Remi Bergsma