Commit 886f98e
committed
feat: implement revertable snapshot support with version validation
Add support for creating revert boot entries when snapm is available.
This allows users to boot into a special mode that automatically merges
snapshots back into their origin volumes for disaster recovery.
The revertable parameter now properly validates snapm availability and
version support, failing explicitly rather than being silently ignored.
Changes:
- Add SNAPM_REVERT_PARAM_MIN_VERSION constant (0.5.0)
- Add has_revert_parameter() version check function
- Implement revertable parameter handling with conflict detection
- Add explicit version validation for bootable and revertable features
- Fail with ERROR_REVERTABLE_NOT_SUPPORTED when snapm is unavailable
or version doesn't support revert parameter
- Pass bootable/revert parameters to snapm create_snapshot_set via kwargs
pattern for clean version-conditional support
- Propagate revertable parameter through validation layer
- Add ERROR_REVERTABLE_NOT_SUPPORTED and ERROR_REVERTABLE_CONFLICT
status codes
- Add debug logging for create_snapshot_set calls
The implementation mirrors the existing bootable parameter handling,
supporting both global-level and snapset-level configuration with
conflict detection. Both parameters now validate properly instead of
silently ignoring unsupported features.
Signed-off-by: Todd Gill <tgill@redhat.com>1 parent 2ee1d35 commit 886f98e
4 files changed
Lines changed: 93 additions & 12 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
61 | 61 | | |
62 | 62 | | |
63 | 63 | | |
| 64 | + | |
| 65 | + | |
64 | 66 | | |
65 | 67 | | |
66 | 68 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1235 | 1235 | | |
1236 | 1236 | | |
1237 | 1237 | | |
| 1238 | + | |
| 1239 | + | |
| 1240 | + | |
| 1241 | + | |
| 1242 | + | |
| 1243 | + | |
| 1244 | + | |
| 1245 | + | |
| 1246 | + | |
| 1247 | + | |
| 1248 | + | |
| 1249 | + | |
| 1250 | + | |
| 1251 | + | |
1238 | 1252 | | |
1239 | 1253 | | |
1240 | 1254 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
35 | 35 | | |
36 | 36 | | |
37 | 37 | | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
38 | 41 | | |
39 | 42 | | |
40 | 43 | | |
| |||
73 | 76 | | |
74 | 77 | | |
75 | 78 | | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
76 | 89 | | |
77 | 90 | | |
78 | 91 | | |
| |||
202 | 215 | | |
203 | 216 | | |
204 | 217 | | |
| 218 | + | |
205 | 219 | | |
206 | 220 | | |
207 | 221 | | |
| |||
237 | 251 | | |
238 | 252 | | |
239 | 253 | | |
| 254 | + | |
| 255 | + | |
| 256 | + | |
| 257 | + | |
| 258 | + | |
| 259 | + | |
| 260 | + | |
| 261 | + | |
| 262 | + | |
| 263 | + | |
| 264 | + | |
| 265 | + | |
| 266 | + | |
| 267 | + | |
| 268 | + | |
| 269 | + | |
| 270 | + | |
| 271 | + | |
| 272 | + | |
| 273 | + | |
| 274 | + | |
| 275 | + | |
240 | 276 | | |
241 | 277 | | |
| 278 | + | |
| 279 | + | |
| 280 | + | |
| 281 | + | |
| 282 | + | |
| 283 | + | |
| 284 | + | |
| 285 | + | |
| 286 | + | |
| 287 | + | |
| 288 | + | |
| 289 | + | |
| 290 | + | |
| 291 | + | |
| 292 | + | |
| 293 | + | |
| 294 | + | |
| 295 | + | |
242 | 296 | | |
243 | 297 | | |
244 | 298 | | |
| |||
249 | 303 | | |
250 | 304 | | |
251 | 305 | | |
| 306 | + | |
| 307 | + | |
252 | 308 | | |
253 | | - | |
254 | | - | |
255 | | - | |
256 | | - | |
257 | | - | |
258 | | - | |
259 | | - | |
260 | | - | |
261 | | - | |
262 | | - | |
263 | | - | |
264 | | - | |
| 309 | + | |
| 310 | + | |
| 311 | + | |
| 312 | + | |
| 313 | + | |
| 314 | + | |
| 315 | + | |
| 316 | + | |
| 317 | + | |
| 318 | + | |
| 319 | + | |
| 320 | + | |
| 321 | + | |
| 322 | + | |
| 323 | + | |
265 | 324 | | |
266 | 325 | | |
267 | 326 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
36 | 36 | | |
37 | 37 | | |
38 | 38 | | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
39 | 42 | | |
40 | 43 | | |
41 | 44 | | |
| |||
341 | 344 | | |
342 | 345 | | |
343 | 346 | | |
| 347 | + | |
| 348 | + | |
| 349 | + | |
344 | 350 | | |
345 | 351 | | |
346 | 352 | | |
| |||
0 commit comments