Skip to content

MissionCriticalCloud/systemvm-packer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Cosmic System VM builder

This builds a systemvm template with Packer to be used with the Cosmic Cloud Orchestrating Platform.

Download pre-build templates

Build Status Every night Jenkins builds systemvm templates from this repository. Find them here.

Requirements

  • Packer
  • Qemu
  • Libguestfs / libguestfs-tools (virt-sparsify)

A Bubble is perfectly suited for this task.

Usage

./build.sh

screen shot 2016-04-03 at 19 51 18 pm

screen shot 2016-04-03 at 20 15 24 pm

Artifacts

Artifacts are a compressed QCOW2 and a VHD systemvm image in the ./packer_output folder.

screen shot 2016-04-03 at 19 50 36 pm

Versioning of the Cosmic System VMs

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 to 16.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 a Requires Upgrade flag.
  • router.version.check Should the version check be undesireable, then you can turn it off by setting this to false. It is true by default.
  • router.template.xenserver and router.template.kvm. These point to the name of the template that should be used for new system VMs. For example cosmic-systemvm-16.4.3.

Router with a Cosmic System VM

image

Compatibility

The system VMs generated by this build are compabible with:

  • Any Cosmic Cloud version
  • Apache CloudStack 4.6, 4.7 and 4.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 the systemvm.iso at time of use anyway.

Authors

  • Boris Schrijver
  • Remi Bergsma