Commit b58045d
K8SPSMDB-1363: Snapshot-based backups (#2247)
* use pbm dev latest
Signed-off-by: Mayank Shah <mayank.shah@percona.com>
* use storage.MaskedString
Signed-off-by: Mayank Shah <mayank.shah@percona.com>
* update backup apis for snapshots
Signed-off-by: Mayank Shah <mayank.shah@percona.com>
* update go mods
Signed-off-by: Mayank Shah <mayank.shah@percona.com>
* refactor
Signed-off-by: Mayank Shah <mayank.shah@percona.com>
* implement backup snapshots executor
Signed-off-by: Mayank Shah <mayank.shah@percona.com>
* add FinishBackup
Signed-off-by: Mayank Shah <mayank.shah@percona.com>
* generate manifests
Signed-off-by: Mayank Shah <mayank.shah@percona.com>
* implement snapshot backups
Signed-off-by: Mayank Shah <mayank.shah@percona.com>
* restores wip
Signed-off-by: Mayank Shah <mayank.shah@percona.com>
* track replsetname in status
Signed-off-by: Mayank Shah <mayank.shah@percona.com>
* wip: implement restore logic
Signed-off-by: Mayank Shah <mayank.shah@percona.com>
* wip: snapshot restore improvements
Signed-off-by: Mayank Shah <mayank.shah@percona.com>
* improve conditions
Signed-off-by: Mayank Shah <mayank.shah@percona.com>
* fix status assignment
Signed-off-by: Mayank Shah <mayank.shah@percona.com>
* update description comments
Signed-off-by: Mayank Shah <mayank.shah@percona.com>
* fix len checks
Signed-off-by: Mayank Shah <mayank.shah@percona.com>
* update CheckFields
Signed-off-by: Mayank Shah <mayank.shah@percona.com>
* remove redundant code
Signed-off-by: Mayank Shah <mayank.shah@percona.com>
* imports
Signed-off-by: Mayank Shah <mayank.shah@percona.com>
* address copilot comments
Signed-off-by: Mayank Shah <mayank.shah@percona.com>
* revert CR
Signed-off-by: Mayank Shah <mayank.shah@percona.com>
* fix loop
Signed-off-by: Mayank Shah <mayank.shah@percona.com>
* typo
Signed-off-by: Mayank Shah <mayank.shah@percona.com>
* add unit tests for snapshot backups
Signed-off-by: Mayank Shah <mayank.shah@percona.com>
* add unit tests for snapshot restore
Signed-off-by: Mayank Shah <mayank.shah@percona.com>
* db config
* combine conditions
Signed-off-by: Mayank Shah <mayank.shah@percona.com>
* improve compatibility
Signed-off-by: Mayank Shah <mayank.shah@percona.com>
* update e2e test comparisons
Signed-off-by: Mayank Shah <mayank.shah@percona.com>
* address copilot
Signed-off-by: Mayank Shah <mayank.shah@percona.com>
* improve condition naming
Signed-off-by: Mayank Shah <mayank.shah@percona.com>
* add e2e test
* support external backup type in scheduled backup tasks
Add `external` as a valid backup type for scheduled tasks along with a
`VolumeSnapshotClass` field to configure which VolumeSnapshotClass to
use. External backups skip storage validation and clear finalizers since
snapshots are managed externally.
Signed-off-by: Mayank Shah <mayank.shah@percona.com>
* fix restore from backup source
Signed-off-by: Mayank Shah <mayank.shah@percona.com>
* update examples
Signed-off-by: Mayank Shah <mayank.shah@percona.com>
* update e2e test for restore to new cluster
Signed-off-by: Mayank Shah <mayank.shah@percona.com>
* update run-pr and run-release
Signed-off-by: Mayank Shah <mayank.shah@percona.com>
* test fixes
Signed-off-by: Mayank Shah <mayank.shah@percona.com>
* test fixes
Signed-off-by: Mayank Shah <mayank.shah@percona.com>
* bugfix: restored pvcs cannot be cleaned up
Signed-off-by: Mayank Shah <mayank.shah@percona.com>
* test fix
Signed-off-by: Mayank Shah <mayank.shah@percona.com>
* revert backup images
Signed-off-by: Mayank Shah <mayank.shah@percona.com>
* use pbm v2.13.0
Signed-off-by: Mayank Shah <mayank.shah@percona.com>
* use only dbConfigEntry instead of a map with the rs.name
* revert init container script
Signed-off-by: Mayank Shah <mayank.shah@percona.com>
* fix db-config
Signed-off-by: Mayank Shah <mayank.shah@percona.com>
* add unit test
* fix key permission errors
Signed-off-by: Mayank Shah <mayank.shah@percona.com>
* fixes
* update outdated checks in e2e tests
Signed-off-by: Mayank Shah <mayank.shah@percona.com>
* delete secrets when Snapshot restore finished
* fix imports
* fix imports
Signed-off-by: Mayank Shah <mayank.shah@percona.com>
* cleanup log
Signed-off-by: Mayank Shah <mayank.shah@percona.com>
* update run-backup.csv
Signed-off-by: Mayank Shah <mayank.shah@percona.com>
* validate snapshot existence before restore
Signed-off-by: Mayank Shah <mayank.shah@percona.com>
* ensure PVCs are replaced one at a time
Signed-off-by: Mayank Shah <mayank.shah@percona.com>
* backup storage deletion
Signed-off-by: Mayank Shah <mayank.shah@percona.com>
* update rbac
Signed-off-by: Mayank Shah <mayank.shah@percona.com>
* fix validation check
Signed-off-by: Mayank Shah <mayank.shah@percona.com>
* address copilot
Signed-off-by: Mayank Shah <mayank.shah@percona.com>
* logging
Signed-off-by: Mayank Shah <mayank.shah@percona.com>
* cleanup
Signed-off-by: Mayank Shah <mayank.shah@percona.com>
* update rbac
Signed-off-by: Mayank Shah <mayank.shah@percona.com>
* delete volume snapshots when PBM is nil during backup finalizer cleanup
Signed-off-by: Mayank Shah <mayank.shah@percona.com>
---------
Signed-off-by: Mayank Shah <mayank.shah@percona.com>
Co-authored-by: George Kechagias <george.kechagias@percona.com>1 parent 7489d6b commit b58045d
54 files changed
Lines changed: 4339 additions & 348 deletions
File tree
- cmd/manager
- config/crd/bases
- deploy
- backup
- e2e-tests
- conf
- demand-backup-snapshot
- compare
- conf
- version-service/conf
- pkg
- apis/psmdb/v1
- controller
- perconaservermongodbbackup
- perconaservermongodbrestore
- perconaservermongodb
- naming
- psmdb/backup
- fake
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
13 | 13 | | |
14 | 14 | | |
15 | 15 | | |
| 16 | + | |
16 | 17 | | |
17 | 18 | | |
18 | 19 | | |
| |||
44 | 45 | | |
45 | 46 | | |
46 | 47 | | |
| 48 | + | |
47 | 49 | | |
48 | 50 | | |
49 | 51 | | |
| |||
Lines changed: 12 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
78 | 78 | | |
79 | 79 | | |
80 | 80 | | |
| 81 | + | |
81 | 82 | | |
82 | 83 | | |
83 | 84 | | |
| 85 | + | |
| 86 | + | |
84 | 87 | | |
85 | 88 | | |
86 | 89 | | |
| |||
255 | 258 | | |
256 | 259 | | |
257 | 260 | | |
| 261 | + | |
| 262 | + | |
| 263 | + | |
| 264 | + | |
| 265 | + | |
| 266 | + | |
| 267 | + | |
| 268 | + | |
| 269 | + | |
258 | 270 | | |
259 | 271 | | |
260 | 272 | | |
| |||
Lines changed: 45 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
216 | 216 | | |
217 | 217 | | |
218 | 218 | | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
219 | 228 | | |
220 | 229 | | |
221 | 230 | | |
| |||
263 | 272 | | |
264 | 273 | | |
265 | 274 | | |
| 275 | + | |
| 276 | + | |
| 277 | + | |
| 278 | + | |
| 279 | + | |
| 280 | + | |
| 281 | + | |
| 282 | + | |
| 283 | + | |
| 284 | + | |
| 285 | + | |
| 286 | + | |
| 287 | + | |
| 288 | + | |
| 289 | + | |
| 290 | + | |
| 291 | + | |
| 292 | + | |
| 293 | + | |
| 294 | + | |
| 295 | + | |
| 296 | + | |
| 297 | + | |
| 298 | + | |
| 299 | + | |
| 300 | + | |
| 301 | + | |
| 302 | + | |
| 303 | + | |
| 304 | + | |
| 305 | + | |
| 306 | + | |
| 307 | + | |
| 308 | + | |
| 309 | + | |
| 310 | + | |
266 | 311 | | |
267 | 312 | | |
268 | 313 | | |
| |||
Lines changed: 3 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
504 | 504 | | |
505 | 505 | | |
506 | 506 | | |
| 507 | + | |
| 508 | + | |
| 509 | + | |
507 | 510 | | |
508 | 511 | | |
509 | 512 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
| 10 | + | |
10 | 11 | | |
11 | 12 | | |
12 | 13 | | |
13 | | - | |
| 14 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
29 | 29 | | |
30 | 30 | | |
31 | 31 | | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
32 | 37 | | |
33 | 38 | | |
34 | 39 | | |
35 | | - | |
| 40 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
82 | 82 | | |
83 | 83 | | |
84 | 84 | | |
| 85 | + | |
85 | 86 | | |
86 | 87 | | |
87 | 88 | | |
| 89 | + | |
| 90 | + | |
88 | 91 | | |
89 | 92 | | |
90 | 93 | | |
| |||
259 | 262 | | |
260 | 263 | | |
261 | 264 | | |
| 265 | + | |
| 266 | + | |
| 267 | + | |
| 268 | + | |
| 269 | + | |
| 270 | + | |
| 271 | + | |
| 272 | + | |
| 273 | + | |
262 | 274 | | |
263 | 275 | | |
264 | 276 | | |
| |||
497 | 509 | | |
498 | 510 | | |
499 | 511 | | |
| 512 | + | |
| 513 | + | |
| 514 | + | |
| 515 | + | |
| 516 | + | |
| 517 | + | |
| 518 | + | |
| 519 | + | |
| 520 | + | |
500 | 521 | | |
501 | 522 | | |
502 | 523 | | |
| |||
544 | 565 | | |
545 | 566 | | |
546 | 567 | | |
| 568 | + | |
| 569 | + | |
| 570 | + | |
| 571 | + | |
| 572 | + | |
| 573 | + | |
| 574 | + | |
| 575 | + | |
| 576 | + | |
| 577 | + | |
| 578 | + | |
| 579 | + | |
| 580 | + | |
| 581 | + | |
| 582 | + | |
| 583 | + | |
| 584 | + | |
| 585 | + | |
| 586 | + | |
| 587 | + | |
| 588 | + | |
| 589 | + | |
| 590 | + | |
| 591 | + | |
| 592 | + | |
| 593 | + | |
| 594 | + | |
| 595 | + | |
| 596 | + | |
| 597 | + | |
| 598 | + | |
| 599 | + | |
| 600 | + | |
| 601 | + | |
| 602 | + | |
| 603 | + | |
547 | 604 | | |
548 | 605 | | |
549 | 606 | | |
| |||
1391 | 1448 | | |
1392 | 1449 | | |
1393 | 1450 | | |
| 1451 | + | |
| 1452 | + | |
| 1453 | + | |
1394 | 1454 | | |
1395 | 1455 | | |
1396 | 1456 | | |
| |||
26661 | 26721 | | |
26662 | 26722 | | |
26663 | 26723 | | |
| 26724 | + | |
| 26725 | + | |
| 26726 | + | |
| 26727 | + | |
| 26728 | + | |
| 26729 | + | |
| 26730 | + | |
| 26731 | + | |
| 26732 | + | |
| 26733 | + | |
26664 | 26734 | | |
26665 | 26735 | | |
26666 | 26736 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
914 | 914 | | |
915 | 915 | | |
916 | 916 | | |
| 917 | + | |
| 918 | + | |
| 919 | + | |
| 920 | + | |
| 921 | + | |
| 922 | + | |
| 923 | + | |
| 924 | + | |
| 925 | + | |
917 | 926 | | |
918 | 927 | | |
919 | 928 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
82 | 82 | | |
83 | 83 | | |
84 | 84 | | |
| 85 | + | |
85 | 86 | | |
86 | 87 | | |
87 | 88 | | |
| 89 | + | |
| 90 | + | |
88 | 91 | | |
89 | 92 | | |
90 | 93 | | |
| |||
259 | 262 | | |
260 | 263 | | |
261 | 264 | | |
| 265 | + | |
| 266 | + | |
| 267 | + | |
| 268 | + | |
| 269 | + | |
| 270 | + | |
| 271 | + | |
| 272 | + | |
| 273 | + | |
262 | 274 | | |
263 | 275 | | |
264 | 276 | | |
| |||
497 | 509 | | |
498 | 510 | | |
499 | 511 | | |
| 512 | + | |
| 513 | + | |
| 514 | + | |
| 515 | + | |
| 516 | + | |
| 517 | + | |
| 518 | + | |
| 519 | + | |
| 520 | + | |
500 | 521 | | |
501 | 522 | | |
502 | 523 | | |
| |||
544 | 565 | | |
545 | 566 | | |
546 | 567 | | |
| 568 | + | |
| 569 | + | |
| 570 | + | |
| 571 | + | |
| 572 | + | |
| 573 | + | |
| 574 | + | |
| 575 | + | |
| 576 | + | |
| 577 | + | |
| 578 | + | |
| 579 | + | |
| 580 | + | |
| 581 | + | |
| 582 | + | |
| 583 | + | |
| 584 | + | |
| 585 | + | |
| 586 | + | |
| 587 | + | |
| 588 | + | |
| 589 | + | |
| 590 | + | |
| 591 | + | |
| 592 | + | |
| 593 | + | |
| 594 | + | |
| 595 | + | |
| 596 | + | |
| 597 | + | |
| 598 | + | |
| 599 | + | |
| 600 | + | |
| 601 | + | |
| 602 | + | |
| 603 | + | |
547 | 604 | | |
548 | 605 | | |
549 | 606 | | |
| |||
1391 | 1448 | | |
1392 | 1449 | | |
1393 | 1450 | | |
| 1451 | + | |
| 1452 | + | |
| 1453 | + | |
1394 | 1454 | | |
1395 | 1455 | | |
1396 | 1456 | | |
| |||
0 commit comments