diff options
author | Caleb Tennis <caleb.tennis@gmail.com> | 2010-08-21 18:21:59 +0000 |
---|---|---|
committer | Caleb Tennis <caleb.tennis@gmail.com> | 2010-08-21 18:21:59 +0000 |
commit | db90da2763cd3a2a364989d5965cfa6d08e88224 (patch) | |
tree | 4852b08b45a65753f2251d6bfe1edb91fd13f3fe /bin/swift-ring-builder | |
parent | 4d66a8cbe73831d3e575c939f86148ce09fb0503 (diff) | |
download | swift-db90da2763cd3a2a364989d5965cfa6d08e88224.tar.gz |
Remove the exception from the unit test, since we don't bomb out anymore. Also, add a warning to swift-ring-builder if you're building an empty ring, or do a write_ring and you aren't rebalanced
Diffstat (limited to 'bin/swift-ring-builder')
-rwxr-xr-x | bin/swift-ring-builder | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/bin/swift-ring-builder b/bin/swift-ring-builder index 877590da2..50353df25 100755 --- a/bin/swift-ring-builder +++ b/bin/swift-ring-builder @@ -533,10 +533,16 @@ Exit codes: 0 = ring changed, 1 = ring did not change, 2 = error exit(EXIT_RING_UNCHANGED) elif argv[2] == 'write_ring': - pickle.dump(builder.get_ring(), + ring_data = builder.get_ring() + if not ring_data._replica2part2dev_id: + if ring_data.devs: + print 'Warning: Writing a ring with no partition assignments but with devices; did you forget to run "rebalance"?' + else: + print 'Warning: Writing an empty ring' + pickle.dump(ring_data, GzipFile(pathjoin(backup_dir, '%d.' % time() + basename(ring_file)), 'wb'), protocol=2) - pickle.dump(builder.get_ring(), GzipFile(ring_file, 'wb'), protocol=2) + pickle.dump(ring_data, GzipFile(ring_file, 'wb'), protocol=2) exit(EXIT_RING_CHANGED) elif argv[2] == 'pretend_min_part_hours_passed': |