diff --git a/hooks/swift_hooks.py b/hooks/swift_hooks.py index 673313b..d81e319 100755 --- a/hooks/swift_hooks.py +++ b/hooks/swift_hooks.py @@ -171,8 +171,7 @@ def config_changed(): status_set('maintenance', 'Running openstack upgrade') status_set('maintenance', 'Updating and (maybe) balancing rings') - update_rings(min_part_hours=config('min-hours'), - rebalance=not config('disable-ring-balance')) + update_rings(min_part_hours=config('min-hours')) if not config('disable-ring-balance') and is_elected_leader(SWIFT_HA_RES): # Try ring balance. If rings are balanced, no sync will occur. @@ -332,11 +331,7 @@ def storage_changed(): node['device'] = dev nodes.append(node) - # NOTE(jamespage): ensure that disable-ring-balance is observed - # whilst new storage is added - rebalance will - # happen when configuration is toggled later - update_rings(nodes, rebalance=not config('disable-ring-balance')) - + update_rings(nodes) if not openstack.is_unit_paused_set(): # Restart proxy here in case no config changes made (so # restart_on_change() ineffective). diff --git a/lib/swift_utils.py b/lib/swift_utils.py index b2ba4a5..bea4ea5 100644 --- a/lib/swift_utils.py +++ b/lib/swift_utils.py @@ -865,7 +865,7 @@ def sync_builders_and_rings_if_changed(f): @sync_builders_and_rings_if_changed -def update_rings(nodes=[], min_part_hours=None, rebalance=True): +def update_rings(nodes=[], min_part_hours=None): """Update builder with node settings and balance rings if necessary. Also update min_part_hours if provided. @@ -903,7 +903,7 @@ def update_rings(nodes=[], min_part_hours=None, rebalance=True): add_to_ring(ring, node) balance_required = True - if rebalance and balance_required: + if balance_required: balance_rings() diff --git a/unit_tests/test_swift_utils.py b/unit_tests/test_swift_utils.py index a6e8b6d..41e6715 100644 --- a/unit_tests/test_swift_utils.py +++ b/unit_tests/test_swift_utils.py @@ -90,13 +90,6 @@ class SwiftUtilsTestCase(unittest.TestCase): self.assertTrue(mock_set_min_hours.called) self.assertTrue(mock_balance_rings.called) - mock_balance_rings.reset_mock() - swift_utils.update_rings(min_part_hours=10, - rebalance=False) - self.assertTrue(mock_get_min_hours.called) - self.assertTrue(mock_set_min_hours.called) - self.assertFalse(mock_balance_rings.called) - @mock.patch('lib.swift_utils.previously_synced') @mock.patch('lib.swift_utils._load_builder') @mock.patch('lib.swift_utils.initialize_ring')