From 40edf07ab347a9a73e944f4a18dd96b504f7e194 Mon Sep 17 00:00:00 2001 From: Tim Burke Date: Fri, 20 Dec 2019 21:36:07 +0000 Subject: [PATCH] sharding: Let swift-manage-shard-ranges accept a relative path Previously, passing a relative path would confuse the ContainerBroker about which DB files are available, leading to an IndexError when none were found. Just call realpath() on whatever the user provided so we don't have to muck with any of the broker code. Change-Id: Icdf100dfcd006d975b49d151b99aa9272452d013 --- swift/cli/manage_shard_ranges.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/swift/cli/manage_shard_ranges.py b/swift/cli/manage_shard_ranges.py index 6e0fb38977..667304d573 100644 --- a/swift/cli/manage_shard_ranges.py +++ b/swift/cli/manage_shard_ranges.py @@ -158,6 +158,7 @@ All three steps may be performed with one sub-command:: from __future__ import print_function import argparse import json +import os.path import sys import time @@ -513,8 +514,8 @@ def main(args=None): print('\nA sub-command is required.') return 1 logger = get_logger({}, name='ContainerBroker', log_to_console=True) - broker = ContainerBroker(args.container_db, logger=logger, - skip_commits=True) + broker = ContainerBroker(os.path.realpath(args.container_db), + logger=logger, skip_commits=True) try: broker.get_info() except Exception as exc: