diff --git a/bindep.txt b/bindep.txt index e7e2a01c2..ffff91348 100644 --- a/bindep.txt +++ b/bindep.txt @@ -11,6 +11,10 @@ libffi6 [platform:dpkg !platform:ubuntu-focal !platform:ubuntu-jammy !platform:d libffi-devel [compile test platform:rpm] libressl-dev [compile test platform:apk] libssl-dev [compile test platform:dpkg] +libyaml-0-2 [platform:dpkg platform:suse] +libyaml [platform:redhat] +libyaml-dev [platform:dpkg compile test] +libyaml-devel [platform:rpm compile test] linux-headers [compile test platform:apk] make [compile test platform:apk platform:dpkg] musl-dev [compile test platform:apk] diff --git a/nodepool/config.py b/nodepool/config.py index 3d6ccafe5..c72290058 100644 --- a/nodepool/config.py +++ b/nodepool/config.py @@ -24,6 +24,11 @@ import yaml from nodepool.driver import ConfigValue from nodepool.driver import Drivers +try: + from yaml import CSafeLoader as SafeLoader +except ImportError: + from yaml import SafeLoader + class ZooKeeperConnectionConfig(object): ''' @@ -407,7 +412,8 @@ def openConfig(path, env): while True: try: with open(path) as f: - return yaml.safe_load(substitute_env_vars(f.read(), env)) + return yaml.load( + substitute_env_vars(f.read(), env), SafeLoader) except IOError as e: if e.errno == 2: retry = retry - 1