diff --git a/lib/backend.py b/lib/backend.py index 1e5afa02668f3e023c354065d38580c52917380a..479b0c289a547f5143ebd17caa7da527129e0e5d 100644 --- a/lib/backend.py +++ b/lib/backend.py @@ -440,19 +440,20 @@ def GetNodeInfo(vgname, hypervisor_type): """ outputarray = {} - vginfo = bdev.LogicalVolume.GetVGInfo([vgname]) - vg_free = vg_size = None - if vginfo: - vg_free = int(round(vginfo[0][0], 0)) - vg_size = int(round(vginfo[0][1], 0)) - - outputarray['vg_size'] = vg_size - outputarray['vg_free'] = vg_free - - hyper = hypervisor.GetHypervisor(hypervisor_type) - hyp_info = hyper.GetNodeInfo() - if hyp_info is not None: - outputarray.update(hyp_info) + if vgname is not None: + vginfo = bdev.LogicalVolume.GetVGInfo([vgname]) + vg_free = vg_size = None + if vginfo: + vg_free = int(round(vginfo[0][0], 0)) + vg_size = int(round(vginfo[0][1], 0)) + outputarray['vg_size'] = vg_size + outputarray['vg_free'] = vg_free + + if hypervisor_type is not None: + hyper = hypervisor.GetHypervisor(hypervisor_type) + hyp_info = hyper.GetNodeInfo() + if hyp_info is not None: + outputarray.update(hyp_info) outputarray["bootid"] = utils.ReadFile(_BOOT_ID_PATH, size=128).rstrip("\n") diff --git a/lib/cmdlib.py b/lib/cmdlib.py index b9402d96c75c9766e1afc3236fd4567e37b44e9f..b4885ced894fdef16d3783f60b53b872dddcbc69 100644 --- a/lib/cmdlib.py +++ b/lib/cmdlib.py @@ -4690,7 +4690,7 @@ def _CheckNodeFreeMemory(lu, node, reason, requested, hypervisor_name): we cannot check the node """ - nodeinfo = lu.rpc.call_node_info([node], lu.cfg.GetVGName(), hypervisor_name) + nodeinfo = lu.rpc.call_node_info([node], None, hypervisor_name) nodeinfo[node].Raise("Can't get data from node %s" % node, prereq=True, ecode=errors.ECODE_ENVIRON) free_mem = nodeinfo[node].payload.get('memory_free', None) @@ -4749,8 +4749,7 @@ def _CheckNodesFreeDiskOnVG(lu, nodenames, vg, requested): or we cannot check the node """ - nodeinfo = lu.rpc.call_node_info(nodenames, vg, - lu.cfg.GetHypervisorType()) + nodeinfo = lu.rpc.call_node_info(nodenames, vg, None) for node in nodenames: info = nodeinfo[node] info.Raise("Cannot get current information from node %s" % node, @@ -9314,7 +9313,7 @@ class LUSetInstanceParams(LogicalUnit): mem_check_list.extend(instance.secondary_nodes) instance_info = self.rpc.call_instance_info(pnode, instance.name, instance.hypervisor) - nodeinfo = self.rpc.call_node_info(mem_check_list, self.cfg.GetVGName(), + nodeinfo = self.rpc.call_node_info(mem_check_list, None, instance.hypervisor) pninfo = nodeinfo[pnode] msg = pninfo.fail_msg