2 Commits

Author SHA1 Message Date
kenichiro matsuda
81816bebe6 Fix shebang of commands
Fix shebang of following commands.
  $ grep '#!/usr/bin/python' swift/bin/*
  swift/bin/swift-account-info:#!/usr/bin/python
  swift/bin/swift-container-info:#!/usr/bin/python
  swift/bin/swift-container-sync:#!/usr/bin/python
  swift/bin/swift-recon:#!/usr/bin/python
  swift/bin/swift-ring-builder:#!/usr/bin/python
  swift/bin/swift-ring-builder-analyzer:#!/usr/bin/python

Change-Id: I564d1d8abd76eba57730fc2f30263b0a0f809867
Closes-Bug: #1481623
2015-08-06 11:02:40 +09:00
Samuel Merritt
ccf0758ef1 Add ring-builder analyzer.
This is a tool to help developers quantify changes to the ring
builder. It takes a scenario (JSON file) describing the builder's
basic parameters (part_power, replicas, etc.) and a number of
"rounds", where each round is a set of operations to perform on the
builder. For each round, the operations are applied, and then the
builder is rebalanced until it reaches a steady state.

The idea is that a developer observes the ring builder behaving
suboptimally, writes a scenario to reproduce the behavior, modifies
the ring builder to fix it, and references the scenario with the
commit so that others can see that things have improved.

I decided to write this after writing my fourth or fifth hacky one-off
script to reproduce some bad behavior in the ring builder.

Change-Id: I114242748368f142304aab90a6d99c1337bced4c
2015-07-02 08:16:03 -07:00