-
Notifications
You must be signed in to change notification settings - Fork 89
Description
vRA Version
8.7.0.21169 (19508505)
Terraform Version
v1.3.2
vRA Terraform Provider Version
0.5.2
Affected Resource(s)
vra_deployment
Terraform Configuration Files
resource "vra_deployment" "vm" {
name = format("%s_%s_%s", var.application, var.buildEnvironment, uuid())
description = var.description
lifecycle {
ignore_changes = [
name
]
}
catalog_item_id = data.vra_catalog_item.catalog_item.id
project_id = data.vra_project.project.id
inputs = {
application= var.application
site = var.site
osVersion = var.osVersion
applicationEnvironment = var.applicationEnvironment
applicationTier = var.applicationTier
disks = jsonencode(var.disks)
cpuCount = 8
totalMemoryMB = 8192
resourcePool = "default"
component = ""
}
timeouts {
create = "200m"
delete = "60m"
update = "30m"
}
}tfvar file is initially set with :
disks = []
but then after the build, update it:
disks = [{
label = "test"
mountPoint = "/var"
size = 10
}]
Expected Behavior
A disk should have been added (it was) and the state should have been updated with the last_request return (resource_ids and status) but it wasn't. When no changes are made to the input, and the resources haven't drifted, no state drift or resource changes should be required.
Actual Behavior
Terraform advised "Note: Objects have changed outside of Terraform" and indicates the vra_deployment resource has changed in both the last_request and resources attributes and shows a diff that is not representative of the actions that will be takes (it shows a complete removal of the virtual machine
# vra_deployment.vm has changed
~ resource "vra_deployment" "vm" {
id = "6f1a80b9-17ee-4303-a056-769959ca8b0e"
~ last_request = [
~ {
id = "4a72ccdc-b508-4ef0-afca-c09500e10774"
name = "Update"
~ resource_ids = [
+ "04d380e9-5590-4e3a-ae47-d0df829bd71a",
- "3caf47fd-d6a6-46ba-a18b-8242a528040f",
# (1 unchanged element hidden)
]
# (17 unchanged elements hidden)
},
]
name = "myapp_dev_30ffdeb6-c994-a823-b0a5-a24086dc95ab"
~ resources = [
+ {
+ created_at = "2022-10-10T23:01:51.205Z"
+ depends_on = [
+ "Cloud_vSphere_Disk[0]",
+ "vSphere_Network",
]
+ description = ""
+ expense = []
+ id = "412c79c3-13a0-49ea-927c-d3aef162e260"
+ name = "vSphere_Machine[0]"
+ properties_json = jsonencode(
{
+ _clusterAllocationSize = "1"
+ account = "mycloudzone"
+ accounts = [
+ "mycloudzone",
]
+ address = "192.168.0.114"
+ application = "myapplication"
+ applicationEnvironment = "dev"
+ applicationTier = "web"
+ attachedDisks = [
+ {
+ source = "/resources/disks/04d380e9-5590-4e3a-ae47-d0df829bd71a"
},
]
+ catalogItemName = "linux"
+ cloneFromImage = "linux-image"
+ componentType = "Cloud.vSphere.Machine"
+ computeHostRef = "ResourcePool:resgroup-1234"
+ computeHostType = "ResourcePool"
+ constraints = [
+ {},
+ {
+ tag = "application:general"
},
+ {},
+ {},
]
+ coreCount = "8"
+ count = "1"
+ countIndex = "0"
+ cpuCount = 8
+ customizationSpec = "linux"
+ datacenter = "Datacenter:datacenter-1"
+ datastoreName = "DATASTORE01"
+ deploymentId = "6f1a80b9-17ee-4303-a056-769959ca8b0e"
+ disks = jsonencode([])
+ endpointId = "bd809ecd-9099-49db-999c-475b584efc71"
+ endpointType = "vsphere"
+ environmentName = "environment"
+ folderName = "folder"
+ hasSnapshots = "false"
+ hostname = "hostname123"
+ id = "/resources/compute/412c79c3-13a0-49ea-927c-d3aef162e260"
+ image = "linux-image"
+ instanceUUID = "501b5d3f-fbb4-519c-ab89-7361101fd9e6"
+ memoryGB = "8"
+ name = "vSphere_Machine"
+ networks = [
+ {
+ "Infoblox.IPAM.Network.dnsView" = "default"
+ "Infoblox.IPAM.RangeId" = "network/ZG5zLm5ldHdvcmskMTAuMTAwLjE2LjAvMjIvMA:192.168.0.0/24/default"
+ address = "192.168.0.114"
+ assignment = "static"
+ deviceIndex = 0
+ dns = [
+ "1.1.1.1",
+ "1.1.0.0",
]
+ external_id = "ecdc5476-7749-4861-8680-d1e48a57641a"
+ id = "/resources/network-interfaces/629327ad-73f4-40e8-817c-1427d2e03caf"
+ ipv6Addresses = []
+ mac_address = "00:00:00:00:00:f0"
+ name = "portgroup1"
+ netmask = "255.255.255.0"
+ network = "/provisioning/resources/compute-networks/3caf47fd-d6a6-46ba-a18b-8242a528040f"
+ resourceName = "portgroup1"
},
]
+ nsxSecurityGroups = jsonencode(
[
+ "sg1",
]
)
+ powerState = "ON"
+ primaryMAC = "00:00:00:00:00:f0"
+ project = "1f1d9944-c036-401e-8407-c1aa9d8de8b9"
+ providerId = "101b5d3f-fbb4-519c-ab89-7361101fd9e6"
+ region = "REGION01"
+ resourceDescLink = "/resources/compute-descriptions/b8739ffa-a3be-4bcd-a2dd-2be3a3e2f798"
+ resourceId = "412c79c3-13a0-49ea-927c-d3aef162e260"
+ resourceLink = "/resources/compute/412c79c3-13a0-49ea-927c-d3aef162e260"
+ resourceName = "hostname123"
+ resourcePool = "/resources/pools/8ea476dba090ae75-7f703c5265a63d87"
+ site = "site1"
+ softwareName = "Linux"
+ storage = {
+ disks = [
+ {
+ capacityGb = 10
+ controllerKey = "1000"
+ controllerUnitNumber = "1"
+ count = "1"
+ countIndex = "0"
+ encrypted = false
+ endpointType = "vsphere"
+ existingResource = "false"
+ label = "test"
+ mountPoint = "/var"
+ name = "admin-748"
+ persistent = false
+ provisioningType = "thin"
+ resourceLink = "/resources/disks/04d380e9-5590-4e3a-ae47-d0df829bd71a"
+ type = "HDD"
+ vcUuid = "6c6d6246-0929-4229-805a-083012704055"
},
+ {
+ bootOrder = 1
+ capacityGb = 40
+ controllerKey = "1000"
+ controllerUnitNumber = "0"
+ diskPlacementRef = "Datastore:datastore-1"
+ encrypted = false
+ endpointType = "vsphere"
+ existingResource = "false"
+ independent = "false"
+ limitIops = "-1"
+ name = "hostname123-boot-disk"
+ persistent = false
+ provisioningType = "thin"
+ resourceLink = "/resources/disks/87299d18-e789-4b32-b9b7-907c09d1d7d6"
+ shares = "1000"
+ sharesLevel = "normal"
+ type = "HDD"
+ vcUuid = "6c6d6246-0929-4229-805a-083012704055"
+ vm = "VirtualMachine:vm-16390"
},
]
}
+ tags = [
+ {
+ key = "application"
+ value = "myapp"
},
]
+ totalMemoryMB = 8192
+ vcUuid = "6c6d6246-0929-4229-805a-083012704055"
+ vmFolderPath = "[DATASTORE01] 88a44463-e8d9-2eb7-d5f1-e4434bd9e0e0"
+ vraEnvironment = "edev"
+ zone = "mycloudzone / Tin"
+ zone_overlapping_migrated = "true"
}
)
+ state = "OK"
+ sync_status = ""
+ type = "Cloud.vSphere.Machine"
},
- {
- created_at = "2022-10-10T23:01:51.205Z"
- depends_on = [
- "vSphere_Network",
]
- description = ""
- expense = []
- id = "412c79c3-13a0-49ea-927c-d3aef162e260"
- name = "vSphere_Machine[0]"
- properties_json = jsonencode(
{
{
- _clusterAllocationSize = "1"
- account = "mycloudzone"
- accounts = [
- "mycloudzone",
]
- address = "192.168.0.114"
- application = "myapplication"
- applicationEnvironment = "dev"
- applicationTier = "web"
- attachedDisks = [
- {
- source = "/resources/disks/04d380e9-5590-4e3a-ae47-d0df829bd71a"
},
]
- catalogItemName = "linux"
- cloneFromImage = "linux-image"
- componentType = "Cloud.vSphere.Machine"
- computeHostRef = "ResourcePool:resgroup-1234"
- computeHostType = "ResourcePool"
- constraints = [
- {},
- {
- tag = "application:general"
},
- {},
- {},
]
- coreCount = "8"
- count = "1"
- countIndex = "0"
- cpuCount = 8
- customizationSpec = "linux"
- datacenter = "Datacenter:datacenter-1"
- datastoreName = "DATASTORE01"
- deploymentId = "6f1a80b9-17ee-4303-a056-769959ca8b0e"
- disks = jsonencode([])
- endpointId = "bd809ecd-9099-49db-999c-475b584efc71"
- endpointType = "vsphere"
- environmentName = "environment"
- folderName = "folder"
- hasSnapshots = "false"
- hostname = "hostname123"
- id = "/resources/compute/412c79c3-13a0-49ea-927c-d3aef162e260"
- image = "linux-image"
- instanceUUID = "501b5d3f-fbb4-519c-ab89-7361101fd9e6"
- memoryGB = "8"
- name = "vSphere_Machine"
- networks = [
- {
- "Infoblox.IPAM.Network.dnsView" = "default"
- "Infoblox.IPAM.RangeId" = "network/ZG5zLm5ldHdvcmskMTAuMTAwLjE2LjAvMjIvMA:192.168.0.0/24/default"
- address = "192.168.0.114"
- assignment = "static"
- deviceIndex = 0
- dns = [
- "1.1.1.1",
- "1.1.0.0",
]
- external_id = "ecdc5476-7749-4861-8680-d1e48a57641a"
- id = "/resources/network-interfaces/629327ad-73f4-40e8-817c-1427d2e03caf"
- ipv6Addresses = []
- mac_address = "00:00:00:00:00:f0"
- name = "portgroup1"
- netmask = "255.255.255.0"
- network = "/provisioning/resources/compute-networks/3caf47fd-d6a6-46ba-a18b-8242a528040f"
- resourceName = "portgroup1"
},
]
- nsxSecurityGroups = jsonencode(
[
- "sg1",
]
)
- powerState = "ON"
- primaryMAC = "00:00:00:00:00:f0"
- project = "1f1d9944-c036-401e-8407-c1aa9d8de8b9"
- providerId = "101b5d3f-fbb4-519c-ab89-7361101fd9e6"
- region = "REGION01"
- resourceDescLink = "/resources/compute-descriptions/b8739ffa-a3be-4bcd-a2dd-2be3a3e2f798"
- resourceId = "412c79c3-13a0-49ea-927c-d3aef162e260"
- resourceLink = "/resources/compute/412c79c3-13a0-49ea-927c-d3aef162e260"
- resourceName = "hostname123"
- resourcePool = "/resources/pools/8ea476dba090ae75-7f703c5265a63d87"
- site = "site1"
- softwareName = "Linux"
- storage = {
- disks = [
- {
- bootOrder = 1
- capacityGb = 40
- controllerKey = "1000"
- controllerUnitNumber = "0"
- diskPlacementRef = "Datastore:datastore-23"
- encrypted = false
- endpointType = "vsphere"
- existingResource = "false"
- independent = "false"
- name = "dlw221010230101-boot-disk"
- persistent = false
- provisioningType = "thin"
- resourceLink = "/resources/disks/87299d18-e789-4b32-b9b7-907c09d1d7d6"
- type = "HDD"
- vcUuid = "6c6d6246-0929-4229-805a-083012704055"
- vm = "VirtualMachine:vm-16390"
},
]
}
- tags = []
- totalMemoryMB = 8192
- vcUuid = "6c6d6246-0929-4229-805a-083012704055"
- vmFolderPath = "[RCC-ISD-EDEV01-DATASTORE01] 88a44463-e8d9-2eb7-d5f1-e4434bd9e0e0"
- vraEnvironment = "edev"
- zone = "RCC-ISD-EDEV01 / Tin"
- zoneOverride = ""
- zone_overlapping_migrated = "true"
}
)
- state = "OK"
- sync_status = ""
- type = "Cloud.vSphere.Machine"
},
+ {
+ created_at = "2022-10-10T23:13:16.356Z"
+ depends_on = []
+ description = ""
+ expense = []
+ id = "04d380e9-5590-4e3a-ae47-d0df829bd71a"
+ name = "Cloud_vSphere_Disk[0]"
+ properties_json = jsonencode(
{
+ account = "mycloudzone"
+ accounts = [
+ "mycloudzone",
]
+ capacityGb = 10
+ componentType = "Cloud.vSphere.Disk"
+ constraints = [
+ {
+ tag = "storageTier:ultra"
},
+ {},
+ {
+ tag = "application:general"
},
+ {},
+ {},
]
+ count = "1"
+ countIndex = "0"
+ encrypted = false
+ endpointId = "bd809ecd-9099-49db-999c-475b584efc71"
+ endpointType = "vsphere"
+ id = "/resources/disks/04d380e9-5590-4e3a-ae47-d0df829bd71a"
+ label = "test"
+ mountPoint = "/var"
+ name = "test"
+ persistent = false
+ providerId = "8896-2001"
+ provisioningType = "thin"
+ region = "Datacenter:datacenter-1"
+ resourceDescLink = "/resources/disks/8e0d9843-8034-4674-9b92-df2b76204503"
+ resourceId = "04d380e9-5590-4e3a-ae47-d0df829bd71a"
+ resourceLink = "/resources/disks/04d380e9-5590-4e3a-ae47-d0df829bd71a"
+ resourceName = "admin-748"
+ status = "ATTACHED"
+ tags = []
+ type = "HDD"
+ vcUuid = "6c6d6246-0929-4229-805a-083012704055"
}
)
+ state = "OK"
+ sync_status = "SUCCESS"
+ type = "Cloud.vSphere.Disk"
},
# (1 unchanged element hidden)
]
# (14 unchanged attributes hidden)
# (1 unchanged block hidden)
}
Unless you have made equivalent changes to your configuration, or ignored the relevant attributes using ignore_changes, the following plan may include actions to undo or respond to these changes.
Steps to Reproduce
- Run initially with disks = []
- Add a disk by running with
disks = [{
label = "test"
mountPoint = "/var"
size = 10
}]
- Run another plan
Debug Output
N/A
Panic Output
N/A
Important Factoids
N/A
References
N/A
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