From 521df77744233f424ec68caa68548bede6e575fb Mon Sep 17 00:00:00 2001 From: Petr Viktorin Date: Fri, 13 Jun 2014 12:47:48 +0200 Subject: ipalib.config: Don't autoconvert values to float When api.env is loaded, strings that "look like" floats got auto-converted to floats. This is wrong, as the conversion to float can lose precision. Case in point: the api_version (e.g. '2.88') should never be interpreted as float. Do not automatically convert to float. We have two numeric options: startup_timeout and wait_for_dns. wait_for_dns is already converted to int when used in the code. Convert startup_timeout to float explicitly when used, so configuration that specified it with a decimal point continues to work. Reviewed-By: Fraser Tweedale --- ipapython/ipautil.py | 2 ++ 1 file changed, 2 insertions(+) (limited to 'ipapython/ipautil.py') diff --git a/ipapython/ipautil.py b/ipapython/ipautil.py index 844dbb687..d95983b20 100644 --- a/ipapython/ipautil.py +++ b/ipapython/ipautil.py @@ -1135,6 +1135,7 @@ def wait_for_open_ports(host, ports, timeout=0): in seconds may be specified to limit the wait. If the timeout is exceeded, socket.timeout exception is raised. """ + timeout = float(timeout) if not isinstance(ports, (tuple, list)): ports = [ports] @@ -1156,6 +1157,7 @@ def wait_for_open_socket(socket_name, timeout=0): Wait until the specified socket on the local host is open. Timeout in seconds may be specified to limit the wait. """ + timeout = float(timeout) op_timeout = time.time() + timeout while True: -- cgit