Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/MissionCriticalCloud/systemvm-packer
Cosmic systemvm template Packer build
https://github.com/MissionCriticalCloud/systemvm-packer
cloudstack cosmic packer systemvm
Last synced: 2 months ago
JSON representation
Cosmic systemvm template Packer build
- Host: GitHub
- URL: https://github.com/MissionCriticalCloud/systemvm-packer
- Owner: MissionCriticalCloud
- License: apache-2.0
- Created: 2016-04-02T19:08:10.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2021-01-29T11:00:34.000Z (about 4 years ago)
- Last Synced: 2024-11-28T02:23:31.035Z (2 months ago)
- Topics: cloudstack, cosmic, packer, systemvm
- Language: Shell
- Size: 1.56 MB
- Stars: 8
- Watchers: 3
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-cloudstack - SystemVM Packer
README
# 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](https://beta-jenkins.mcc.schubergphilis.com/job/cosmic-systemvm/job/packer-build/badge/icon)](https://beta-jenkins.mcc.schubergphilis.com/job/cosmic-systemvm/job/packer-build/)
Every night Jenkins builds systemvm templates from this repository. [Find them here](https://beta-jenkins.mcc.schubergphilis.com/job/cosmic-systemvm/job/packer-build/).## Requirements
- [Packer](http://packer.io)
- [Qemu](http://wiki.qemu.org/Main_Page)
- Libguestfs / libguestfs-tools (virt-sparsify)A [Bubble](https://github.com/MissionCriticalCloud/bubble-blueprint) is perfectly suited for this task.
## Usage
`./build.sh`![screen shot 2016-04-03 at 19 51 18 pm](https://cloud.githubusercontent.com/assets/1630096/14233892/95dfcde2-f9d5-11e5-8619-72055519a657.png)
![screen shot 2016-04-03 at 20 15 24 pm](https://cloud.githubusercontent.com/assets/1630096/14234036/e0621bc4-f9d8-11e5-9a2e-dbde2ec233b9.png)
## 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](https://cloud.githubusercontent.com/assets/1630096/14233897/bedc461c-f9d5-11e5-80e3-9d5f069efbbf.png)
## 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](https://cloud.githubusercontent.com/assets/1630096/14233812/06d8512a-f9d3-11e5-93bb-dff8cb490d07.png)## 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