packer-builder-vsphere
packer-builder-vsphere copied to clipboard
Invalid configuration for device '0' | VSPHERE-ISO
When i was running builder for type: "vsphere-iso",
I am getting below error:
Build 'centos-75-vsphere' errored: error mounting an image: Invalid configuration for device '0'.
Am new bee to packer and vmware from my understanding, it seems to be issue with network. I tried attaching various networks, but getting same issue:
Below is the code for same,
{
"variables": {
"guest_additions_mode": "disable",
"headless": "false",
"vm_name": "packer-build-centos-75",
"disk_size": "10240",
"disk_type_id": "1",
"memory": "1024",
"cpu": "1",
"iso_checksum_type": "sha256",
"iso_checksum": "f90e4d28fa377669b2db16cbcb451fcb9a89d2460e3645993e30e137ac37d284",
"vcenter_server": "192.168.11.51",
"vcenter_datacenter": "ZYCUS-MUM-DC",
"vcenter_cluster": "ZYCUS-MUM-CLUSTER02",
"vcenter_datastore": "ESX07-LOCAL-DS01",
"vcenter_host": "inmuzp-esx-pr07.zycus.net",
"vcenter_network": "VDS-VLAN1210-QC-A",
"vcenter_username": "[email protected]",
"vcenter_password": "xxxxx"
},
"builders": [{
"name": "centos-75-vsphere",
"type": "vsphere-iso",
"vcenter_server": "{{ user `vcenter_server` }}",
"datacenter": "{{ user `vcenter_datacenter` }}",
"username": "{{ user `vcenter_username` }}",
"password": "{{ user `vcenter_password` }}",
"insecure_connection": true,
"vm_name": "{{user `vm_name`}}",
"host": "{{ user `vcenter_host` }}",
"cluster": "{{ user `vcenter_cluster` }}",
"datastore" : "{{ user `vcenter_datastore` }}",
"communicator": "ssh",
"ssh_username": "root",
"ssh_password": "root",
"network": "{{ user `vcenter_network` }}",
"boot_wait": "10s",
"shutdown_command": "echo 'vagrant'|sudo -S /sbin/halt -h -p",
"guest_os_type": "centos7_64Guest",
"vm_version" : 13,
"CPUs":"{{user `cpu`}}",
"CPU_limit": -1,
"RAM": "{{user `memory`}}",
"RAM_reserve_all": true,
"disk_size": "{{user `disk_size`}}",
"disk_thin_provisioned": true,
"iso_paths": [
"[ESX01-LOCAL-DS01] /ISO/CentOS-7-x86_64-Minimal-1511.iso"
]
}]
}
@mkuzmin, It will be great if you can help me with it.
try a different disk controller type. I was running into the same issue in windows and swapped the disk controller to lsilogic-sas from the default. There's a PR with the other disk types if that doesn't work.
@rushi47 Make sure the iso image is available when it tries to mount it. I had a simmiar issue like that that got fixed.
I had "video_ram": "16", and removing it for me removed the same error. It would be useful if we could get a finer level of debug information being returned. It may help us find out what device, "device '0'" actually is!
@rushi47 I know this is probably old but I ran into this same exact issue and what fixed it was that in your variables, you specified this
"vcenter_datastore": "ESX07-LOCAL-DS01"
But in your iso_paths, you specified a different datastore location:
"iso_paths": [
"[ESX01-LOCAL-DS01] /ISO/CentOS-7-x86_64-Minimal-1511.iso"
Change the iso_path and vcenter_datastore to match and you should be good.
@ChrisGWarp - I get the same error when I added "video_ram" - did you manage to find a way around?
No, sorry I didn't. I've not attempted to look at it since either, as so far, I've not needed to address video ram sizes.
The same issue is happening for me. Adding video_ram parameter causes the error "vsphere-iso: Invalid configuration for device '0'."
@kaposh - perhaps #264 could help you set video memory
the problem persists with 1.6.6
Just a note about the device number, you can look at the error logs display in vCenter and see which device is causing the problem. In this thread, some of the issues seem to refer to the video device, and others the cdrom device. Note also that the device number is essentially an artefact of the order in which the devices are declared in the JSON and so the order in which the devices are created.
@rushi47 I know this is probably old but I ran into this same exact issue and what fixed it was that in your variables, you specified this
"vcenter_datastore": "ESX07-LOCAL-DS01"
But in your iso_paths, you specified a different datastore location:
"iso_paths": [ "[ESX01-LOCAL-DS01] /ISO/CentOS-7-x86_64-Minimal-1511.iso"
Change the iso_path and vcenter_datastore to match and you should be good.
This is the correct answer here, but this is also wrong. There is no reason to assume that the ISO files should be in the same datastore as the VM. It should be possible to have distinct datastores.