0
0
mirror of https://github.com/bpg/terraform-provider-proxmox.git synced 2025-07-04 21:14:05 +00:00
terraform-provider-proxmox/proxmoxtf/resource
Emmanuel Benoît 148a9e0c9c
fix(vm): fixed startup / shutdown behaviour on HA clusters (#508)
* fix(vm): wait for VMs to actually stop when sending a shutdown command

Due to how a Proxmox cluster reacts to a VM shutdown command when
running in HA mode, the VM might still be running when the shutdown API
calls returns. This commit adds a loop that actively waits for the VM's
status to change to "stopped" (while also accounting for the shutdown
timeout) after the call's return.

* chore(refactoring): extracted VM state change wait loop into a separate function

* fix(vm): wait for VMs to actually start after requesting it from the cluster

This commit forces the plugin to wait for a VM to actually run after
requesting it to be started. This avoids problems with Proxmox's High
Availability mode, where a start request may not be immediately honoured
by the cluster.

* fix: linter errors

* fix: use `vmAPI.WaitForVMState`

---------

Co-authored-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2023-08-20 20:07:37 -04:00
..
cluster/firewall chore: cleanup resource validators & utility code (#438) 2023-07-20 19:58:19 -04:00
firewall chore: cleanup resource validators & utility code (#438) 2023-07-20 19:58:19 -04:00
validator chore: cleanup resource validators & utility code (#438) 2023-07-20 19:58:19 -04:00
certificate_test.go feat: API client cleanup and refactoring (#323) 2023-05-26 01:32:51 +00:00
certificate.go feat(vm): add network device resources (#376) 2023-06-23 22:47:25 +00:00
container_test.go feat(lxc): add support for lxc mount points (#394) 2023-07-16 20:41:07 -04:00
container.go chore: cleanup resource validators & utility code (#438) 2023-07-20 19:58:19 -04:00
dns_test.go feat: API client cleanup and refactoring (#323) 2023-05-26 01:32:51 +00:00
dns.go feat: add import support for a lot of resources (#390) 2023-07-04 21:37:14 -04:00
file_test.go feat(file): ensure upload of ISO/VSTMPL is completed upon resource creation (#471) 2023-08-10 11:01:14 -04:00
file.go fix(vm): default disk cache is not set to none if not specified for an existing disk (#478) 2023-08-10 19:27:22 +00:00
group_test.go feat: API client cleanup and refactoring (#323) 2023-05-26 01:32:51 +00:00
group.go feat: add import support for a lot of resources (#390) 2023-07-04 21:37:14 -04:00
hosts_test.go feat: API client cleanup and refactoring (#323) 2023-05-26 01:32:51 +00:00
hosts.go feat: add import support for a lot of resources (#390) 2023-07-04 21:37:14 -04:00
pool_test.go feat: API client cleanup and refactoring (#323) 2023-05-26 01:32:51 +00:00
pool.go feat: add import support for a lot of resources (#390) 2023-07-04 21:37:14 -04:00
role_test.go feat: API client cleanup and refactoring (#323) 2023-05-26 01:32:51 +00:00
role.go feat: add import support for a lot of resources (#390) 2023-07-04 21:37:14 -04:00
time_test.go feat: API client cleanup and refactoring (#323) 2023-05-26 01:32:51 +00:00
time.go feat: add import support for a lot of resources (#390) 2023-07-04 21:37:14 -04:00
user_test.go fix(user): make password attribute optional (#463) 2023-08-05 22:57:08 +00:00
user.go fix(user): make password attribute optional (#463) 2023-08-05 22:57:08 +00:00
vm_test.go feat(vm): support for non-default CloudInit interface and CloudInit storage change (#486) 2023-08-13 09:55:38 -04:00
vm.go fix(vm): fixed startup / shutdown behaviour on HA clusters (#508) 2023-08-20 20:07:37 -04:00