- 12 Sep, 2022 1 commit
-
- 09 Sep, 2022 4 commits
-
-
MVernon authored
This lets us rebalance the rings without making any changes to device weights (useful because often a series of weight changes will result in rings that need rebalancing). Bug: T317409
-
MVernon authored
Make the process of creating tmpdir and populating it with rings into a separate function, so we can call it outside of run_srb. No functional change in this commit.
-
MVernon authored
We're using this in prod, and it makes sense for the tests to reflect a 4% change not the 2% change we were using when we wrote the tests. No functional change.
-
- 27 Jul, 2022 3 commits
-
-
MVernon authored
Assign zones to eqiad rows E & F See merge request mvernon/swift-ring!4
-
MVernon authored
E & F have one subnet per rack (and each rack has its own networking kit); for now keep to one zone per row, rather than going to one per rack.
-
MVernon authored
Each zone is currently a DC Row - annotate them thus
-
- 26 Jul, 2022 1 commit
-
-
MVernon authored
We've adjust min_part_hours on ms clusters to 12h, so this is back to a full drain/load taking 12-13 days
-
- 19 May, 2022 1 commit
-
-
MVernon authored
-
- 18 May, 2022 2 commits
- 25 Mar, 2022 1 commit
-
-
MVernon authored
...this avoids the "ring file is obsolete" warning we otherwise get sometimes.
-
- 24 Mar, 2022 1 commit
-
-
MVernon authored
We want to sometimes be able to put the new rings tarball somewhere other than swiftdir; add an optional CLI argument to do so.
-
- 23 Mar, 2022 1 commit
-
-
MVernon authored
For testing use in pontoon, we need to know about the region and zone use there.
-
- 22 Mar, 2022 3 commits
- 11 Mar, 2022 2 commits
- 10 Mar, 2022 1 commit
-
-
MVernon authored
As part of deployment, we want an option to log to syslog (and be silent on stdout in normal operation, so not producing cron-mail). This doesn't change output when -s is not specified, tested on python 2 and 3.
-
- 16 Feb, 2022 2 commits
-
-
MVernon authored
swift-ring-builder returns 1 (warning) incorrectly in a number of cases, including a number of unhandled exceptions e.g. because a builder file cannot be written. In practice, only with "rebalance" do we need to accept rc 1 for no change to a ring (swift-ring-builder set_weight that makes no change still returns 0); so be more restrictive except in that case.
-
MVernon authored
The deployment approach is that a puppetmaster will periodically rsync new_rings.tar.bz2 from each swift_ring_manager host, and then deploy it to swift servers as rings.tar.bz2 (with suitable handling to untar this file into /etc/swift when it changes). The aim is to avoid any race conditions where e.g. .ring.bz and .builder files are deployed out of sync with each other. So deploy_rings() now tars up the .builder and .ring.gz files from tmpdir, and then renames the tarball into swiftdir (ensuring any readers will either get entirely the old rings or entirely the new ones).
-
- 11 Feb, 2022 1 commit
-
-
MVernon authored
We are going to deploy via updating a tarball of all rings (rather than just coping modified rings around), so rather than just copying rings into tmpdir as we come to modify them instead copy all the rings into tmpdir at the point we are creating it (i.e. doing the first modification). This means rebalance() will rebalance all rings, not just ones we've changed, but this is harmless - swift-ring-builder exits 1 and says its made no changes in this case, and that's OK.
-
- 11 Jan, 2022 1 commit
-
-
MVernon authored
Use a named tuple class for (weight,immediate); no functional change See merge request mvernon/swift-ring!1
-
- 05 Jan, 2022 1 commit
-
-
MVernon authored
Make the WeightChange class, which is a collections.namedtuple. This lets us access the weight and immediate members by name, making the code clearer. It also reduces some confusion in the previous code where (immediate[,weight]) was used for overrides and (weight,immediate) was used for desired weight changes (i.e. after applying those overrides). This change has been tested against the test suite on both python2 and python3.
-
- 06 Dec, 2021 1 commit
-
-
MVernon authored
(so we always have spaces round them)
-
- 02 Dec, 2021 1 commit
-
-
MVernon authored
-
- 01 Dec, 2021 3 commits
- 30 Nov, 2021 2 commits
- 29 Nov, 2021 7 commits
-
-
MVernon authored
-
MVernon authored
R1705 is 'Unnecessary "else" after "return" (no-else-return), but in these two cases it is a false positive.
-
MVernon authored
If a previous if has return'd, then we don't need else/elif thereafter.
-
MVernon authored
(this is that ts_{start,end} are unused, and that we use the _get_ring_names() method.)
-
MVernon authored
-
MVernon authored
C0302 - too many lines in a module W0603 - use of the global statement I think these are OK in a stand-alone executible.
-
MVernon authored
-