VMware Cloud Community
hawks76
Enthusiast
Enthusiast

vRA 8.6.2 IP Allocate Issue (Infoblox)

I have stood up a test instance of vRA 8.6 and am trying to get it to play nice with Infoblox for IPAM management.  I have the plugin installed, configured per docs, and verified all the extensible elements are there.  I can see everything from the vRA side, but when i create a template and test it, it returns this error:

Error: IP ALLOCATE failed: Cannot create 'record:host' object(s): b'{ "Error": "AdmConDataError: None (IBDataConflictError: IB.Data.Conflict:The action is not allowed. A parent was not found.)", \n "code": "Client.Ibap.Data.Conflict", \n "text": "The action is not allowed. A parent was not found."\n}' [code 400]

Google hasn't yielded much help, so here i am.  Anybody seen this error and know maybe how to fix it?

Thanks

0 Kudos
6 Replies
xian_
Expert
Expert

Try to add 

Infoblox.IPAM.createFixedAddress    True
 
at the integration endpoint properties. I'm not an infoblox expert but I believe it tries to create a DNS record by default (record:host) and if you do not have zones it will fail. Record type "fixed address" does not have this prereq.
 
HTH
0 Kudos
hawks76
Enthusiast
Enthusiast

Same error still.  I had that property set to False.  Changing it to True didn't yield anything different.  I did see somewhere that Infoblox.IPAM.createHostRecord (in my 7.x environment) this is set to True while everything else is set to False.  That didn't help either.

0 Kudos
xian_
Expert
Expert

The code seems to care only about createFixedAddress property:

        if resource["type"] != "VM" or get_property(resource, "Infoblox.IPAM.createFixedAddress", False):
            # For non-VM resources just create a fixed address record
            fixed_address = create_fixed_addr(resource["name"], network_view, next_available_ip, extattrs)
            result["ipAddresses"] = [fixed_address["ipv4addr"]]
            result["__fixed_addr_ref"] = fixed_address["_ref"]
        else:
            mac = "00:00:00:00:00:00" if configure_for_dhcp is True else None
            ip = objects.IP.create(ip = next_available_ip, configure_for_dhcp = configure_for_dhcp, mac = mac)
            dns_view = generate_dns_view(network_view, resource, allocation)
            dns_enabled = is_dns_enabled(resource, allocation)
            hostname = generate_hostname(resource, range_id, allocation["nicIndex"], context, endpoint["id"]) if dns_enabled else resource["name"]
            host, is_new = create_host_record(hostname, dns_view, network_view, ip, objects.EA(extattrs), dns_enabled)
            result["ipAddresses"] = [host.ipv4addrs[-1].ipv4addr]
            result["__host"] = host
            result["__is_new"] = is_new
            result["properties"] = {
                "Infoblox.IPAM.Network.dnsView": dns_view,
                "Infoblox.IPAM.RangeId": range_id
            }
0 Kudos
hawks76
Enthusiast
Enthusiast

So, i opened a support request with VMware.  They came back and said i need to set this property on the design template:

Infoblox.IPAM.Network.enableDns: false

The fixed my issue.  The odd thing here is that property is already set to false on the integration.  I'm asking why it being set there is not being respected by rules, but is on the design template.

ronaldod
Enthusiast
Enthusiast

This reads more like an effect but what is the cause to disable it? And if you want to have dns enabled. What is then the solution?

0 Kudos
ronaldod
Enthusiast
Enthusiast

The fix was to define the dnsview in the plugin. Standard is default. But if the admin of the infoblox likes to rename or have multiple dns views you need to specify this with: Infoblox.IPAM.Network.dnsView: "your view variable"

0 Kudos