Packer definitions for vagrant VirtualBox and VMware baseboxes. These are the vagrant baseboxes I use for my own personal projents. This project is run against a private Jenkins instance, and as template definitions are added and/or updated, links to the generated images are added below:
64-bit boxes:
- centos64 - CentOS 6.4 64-bit (VMware Tools 9.6.1.27366 build-1378637)
- centos510 - CentOS 5.10 64-bit (VMware Tools 9.6.1.27366 build-1378637)
- centos59 - CentOS 5.9 64-bit (VMware Tools 9.6.1.27366 build-1378637)
- ubuntu1310 - Ubuntu 13.10 server 64-bit (VMware Tools 9.6.1.27366 build-1378637)
- ubuntu1304 - Ubuntu 13.04 server 64-bit (VMware Tools 9.6.1.27366 build-1378637)
- ubuntu1204 - Ubuntu 12.04.3 server 64-bit (VMware Tools 9.6.1.27366 build-1378637)
- ubuntu1204-docker - Ubuntu 12.04.3 server 64-bit with Docker (VMware Tools 9.6.1.27366 build-1378637)
- ubuntu1004 - Ubuntu 10.04.4 server 64-bit (VMware Tools 9.6.1.27366 build-1378637)
- fedora20 - Fedora 20 Alpha 64-bit (VMware Tools 9.6.1.27366 build-1378637)
- fedora19 - Fedora 19 64-bit (VMware Tools 9.6.1.27366 build-1378637)
- fedora18 - Fedora 18 64-bit (VMware Tools 9.6.1.27366 build-1378637)
- oracle64 - Oracle Linux Release 6 Update 4 64-bit (VMware Tools 9.6.1.27366 build-1378637)
- oracle63 - Oracle Linux Release 6 Update 3 64-bit (VMware Tools 9.6.1.27366 build-1378637)
- oracle62 - Oracle Linux Release 6 Update 2 64-bit (VMware Tools 9.6.1.27366 build-1378637)
- oracle61 - Oracle Linux Release 6 Update 1 64-bit (VMware Tools 9.6.1.27366 build-1378637)
- oracle510 - Oracle Linux Release 5 Update 10 64-bit (VMware Tools 9.6.1.27366 build-1378637)
- oracle59 - Oracle Linux Release 5 Update 9 64-bit (VMware Tools 9.6.1.27366 build-1378637)
- oracle58 - Oracle Linux Release 5 Update 8 64-bit (VMware Tools 9.6.1.27366 build-1378637)
- oracle57 - Oracle Linux Release 5 Update 7 64-bit (VMware Tools 9.6.1.27366 build-1378637)
- debian72 - Debian "wheezy" 7.2 64-bit (VMware Tools 9.6.1.27366 build-1378637)
- debian71 - Debian "wheezy" 7.1 64-bit (VMware Tools 9.6.1.27366 build-1378637)
- debian608 - Debian "squeeze" 6.0.8 64-bit (VMware Tools 9.6.1.27366 build-1378637)
- debian607 - Debian "squeeze" 6.0.7 64-bit (VMware Tools 9.6.1.27366 build-1378637)
32-bit boxes:
- centos64-i386 - CentOS 6.4 32-bit (VMware Tools 9.6.1.27366 build-1378637)
- centos510-i386 - CentOS 6.4 32-bit (VMware Tools 9.6.1.27366 build-1378637)
- centos59-i386 - CentOS 5.9 32-bit (VMware Tools 9.6.1.27366 build-1378637)
- ubuntu1310-i386 - Ubuntu 13.10 server 32-bit (VMware Tools 9.6.1.27366 build-1378637)
- ubuntu1304-i386 - Ubuntu 13.04 server 32-bit (VMware Tools 9.6.1.27366 build-1378637)
- ubuntu1204-i386 - Ubuntu 12.04.3 server 32-bit (VMware Tools 9.6.1.27366 build-1378637)
- ubuntu1004-i386 - Ubuntu 10.04.4 server 32-bit (VMware Tools 9.6.1.27366 build-1378637)
- fedora20-i386 - Fedora 20 32-bit (VMware Tools 9.6.1.27366 build-1378637)
- fedora19-i386 - Fedora 19 32-bit (VMware Tools 9.6.1.27366 build-1378637)
- fedora18-i386 - Fedora 18 32-bit (VMware Tools 9.6.1.27366 build-1378637)
- oracle64-i386 - Oracle Linux Release 6 Update 4 32-bit (VMware Tools 9.6.1.27366 build-1378637)
- oracle63-i386 - Oracle Linux Release 6 Update 3 32-bit (VMware Tools 9.6.1.27366 build-1378637)
- oracle62-i386 - Oracle Linux Release 6 Update 2 32-bit (VMware Tools 9.6.1.27366 build-1378637)
- oracle61-i386 - Oracle Linux Release 6 Update 1 32-bit (VMware Tools 9.6.1.27366 build-1378637)
- oracle510-i386 - Oracle Linux Release 5 Update 10 32-bit (VMware Tools 9.6.1.27366 build-1378637)
- oracle59-i386 - Oracle Linux Release 5 Update 9 32-bit (VMware Tools 9.6.1.27366 build-1378637)
- oracle58-i386 - Oracle Linux Release 5 Update 8 32-bit (VMware Tools 9.6.1.27366 build-1378637)
- oracle57-i386 - Oracle Linux Release 5 Update 7 32-bit (VMware Tools 9.6.1.27366 build-1378637)
- debian72-i386 - Debian "wheezy" 7.2 32-bit (VMware Tools 9.6.1.27366 build-1378637)
- debian71-i386 - Debian "wheezy" 7.1 32-bit (VMware Tools 9.6.1.27366 build-1378637)
- debian608-i386 - Debian "squeeze" 6.0.8 32-bit (VMware Tools 9.6.1.27366 build-1378637)
- debian607-i386 - Debian "squeeze" 6.0.7 32-bit (VMware Tools 9.6.1.27366 build-1378637)
64-bit boxes:
- centos64 - CentOS 6.4 64-bit (VMware Tools 9.6.0.26048 build-1294478)
- centos510 - CentOS 5.10 64-bit (VMware Tools 9.6.0.26048 build-1294478)
- centos59 - CentOS 5.9 64-bit (VMware Tools 9.6.0.26048 build-1294478)
- ubuntu1310 - Ubuntu 13.10 server 64-bit basebox (VMware Tools 9.6.0.26048 build-1294478)
- ubuntu1304 - Ubuntu 13.04 server 64-bit (VMware Tools 9.6.0.26048 build-1294478)
- ubuntu1204 - Ubuntu 12.04.3 server 64-bit (VMware Tools 9.6.0.26048 build-1294478)
- ubuntu1204-docker - Ubuntu 12.04.3 server 64-bit with Docker (VMware Tools 9.6.0.26048 build-1294478)
- ubuntu1004 - Ubuntu 10.04.4 server 64-bit (VMware Tools 9.6.0.26048 build-1294478)
- fedora20 - Fedora 20 Alpha 64-bit (VMware Tools 9.6.0.26048 build-1294478)
- fedora19 - Fedora 19 64-bit (VMware Tools 9.6.0.26048 build-1294478)
- fedora18 - Fedora 18 64-bit (VMware Tools 9.6.0.26048 build-1294478)
- oracle64 - Oracle Linux Release 6 Update 4 64-bit (VMware Tools 9.6.0.26048 build-1294478)
- oracle63 - Oracle Linux Release 6 Update 3 64-bit (VMware Tools 9.6.0.26048 build-1294478)
- oracle62 - Oracle Linux Release 6 Update 2 64-bit (VMware Tools 9.6.0.26048 build-1294478)
- oracle61 - Oracle Linux Release 6 Update 1 64-bit (VMware Tools 9.6.0.26048 build-1294478)
- oracle510 - Oracle Linux Release 5 Update 10 64-bit (VMware Tools 9.6.0.26048 build-1294478)
- oracle59 - Oracle Linux Release 5 Update 9 64-bit (VMware Tools 9.6.0.26048 build-1294478)
- oracle58 - Oracle Linux Release 5 Update 8 64-bit (VMware Tools 9.6.0.26048 build-1294478)
- oracle57 - Oracle Linux Release 5 Update 7 64-bit (VMware Tools 9.6.0.26048 build-1294478)
- debian72 - Debian "wheezy" 7.2 64-bit (VMware Tools 9.6.0.26048 build-1294478)
- debian71 - Debian "wheezy" 7.1 64-bit (VMware Tools 9.6.0.26048 build-1294478)
- debian608 - Debian "squeeze" 6.0.8 64-bit (VMware Tools 9.6.0.26048 build-1294478)
- debian607 - Debian "squeeze" 6.0.7 64-bit (VMware Tools 9.6.0.26048 build-1294478)
- freebsd91 - FreeBSD 9.1 64-bit (VMware Tools 9.6.0.26048 build-1294478)
32-bit boxes:
- centos64-i386 - CentOS 6.4 32-bit (VMware Tools 9.6.0.26048 build-1294478)
- centos510-i386 - CentOS 5.10 32-bit (VMware Tools 9.6.0.26048 build-1294478)
- centos59-i386 - CentOS 5.9 32-bit (VMware Tools 9.6.0.26048 build-1294478)
- ubuntu1310-i386 - Ubuntu 13.10 server 32-bit (VMware Tools 9.6.0.26048 build-1294478)
- ubuntu1304-i386 - Ubuntu 13.04 server 32-bit (VMware Tools 9.6.0.26048 build-1294478)
- ubuntu1204-i386 - Ubuntu 12.04.3 server 32-bit (VMware Tools 9.6.0.26048 build-1294478)
- ubuntu1004-i386 - Ubuntu 10.04.4 server 32-bit (VMware Tools 9.6.0.26048 build-1294478)
- fedora20-i386 - Fedora 20 32-bit (VMware Tools 9.6.0.26048 build-1294478)
- fedora19-i386 - Fedora 19 32-bit (VMware Tools 9.6.0.26048 build-1294478)
- fedora18-i386 - Fedora 18 32-bit (VMware Tools 9.6.0.26048 build-1294478)
- oracle64-i386 - Oracle Linux Release 6 Update 4 32-bit (VMware Tools 9.6.0.26048 build-1294478)
- oracle63-i386 - Oracle Linux Release 6 Update 3 32-bit (VMware Tools 9.6.0.26048 build-1294478)
- oracle62-i386 - Oracle Linux Release 6 Update 2 32-bit (VMware Tools 9.6.0.26048 build-1294478)
- oracle61-i386 - Oracle Linux Release 6 Update 1 32-bit (VMware Tools 9.6.0.26048 build-1294478)
- oracle510-i386 - Oracle Linux Release 5 Update 10 32-bit (VMware Tools 9.6.0.26048 build-1294478)
- oracle59-i386 - Oracle Linux Release 5 Update 9 32-bit (VMware Tools 9.6.0.26048 build-1294478)
- oracle58-i386 - Oracle Linux Release 5 Update 8 32-bit (VMware Tools 9.6.0.26048 build-1294478)
- oracle57-i386 - Oracle Linux Release 5 Update 7 32-bit (VMware Tools 9.6.0.26048 build-1294478)
- debian72-i386 - Debian "wheezy" 7.2 32-bit (VMware Tools 9.6.0.26048 build-1294478)
- debian71-i386 - Debian "wheezy" 7.1 32-bit (VMware Tools 9.6.0.26048 build-1294478)
- debian608-i386 - Debian "squeeze" 6.0.8 32-bit (VMware Tools 9.6.0.26048 build-1294478)
- debian607-i386 - Debian "squeeze" 6.0.7 32-bit (VMware Tools 9.6.0.26048 build-1294478)
- misheska-centos64 - CentOS 6.4 64-bit VMware Fusion 5.0.3 basebox (VMware Tools 9.2.2.18018 build-893683)
- misheska-centos59 - CentOS 5.9 64-bit VMware Fusion 5.0.3 basebox (VMware Tools 9.2.2.18018 build-893683)
- misheska-ubuntu1304 - Ubuntu 13.04 server 64-bit VMware Fusion 5.0.3 basebox (VMware Tools 9.2.2.18018 build-893683)
- misheska-ubuntu1204 - Ubuntu 12.04.3 server 64-bit VMware Fusion 5.0.3 basebox (VMware Tools 9.2.2.18018 build-893683)
- misheska-ubuntu1204-docker - Ubuntu 12.04.3 server 64-bit with Docker VMware Fusion 5.0.3 basebox (VMware Tools 9.2.2.18018 build-893683)
- misheska-ubuntu1004 - Ubuntu 10.04.4 server 64-bit VMware Fusion 5.0.3 basebox (VMware Tools 9.2.2.18018 build-893683)
- misheska-fedora19 - Fedora 19 64-bit VMware Fusion 5.0.3 basebox (VMware Tools 9.2.2.18018 build-893683)
- misheska-debian71 - Debian "wheezy" 7.1 64-bit VMware Fusion 5.0.3 basebox (VMware Tools 9.2.2.18018 build-893683)
- misheska-centos64 - CentOS 6.4 64-bit VMware Workstation 9 basebox (VMware Tools 9.2.3.21136 build-1031360)
- misheska-centos59 - CentOS 5.9 64-bit VMware Workstation 9 basebox (VMware Tools 9.2.3.21136 build-1031360)
- misheska-ubuntu1304 - Ubuntu 13.04 server 64-bit VMware Workstation 9 basebox (VMware Tools 9.2.3.21136 build-1031360)
- misheska-ubuntu1204 - Ubuntu 12.04.3 server 64-bit VMware Workstation 9 basebox (VMware Tools 9.2.3.21136 build-1031360)
- misheska-ubuntu1204-docker - Ubuntu 12.04.3 server 64-bit with Docker VMware Workstation 9 basebox (VMware Tools 9.2.3.21136 build-1031360)
- misheska-ubuntu1004 - Ubuntu 10.04.4 server 64-bit VMware Workstation 9 basebox (VMware Tools 9.2.3.21136 build-1031360)
- misheska-opensuse114 - openSUSE 11.4 64-bit VMware Fusion 5.0.3 basebox (VMware Tools 9.2.3.21136 build-1031360)
- misheska-debian71 - Debian "wheezy" 7.1 64-bit VMware Fusion 5.0.3 basebox (VMware Tools 9.2.3.21136 build-1031360)
64-bit boxes:
- centos65 - CentOS 6.5 64-bit (VirtualBox 4.3.6 Guest Additions)
- centos64 - CentOS 6.4 64-bit (VirtualBox 4.3.6 Guest Additions)
- centos510 - CentOS 5.10 64-bit (VirtualBox 4.3.6 Guest Additions)
- centos59 - CentOS 5.9 64-bit (VirtualBox 4.3.6 Guest Additions)
- ubuntu1310 - Ubuntu 13.10 64-bit (VirtualBox 4.3.6 Guest Additions)
- ubuntu1304 - Ubuntu 13.04 64-bit (VirtualBox 4.3.6 Guest Additions)
- ubuntu1204 - Ubuntu 12.04.3 server 64-bit (VirtualBox 4.3.6 Guest Additions)
- ubuntu1204-docker - Ubuntu 12.04.3 server 64-bit with Docker (VirtualBox 4.3.6 Guest Additions)
- ubuntu1004 - Ubuntu 10.04.4 server 64-bit (VirtualBox 4.3.6 Guest Additions)
- fedora20 - Fedora 20 Alpha 64-bit (VirtualBox 4.3.6 Guest Additions)
- fedora19 - Fedora 19 64-bit (VirtualBox 4.3.6 Guest Additions)
- fedora18 - Fedora 18 64-bit (VirtualBox 4.3.6 Guest Additions)
- oracle65 - Oracle Linux Release 6 Update 5 64-bit (VirtualBox 4.3.6 Guest Additions)
- oracle64 - Oracle Linux Release 6 Update 4 64-bit (VirtualBox 4.3.6 Guest Additions)
- oracle63 - Oracle Linux Release 6 Update 3 64-bit (VirtualBox 4.3.6 Guest Additions)
- oracle62 - Oracle Linux Release 6 Update 2 64-bit (VirtualBox 4.3.6 Guest Additions)
- oracle61 - Oracle Linux Release 6 Update 1 64-bit (VirtualBox 4.3.6 Guest Additions)
- oracle510 - Oracle Linux Release 5 Update 10 64-bit (VirtualBox 4.3.6 Guest Additions)
- oracle59 - Oracle Linux Release 5 Update 9 64-bit (VirtualBox 4.3.6 Guest Additions)
- oracle58 - Oracle Linux Release 5 Update 8 64-bit (VirtualBox 4.3.6 Guest Additions)
- oracle57 - Oracle Linux Release 5 Update 7 64-bit (VirtualBox 4.3.6 Guest Additions)
- debian73 Debian "wheezy" 7.2 64-bit (VirtualBox 4.3.6 Guest Additions)
- debian72 Debian "wheezy" 7.2 64-bit (VirtualBox 4.3.6 Guest Additions)
- debian608 Debian "squeeze" 6.0.8 64-bit (VirtualBox 4.3.6 Guest Additions)
32-bit boxes:
- centos65-i386 - CentOS 6.5 32-bit (VirtualBox 4.3.6 Guest Additions)
- centos64-i386 - CentOS 6.4 32-bit (VirtualBox 4.3.6 Guest Additions)
- centos510-i386 - CentOS 5.10 32-bit (VirtualBox 4.3.6 Guest Additions)
- centos59-i386 - CentOS 5.9 32-bit (VirtualBox 4.3.6 Guest Additions)
- ubuntu1310-i386 - Ubuntu 13.10 32-bit (VirtualBox 4.3.6 Guest Additions)
- ubuntu1304-i386 - Ubuntu 13.04 32-bit (VirtualBox 4.3.6 Guest Additions)
- ubuntu1204-i386 - Ubuntu 12.04.3 server 32-bit (VirtualBox 4.3.6 Guest Additions)
- ubuntu1004-i386 - Ubuntu 10.04.4 server 32-bit (VirtualBox 4.3.6 Guest Additions)
- fedora20-i386 - Fedora 20 32-bit (VirtualBox 4.3.6 Guest Additions)
- fedora19-i386 - Fedora 19 32-bit (VirtualBox 4.3.6 Guest Additions)
- fedora18-i386 - Fedora 18 32-bit (VirtualBox 4.3.6 Guest Additions)
- oracle65-i386 - Oracle Linux Release 6 Update 5 32-bit (VirtualBox 4.3.6 Guest Additions)
- oracle64-i386 - Oracle Linux Release 6 Update 4 32-bit (VirtualBox 4.3.6 Guest Additions)
- oracle63-i386 - Oracle Linux Release 6 Update 3 32-bit (VirtualBox 4.3.6 Guest Additions)
- oracle62-i386 - Oracle Linux Release 6 Update 2 32-bit (VirtualBox 4.3.6 Guest Additions)
- oracle61-i386 - Oracle Linux Release 6 Update 1 32-bit (VirtualBox 4.3.6 Guest Additions)
- oracle510-i386 - Oracle Linux Release 5 Update 10 32-bit (VirtualBox 4.3.6 Guest Additions)
- oracle59-i386 - Oracle Linux Release 5 Update 9 32-bit (VirtualBox 4.3.6 Guest Additions)
- oracle58-i386 - Oracle Linux Release 5 Update 8 32-bit (VirtualBox 4.3.6 Guest Additions)
- oracle57-i386 - Oracle Linux Release 5 Update 7 32-bit (VirtualBox 4.3.6 Guest Additions)
- debian73-i386 - Debian "wheezy" 7.2 32-bit (VirtualBox 4.3.6 Guest Additions)
- debian72-i386 - Debian "wheezy" 7.2 32-bit (VirtualBox 4.3.6 Guest Additions)
- debian608-i386 - Debian "squeeze" 6.0.8 32-bit (VirtualBox 4.3.6 Guest Additions)
A GNU Make makefile is provided to support automated builds. It assumes that both GNU Make and Packer are in the PATH. Download and install Packer from http://www.packer.io/downloads.html
To build a VirtualBox box:
make list
# Choose a definition, like 'virtualbox/ubuntu1204'
make virtualbox/ubuntu1204.box
To build a VMware Fusion/VMware Workstation box:
make list
# Choose a definition, like 'vmware/centos64'
make vmware/centos64.box
By default, the templates build without installing a provisioning client, like for Chef or Puppet. You can choose to install a provisioning client by using the following Packer user variables when a basebox is built.
The provisioner
variable controls which client provisioner is installed. Current values can be:
-var "provisioner=provisionerless" - the default, no client provisioner is installed
-var "provisioner=chef" - the Chef client provisioner is installed
If the 'provisioner' variable is set to something besides provisionerless
, you can use the provisioner_version
variable to specify the version of the provisioner to be installed. Legal values are:
-var "provisioner_version=latest" - install the latest version of the provisioner
-var "provisioner_version=x.y.z" - the provisioner version in dotted triplet form (example: 11.8.0)
Both variables should be used together when you specify a provisioner to be installed. For example, to install the
latest version of the Chef client in an Ubuntu 12.04 basebox, run the following packer
command in the appropriate
teamplate
directory:
packer build -var "provisioner=chef" -var "provisioner_version=11.8.0" ubuntu1204.json
Microsoft won't allow us to redistribute Windows baseboxes, so you must obtain the appropriate ISO for each Windows template and build them yourself.
The resultant Windows baseboxes also need the vagrant-windows
plugin installed to run properly. Run the following
command to install the vagrant-windows
plugin:
vagrant plugin install vagrant-windows
You'll also need to add the following settings to your Vagrantfile
to enable the correct WinRM settings for
vagrant
to talk to the Windows guest and set up shared folders properly:
config.vm.guest = :windows
config.windows.halt_timeout = 25
config.winrm.username = "vagrant"
config.winrm.password = "vagrant"
config.vm.network :forwarded_port, guest: 5985, host: 5985
If you plan on using Windows in GUI mode, add the following section to your Vagrantfile in order to enable GUI mode:
If you plan on using Windows in GUI mode, add the following section to your Vagrantfile in order to enable GUI mode:
VirtualBox:
config.vm.provider :virtualbox do |p|
p.gui = true
end
VMware Workstation:
config.vm.provider :vmware_workstation do |p|
p.gui = true
end
VMware Fusion:
config.vm.provider :vmware_fusion do |p|
p.gui = true
end
If you are using VirtualBox and want to use a resolution higher than
800x600, add the following extra settings to your config.vm.provider
block
to increase the amount of video memory, remove guest resolution restrictions,
and to set the default resolution (1024x768 is just an example):
config.vm.provider :virtualbox do |p|
p.gui = true
v.customize ["modifyvm", :id, "--vram", "256"]
v.customize ["setextradata", "global", "GUI/MaxGuestResolution", "any"]
v.customize ["setextradata", :id, "CustomVideoMode1", "1024x768x32"]
end
To use the 10Gb VMXNET3 virtual NIC instead of the default 1Gb E1000 virtual NIC on VMware:
VMware Workstation:
config.vm.provider :vmware_workstation do |p|
p.vmx["ethernet0.virtualDev"] = "vmxnet3"
end
VMware Fusion:
config.vm.provider :vmware_fusion do |p|
p.vmx["ethernet0.virtualDev"] = "vmxnet3"
end
If you want to provider back-door VNC access to your VMware guest instances:
Mware Workstation:
config.vm.provider :vmware_workstation do |p|
p.vmx["RemoteDisplay.vnc.enabled"] = "true"
p.vmx["RemoteDisplay.vnc.port"] = "5900"
end
VMware Fusion:
config.vm.provider :vmware_fusion do |p|
p.vmx["RemoteDisplay.vnc.enabled"] = "true"
p.vmx["RemoteDisplay.vnc.port"] = "5900"
end