Every test VM gets a last day.
- d23notify owner
- d30suspend
- d44delete vm
Sat 14 Nov · next: notify owner on Wed 25 Nov (in 11 days)
Time-to-live on VMs with automatic expiry actions, plus recurring power schedules. Owners are notified before a lease runs out.
Summary
0
0
0
0
| Virtual machine | Owner | Expires | On expiry | Status | Renewals | |
|---|---|---|---|---|---|---|
test-vms-30d tagged "test" and has no lease of its own | Group lease · 1 VM | notify in 11 daysnext stage · Nov 25, 2026 | 23d Notify30d Suspend44d Delete | Active | 1 | |
| test-api-2317 | day 12 | Notify in 11 days | nothing has run yet | 0/3 | ||
Owners are warned, the VM is hibernated, then removed — completely.
Activity
Sat 14 Nov| Time | Actor | Action | Target | Permission | Result |
|---|---|---|---|---|---|
12d ago Nov 2, 09:12:40 AM | j.weber | Created group lease "test-vms-30d" (tagged "test" and has no lease of its own · 23d notify → 30d suspend → 44d delete) | lease-rule:test-vms-30d | lease.manage | allowed |
One VM, one date.
An expiry date, and what happens then — suspend, power off, delete or just notify.
| Virtual machine | Owner | Expires | On expiry | Status | Renewals | |
|---|---|---|---|---|---|---|
| web-dev-2210 | j.weber | in 11 daysNov 20, 2026 | Suspend | Active | 0 |
Off when nobody’s there.
Paint a week — every on/off edge becomes one power schedule.
illustration — the portal creates schedules one at a time
60hours a week on
60 of 168 on · 108 off · click or drag to paint, arrows + space
| Virtual machine | Action | Days | Time | Timezone | Last run | Enabled | |
|---|---|---|---|---|---|---|---|
| web-dev-2210 | Start | Mon, Tue, Wed, Thu, Fri | 07:00 | Europe/Berlin | never | ||
| web-dev-2210 | Shutdown | Mon, Tue, Wed, Thu, Fri | 19:00 | Europe/Berlin | never |
One rule for a whole project.
Pick VMs by what they are, then walk each one through staged actions, counted in days.
Matches 3 VMs right now
Apply stages already overdue
Off: a VM that joins past a stage skips it. On: the chain catches up, one stage per minute.
| Virtual machine | Owner | Expires | On expiry | Status | Renewals | |
|---|---|---|---|---|---|---|
test-vms-30d tagged "test" and has no lease of its own | Group lease · 3 VMs | notify in 23 daysnext stage · Nov 25, 2026 | 23d Notify30d Suspend44d Delete | Active | 3 | |
| test-api-2317 | day 0 | Notify in 23 days | nothing has run yet | 0/3 | ||
| test-web-2318 | day 0 | Notify in 23 days | nothing has run yet | 0/3 | ||
| lab-ci-3001 | day 0 | Notify in 23 days | nothing has run yet | 0/3 | ||
3 of 8 VMs match · same matcher as the scheduler
What the scheduler won’t do.
- §1
No conditions, no VMs.
- §2
A new rule doesn’t rewrite history.
- §3
One stage per VM per minute.
- §4
A failed stage is reported, not retried in a loop.
- §5
A rule can do no more than its author.
- §6
Deletion protection always wins.
- §7
Leaving a rule resets it.
Suspended means asleep, not lost.
A real hibernate: memory goes to storage, the host’s RAM is released.
Day 44
When it goes, it goes completely.
The same destroy path as the delete button on the VM page.
Checks first
Protected VMs, and VMs a configuration run holds, are skipped.
Stop the guest
Up to 30 seconds. If it won’t stop, nothing is deleted.
Destroy it on the cluster
With purge — disks, backup-job, HA and replication entries too.
Remove the AD computer object
With the project’s domain-join account — no stale computer accounts.
Drop the portal record
Only after a successful destroy — the VM is never orphaned.
Write it down
One line in the activity log.
Activity
| Time | Actor | Action | Target | Permission | Result |
|---|---|---|---|---|---|
| Day 44 · deleting test-api-2317… | |||||
Deleted VM Day 44 of the "test-vms-30d" group lease (counted from when the rule first matched this VM). This was the last stage of the rule.
› next: pick an end date for the next test VM