diff --git a/lib/backend.py b/lib/backend.py index 256953220acbaa03a5a104fbddfcd36dcb50a524..306780870ef024bc4fdb939684584c902060dc3a 100644 --- a/lib/backend.py +++ b/lib/backend.py @@ -884,7 +884,7 @@ def _GetVGInfo(vg_name): "vg_free": int(round(float(valarr[1]), 0)), "pv_count": int(valarr[2]), } - except ValueError, err: + except (TypeError, ValueError), err: logging.exception("Fail to parse vgs output: %s", err) else: logging.error("vgs output has the wrong number of fields (expected" diff --git a/lib/bdev.py b/lib/bdev.py index d9718a781d78301c6e0e0b8c1d111de5c01a8e5a..e900ad667b83e3d56f4c2cb064420aacaec12a62 100644 --- a/lib/bdev.py +++ b/lib/bdev.py @@ -512,7 +512,7 @@ class LogicalVolume(BlockDev): try: major = int(major) minor = int(minor) - except ValueError, err: + except (TypeError, ValueError), err: logging.error("lvs major/minor cannot be parsed: %s", str(err)) try: @@ -933,7 +933,7 @@ class BaseDRBD(BlockDev): # pylint: disable-msg=W0223 result.fail_reason, result.output) try: sectors = int(result.stdout) - except ValueError: + except (TypeError, ValueError): _ThrowError("Invalid output from blockdev: '%s'", result.stdout) bytes = sectors * 512 if bytes < 128 * 1024 * 1024: # less than 128MiB diff --git a/lib/cli.py b/lib/cli.py index fba312ef55fbb6b9e001074de6005234a43ff673..d9c2dbb26ddafdf113b17e2ce84fa88f254ef511 100644 --- a/lib/cli.py +++ b/lib/cli.py @@ -1561,7 +1561,7 @@ def GenerateTable(headers, fields, separator, data, if unitfields.Matches(fields[idx]): try: val = int(val) - except ValueError: + except (TypeError, ValueError): pass else: val = row[idx] = utils.FormatUnit(val, units) @@ -1642,7 +1642,7 @@ def ParseTimespec(value): if value[-1] not in suffix_map: try: value = int(value) - except ValueError: + except (TypeError, ValueError): raise errors.OpPrereqError("Invalid time specification '%s'" % value) else: multiplier = suffix_map[value[-1]] @@ -1652,7 +1652,7 @@ def ParseTimespec(value): " suffix passed)") try: value = int(value) * multiplier - except ValueError: + except (TypeError, ValueError): raise errors.OpPrereqError("Invalid time specification '%s'" % value) return value diff --git a/lib/cmdlib.py b/lib/cmdlib.py index 4f8a8f296969a9d73d62248de11aeeb52ac08246..cd84de8053115f59035caa6efb55446e92246e42 100644 --- a/lib/cmdlib.py +++ b/lib/cmdlib.py @@ -2424,8 +2424,11 @@ class LURemoveNode(LogicalUnit): "NODE_NAME": self.op.node_name, } all_nodes = self.cfg.GetNodeList() - if self.op.node_name in all_nodes: + try: all_nodes.remove(self.op.node_name) + except ValueError: + logging.warning("Node %s which is about to be removed not found" + " in the all nodes list", self.op.node_name) return env, all_nodes, all_nodes def CheckPrereq(self): @@ -5814,7 +5817,7 @@ class LUCreateInstance(LogicalUnit): raise errors.OpPrereqError("Missing disk size", errors.ECODE_INVAL) try: size = int(size) - except ValueError: + except (TypeError, ValueError): raise errors.OpPrereqError("Invalid disk size '%s'" % size, errors.ECODE_INVAL) self.disks.append({"size": size, "mode": mode}) @@ -7477,7 +7480,7 @@ class LUSetInstanceParams(LogicalUnit): errors.ECODE_INVAL) try: size = int(size) - except ValueError, err: + except (TypeError, ValueError), err: raise errors.OpPrereqError("Invalid disk size parameter: %s" % str(err), errors.ECODE_INVAL) disk_dict['size'] = size diff --git a/lib/http/__init__.py b/lib/http/__init__.py index 6f0d95cedcccab840ff848492f749f5f648621cb..e004a635d4fd975a8a05da21fdd3a168410ad89e 100644 --- a/lib/http/__init__.py +++ b/lib/http/__init__.py @@ -1019,7 +1019,7 @@ class HttpMessageReader(object): if hdr_content_length: try: self.content_length = int(hdr_content_length) - except ValueError: + except (TypeError, ValueError): self.content_length = None if self.content_length is not None and self.content_length < 0: self.content_length = None diff --git a/lib/http/client.py b/lib/http/client.py index 5ca76a16375de8eb18a400b78b9cc94dffdeed8b..ba27d1a5c107471549734b09e372bb98ba0a4621 100644 --- a/lib/http/client.py +++ b/lib/http/client.py @@ -137,7 +137,7 @@ class _HttpServerToClientMessageReader(http.HttpMessageReader): status = int(status) if status < 100 or status > 999: status = -1 - except ValueError: + except (TypeError, ValueError): status = -1 if status == -1: diff --git a/lib/hypervisor/hv_xen.py b/lib/hypervisor/hv_xen.py index 2eb2cc5adea8d6c7c1e0e1959f39ecefb9616f1a..5b3c22bed51f2a102c4ff13be12b14d7858046f5 100644 --- a/lib/hypervisor/hv_xen.py +++ b/lib/hypervisor/hv_xen.py @@ -134,7 +134,7 @@ class XenHypervisor(hv_base.BaseHypervisor): data[2] = int(data[2]) data[3] = int(data[3]) data[5] = float(data[5]) - except ValueError, err: + except (TypeError, ValueError), err: raise errors.HypervisorError("Can't parse output of xm list," " line: %s, error: %s" % (line, err)) diff --git a/lib/objects.py b/lib/objects.py index 314606d3a6210da7c049f4a6b795caf0c71df3df..83ed13314f6766201f5a3e3fd5066934d6e2c208 100644 --- a/lib/objects.py +++ b/lib/objects.py @@ -747,7 +747,7 @@ class Instance(TaggableObject): try: idx = int(idx) return self.disks[idx] - except ValueError, err: + except (TypeError, ValueError), err: raise errors.OpPrereqError("Invalid disk index: '%s'" % str(err), errors.ECODE_INVAL) except IndexError: diff --git a/lib/utils.py b/lib/utils.py index 6e3340a77bacfc9d8a5dabc22f68247bba955305..7f02e1ad537e3c12f9add305a8d6afe8608ec320 100644 --- a/lib/utils.py +++ b/lib/utils.py @@ -491,7 +491,7 @@ def ReadPidFile(pidfile): try: pid = int(raw_data) - except ValueError, err: + except (TypeError, ValueError), err: logging.info("Can't parse pid file contents", exc_info=True) return 0 diff --git a/scripts/gnt-instance b/scripts/gnt-instance index dad92f09456c0230a4c0a35967f3e191fafd3f01..0c02b9e18f3169fd783e0777ebf61a43258ac9a5 100755 --- a/scripts/gnt-instance +++ b/scripts/gnt-instance @@ -441,7 +441,7 @@ def BatchCreate(opts, args): for elem in specs['disk_size']: try: size = utils.ParseUnit(elem) - except ValueError, err: + except (TypeError, ValueError), err: raise errors.OpPrereqError("Invalid disk size '%s' for" " instance %s: %s" % (elem, name, err), errors.ECODE_INVAL) @@ -704,7 +704,7 @@ def GrowDisk(opts, args): disk = args[1] try: disk = int(disk) - except ValueError, err: + except (TypeError, ValueError), err: raise errors.OpPrereqError("Invalid disk index: %s" % str(err), errors.ECODE_INVAL) amount = utils.ParseUnit(args[2]) @@ -784,7 +784,7 @@ def ReplaceDisks(opts, args): else: try: disks = [int(i) for i in opts.disks.split(",")] - except ValueError, err: + except (TypeError, ValueError), err: raise errors.OpPrereqError("Invalid disk index passed: %s" % str(err), errors.ECODE_INVAL) cnt = [opts.on_primary, opts.on_secondary, opts.auto, @@ -1231,14 +1231,14 @@ def SetInstanceParams(opts, args): try: nic_op = int(nic_op) opts.nics[idx] = (nic_op, nic_dict) - except ValueError: + except (TypeError, ValueError): pass for idx, (disk_op, disk_dict) in enumerate(opts.disks): try: disk_op = int(disk_op) opts.disks[idx] = (disk_op, disk_dict) - except ValueError: + except (TypeError, ValueError): pass if disk_op == constants.DDM_ADD: if 'size' not in disk_dict: