mirror of
https://github.com/freeipa/ansible-freeipa.git
synced 2026-05-07 22:03:18 +00:00
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.
This commit is contained in:
@@ -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)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user