Coverage for manila/scheduler/weighers/base_host.py: 92%

12 statements  

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

1# Copyright (c) 2011 OpenStack Foundation. 

2# All Rights Reserved. 

3# 

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

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

6# a copy of the License at 

7# 

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

9# 

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

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

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

13# License for the specific language governing permissions and limitations 

14# under the License. 

15 

16""" 

17Scheduler host weighers 

18""" 

19 

20from manila.scheduler.weighers import base 

21 

22 

23class WeighedHost(base.WeighedObject): 

24 def to_dict(self): 

25 return { 

26 'weight': self.weight, 

27 'host': self.obj.host, 

28 } 

29 

30 def __repr__(self): 

31 return ("WeighedHost [host: %s, weight: %s]" % 

32 (self.obj.host, self.weight)) 

33 

34 

35class BaseHostWeigher(base.BaseWeigher): 

36 """Base class for host weighers.""" 

37 pass 

38 

39 

40class HostWeightHandler(base.BaseWeightHandler): 

41 object_class = WeighedHost 

42 

43 def __init__(self, namespace): 

44 super(HostWeightHandler, self).__init__(BaseHostWeigher, namespace)