summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZuul <zuul@review.opendev.org>2021-03-02 02:29:16 +0000
committerGerrit Code Review <review@openstack.org>2021-03-02 02:29:16 +0000
commit31cfe2175e47b267c7a33df7494b9cb5385831f9 (patch)
tree2e76e19f6dbf4a9fb20f46e5a70068d0edebc9d0
parent4d8124f31839b9940bdfe1e3e3badb76a9e168b4 (diff)
parent87c7684fb09ebb80b08039cc4153f339cb2bdb14 (diff)
downloadswift-31cfe2175e47b267c7a33df7494b9cb5385831f9.tar.gz
Merge "sharder: downgrade 'no data dirs' warning to info"
-rw-r--r--swift/container/sharder.py2
-rw-r--r--test/unit/container/test_sharder.py23
2 files changed, 24 insertions, 1 deletions
diff --git a/swift/container/sharder.py b/swift/container/sharder.py
index 37a111c75..357792c6a 100644
--- a/swift/container/sharder.py
+++ b/swift/container/sharder.py
@@ -1876,7 +1876,7 @@ class ContainerSharder(ContainerReplicator):
partitions_to_shard)
dirs.append((datadir, node, part_filt))
if not dirs:
- self.logger.warning('Found no data dirs!')
+ self.logger.info('Found no containers directories')
for part, path, node in self.roundrobin_datadirs(dirs):
# NB: get_part_nodes always provides an 'index' key;
# this will be used in leader selection
diff --git a/test/unit/container/test_sharder.py b/test/unit/container/test_sharder.py
index a7e975ee7..1aab95e03 100644
--- a/test/unit/container/test_sharder.py
+++ b/test/unit/container/test_sharder.py
@@ -805,6 +805,29 @@ class TestSharder(BaseTestSharder):
self._assert_stats(
expected_in_progress_stats, sharder, 'sharding_in_progress')
+ def test_one_shard_cycle_no_containers(self):
+ conf = {'recon_cache_path': self.tempdir,
+ 'devices': self.tempdir,
+ 'mount_check': False}
+
+ with self._mock_sharder(conf) as sharder:
+ for dev in sharder.ring.devs:
+ os.mkdir(os.path.join(self.tempdir, dev['device']))
+ with mock.patch('swift.container.sharder.is_local_device',
+ return_value=True):
+ sharder._one_shard_cycle(Everything(), Everything())
+ self.assertEqual([], sharder.logger.get_lines_for_level('warning'))
+ self.assertIn('Found no containers directories',
+ sharder.logger.get_lines_for_level('info'))
+ with self._mock_sharder(conf) as sharder:
+ os.mkdir(os.path.join(self.tempdir, dev['device'], 'containers'))
+ with mock.patch('swift.container.sharder.is_local_device',
+ return_value=True):
+ sharder._one_shard_cycle(Everything(), Everything())
+ self.assertEqual([], sharder.logger.get_lines_for_level('warning'))
+ self.assertNotIn('Found no containers directories',
+ sharder.logger.get_lines_for_level('info'))
+
def test_ratelimited_roundrobin(self):
n_databases = 100