Coverage for manila/tests/scheduler/filters/test_retry.py: 100%

21 statements  

« prev     ^ index     » next       coverage.py v7.11.0, created at 2026-02-18 22:19 +0000

1# Copyright 2011 OpenStack LLC. # All Rights Reserved. 

2# 

3# Licensed under the Apache License, Version 2.0 (the "License"); you may 

4# not use this file except in compliance with the License. You may obtain 

5# a copy of the License at 

6# 

7# http://www.apache.org/licenses/LICENSE-2.0 

8# 

9# Unless required by applicable law or agreed to in writing, software 

10# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 

11# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 

12# License for the specific language governing permissions and limitations 

13# under the License. 

14""" 

15Tests For RetryFilter. 

16""" 

17 

18from manila.scheduler.filters import retry 

19from manila import test 

20from manila.tests.scheduler import fakes 

21 

22 

23class HostFiltersTestCase(test.TestCase): 

24 """Test case for RetryFilter.""" 

25 

26 def setUp(self): 

27 super(HostFiltersTestCase, self).setUp() 

28 self.filter = retry.RetryFilter() 

29 

30 def test_retry_filter_disabled(self): 

31 # Test case where retry/re-scheduling is disabled. 

32 host = fakes.FakeHostState('host1', {}) 

33 filter_properties = {} 

34 self.assertTrue(self.filter.host_passes(host, filter_properties)) 

35 

36 def test_retry_filter_pass(self): 

37 # Node not previously tried. 

38 host = fakes.FakeHostState('host1', {}) 

39 retry = dict(num_attempts=2, hosts=['host2']) 

40 filter_properties = dict(retry=retry) 

41 self.assertTrue(self.filter.host_passes(host, filter_properties)) 

42 

43 def test_retry_filter_fail(self): 

44 # Node was already tried. 

45 host = fakes.FakeHostState('host1', {}) 

46 retry = dict(num_attempts=1, hosts=['host1']) 

47 filter_properties = dict(retry=retry) 

48 self.assertFalse(self.filter.host_passes(host, filter_properties))