mirror of
https://github.com/bpg/terraform-provider-proxmox.git
synced 2025-07-03 20:12:59 +00:00
Initial fix for datastore path detection issue
This commit is contained in:
parent
1efe8019e4
commit
877506a0b4
@ -1573,7 +1573,13 @@ func resourceVirtualEnvironmentVMCreateCustomDisks(d *schema.ResourceData, m int
|
||||
commands = append(
|
||||
commands,
|
||||
`set -e`,
|
||||
fmt.Sprintf(`cp "$(grep -Pzo ': %s\s+path\s+[^\s]+' /etc/pve/storage.cfg | grep -Pzo '/[^\s]*' | tr -d '\000')%s" %s`, fileIDParts[0], filePath, filePathTmp),
|
||||
`export nr='^[A-Za-z0-9_]+: ([A-Za-z0-9_]+)$'`,
|
||||
`export pr='^[[:space:]]+path[[:space:]]+([^[:space:]]+)$'`,
|
||||
`export dn=""`,
|
||||
`export dp=""`,
|
||||
fmt.Sprintf(`while IFS='' read -r l || [[ -n "$l" ]]; do if [[ "$l" =~ $nr ]]; then export dn="${BASH_REMATCH[1]}"; elif [[ "$l" =~ $pr ]] && [[ "$dn" == "%s" ]]; then export dp="${BASH_REMATCH[1]}"; break; fi; done < /etc/pve/storage.cfg`, fileIDParts[0]),
|
||||
`if [[ -z "$dp" ]]; then echo "Failed to determine the datastore path"; exit 1; fi`,
|
||||
fmt.Sprintf(`cp "${dp}%s" %s`, filePath, filePathTmp),
|
||||
fmt.Sprintf(`qemu-img resize %s %dG`, filePathTmp, size),
|
||||
fmt.Sprintf(`qm importdisk %d %s %s -format qcow2`, vmID, filePathTmp, datastoreID),
|
||||
fmt.Sprintf(`qm set %d -scsi%d %s:vm-%d-disk-%d%s`, vmID, i, datastoreID, vmID, diskCount+importedDiskCount, diskOptions),
|
||||
@ -2675,15 +2681,12 @@ func resourceVirtualEnvironmentVMReadNetworkValues(d *schema.ResourceData, m int
|
||||
nodeName := d.Get(mkResourceVirtualEnvironmentVMNodeName).(string)
|
||||
started := d.Get(mkResourceVirtualEnvironmentVMStarted).(bool)
|
||||
|
||||
if !started {
|
||||
return nil
|
||||
}
|
||||
|
||||
ipv4Addresses := []interface{}{}
|
||||
ipv6Addresses := []interface{}{}
|
||||
macAddresses := []interface{}{}
|
||||
networkInterfaceNames := []interface{}{}
|
||||
|
||||
if started {
|
||||
if vmConfig.Agent != nil && vmConfig.Agent.Enabled != nil && *vmConfig.Agent.Enabled {
|
||||
networkInterfaces, err := veClient.WaitForNetworkInterfacesFromVMAgent(nodeName, vmID, 1800, 5)
|
||||
|
||||
@ -2713,6 +2716,7 @@ func resourceVirtualEnvironmentVMReadNetworkValues(d *schema.ResourceData, m int
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
d.Set(mkResourceVirtualEnvironmentVMIPv4Addresses, ipv4Addresses)
|
||||
d.Set(mkResourceVirtualEnvironmentVMIPv6Addresses, ipv6Addresses)
|
||||
@ -2871,10 +2875,8 @@ func resourceVirtualEnvironmentVMUpdate(d *schema.ResourceData, m interface{}) e
|
||||
rebootRequired = true
|
||||
}
|
||||
|
||||
if d.HasChange(mkResourceVirtualEnvironmentVMName) {
|
||||
name := d.Get(mkResourceVirtualEnvironmentVMName).(string)
|
||||
updateBody.Name = &name
|
||||
}
|
||||
|
||||
if d.HasChange(mkResourceVirtualEnvironmentVMTabletDevice) {
|
||||
tabletDevice := proxmox.CustomBool(d.Get(mkResourceVirtualEnvironmentVMTabletDevice).(bool))
|
||||
|
Loading…
Reference in New Issue
Block a user