You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -56,10 +57,12 @@ A server undergoes the following phases:
56
57
- The server transitions to the `Reserved` state.
57
58
- The server is allocated for a specific use or user.
58
59
59
-
5. **Cleanup**:
60
-
- When the [`ServerClaim`](serverclaims.md) is removed, the server enters the Cleanup state.
61
-
- Sanitization processes are performed (e.g., wiping disks, resetting BIOS settings).
62
-
60
+
5. **Released**:
61
+
- Only entered when `spec.reclaimPolicy` is `Retain` and the [`ServerClaim`](serverclaims.md) has been deleted.
62
+
- The server is powered off and its `BootConfigurationRef` is cleared, but `spec.serverClaimRef` is kept.
63
+
- The server stays in `Released` until an operator manually clears `spec.serverClaimRef`, at which point it transitions back to `Available`.
64
+
- See [Reclaim Policy](#reclaim-policy) below.
65
+
63
66
6. **Maintenance**:
64
67
- Servers in the `Available` state can transition to `Maintenance`.
65
68
- Maintenance tasks such as BIOS updates or hardware repairs are performed.
@@ -78,19 +81,51 @@ stateDiagram-v2
78
81
Available --> Reserved : ServerClaim created
79
82
Reserved --> Maintenance : Maintenance initiated
80
83
Maintenance --> Reserved : Maintenance complete
81
-
Reserved --> Cleanup : ServerClaim removed
82
-
Cleanup --> Available : Cleanup complete
84
+
Reserved --> Available : ServerClaim removed (reclaimPolicy is Recycle)
85
+
Reserved --> Released : ServerClaim removed (reclaimPolicy is Retain)
86
+
Released --> Available : serverClaimRef cleared manually
83
87
Available --> Maintenance : Maintenance initiated
84
88
Maintenance --> Initial : Maintenance complete
85
89
Available --> Error : Error detected
86
90
Reserved --> Error : Error detected
87
91
Discovery --> Error : Error detected
88
-
Cleanup --> Error : Error detected
92
+
Released --> Error : Error detected
89
93
Maintenance --> Error : Error detected
90
94
Error --> Maintenance : Enter maintenance to fix error
91
95
Error --> Initial : Error resolved
92
96
```
93
97
98
+
## Reclaim Policy
99
+
100
+
The `spec.reclaimPolicy` field controls what happens to a `Server` when its bound [`ServerClaim`](serverclaims.md) is deleted. Two values are supported, with `Recycle` as the default:
101
+
102
+
| Value | Behavior |
103
+
|-----------|----------|
104
+
| `Recycle` | When the claim is gone, the server is powered off, its `BootConfigurationRef` is cleared, `spec.serverClaimRef` is removed, and the server transitions directly back to `Available` so that it can be claimed again. |
105
+
| `Retain` | When the claim is gone, the server is powered off and its `BootConfigurationRef` is cleared, but `spec.serverClaimRef` is **not** removed. The server transitions to the `Released` state and remains there until an operator manually clears `spec.serverClaimRef`. Once cleared, the server transitions back to `Available`. |
106
+
107
+
`Retain` is useful when human inspection is required between uses: for example, to forensically investigate a workload, audit disks, or run an out-of-band sanitization step before the server re-enters the pool. `Recycle` is the right choice for general-purpose pools where servers should be returned to `Available` automatically.
0 commit comments