Merge pull request #1261 from t-woerner/inventory_plugin_try_imports

plugins/inventory/freeipa: Try imports for requests and urllib3
This commit is contained in:
Rafael Guterres Jeffman
2024-06-28 12:27:06 -03:00
committed by GitHub

View File

@@ -92,12 +92,14 @@ verify: ca.crt
"""
import os
import requests
try:
from requests.packages import urllib3
import requests
except ImportError:
requests = None
try:
import urllib3
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
except ImportError:
urllib3 = None
from ansible import constants
from ansible.errors import AnsibleParserError
@@ -125,6 +127,11 @@ class InventoryModule(BaseInventoryPlugin):
self._read_config_data(path) # This also loads the cache
self.get_option("plugin")
if requests is None:
raise AnsibleParserError("The required Python library "
"'requests' could not be imported.")
ipaadmin_principal = self.get_option("ipaadmin_principal")
ipaadmin_password = self.get_option("ipaadmin_password")
server = self.get_option("server")
@@ -137,6 +144,11 @@ class InventoryModule(BaseInventoryPlugin):
raise AnsibleParserError("ERROR: Could not load %s" % verify)
else:
verify = False
# Disable certificate verification warning without certificate
# as long as urllib3 could have been loaded.
if urllib3 is not None:
urllib3.disable_warnings(
urllib3.exceptions.InsecureRequestWarning)
self.inventory.add_group(inventory_group)