Skip to content

Deleting non DNS enabled (IPAM) Host record #300

@slabast

Description

@slabast

when deleting Host records that are not DNS enabled the module fails on capturing the view... In Infoblox there is no view for non DNS enabled host records not even default... The same records can be deleted via API calls using postman if not specifying the view

  • name: Get host record
    ansible.builtin.set_fact:
    host:
    "{{ lookup(
    'infoblox.nios_modules.nios_lookup',
    'record:host',
    filter={'name': fqdn},
    provider={'http_request_timeout': 40},
    return_fields=['ipv4addrs', 'name', 'view', 'extattrs', 'comment']
    ) }}"

returns:
ok: [xxxxxxxxx] => {
"host": {
"_ref": "record:host/:xxxxxxxxx.somedomain.com/%20",
"comment": "comment",
"extattrs": {
"Attr1": "
",
"Attr2": "
"
},
"ipv4addrs": [
{
"_ref": "record:host_ipv4addr/
***:W.X.Y.Z/xxxxxxxxx.somedomain.com/%20",
"configure_for_dhcp": false,
"host": "xxxxxxxxx.somedomain.com",
"ipv4addr": "W.X.Y.Z",
"mac": "00:00:00:00:00:00"
}
],
"name": "xxxxxxxxx.somedomain.com",
"view": " "
}
}

Then:

  • name: Delete a Host Record
    infoblox.nios_modules.nios_host_record:
    name: "{{ fqdn }}"
    state: absent
    view: " " also tried "" or removing altogether
    provider:
    validate_certs: false
    http_request_timeout: 40

returns an error:

