infobloxopen / infoblox-client

Infoblox NIOS Python WAPI Client
Apache License 2.0
142 stars 104 forks source link

RequestException not working #376

Open stevenwmn21 opened 9 months ago

stevenwmn21 commented 9 months ago

Operating system is Red Hat Rel 7 python 3.9.15 WAPI v2.12.2

When using the infoblox-client to query an ipv4address object, and there is not a network in IPAM for that address, I am unable to catch the error gracefully, instead the script will bomb out with the error WARNING:infoblox_client.connector:Failed on object search with url "Error": "AdmConDataError: None (IBDataError: IB.Data:A network was not found for this address.)", \n "code": "Client.Ibap.Data", \n "text": "A network was not found for this address."\n}'

If I rewrite the code using the requests module, I can catch it gracefully using the requests.exceptions.RequestException exception.

Here is a snipit of code that can not be caught if I pass an IP address that does not belong to an existing network def search_ipv4addr(connection, search_val: str): """Function to get a List of records from IPAM""" kwargs = { 'max_results': 2000, } print(connection) print(search_val) try: result = connection.get_object('ipv4address', { 'ip_address': search_val, '_return_fields': 'discovered_data' } , **kwargs ) except InfobloxConnectionError as con_error: print(con_error) exit() except InfobloxBadWAPICredential as cred_error: print(cred_error) print('InfobloxBadWAPICredential') exit() except InfobloxTimeoutError as timeout_error: print(timeout_error) print('InfobloxTimeoutError') exit() else: return result