2
0

fake_lvremove.py 801 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. import argparse
  2. import json
  3. import sys
  4. def parse_arguments(*unparsed_arguments):
  5. parser = argparse.ArgumentParser(add_help=False)
  6. parser.add_argument('--force', action='store_true', required=True)
  7. parser.add_argument('snapshot_device')
  8. return parser.parse_args(unparsed_arguments)
  9. def load_snapshots():
  10. try:
  11. return json.load(open('/tmp/fake_lvm.json'))
  12. except FileNotFoundError:
  13. return []
  14. def save_snapshots(snapshots):
  15. json.dump(snapshots, open('/tmp/fake_lvm.json', 'w'))
  16. def main():
  17. arguments = parse_arguments(*sys.argv[1:])
  18. snapshots = [
  19. snapshot
  20. for snapshot in load_snapshots()
  21. if snapshot['lv_path'] != arguments.snapshot_device
  22. ]
  23. save_snapshots(snapshots)
  24. if __name__ == '__main__':
  25. main()