system-config/testinfra
Ian Wienand 8361ab701c
backups: add retirement and purge lists
This adds a retirement and purge list to the borg management role.

The idea here is that when a backed-up host is shut-down, we add its
backup user to the retired list.  On the next ansible run the user
will be disabled on the backup-server and the backup repo marked as
retired.  On the next prune, we will trim the backup to only the last
run to save space.  This gives us a grace period to restore if we
should need to.

When we are sure we don't want the data, we can put it in the purge
list, and the backup repo is removed on the next ansible run (hosts
can go straight into this if we want).  This allows us to have a
review process/history before we purge data.

To test, we create a fake "borg-retired" user on the backup-server,
and give it a simple backup.  This is marked as retired, which is
reflected in the testinfra run of the prune script.  Similarly a
"borg-purge" user is created, and we ensure it's backup dir is
removed.

Documentation is updated.

Change-Id: I5dff0a9d35b11a1f021048a12ecddce952c0c13c
2024-11-08 22:30:49 +11:00
..
conftest.py More yaml.safe_load() in testinfra/conftest.py 2021-10-13 21:58:41 +00:00
test_adns.py dns: abstract names 2023-04-19 09:53:10 +10:00
test_base.py Drop more Xenial testing from system-config 2024-06-24 15:08:07 -07:00
test_borg_backups.py backups: add retirement and purge lists 2024-11-08 22:30:49 +11:00
test_bridge.py Cleanup leftover inmotion configs 2024-06-20 09:52:50 -07:00
test_codesearch.py hound: enable detect-ref 2022-02-25 17:27:35 +11:00
test_eavesdrop.py ptgbot: rename site to ptg.opendev.org 2021-10-07 09:43:39 +11:00
test_etherpad.py Merge "Update etherpad to v2.0.3" 2024-05-01 16:08:38 +00:00
test_gerrit.py Block access to Gitiles 2022-02-18 21:39:27 +00:00
test_gitea_lb.py Test gitea haproxy maxconn limits 2024-01-02 18:12:00 +00:00
test_gitea.py Increase gitea db connection limit 2024-02-05 10:40:03 -08:00
test_grafana.py testinfra: refactor screenshot taking 2021-09-07 12:54:26 +10:00
test_graphite.py graphite: fix xFilesFactor 2022-06-28 18:41:17 +10:00
test_keycloak.py Clarify testinfra socket name for keycloak rdbms 2024-02-09 17:35:03 +00:00
test_letsencrypt.py Update a few s/bridge01/bridge99 references 2022-11-11 15:05:39 +11:00
test_lists_opendev_org.py Add robots.txt to our list servers 2024-04-23 08:51:50 -07:00
test_meetpad.py Switch meetpad test servers to jammy 2024-05-02 13:46:03 -05:00
test_mirror-update.py Remove centos rsync mirroring tooling 2024-06-25 10:02:52 -07:00
test_mirror.py Test mirror services on noble 2024-06-28 08:15:41 +10:00
test_nodepool.py Add new opendev.org nodepool launchers 2021-03-16 15:21:58 -07:00
test_ns.py dns: abstract names 2023-04-19 09:53:10 +10:00
test_paste.py paste : move testing host to paste99, remove https hacks 2022-07-07 10:02:46 +10:00
test_refstack.py refstack: Edit URL of public RefStackAPI 2021-03-10 14:09:20 +11:00
test_registry.py Deploy insecure-ci-registry.opendev.org on jammy 2023-06-23 13:21:48 -07:00
test_static.py Host a redirect for api.openstack.org 2024-05-14 19:49:32 +00:00
test_tracing.py Add Jaeger tracing server 2022-09-15 19:21:33 -07:00
test_zookeeper.py Add zk test to check myid is set in service 2023-10-17 09:31:16 -07:00
test_zuul_db.py Add a standalone zuul db server 2024-04-04 12:25:23 -07:00
test_zuul_executor.py Remove gearman from Zuul 2022-02-01 13:52:47 -08:00
test_zuul_launcher.py Run zuul-launcher 2024-09-18 16:37:40 -07:00
test_zuul_lb.py Add Zuul load balancer 2022-02-10 13:24:42 -08:00
test_zuul_merger.py Remove gearman from Zuul 2022-02-01 13:52:47 -08:00
test_zuul_preview.py Add zp02 zuul-preview server to replace zp01 2023-06-01 10:05:46 -07:00
test_zuul_scheduler.py Add robots.txt to Zuul web 2024-04-03 13:31:06 -07:00
util.py testinfra: Update selenium calls 2022-10-20 09:00:43 +11:00