ubicloud/prog/vm
Enes Cakir 6c4746e95a Fix Vm::Nexus#destroy to not violate strand leases
Previously, Vm::Nexus#destroy ran:

```ruby
strand.children.select { it.prog == "Aws::Instance" }.each { it.destroy }
```

This is not safe as there could be an existing lease for Aws::Instance children.

@jeremy fixed a similar issue at 773562ebc.

Fix this by VM increments the destroy semaphore instead of destroying directly.
Aws::Instance will pop out if the destroy semaphore is incremented.

I didn’t add semaphore :destroy to Aws::Instance, since one of its
subjects is :vm, which already has a destroy semaphore.
2025-10-03 17:51:41 +03:00
..
github_runner.rb Do not use eu-central-1a az for runners 2025-09-27 21:59:23 +03:00
host_nexus.rb Delay host unavailability pages by 45 sec 2025-09-22 21:58:06 +02:00
nexus.rb Fix Vm::Nexus#destroy to not violate strand leases 2025-10-03 17:51:41 +03:00
prep_host.rb Colour the prompt of the VmHost for production hosts 2023-11-24 10:12:59 +03:00
vm_host_slice_nexus.rb Use create_with_id in progs and routes 2025-08-07 02:13:08 +09:00
vm_pool.rb Use create_with_id in progs and routes 2025-08-07 02:13:08 +09:00