This repo contains Packer templates and artefacts for building OVM and OVS Vagrant boxes, using a VirtualBox provider.
It is assumed that you have access to the OVM and OVS ISOs (available for free with a free account at http://edelivery.oracle.com)
This system has been tested with OVM 3.2.1 and OVM 3.3.1.
This system is for creating new boxes, not for upgrades from one version of OVM to another.
Two ISOs need to be available. The OVM install ISO needs to be available on the local file system (including NFS), but the OVS install ISO can be either local or available via ftp or http
The OVM install iso must be available as ./ovm.iso
The Oracle VM Manager will be installed on an Oracle Linux 6 minimal image.
The installation discovers the OVM version and calls the appropriate scripts.
Simply execute vagrant up
and the system will create a VM and install OVM manager on it, using the ovm.iso
provided.
Create a Vagrant box ovm-X.X.X.box thus (you need to ensure the file isn't already present, and to substitute appropriate values for =X.X.X
):
rm -f ovm-X.X.X-virtualbox.box vagrant package --output ovm-X.X.X.box
Create the box using Packer, thus:
packer build -var-file ovs-3.2.1.json template.json
This will create the box ovs-3.2.1.box
Create the box using Packer, thus:
packer build -var-file ovs-3.3.1.json template.json
This will create the box ovs-3.3.1.box
The boxes can be distributed both to a local vagrant (vagrant box add ovm-X.X.X.box; vagrant box add ovs-X.X.X.box
) and to some storage where they can be accessed via a URL.
Boxes for a specific OVM release are designed to be used together, but require some “run time” configuration to make that happen.
Create your Vagrant project by recursively copying in the contents of the OVM_Project/
directory (a Vagrantfile
and a scripts/
directory).
Modify the Vagrantfile
to suit your needs. Specific modifications are likely to include:
config.vm.box
- The OVS box to be used
config.vm.box_url
- URL used for loading the OVS box if not already loaded into Vagrant
ovm.vm.box
- The OVM box to be used
ovm.vm.box_url
- URL used for loading the OVM box if not already loaded into Vagrant
Other modifications are likely to include:
- Renaming the internal networks used to avoid conflict with other users on the same host using the same internal network name
- Adding more Adapters to the VMs (total of 8, of which 3 are already configured) to allow for more networks on the servers