Procházet zdrojové kódy

Gracefully handle OpenSSL module absence

Should fix #2869
Michael Scherer před 8 roky
rodič
revize
698ad26900
1 změnil soubory, kde provedl 11 přidání a 1 odebrání
  1. 11 1
      filter_plugins/oo_filters.py

+ 11 - 1
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