mirror of
https://github.com/hashicorp/packer.git
synced 2026-09-28 10:44:02 -04:00
28efdd4acca62cec31aa78f246e3a553910989eb
packer-builder-vsphere
Usage
- Download the plugin from the Releases page
- Install the plugin, or simply save it into the working directory together with a configuration file; you may create your own configuration file or take the one given below (remember to put your real values for names, passwords,
urlandhost)
template.json
{
"builders": [
{
"type": "vsphere",
"url": "https://your.lab.addr/",
"username": "username",
"password": "secret",
"ssh_username": "ssh_username",
"ssh_password": "ssh_secret",
"template": "source_vm_name",
"vm_name": "clone_name",
"host": "172.16.0.1"
}
]
}
(host is for target host)
- Run:
$ packer build template.json
Builder parameters
Required parameters:
usernamepasswordtemplatevm_namehost
Optional parameters:
- Destination parameters:
resource_pooldatastore
- Hardware configuration:
cpusramshutdown_command
ssh_usernamessh_passworddc_name(source datacenter)- Post-processing:
linked_clonecreate_snapshotconvert_to_template
See an example below:
{
"builders": [
{
"type": "vsphere",
"url": "https://your.lab.addr/",
"username": "username",
"password": "secret",
"ssh_username": "ssh_username",
"ssh_password": "ssh_secret",
"template": "template_name",
"vm_name": "clone_name",
"host": "172.16.0.1",
"linked_clone": true,
"create_snapshot": true,
"convert_to_template": true,
"RAM": "1024",
"cpus": "2",
"shutdown_command": "echo 'ssh_secret' | sudo -S shutdown -P now"
}
],
"provisioners": [
{
"type": "shell",
"inline": ["echo foo"]
}
]
}
where vm_name, RAM, cpus and shutdown_command are parameters of the new VM.
Parameters ssh_*, dc_name (datacenter name) and template (the name of the base VM) are for the base VM,
on which you are creating the new one (note that VMWare Tools should be already installed on this template machine).
vm_name and host (describe the name of the new VM and the name of the host where we want to create it) are required parameters; you can also specify resource_pool (if you don't, the builder will try to detect the default one) and datastore.
url, username and password are your vSphere parameters.
Progress bar
You can find it here as well.
- hardware customization of the new VM (cpu, ram)
- clone from template (not only from VM)
- clone to alternate host, resource pool and datastore
- enable linked clones
- support Windows guest systems
- enable VM-to-template conversion
- tests
- add a shutdown timeout
- further hardware customization:
- resize disks
- ram reservation
- cpu reservation
Languages
Go
94.2%
HCL
4%
Shell
0.8%
Makefile
0.3%
MDX
0.3%
Other
0.4%