I started refactoring NvIPAM earlier this week. My first goal was to rework the JWT tokens api, and to rework the project directory structure to help keep things clean and logical.
Here is a screen shot of the current API. Not much to show yet, but it will get better as the refactoring continues.
NvIPAM is an IPAM solution specifically targeting VMware vRealize Automation (vRA) deployments.
During on project I had a customer with multiple networks using the same Network Profile. The profile had several IP ranges managed by an external IPAM solution. When the customer would request the machine at network would be assigned, but it would be assigned an IP address from the wrong pool. The logical workaround was to have a unique network pool per network.
I think the main issue with legacy IPAM solutions is they don’t understand Virtual Networks. Most that I’ve worked with are based on VLAN’s.
NvIPAM’s network schema includes the network-id, network name, datacenter and cluster. The intent is to use the Event Broker payload to determine the network, then grab an IP address from the pool (or pools) associated with that network.
The beta version provides the following features;
- NSX / vSphere network keys
- Pools bound to the network (The network JSON includes associated networks)
- Tags for Networks and Pools
- Basic CMDB
- PowerDNS A/PTR record management
- Swagger API provided by flask_restplus
- API ONLY – No UI other than Swagger
- Ansible playbooks to install and configure base packages
- Postgresql database
- PowerShell scripts to capture vSphere network information (includes NSX logical wires)
The beta version includes a basic CMDB, and DNS through PowerDNS.