Revision 3f73b3ae
b/lib/backend.py | ||
---|---|---|
622 | 622 |
return _GetVgInfo(name, excl_stor) |
623 | 623 |
|
624 | 624 |
|
625 |
def _GetVgInfo(name, excl_stor): |
|
625 |
def _GetVgInfo( |
|
626 |
name, excl_stor, info_fn=bdev.LogicalVolume.GetVGInfo): |
|
626 | 627 |
"""Retrieves information about a LVM volume group. |
627 | 628 |
|
628 | 629 |
""" |
629 | 630 |
# TODO: GetVGInfo supports returning information for multiple VGs at once |
630 |
vginfo = bdev.LogicalVolume.GetVGInfo([name], excl_stor)
|
|
631 |
vginfo = info_fn([name], excl_stor)
|
|
631 | 632 |
if vginfo: |
632 | 633 |
vg_free = int(round(vginfo[0][0], 0)) |
633 | 634 |
vg_size = int(round(vginfo[0][1], 0)) |
... | ... | |
651 | 652 |
""" |
652 | 653 |
excl_stor = _CheckLvmStorageParams(params) |
653 | 654 |
return _GetVgSpindlesInfo(name, excl_stor) |
654 |
|
|
655 |
|
|
655 | 656 |
|
656 | 657 |
def _GetVgSpindlesInfo( |
657 | 658 |
name, excl_stor, info_fn=bdev.LogicalVolume.GetVgSpindlesInfo): |
b/test/py/ganeti.backend_unittest.py | ||
---|---|---|
734 | 734 |
self.assertEqual(0, result["storage_size"]) |
735 | 735 |
|
736 | 736 |
|
737 |
class TestGetVgSpindlesInfo(unittest.TestCase): |
|
738 |
|
|
739 |
def testValidInput(self): |
|
740 |
self.vg_free = 13 |
|
741 |
self.vg_size = 31 |
|
742 |
self.mock_fn = mock.Mock(return_value=[(self.vg_free, self.vg_size)]) |
|
743 |
name = "myvg" |
|
744 |
excl_stor = True |
|
745 |
result = backend._GetVgInfo(name, excl_stor, info_fn=self.mock_fn) |
|
746 |
self.mock_fn.assert_called_with([name], excl_stor) |
|
747 |
self.assertEqual(name, result["name"]) |
|
748 |
self.assertEqual(constants.ST_LVM_VG, result["type"]) |
|
749 |
self.assertEqual(self.vg_free, result["storage_free"]) |
|
750 |
self.assertEqual(self.vg_size, result["storage_size"]) |
|
751 |
|
|
752 |
def testNoExclStor(self): |
|
753 |
name = "myvg" |
|
754 |
excl_stor = True |
|
755 |
self.mock_fn = mock.Mock(return_value=None) |
|
756 |
result = backend._GetVgInfo(name, excl_stor, info_fn=self.mock_fn) |
|
757 |
self.mock_fn.assert_called_with([name], excl_stor) |
|
758 |
self.assertEqual(name, result["name"]) |
|
759 |
self.assertEqual(constants.ST_LVM_VG, result["type"]) |
|
760 |
self.assertEqual(None, result["storage_free"]) |
|
761 |
self.assertEqual(None, result["storage_size"]) |
|
762 |
|
|
763 |
|
|
737 | 764 |
class TestGetNodeInfo(unittest.TestCase): |
738 | 765 |
|
739 | 766 |
_SOME_RESULT = None |
Also available in: Unified diff