Problem
The IPAM machineBuilding workflow errors out or logs the following bit of code.
[2019-01-28 15:32:55.655] [I] <Infoblox> InfobloxWapi20.createRecord response : { "Error": "AdmConDataError: None (IBDataConflictError: IB.Data.Conflict:Extensible attribute Cloud API Owned is required.)", "code": "Client.Ibap.Data.Conflict", "text": "Extensible attribute Cloud API Owned is required.", "trace": " File \"ibapapachemod.py\", line 449, in handlerequest\n File \"/infoblox/common/lib/python/infoblox/one/admin_conn/wapibase.py\", line 1429, in execute\n File \"/infoblox/common/lib/python/infoblox/one/admin_conn/wapibase.py\", line 1384, in _exec_handler\n File \"/infoblox/common/lib/python/infoblox/one/admin_conn/wapihandler.py\", line 1130, in execute\n" } [2019-01-28 15:32:55.656] [I] <Infoblox> InfobloxWapi20.createRecord responseStatus : Bad Request
Cause
The log code when attempting to use the IPAM machineBuilding workflow to communicate to an Infoblox Endpoint which is a Cloud API appliance,
Affected Versions
Infoblox NIOS 8.x
Solution
Overview
The Infoblox Cloud API appliance requires a subset of extensible attributes to be inserted that are not required for the default grid appliances.
"extattrs": { "Tenant ID": { "value": "{{tenant}}" }, "CMP Type": { "value": "vRO" }, "VM ID": { "value": "{{virtualMachineName}}" }, "Cloud API Owned": { "value": "True" } }
Update the Advanced configuration template code to include the new extensible attributes
- Update the SovLabs Infoblox Endpoint Configuration
In the Advanced tab, insert/append, the code block from above
Replaceable Values
The JSON values of "Tenant ID" and "VM ID" can be replaced with other values, the ones in the code are just defaults. The "CMP Type" and "Cloud API Owned" should be left as is.
- The code should be inserted for each Record Type that is being used
Example of appended Host Record Template
Infoblox Host record template example{ "name": "{{paramHostname}}", "view": "{{defaultDnsView}}", "comment": "Created by vRA SovLabs Extensibility Module", "ipv4addrs": [{ "ipv4addr": "{{ paramIpaddress }}" } ], "extattrs": { "Tenant ID": { "value": "" }, "CMP Type": { "value": "vRO" }, "VM ID": { "value": "" }, "Cloud API Owned": { "value": "True" } } }
Additional information on the Infoblox Cloud API can be found below
https://docs.infoblox.com/display/NAG8/About+Cloud+API+Requests
Reference(s):
0 Comments