From 698ad269005c0d053aafdb9fd1f29683f13d1398 Mon Sep 17 00:00:00 2001 From: Michael Scherer Date: Mon, 28 Nov 2016 19:35:39 +0100 Subject: Gracefully handle OpenSSL module absence Should fix #2869 --- filter_plugins/oo_filters.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'filter_plugins') diff --git a/filter_plugins/oo_filters.py b/filter_plugins/oo_filters.py index 38bc3ad6b..997634777 100644 --- a/filter_plugins/oo_filters.py +++ b/filter_plugins/oo_filters.py @@ -10,7 +10,14 @@ from collections import Mapping from distutils.util import strtobool from distutils.version import LooseVersion from operator import itemgetter -import OpenSSL.crypto + +HAS_OPENSSL=False +try: + import OpenSSL.crypto + HAS_OPENSSL=True +except ImportError: + pass + import os import pdb import pkg_resources @@ -516,6 +523,9 @@ class FilterModule(object): if not isinstance(internal_hostnames, list): raise errors.AnsibleFilterError("|failed expects internal_hostnames is list") + if not HAS_OPENSSL: + raise errors.AnsibleFilterError("|missing OpenSSL python bindings") + for certificate in certificates: if 'names' in certificate.keys(): continue -- cgit v1.2.1