CarlyWarly
Contributor
Contributor

vRA8 IPAM integration killing Infoblox's logs

Hi all,

We have problem in that our vRA8 IPAM Infoblox integration is continuous filling our Infoblox's logs.   It appears vRA connects to Infoblox, does nothing and then shortly after, it reconnects and does nothing, repeat.

Can this interval be changed?  Can't find any workflow or actions for Infoblox.

Any help or advise?

Cheers,

Carly Warly

0 Kudos
8 Replies
xian_
Expert
Expert

Check in Cloud Assembly the action runs. For us, vRA connects every 10 minutes and fetches the available subnets:

 

I don't think this can be changed.

0 Kudos
xian_
Expert
Expert

xian__0-1620827124549.png

 

0 Kudos
CarlyWarly
Contributor
Contributor

Hi xian,

Thanks for getting back to me, this is the problem, it runs twice a minute 😞

CarlyWarly_2-1620827705950.png

Carl

0 Kudos
CarlyWarly
Contributor
Contributor

We have two instances of vRA 8.3 and both have the same problem, running Infoblox_GetIPRanges, 2 to 3 times a minute.

Carl

0 Kudos
CarlyWarly
Contributor
Contributor

Did some more digging in the logs, it appears that it runs Infoblox_GetIPRanges 6 times in quick fire every 10 mins.  So every 10mins it runs Infoblox_GetIPRanges, as soon as it finished it runs it again 5 more times?

I think it's might be, because our environment is so large it need to run it 6 times to get all it's info...

Looking at limiting via Infoblox.IPAM.NetworkContainerFilter, Infoblox.IPAM.NetworkContainerFilter, Infoblox.IPAM.RangeFilter...

 

0 Kudos
xian_
Expert
Expert

That's a good idea, probably the plugin gets paged results so fetches the remaining items. I'd expect only one entry though in Action Runs...

Can you see any messages in the Action Run logs, like "Querying for infoblox networks with page: ..." ?

def do_get_ip_ranges(self, auth_credentials, cert):
    next_page_id['network_next_page_id'] = None
    next_page_id['range_next_page_id'] = None

    connector_host = self.inputs['endpoint']['endpointProperties']['hostName']

    connector_options = build_connector_options(self.inputs, connector_host, cert, auth_credentials)
    connector_options['paging'] = True
    connector_options['max_results'] = self.inputs['pagingAndSorting']['maxResults']

    global conn
    conn = connector.Connector(connector_options)
    connector.Connector._get_object = _new_get_object

    result_networks = []
    skip, page = get_page_token(self.inputs, 'network')
    if skip is False:
        logging.info(f"Querying for infoblox networks with page: {page}")
        networks = conn.get_object('network', payload=page,
                                   return_fields=['default', 'extattrs', 'options', 'comment', 'members', 'network_container'])
        result_networks = convert_networks(networks)

    skip, page = get_page_token(self.inputs, 'range')
    if skip is False:
        logging.info(f"Querying for infoblox ranges with page: {page}")
        ranges = conn.get_object('range', payload=page,
                                 return_fields=['default', 'extattrs', 'options', 'comment', 'member'])
        result_ranges = convert_ranges(ranges)
        result_networks.extend(result_ranges)

    result = {
        "ipRanges": result_networks
    }

    if next_page_id['network_next_page_id'] is not None or next_page_id['range_next_page_id'] is not None:
        result["nextPageToken"] = json.dumps(next_page_id)

    return result

 

0 Kudos
xian_
Expert
Expert

Or you may want to limit the api user permissions so fewer networks are visible:

xian__0-1620849970060.png

 

0 Kudos
CarlyWarly
Contributor
Contributor

Infoblox_GetIPBlocks was running once & Infoblox_GetIPRanges 5 times, each pulling back a page worth of information.

I have managed using Infoblox.IPAM.NetworkFilter & Infoblox.IPAM.RangeFilter to drop it down to two calls, one each.

Is there any way I can run this once an hour, I know our environment is larger than normal but neither the block or ranges change that much, that I need to poll every 10 mins?

0 Kudos