Skip to content
Snippets Groups Projects
Commit 8e139e2f authored by Thomas Woerner's avatar Thomas Woerner
Browse files

plugins/inventory/freeipa: Try imports for requests and urllib3

The bindings for requests and urllib3 might not be available, especially
in the ansible-test fake execution test (next version). These imports are
now in a try exception clause to make sure that the fake execution test
will be passing and also that there is a better error message if the
bindings are missing.

urllib3.exceptions.InsecureRequestWarning is now also only disabled if
no certificate has been given for the verification of the connection.
parent a1230cab
Branches
Tags
No related merge requests found
......@@ -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)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment