-
Notifications
You must be signed in to change notification settings - Fork 478
Description
Terraform Version
TF v0.13.6
vSphere Provider Version
V1.24.3
Affected Resource(s)
Terraform Configuration Files
module "dv77" {
source = "./mod_vm_rhel_v5_import"
mod_vm_name = "fr0-vs2a64-dv77"
...
mod_size_disk0 = 120
mod_un_disk0 = 1
...
}
variables.tf
variable "mod_un_disk0" {
# unit_number
type = string
default = "default"
}
locals {
...
mod_un_disk0 = var.mod_un_disk0 == "default" ? 0 : var.mod_un_disk0
...
}
resource "vsphere_virtual_machine" "mod_vm_v5" {
...
lifecycle {
ignore_changes = [
annotation,
custom_attributes,
enable_logging,
cpu_hot_add_enabled,
disk.0.unit_number,
]
}
name = var.mod_vm_name
num_cpus = var.mod_num_cpu
num_cores_per_socket = var.mod_num_cores_per_socket
...
cdrom {
client_device = true
}
disk {
label = "disk0"
size = local.mod_size_disk0
eagerly_scrub = local.mod_eagerly_scrub_disk0
thin_provisioned = local.mod_thin_provisioned_disk0
disk_sharing = "sharingNone"
unit_number = local.mod_un_disk0
io_reservation = "0"
io_share_level = "normal"
}
# disk {
# label = "disk1"
# size = var.mod
...
}
Debug Output
...
2021-01-27T12:45:23.618+0100 [DEBUG] plugin.terraform-provider-vsphere_v1.24.3_x4: 2021/01/27 12:45:23 [DEBUG] Datastore with ID "datastore-585" found
2021-01-27T12:45:23.655+0100 [DEBUG] plugin.terraform-provider-vsphere_v1.24.3_x4: 2021/01/27 12:45:23 [DEBUG] DiskDiffOperation: Beginning disk diff customization
2021/01/27 12:45:23 [ERROR] eval: *terraform.EvalDiff, err: at least one disk must have a unit_number of 0 for SATA or SCSI or 1 for IDE
2021/01/27 12:45:23 [ERROR] eval: *terraform.EvalSequence, err: at least one disk must have a unit_number of 0 for SATA or SCSI or 1 for IDE
2021-01-27T12:45:23.658+0100 [DEBUG] plugin.terraform-provider-vsphere_v1.24.3_x4: 2021/01/27 12:45:23 [DEBUG] DiskDiffOperation: Beginning collective diff validation (indexes aligned to new config)
2021-01-27T12:45:23.658+0100 [DEBUG] plugin.terraform-provider-vsphere_v1.24.3_x4: 2021/01/27 12:45:23 [DEBUG] diskLabelOrName: label: "disk0" name: ""
2021-01-27T12:45:23.658+0100 [DEBUG] plugin.terraform-provider-vsphere_v1.24.3_x4: 2021/01/27 12:45:23 [DEBUG] diskLabelOrName: Using defined label value "disk0"
2021-01-27T12:45:23.658+0100 [DEBUG] plugin.terraform-provider-vsphere_v1.24.3_x4: 2021/01/27 12:45:23 [DEBUG] diskPathOrName: Using defined path value "fr0-xxxxxxx-dv77/fr0-xxxxxxxxxx-dv77-000001.vmdk"
2021-01-27T12:45:23.658+0100 [DEBUG] plugin.terraform-provider-vsphere_v1.24.3_x4: 2021/01/27 12:45:23 [DEBUG] disk.0 (key 2001 at scsi:0:1) (fr0-xxxxxxxxxx-dv77/xxxxxxxxxxx-dv77-000001.vmdk): Beginning diff validation
2021-01-27T12:45:23.658+0100 [DEBUG] plugin.terraform-provider-vsphere_v1.24.3_x4: 2021/01/27 12:45:23 [DEBUG] diskLabelOrName: label: "disk0" name: ""
2021-01-27T12:45:23.658+0100 [DEBUG] plugin.terraform-provider-vsphere_v1.24.3_x4: 2021/01/27 12:45:23 [DEBUG] diskLabelOrName: Using defined label value "disk0"
2021-01-27T12:45:23.658+0100 [DEBUG] plugin.terraform-provider-vsphere_v1.24.3_x4: 2021/01/27 12:45:23 [DEBUG] diskPathOrName: Using defined path value "fr0-xxxxxxxx-dv77/fr0-xxxxxxxxxx-dv77-000001.vmdk"
2021-01-27T12:45:23.658+0100 [DEBUG] plugin.terraform-provider-vsphere_v1.24.3_x4: 2021/01/27 12:45:23 [DEBUG] disk.0 (key 2001 at scsi:0:1) (fr0-xxxxxxxxx-dv77/fr0-xxxxxxxx-dv77-000001.vmdk): Diff validation complete
2021-01-27T12:45:23.660+0100 [DEBUG] plugin: plugin process exited: path=.terraform/plugins/yyyyyyy/xxxxxxxx/template/2.1.2/linux_amd64/terraform-provider-template_v2.1.2_x4 pid=28827
2021-01-27T12:45:23.660+0100 [DEBUG] plugin: plugin exited
2021-01-27T12:45:23.690+0100 [DEBUG] plugin: plugin process exited: path=.terraform/plugins/yyyyyyyy/xxxxxx/null/2.1.2/linux_amd64/terraform-provider-null_v2.1.2_x4 pid=28802
2021-01-27T12:45:23.691+0100 [DEBUG] plugin: plugin exited
2021-01-27T12:45:23.691+0100 [WARN] plugin.stdio: received EOF, stopping recv loop: err="rpc error: code = Unavailable desc = transport is closing"
2021-01-27T12:45:23.691+0100 [WARN] plugin.stdio: received EOF, stopping recv loop: err="rpc error: code = Unavailable desc = transport is closing"
2021-01-27T12:45:23.693+0100 [DEBUG] plugin: plugin process exited: path=.terraform/plugins/yyyyyyyy/xxxxxx/vsphere/1.24.3/linux_amd64/terraform-provider-vsphere_v1.24.3_x4 pid=28839
2021-01-27T12:45:23.693+0100 [DEBUG] plugin: plugin exited
...
Panic Output
Expected Behavior
Actual Behavior
Fail with in apply or plan
Error: at least one disk must have a unit_number of 0 for SATA or SCSI or 1 for IDE
on mod_vm_rhel_v5_import/main_v5_DEV_rhel_import.tf line 5, in resource "vsphere_virtual_machine" "mod_vm_v5":
5: resource "vsphere_virtual_machine" "mod_vm_v5" {
Steps to Reproduce
-
terraform import---> with instance with one SCSI disk (unit_number is 1) -
terraform apply -
./terraform_136 plan -target module.dv77
Refreshing Terraform state in-memory prior to plan...
...
module.dv77.module.env_var.data.terraform_remote_state.global_var: Refreshing state...
...
module.dv77.vsphere_virtual_machine.mod_vm_v5: Refreshing state...
Warning: Resource targeting is in effect
...
Error: at least one disk must have a unit_number of 0 for SATA or SCSI or 1 for IDE
on mod_vm_rhel_v5_import/main_v5_DEV_rhel_import.tf line 5, in resource "vsphere_virtual_machine" "mod_vm_v5":
5: resource "vsphere_virtual_machine" "mod_vm_v5" {
Important Factoids
instance state after import :
./terraform_136 state show module.dv77.vsphere_virtual_machine.mod_vm_v5
...
cdrom {
client_device = true
device_address = "ide:1:0"
key = 3002
}
disk {
attach = false
controller_type = "scsi"
datastore_id = "datastore-585"
device_address = "scsi:0:1"
disk_mode = "persistent"
disk_sharing = "sharingNone"
eagerly_scrub = true
io_limit = -1
io_reservation = 0
io_share_count = 1000
io_share_level = "normal"
keep_on_remove = true
key = 2001
label = "disk0"
path = "fr0-xxxxxxx-dv77/fr0-xxxxxxxxx-dv77-000001.vmdk"
size = 120
thin_provisioned = false
unit_number = 1
uuid = "aaaaaa-bbbbbbb-cccccccc-ddddddddd-fffffffff"
write_through = false
}
network_interface {
adapter_type = "vmxnet3"
bandwidth_limit = -1
bandwidth_reservation = 0
bandwidth_share_count = 50
bandwidth_share_level = "normal"
device_address = "pci:0:7"
...
References
error coming from 'vsphere/internal/virtualdevice/virtual_machine_disk_subresource.go' line 656
- #0000
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