Project

General

Profile

Actions

Feature #27067

closed

IPAM Integration with External IPAM provider phpIPAM

Added by Chris Smith almost 5 years ago. Updated about 4 years ago.

Status:
Closed
Priority:
Normal
Assignee:
-
Category:
Smart Proxy
Target version:
-
Fixed in Releases:
Found in Releases:

Description

This Feature / PR is a Foreman patch to support of the use of External IPAM, with opensource IPAM provider phpIPAM(https://phpipam.net).

The primary use case is to provide the next available IPv4 address from phpIPAM, for a given phpIPAM subnet.

The functionality that Foreman will use for External IPAM is encompassed in the below plugins(which are both new).

foreman_ipam(v0.0.3)
Git: https://github.com/grizzthedj/foreman_ipam
Gem: https://rubygems.org/gems/foreman_ipam

smart_proxy_ipam(v0.0.4)
Git: https://github.com/grizzthedj/smart_proxy_ipam
Gem: https://rubygems.org/gems/smart_proxy_ipam

The `foreman_ipam` plugin provides a very basic dashboard to display sections and subnets from phpIPAM, and the `smart_proxy_ipam` plugin communicates with the phpIPAM API.

Features and functionality

  • Simple IPAM Dashboard page(Infrastructure => IPAM Dashboard) to view sections and subnets for phpIPAM. More features will be added here based on internal user feedback and from the community.
  • When creating a phpIPAM subnet(IPAM type = External IPAM) in Foreman, subnet/mask must exist in phpIPAM, or error will be thrown
  • When creating a new host in Foreman, auto suggested IP's from phpIPAM will be persisted back to phpIPAM on Host submit.
  • When updating the IP address on a NIC that uses a phpIPAM subnet, the old IP will be deleted from phpIPAM, and new one will be added.
  • Deleting a host in Foreman will delete all NIC ip's that used a phpIPAM subnet
  • Deleting a NIC from a host will also delete the IP from phpIPAM
  • Deleting a subnet in Foreman will NOT delete the associated subnet in phpIPAM. This could easily be added later if it makes sense to the community, however initial thoughts are to not delete it.

NOTE: When creating a host in Foreman and adding multiple nics/interfaces, the same IP will be suggested from phpIPAM since it is not actually reserved in phpIPAM until you submit the host. The workaround for multiple nics is to use the suggested ip for the first interface(e.g. 10.0.0.1), then manually increment the IP for the second interface(e.g. 10.0.0.2). Errors will be thrown however if IP's are already taken.

Actions #1

Updated by The Foreman Bot almost 5 years ago

  • Status changed from New to Ready For Testing
  • Pull request https://github.com/theforeman/foreman/pull/6847 added
Actions #2

Updated by The Foreman Bot over 4 years ago

  • Pull request https://github.com/theforeman/foreman/pull/7113 added
Actions #3

Updated by The Foreman Bot about 4 years ago

  • Fixed in Releases 2.1.0 added
Actions #4

Updated by Chris Smith about 4 years ago

  • Status changed from Ready For Testing to Closed
Actions

Also available in: Atom PDF