fatal: [xxxxxxxxx]: FAILED! => {"ansible_facts": {"discovered_interpreter_python": "/mnt/c/tmp/ansible/test-ansible/bin/python3.10"}, "changed": false, "module_stderr": "Failed on object search with url https://infoblox.somedomain.com/wapi/v2.12.3/record%3Ahost?name=xxxxxxxxx.somedomain.com&view=&_return_fields=name%2Cview%2Cipv4addrs%2Cipv6addrs%2Cconfigure_for_dns%2Cuse_dns_ea_inheritance%2Caliases%2Cttl%2Cextattrs%2Ccomment%2Cipv4addrs.ipv4addr%2Cipv4addrs.mac%2Cipv4addrs.configure_for_dhcp%2Cipv4addrs.host%2Cipv4addrs.nextserver%2Cipv4addrs.use_nextserver%2Cipv4addrs.use_for_ea_inheritance%2Cipv6addrs.ipv6addr%2Cipv6addrs.duid%2Cipv6addrs.configure_for_dhcp%2Cipv6addrs.host&_max_results=1000: b'{ "Error": "AdmConDataNotFoundError: View not found", \n "code": "Client.Ibap.Data.NotFound", \n "text": "View not found"\n}'\nFailed on object search with proxy flag False\nFailed on object search with url https://infoblox.somedomain.com/wapi/v2.12.3/record%3Ahost?name=xxxxxxxxx.somedomain.com&view=&_return_fields=name%2Cview%2Cipv4addrs%2Cipv6addrs%2Cconfigure_for_dns%2Cuse_dns_ea_inheritance%2Caliases%2Cttl%2Cextattrs%2Ccomment%2Cipv4addrs.ipv4addr%2Cipv4addrs.mac%2Cipv4addrs.configure_for_dhcp%2Cipv4addrs.host%2Cipv4addrs.nextserver%2Cipv4addrs.use_nextserver%2Cipv4addrs.use_for_ea_inheritance%2Cipv6addrs.ipv6addr%2Cipv6addrs.duid%2Cipv6addrs.configure_for_dhcp%2Cipv6addrs.host&_max_results=1000&_proxy_search=GM: b'{ "Error": "AdmConDataNotFoundError: View not found", \n "code": "Client.Ibap.Data.NotFound", \n "text": "View not found"\n}'\nBad WAPI credentials or Cookie timeout.
Re-authenticating and retrying the request.\nClearing cookies and re-authenticating.\nRe-authenticating with username and password.\nFailed on object search with url https://infoblox.somedomain.com/wapi/v2.12.3/record%3Ahost?name=xxxxxxxxx.somedomain.com&view=&_return_fields=name%2Cview%2Cipv4addrs%2Cipv6addrs%2Cconfigure_for_dns%2Cuse_dns_ea_inheritance%2Caliases%2Cttl%2Cextattrs%2Ccomment%2Cipv4addrs.ipv4addr%2Cipv4addrs.mac%2Cipv4addrs.configure_for_dhcp%2Cipv4addrs.host%2Cipv4addrs.nextserver%2Cipv4addrs.use_nextserver%2Cipv4addrs.use_for_ea_inheritance%2Cipv6addrs.ipv6addr%2Cipv6addrs.duid%2Cipv6addrs.configure_for_dhcp%2Cipv6addrs.host&_max_results=1000&_proxy_search=GM: b'{ "Error": "AdmConDataNotFoundError: View not found", \n "code": "Client.Ibap.Data.NotFound", \n "text": "View not found"\n}'\nFailed on object search with proxy flag False\nFailed on object search with url https://infoblox.somedomain.com/wapi/v2.12.3/record%3Ahost?name=xxxxxxxxx.somedomain.com&view=&_return_fields=name%2Cview%2Cipv4addrs%2Cipv6addrs%2Cconfigure_for_dns%2Cuse_dns_ea_inheritance%2Caliases%2Cttl%2Cextattrs%2Ccomment%2Cipv4addrs.ipv4addr%2Cipv4addrs.mac%2Cipv4addrs.configure_for_dhcp%2Cipv4addrs.host%2Cipv4addrs.nextserver%2Cipv4addrs.use_nextserver%2Cipv4addrs.use_for_ea_inheritance%2Cipv6addrs.ipv6addr%2Cipv6addrs.duid%2Cipv6addrs.configure_for_dhcp%2Cipv6addrs.host&_max_results=1000&_proxy_search=GM: b'{ "Error": "AdmConDataNotFoundError: View not found", \n "code": "Client.Ibap.Data.NotFound", \n "text": "View not found"\n}'\nTraceback (most recent call last):\n File "/mnt/c/tmp/ansible/test-ansible/lib/python3.10/site-packages/infoblox_client/connector.py", line 435, in get_object\n return self._handle_get_object(\n File "/mnt/c/tmp/ansible/test-ansible/lib/python3.10/site-packages/infoblox_client/connector.py", line 474, in handle_get_object\n return self.get_object(obj_type, url)\n File "/mnt/c/tmp/ansible/test-ansible/lib/python3.10/site-packages/infoblox_client/connector.py", line 490, in get_object\n r.raise_for_status()\n File "/mnt/c/tmp/ansible/test-ansible/lib/python3.10/site-packages/requests/models.py", line 1024, in raise_for_status\n raise HTTPError(http_error_msg, response=self)\nrequests.exceptions.HTTPError: 404 Client Error: Not Found for url: https://infoblox.somedomain.com/wapi/v2.12.3/record%3Ahost?name=xxxxxxxxx.somedomain.com&view=&_return_fields=name%2Cview%2Cipv4addrs%2Cipv6addrs%2Cconfigure_for_dns%2Cuse_dns_ea_inheritance%2Caliases%2Cttl%2Cextattrs%2Ccomment%2Cipv4addrs.ipv4addr%2Cipv4addrs.mac%2Cipv4addrs.configure_for_dhcp%2Cipv4addrs.host%2Cipv4addrs.nextserver%2Cipv4addrs.use_nextserver%2Cipv4addrs.use_for_ea_inheritance%2Cipv6addrs.ipv6addr%2Cipv6addrs.duid%2Cipv6addrs.configure_for_dhcp%2Cipv6addrs.host&_max_results=1000\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (most recent call last):\n File "/mnt/c/tmp/ansible/test-ansible/lib/python3.10/site-packages/infoblox_client/connector.py", line 76, in wrapper\n return func(self, args, kwargs)\n File "/mnt/c/tmp/ansible/test-ansible/lib/python3.10/site-packages/infoblox_client/connector.py", line 441, in get_object\n return self._handle_get_object(obj_type, query_params,\n File "/mnt/c/tmp/ansible/test-ansible/lib/python3.10/site-packages/infoblox_client/connector.py", line 474, in _handle_get_object\n return self._get_object(obj_type, url)\n File "/mnt/c/tmp/ansible/test-ansible/lib/python3.10/site-packages/infoblox_client/connector.py", line 490, in _get_object\n r.raise_for_status()\n File "/mnt/c/tmp/ansible/test-ansible/lib/python3.10/site-packages/requests/models.py", line 1024, in raise_for_status\n raise HTTPError(http_error_msg, response=self)\nrequests.exceptions.HTTPError: 404 Client Error: Not Found for url: https://infoblox.somedomain.com/wapi/v2.12.3/record%3Ahost?name=xxxxxxxxx.somedomain.com&view=&_return_fields=name%2Cview%2Cipv4addrs%2Cipv6addrs%2Cconfigure_for_dns%2Cuse_dns_ea_inheritance%2Caliases%2Cttl%2Cextattrs%2Ccomment%2Cipv4addrs.ipv4addr%2Cipv4addrs.mac%2Cipv4addrs.configure_for_dhcp%2Cipv4addrs.host%2Cipv4addrs.nextserver%2Cipv4addrs.use_nextserver%2Cipv4addrs.use_for_ea_inheritance%2Cipv6addrs.ipv6addr%2Cipv6addrs.duid%2Cipv6addrs.configure_for_dhcp%2Cipv6addrs.host&_max_results=1000&_proxy_search=GM\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (most recent call last):\n File "/mnt/c/tmp/ansible/test-ansible/lib/python3.10/site-packages/infoblox_client/connector.py", line 435, in get_object\n return self._handle_get_object(\n File "/mnt/c/tmp/ansible/test-ansible/lib/python3.10/site-packages/infoblox_client/connector.py", line 474, in _handle_get_object\n return self._get_object(obj_type, url)\n File "/mnt/c/tmp/ansible/test-ansible/lib/python3.10/site-packages/infoblox_client/connector.py", line 490, in get_object\n r.raise_for_status()\n File "/mnt/c/tmp/ansible/test-ansible/lib/python3.10/site-packages/requests/models.py", line 1024, in raise_for_status\n raise HTTPError(http_error_msg, response=self)\nrequests.exceptions.HTTPError: 404 Client Error: Not Found for url: https://infoblox.somedomain.com/wapi/v2.12.3/record%3Ahost?name=xxxxxxxxx.somedomain.com&view=&_return_fields=name%2Cview%2Cipv4addrs%2Cipv6addrs%2Cconfigure_for_dns%2Cuse_dns_ea_inheritance%2Caliases%2Cttl%2Cextattrs%2Ccomment%2Cipv4addrs.ipv4addr%2Cipv4addrs.mac%2Cipv4addrs.configure_for_dhcp%2Cipv4addrs.host%2Cipv4addrs.nextserver%2Cipv4addrs.use_nextserver%2Cipv4addrs.use_for_ea_inheritance%2Cipv6addrs.ipv6addr%2Cipv6addrs.duid%2Cipv6addrs.configure_for_dhcp%2Cipv6addrs.host&_max_results=1000&_proxy_search=GM\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (most recent call last):\n File "/mnt/c/tmp/ansible/test-ansible/lib/python3.10/site-packages/infoblox_client/connector.py", line 55, in callee\n return func(args, kwargs)\n File "/mnt/c/tmp/ansible/test-ansible/lib/python3.10/site-packages/infoblox_client/connector.py", line 101, in wrapper\n return func(self, args, kwargs)\n File "/mnt/c/tmp/ansible/test-ansible/lib/python3.10/site-packages/infoblox_client/connector.py", line 441, in get_object\n return self._handle_get_object(obj_type, query_params,\n File "/mnt/c/tmp/ansible/test-ansible/lib/python3.10/site-packages/infoblox_client/connector.py", line 474, in _handle_get_object\n return self._get_object(obj_type, url)\n File "/mnt/c/tmp/ansible/test-ansible/lib/python3.10/site-packages/infoblox_client/connector.py", line 490, in _get_object\n r.raise_for_status()\n File "/mnt/c/tmp/ansible/test-ansible/lib/python3.10/site-packages/requests/models.py", line 1024, in raise_for_status\n raise HTTPError(http_error_msg, response=self)\nrequests.exceptions.HTTPError: 404 Client Error: Not Found for url: https://infoblox.somedomain.com/wapi/v2.12.3/record%3Ahost?name=xxxxxxxxx.somedomain.com&view=&_return_fields=name%2Cview%2Cipv4addrs%2Cipv6addrs%2Cconfigure_for_dns%2Cuse_dns_ea_inheritance%2Caliases%2Cttl%2Cextattrs%2Ccomment%2Cipv4addrs.ipv4addr%2Cipv4addrs.mac%2Cipv4addrs.configure_for_dhcp%2Cipv4addrs.host%2Cipv4addrs.nextserver%2Cipv4addrs.use_nextserver%2Cipv4addrs.use_for_ea_inheritance%2Cipv6addrs.ipv6addr%2Cipv6addrs.duid%2Cipv6addrs.configure_for_dhcp%2Cipv6addrs.host&_max_results=1000&_proxy_search=GM\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (most recent call last):\n File "/home/user/.ansible/tmp/ansible-tmp-1750355200.370678-1300-217558863559521/AnsiballZ_nios_host_record.py", line 107, in \n _ansiballz_main()\n File "/home/user/.ansible/tmp/ansible-tmp-1750355200.370678-1300-217558863559521/AnsiballZ_nios_host_record.py", line 99, in _ansiballz_main\n invoke_module(zipped_mod, temp_path, ANSIBALLZ_PARAMS)\n File "/home/user/.ansible/tmp/ansible-tmp-1750355200.370678-1300-217558863559521/AnsiballZ_nios_host_record.py", line 47, in invoke_module\n runpy.run_module(mod_name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_host_record', init_globals=dict(_module_fqn='ansible_collections.infoblox.nios_modules.plugins.modules.nios_host_record', _modlib_path=modlib_path),\n File "/usr/lib/python3.10/runpy.py", line 224, in run_module\n return _run_module_code(code, init_globals, run_name, mod_spec)\n File "/usr/lib/python3.10/runpy.py", line 96, in _run_module_code\n _run_code(code, mod_globals, init_globals,\n File "/usr/lib/python3.10/runpy.py", line 86, in run_code\n exec(code, run_globals)\n File "/tmp/ansible_infoblox.nios_modules.nios_host_record_payload##/ansible_infoblox.nios_modules.nios_host_record_payload.zip/ansible_collections/infoblox/nios_modules/plugins/modules/nios_host_record.py", line 474, in \n File "/tmp/ansible_infoblox.nios_modules.nios_host_record_payload##***/ansible_infoblox.nios_modules.nios_host_record_payload.zip/ansible_collections/infoblox/nios_modules/plugins/modules/nios_host_record.py", line 468, in main\n File "/tmp/ansible_infoblox.nios_modules.nios_host_record_payload##/ansible_infoblox.nios_modules.nios_host_record_payload.zip/ansible_collections/infoblox/nios_modules/plugins/module_utils/api.py", line 354, in run\n File "/tmp/ansible_infoblox.nios_modules.nios_host_record_payload##/ansible_infoblox.nios_modules.nios_host_record_payload.zip/ansible_collections/infoblox/nios_modules/plugins/module_utils/api.py", line 929, in get_object_ref\n File "/tmp/ansible_infoblox.nios_modules.nios_host_record_payload##/ansible_infoblox.nios_modules.nios_host_record_payload.zip/ansible_collections/infoblox/nios_modules/plugins/module_utils/api.py", line 262, in _invoke_method\n File "/mnt/c/tmp/ansible/test-ansible/lib/python3.10/site-packages/infoblox_client/connector.py", line 59, in callee\n raise ib_ex.InfobloxConnectionError(reason=e)\ninfoblox_client.exceptions.InfobloxConnectionError: Infoblox HTTP request failed with: 404 Client Error: Not Found for url: https://infoblox.somedomain.com/wapi/v2.12.3/record%3Ahost?name=xxxxxxxxx.somedomain.com&view=&_return_fields=name%2Cview%2Cipv4addrs%2Cipv6addrs%2Cconfigure_for_dns%2Cuse_dns_ea_inheritance%2Caliases%2Cttl%2Cextattrs%2Ccomment%2Cipv4addrs.ipv4addr%2Cipv4addrs.mac%2Cipv4addrs.configure_for_dhcp%2Cipv4addrs.host%2Cipv4addrs.nextserver%2Cipv4addrs.use_nextserver%2Cipv4addrs.use_for_ea_inheritance%2Cipv6addrs.ipv6addr%2Cipv6addrs.duid%2Cipv6addrs.configure_for_dhcp%2Cipv6addrs.host&_max_results=1000&_proxy_search=GM\n", "module_stdout": "", "msg": "MODULE FAILURE\nSee stdout/stderr for the exact error", "rc": 1}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions