terraform-provider-vsphere: Operating System Not Found Using vsphere_virtual_machine ovf_deploy with Cisco Router Appliance

Terraform Version

1.0.11

vSphere Provider Version

2.0.2

vSphere Version

7.0.0.10600

Affected Resource(s)

  • vsphere_virtual_machine

using ovf_deploy

Terraform Configuration Files

resource "vsphere_virtual_machine" "dmvpn-spoke" {
  name                       = var.vm_name
  resource_pool_id           = data.vsphere_resource_pool.pool.id
  datastore_id               = data.vsphere_datastore.datastore.id
  datacenter_id              = data.vsphere_datacenter.dc.id
  host_system_id             = data.vsphere_host.host.id
  wait_for_guest_net_timeout = 0
  wait_for_guest_ip_timeout  = 0
  folder                     = var.vc_folder
  num_cpus                   = 1
  memory                     = 4096
  firmware                   = data.vsphere_ovf_vm_template.C8Kv.firmware
  guest_id                   = data.vsphere_ovf_vm_template.C8Kv.guest_id
  scsi_controller_count      = data.vsphere_ovf_vm_template.C8Kv.scsi_controller_count
  scsi_bus_sharing           = "noSharing"
  scsi_type                  = data.vsphere_ovf_vm_template.C8Kv.scsi_type
  ovf_deploy {
    local_ovf_path    = "./modules/dmvpnspoke/${var.router_ova}"
    disk_provisioning = "thin"
  }

  disk {
    label            = "disk0"
    size             = 16
    thin_provisioned = true
  }

  dynamic "network_interface" {
    for_each = toset(var.interfaces)
    content {
      network_id   = data.vsphere_network.pgs[network_interface.value.port_group].id
      adapter_type = network_interface.value.adapter_type
    }
  }

  cdrom {
    client_device = true
  }
}

Debug Output

tftrace.log

Panic Output

Expected Behavior

Appliance deployed and booted

Actual Behavior

Appliance deploys, but does not boot with error: Operating System Not Found

Steps to Reproduce

  1. terraform apply

Important Factoids

This is a 3rd party Cisco Catalyst 8000v appliance. Not sure if this is causing the issue but the OVA is packaged with two disks and when imported manually into vSphere you must select the configuration profile (size) which determines the disk used (8GB or 16GB). The OVF file does supply a default though, the 16GB file. Here are the relevant (disk-related) sections of the OVF:

<ovf:References>
    <ovf:File ovf:href="c8000v_harddisk_8G.vmdk" ovf:id="file1" ovf:size="723968" />
    <ovf:File ovf:href="c8000v_harddisk_16G.vmdk" ovf:id="file2" ovf:size="1380352" />
    <ovf:File ovf:href="README-OVF.txt" ovf:id="readme-ovf" ovf:size="8740" />
    <ovf:File ovf:href="c8000v-universalk9_vga.17.06.01a.iso" ovf:id="c8000v-universalk9_vga.17.06.01a.iso" ovf:size="881960960" />
  </ovf:References>
  <ovf:DiskSection>
    <ovf:Info>Virtual disk information</ovf:Info>
    <ovf:Disk ovf:capacity="8" ovf:capacityAllocationUnits="byte * 2^30" ovf:diskId="vmdisk1" ovf:fileRef="file1" ovf:format="http://www.vmware.com/interfaces/specifications/vmdk.html#streamOptimized" ovf:populatedSize="293011456" />
    <ovf:Disk ovf:capacity="16" ovf:capacityAllocationUnits="byte * 2^30" ovf:diskId="vmdisk2" ovf:fileRef="file2" ovf:format="http://www.vmware.com/interfaces/specifications/vmdk.html#streamOptimized" ovf:populatedSize="293011456" />
  </ovf:DiskSection>
<ovf:DeploymentOptionSection>
    <ovf:Info>Configuration Profiles</ovf:Info>
    <ovf:Configuration ovf:id="1CPU-4GB-8GB">
      <ovf:Label>Small - 8GB Disk</ovf:Label>
      <ovf:Description>Minimal hardware profile - 1 vCPU, 4 GB RAM, 8 GB Disk</ovf:Description>
    </ovf:Configuration>
    <ovf:Configuration ovf:id="2CPU-4GB-8GB">
      <ovf:Label>Medium - 8GB Disk</ovf:Label>
      <ovf:Description>Medium hardware profile - 2 vCPUs, 4 GB RAM, 8 GB Disk</ovf:Description>
    </ovf:Configuration>
    <ovf:Configuration ovf:id="4CPU-4GB-8GB">
      <ovf:Label>Large - 8GB Disk</ovf:Label>
      <ovf:Description>Large hardware profile - 4 vCPUs, 4 GB RAM, 8 GB Disk</ovf:Description>
    </ovf:Configuration>
    <ovf:Configuration ovf:id="4CPU-8GB-8GB">
      <ovf:Label>Large + DRAM Upgrade - 8GB Disk</ovf:Label>
      <ovf:Description>Large hardware profile (requires purchase of DRAM upgrade SKU) - 4 vCPUs, 8 GB RAM, 8 GB Disk</ovf:Description>
    </ovf:Configuration>
    <ovf:Configuration ovf:default="true" ovf:id="1CPU-4GB-16GB">
      <ovf:Label>Small- 16GB Disk</ovf:Label>
      <ovf:Description>Minimal hardware profile - 1 vCPU, 4 GB RAM, 16 GB Disk</ovf:Description>
    </ovf:Configuration>
    <ovf:Configuration ovf:id="2CPU-4GB-16GB">
      <ovf:Label>Medium - 16GB Disk</ovf:Label>
      <ovf:Description>Medium hardware profile - 2 vCPUs, 4 GB RAM, 16 GB Disk</ovf:Description>
    </ovf:Configuration>
    <ovf:Configuration ovf:id="4CPU-4GB-16GB">
      <ovf:Label>Large - 16GB Disk</ovf:Label>
      <ovf:Description>Large hardware profile - 4 vCPUs, 4 GB RAM, 16 GB Disk</ovf:Description>
    </ovf:Configuration>
    <ovf:Configuration ovf:id="4CPU-8GB-16GB">
      <ovf:Label>Large + DRAM Upgrade - 16GB Disk</ovf:Label>
      <ovf:Description>Large hardware profile (requires purchase of DRAM upgrade SKU) - 4 vCPUs, 8 GB RAM, 16 GB Disk</ovf:Description>
    </ovf:Configuration>
  </ovf:DeploymentOptionSection>

References

Community Note

  • Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request.
  • Please do not leave “+1” or other comments that do not add relevant new information or questions, they generate extra noise for issue followers and do not help prioritize the request.
  • If you are interested in working on this issue or have submitted a pull request, please leave a comment.

About this issue

  • Original URL
  • State: closed
  • Created 3 years ago
  • Comments: 21

Most upvoted comments

@tenthirtyam No, I’ll close it. Thanks.