Infoblox Integration

Overview

The CloudCenter platform supports IP Address Management (IPAM) integration to manage IP address for deployments.

This section provides information on integration with Infoblox, an IPAM provider, by executing multiple callout scripts on the CCO. See Callout Scripts for additional information on each callout script.

See the InfloBlox Integration video for a short demonstration of how the CloudCenter platform supports Infoblox for IP address and DNS name assignment.

Prerequisites for IPAM Integrations

See Callout Scripts for cloud support details.

If you make changes to the callouts or attributes for a Cloud Region, you must restart the CCO for the changes to take effect.

Setup the IPAM Module

  1. Contact CloudCenter Support to obtain the module templates and save it to /usr/local/osmosix/callout.

  2. Make changes to callout scripts according to your test environment.

  3. Model a sleep job, add some environment variables, run the job and check the callout log, and verify that the variables are exported correctly.   

  4. Model a multi-tier web app, add some environment variables, run the job, check the callout log, and verify that the variables are exported correctly.

The Infoblox API

Use the Infoblox-API-Python module to integrate with Infoblox.

The following example displays a script that uses the Infoblox-API-Python module. This script requires python-requests 2.5 and can be called directly from the callout:

createHost.py
#!/usr/local/bin/python2.7
import infoblox, sys
#Check to see if command line included enough arguments.
if (len(sys.argv) < 3):
	print "Usage: createHost.py <fqdn> <network CIDR>"
	quit()
#Assign command line arguments to named variables
fqdn = sys.argv[1]
network = sys.argv[2]
#Setup connection object for Infoblox
iba_api = infoblox.Infoblox('10.110.1.45', 'admin', 'infoblox', '1.6', 'default', 'default', False)
try:
	#Create new host record with supplied network and fqdn arguments
    ip = iba_api.create_host_record(network, fqdn)
    print "nicCount=1"
    print "nicIP_1=" + ip
except Exception as e:
    print e

The Callout Configuration File

This is an example of integrating callout with the Infoblox application.

callout.conf
name=infoblox
type=exec
topic=ipam
debug=true
executable=createHost.py
reinject=true
disabled=false
  • No labels