Hi, everybody!
I tried to mark a previous OVA upload as template. So I used vsphere post-processor to upload and vsphere-template post-processor to turn the upload into a template. So far the idea.
At first I received EOF errors on the vsphere-template pre-processor. The documentation said “try setting reregister_vm to false”. So I did. And it worked.
But … I had specified a folder for the template. The post-processor actually cared to create this folder. But it did not move/rename the VM, now being a template, there.
I would guess that normally the VM gets unregistered in its original place (root) and re-registered in its target-folder. Switching off the registering, renders the VM stuck in its place and the move won’t happen.
From my point of view this is not exactly the expected behaviour. Is there a fix or workaround for this?
source "null" "uploader" {
communicator = "none"
}
build {
sources = [
"source.null.uploader"
]
post-processors {
post-processor "artifice"{
files = ["output/ubuntu/packer-ubuntu-server.vmx"]
}
post-processor "vsphere" {
keep_input_artifact = true
vm_name = "ubuntu"
host = "192.168.178.220"
esxi_host = "192.168.178.230"
datacenter = "Adrians Stack"
cluster = "Hells Dells"
datastore = "Saga DS2"
vm_network = "VM Network"
overwrite = true
insecure = true
username = "koffeiniker@stack.local"
password = "#####"
}
post-processor "vsphere-template" {
host = "192.168.178.220"
username = "koffeiniker@stack.local"
password = "#####"
insecure = true
folder = "/Packer Templates"
reregister_vm = false
}
}
}
Again: result of this packer-template is an empty folder, named as requested and the template-VM, properly marked but still in the DC-folder.
packer build .\upload.pkr.hcl
null.uploader: output will be in this color.
==> null.uploader: Running post-processor: (type artifice)
==> null.uploader (artifice): Using these artifact files: output/ubuntu/packer-ubuntu-server.vmx
==> null.uploader: Running post-processor: (type vsphere)
null.uploader (vsphere): Uploading output/ubuntu/packer-ubuntu-server.vmx to vSphere
null.uploader (vsphere): Validating Username and Password with dry-run
null.uploader (vsphere): Calling OVFtool to upload vm
null.uploader (vsphere): Opening VMX source: output/ubuntu/packer-ubuntu-server.vmx
null.uploader (vsphere): Opening VI target: vi://koffeiniker%40stack.local@192.168.178.220:443/Adrians%20Stack/host/Hells%20Dells
null.uploader (vsphere): Deploying to VI: vi://koffeiniker%40stack.local@192.168.178.220:443/Adrians%20Stack/host/Hells%20Dells
null.uploader (vsphere): Transfer Completed
null.uploader (vsphere): Completed successfully
==> null.uploader: Running post-processor: (type vsphere-template)
null.uploader (vsphere-template): Waiting 10s for VMware vSphere to start
null.uploader (vsphere-template): Choosing datacenter...
null.uploader (vsphere-template): Creating or checking destination folders...
null.uploader (vsphere-template): Creating folder: ubuntu
null.uploader (vsphere-template): Marking as a template...
Build 'null.uploader' finished after 2 minutes 52 seconds.
==> Wait completed after 2 minutes 52 seconds
==> Builds finished. The artifacts of successful builds are:
--> null.uploader: Did not export anything. This is the null builder
--> null.uploader: Created artifact from files: output/ubuntu/packer-ubuntu-server.vmx
--> null.uploader: VM: ubuntu Folder: Datastore: Saga DS2
--> null.uploader: VM: ubuntu Folder: Datastore: Saga DS2
Best regards and thanks in advance,
Adrian