Workflow for requesting and approving IP address allocations #878

Closed
opened 2025-12-29 16:26:36 +01:00 by adam · 4 comments
Owner

Originally created by @ghost on GitHub (Apr 22, 2017).

Hello. Is it possible to add the ip request option from the prefixes? About how it's done in phpIPAM

Originally created by @ghost on GitHub (Apr 22, 2017). Hello. Is it possible to add the ip request option from the prefixes? About how it's done in [phpIPAM](https://sourceforge.net/p/phpipam/feature-requests/3/)
adam closed this issue 2025-12-29 16:26:36 +01:00
Author
Owner

@jeremystretch commented on GitHub (Apr 24, 2017):

This feature request lacks sufficient detail to be actionable. Per the contributing guidelines:

When submitting a feature request on GitHub, be sure to include the following:

    A detailed description of the proposed functionality
    A use case for the feature; who would use it and what value it would add to NetBox
    A rough description of changes necessary to the database schema (if applicable)
    Any third-party libraries or other resources which would be involved

Please extend the request so that it meets all of these requirements. If no response is received within a week, this issue will be closed.

@jeremystretch commented on GitHub (Apr 24, 2017): This feature request lacks sufficient detail to be actionable. Per the [contributing guidelines](https://github.com/digitalocean/netbox/blob/develop/CONTRIBUTING.md): When submitting a feature request on GitHub, be sure to include the following: A detailed description of the proposed functionality A use case for the feature; who would use it and what value it would add to NetBox A rough description of changes necessary to the database schema (if applicable) Any third-party libraries or other resources which would be involved Please extend the request so that it meets all of these requirements. If no response is received within a week, this issue will be closed.
Author
Owner

@ghost commented on GitHub (Apr 26, 2017):

Somewhere in a prominent place (for example, on the login page) there is a button "Request a new ip". Clicking this button opens a form in which certain fields are filled:

  • select subnet - select from the list of available prefixes
  • description
  • hostname (or device name)
  • status
  • owner (responsible person)
  • requester (e-mail)
  • additional comment

*phpipam example
image

After filling in and sending the request, the administrator receives an email with data from the form and a link to the page in the netbox, where all the requests are displayed.

*phpipam example
image

If the administrator at this point worked in the netbox, you can optionally display the notification icon next to his nickname (similar to unread messages).

After clicking on the "Process" button a form will open, in which there will already be initial data from the request and additional fields that the administrator needs. Ip from the prefix is substituted into the form by the first free in the list (can be changed manually).

*phpipam example
image

The administrator either accepts the request or rejects it. In the first case, an email is sent with information about which ip was assigned, in the second, a notification of the refusal indicating the reason. If the request is accepted, the data from the form is written to the database.

This option is useful when dividing IT specialists into directions.
For example, user support prepares a workstation, or system administrators plan to deploy a new service, while there are strict requirements from information security and network administrators.

Regarding third-party libraries or changes in the scheme of the database, I, unfortunately, can not answer.

@ghost commented on GitHub (Apr 26, 2017): Somewhere in a prominent place (for example, on the login page) there is a button "Request a new ip". Clicking this button opens a form in which certain fields are filled: - select subnet - select from the list of available prefixes - description - hostname (or device name) - status - owner (responsible person) - requester (e-mail) - additional comment *phpipam example ![image](https://cloud.githubusercontent.com/assets/5028509/25447387/abaaf9ca-2abd-11e7-93ef-95bd85b979b6.png) After filling in and sending the request, the administrator receives an email with data from the form and a link to the page in the netbox, where all the requests are displayed. *phpipam example ![image](https://cloud.githubusercontent.com/assets/5028509/25447891/84dbcb88-2abf-11e7-87b4-894fafd135f6.png) If the administrator at this point worked in the netbox, you can optionally display the notification icon next to his nickname (similar to unread messages). After clicking on the "Process" button a form will open, in which there will already be initial data from the request and additional fields that the administrator needs. Ip from the prefix is substituted into the form by the first free in the list (can be changed manually). *phpipam example ![image](https://cloud.githubusercontent.com/assets/5028509/25448212/698a2b76-2ac0-11e7-919a-5b0ec235728d.png) The administrator either accepts the request or rejects it. In the first case, an email is sent with information about which ip was assigned, in the second, a notification of the refusal indicating the reason. If the request is accepted, the data from the form is written to the database. This option is useful when dividing IT specialists into directions. For example, user support prepares a workstation, or system administrators plan to deploy a new service, while there are strict requirements from information security and network administrators. Regarding third-party libraries or changes in the scheme of the database, I, unfortunately, can not answer.
Author
Owner

@cimnine commented on GitHub (Apr 27, 2017):

IMO the workflow should not be part of Netbox. Such processes can be very specific to any organisation. It would also have to work for the LDAP backend as well as the built-in users backend.

But Netbox should be able to provide means for implementing such a workflow via the API. And Netbox already has the possibility mark an IP as reserved. There's currently just no concept of assigning DNS names (forward or reverse) or 'owners' to an IP.

Of which, I only see that reverse names should be part of the IPAM and forward names should be separate as there can be many names per IP.
As the owner can take any form, it is probably best treated as custom field. (Not all 'owners' may have a user in Netbox, and you may identify them by name, internal id, email or some other way.)

@cimnine commented on GitHub (Apr 27, 2017): IMO the workflow should not be part of Netbox. Such processes can be very specific to any organisation. It would also have to work for the LDAP backend as well as the built-in users backend. But Netbox should be able to provide means for implementing such a workflow via the API. And Netbox already has the possibility mark an IP as reserved. There's currently just no concept of assigning DNS names (forward or reverse) or 'owners' to an IP. Of which, I only see that reverse names should be part of the IPAM and forward names should be separate as there can be many names per IP. As the owner can take any form, it is probably best treated as custom field. (Not all 'owners' may have a user in Netbox, and you may identify them by name, internal id, email or some other way.)
Author
Owner

@jeremystretch commented on GitHub (Apr 27, 2017):

NetBox's intended role is a "source of truth" for network objects and related data. I agree with @cimnine that it should not implement a request/provisioning workflow, both because it is out of scope for the project and because it would inevitably lead to further requests to customize the workflow to fit the specific needs of individual users.

Version 2.0 bring introduce write support for the API, which will allow users to easily interface external tools with NetBox and implement whatever provisioning processes they choose.

@jeremystretch commented on GitHub (Apr 27, 2017): NetBox's intended role is a "source of truth" for network objects and related data. I agree with @cimnine that it should not implement a request/provisioning workflow, both because it is out of scope for the project and because it would inevitably lead to further requests to customize the workflow to fit the specific needs of individual users. Version 2.0 bring introduce write support for the API, which will allow users to easily interface external tools with NetBox and implement whatever provisioning processes they choose.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/netbox#878