From: Alfredo Deza Date: Fri, 21 Dec 2018 20:24:25 +0000 (-0500) Subject: ceph-volume util normalize comma with dot for str-to-int conversion X-Git-Tag: v13.2.5~140^2~2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=cab47f07b72a052dcb7d3b1802a4ef95370db61a;p=ceph.git ceph-volume util normalize comma with dot for str-to-int conversion Signed-off-by: Alfredo Deza (cherry picked from commit aa5323fbcfdc6c21177cb800884712b0252b84a0) --- diff --git a/src/ceph-volume/ceph_volume/util/__init__.py b/src/ceph-volume/ceph_volume/util/__init__.py index dfa83fc46d35..73f404721ed4 100644 --- a/src/ceph-volume/ceph_volume/util/__init__.py +++ b/src/ceph-volume/ceph_volume/util/__init__.py @@ -30,10 +30,21 @@ def str_to_int(string, round_down=True): """ Parses a string number into an integer, optionally converting to a float and rounding down. + + Some LVM values may come with a comma instead of a dot to define decimals. + This function normalizes a comma into a dot """ error_msg = "Unable to convert to integer: '%s'" % str(string) try: - integer = float(string) + integer = float(string.replace(',', '.')) + except AttributeError: + # this might be a integer already, so try to use it, otherwise raise + # the original exception + if isinstance(string, (int, float)): + integer = string + else: + logger.exception(error_msg) + raise RuntimeError(error_msg) except (TypeError, ValueError): logger.exception(error_msg) raise RuntimeError(error_msg)