Philippe Caseiro e142e8b205 | ||
---|---|---|
post-processors | ||
recipes/alpine | ||
tools | ||
LICENSE | ||
README.md | ||
build |
README.md
vms
Virtual machine image builder (based on EOLE3 builder)
What do we have here ?
The "build" tool
This is a simple wrapper to help you build and publish images with "packer" and "one-templates"
The "publisher" tool called "tools/one-templates"
This is a simple script to create and manage OpenNebula "Templates", all kinds of templates :
- VMs
- Networks
- Images
- Services
With this tool you can publish all the images and the necessary templates to actually use what you build in OpenNebula.
What you need ?
- Packer >= 1.6.0
- virt-sparsify (optional)
- Ruby
- These ruby gems :
- opennebula
- opennebula-cli
- opennebula-oca
- webrick
- An OpenNebula server or cluster >= 5.6 (with OpenNebula Flow and OneGate enabled)
- An account with the proper ACL on the OpenNebula server/cluster to :
- create/manage images
- create/manage vm templates
- create/manage services templates
- create/manage network templates
How to use the "build" tool ?
First you need to create the "publisher" "tools/one-templates" configuration. This configuration is located in "./tools/.one-templates.conf". Note that you can use a diffrent configuration file setting the TEMPLATER_CONFIG environment file before starting the build script.
$ cat ./tools/one-templates.conf
user: myOpenNebulaUser
token: myVerySecretOpenNebulaTemporaryToken
builder_addr: IP Address of the building machine (offen you own local IP address)
endpoint: http://myOpenNebulaServerAddress...
flow_endpoint: http://myOpenNEbulaServerAddress/oneflow
datastore_id: TheDataStoreIDForMyImages
When this configuration is done you can use the "build" tool.
The recipes are organised by OS, version and flavor, one OS contains various versions and falvors. You can list the availabled OS and versions whith this command :
$ ./build list
You can build :
* alpine :
- 3.16
To build all the flavors of a version you can run this command :
$ ./build start alpine 3.16
To build only one flavor for on version you can run this command :
$ ./build run alpine 3.16 k3s
!!! Make shure the "base" falvor is build before trying to build another falvor. !!!
$ ./build run alpine 3.16 base