ProVision 7.4.0

ProVision 7.4.0 is a major release with new features, improvements and bug fixes.

Major Features and Improvements in this release:

New Features


New Admin Settings Interface 

IM  - 3723: Update Admin Preferences UI to utilize sub-tabs, improve backend. 

The Admin Preferences area has been updated with a new UI and updated backend. Each module area can be accessed by its own sub-tab button, available at the top of the page.

For details, see Admin Preferences.


New Resource Lists Interface

IM - 3481: Updated the Resource Lists UI to support bulk edits, custom columns and other new features

CFR - 32: Bulk Edit for Resources

CFR - 85: User Customization of Resource List Columns

CFR - 98:  Mass reassign of resources to a different Parent Resource

CFR - 164: User Customization of # of resource per page / pagination

IM - 1498: Update Add Resource Button(s) to be more consistent with other UI areas

IM - 1908:  Multi-Edit of Resource Attributes

IM - 2653: Bulk Resource Assign

IM - 3481: Update Resource List interface

The Resource Lists interface has been updated to better coordinate with the IPAM UI, allowing for a greater variety of customization and new features to be included. 

Additional Updates include:

For details on using the new Resource List Views, see ResourcesWorking with Entries, and Customizing Resource Views

Constraints

CFR - 165: Added a Constraints system for setting admin-designated field limitations to ProVision IPAM fields.

Constraints allows Admin users to configure custom field validation and limitations into IPAM fields. Many constraint types are available, such as mathematical comparison operators, length, enumeration, pre-set lists, RegEx, IPv4/IPv6, Phone, email, hostname, FQDN, Mac Address, and URL. 

For details,  see Constraints.


Additional Features / Improvements


DNS Improvements

S64 DNS Server Configuration Rollback

CFR - 180: S64 DNS Servers now supports configuration rollback

To enable configuration rollback for S64 DNS Servers, go to the Server Settings page for the desired server, then toggle "Enable Configuration Rollback" to "on". Once set, ProVision will create a backup configuration file during push to use for a rollback.

To perform a rollback after a push, click the "Rollback Config" button on the server settings page. 

For additional information, see link here.

Save Import File

CFR - 179-a: Added a DNS Admin setting - "Save Import File", which retains original DNS zone import files for download under Zone View page → “Backup Files and Attachments”

To enable saving import files, go to Admin Preferences → DNS Settings sub-tab. From there, select "Import Settings" in the DNS Global Settings module. 

Toggle "Keep Import File" into the ON position, then select "Save Changes". 

Proceed with a .zone file import from the zone's View Zone Page.

Once the import has completed, the original zone import file will display in the View Zone page under "Zone Backups and Attached Files".

To download the original file, click "Download" for the import file.

Import Zone Comments

CFR - 179-b: Comments contained in DNS Zone Import files will now be appended into the DNS Zone page "Comments" field.

DNS Zone Import will also import comments contained in the .zone file, such as an internal change log (such as in the image below).

When imported by selecting the "Import Zone" button on the View Zone page, these comments are added to ProVision's zone comments field:


New Report Types

The following default reports have been added to the Reporting Tab:

IPAM Runout Report

CFR - 186: Added the IPAM Runout Report type to the Reporting Tab.

The IPAM Runout Report displays available/assigned host statistics and projected runout for the selected block type(s) and region(s). 

DHCP Server Report

IM - 3705 a: Added the DHC Servers Report type to the Reporting Tab.

The DHCP Servers Report displays existing DHCP servers in ProVision, associated statistics, and last updated time. The DHCP Servers report can be filtered by Name, Domain, or by last modified date.

DHCP Pools Report

IM - 3705 b: Added the DHC Pools Report type to the Reporting Tab.

The DHCP Pools Report displays existing DHCP Pools in ProVision, type, ranges, IP/MAC, associated groups, and last updated time.

The DHCP Pools Report can be filtered by DHCP Server(s), name, type, or by last modified date.

Additional Improvements

ProVision IPAM-As-WHOIS

CFR - 169: Added support for utilizing ProVision IPAM as a WHOIS server.

ProVision now supports utilization as a WHOIS server via REST API requests.

ProVision supports utilization as a WHOIS server via REST API requests. You can query Resources, Contacts, and IP Blocks, just like a traditional WHOIS server, only ours serves data from the ProVision database.

This feature provides an alternate route to provide ProVision data to legacy workflows on your network.  If a team is used to query WHOIS, they can query Provision.  If a system needs to talk to WHOIS, it can talk to ProVision-as-WHOIS.

Setup

The ProVision WHOIS Server is a thin client for our REST API that listens on port 43 and accepts WHOIS requests that gets forwarded to our API. It is written in Python 3 using the socketserver module, and uses the ProVision endpoint /api/ipam/whois to receive all requests from the WHOIS server.

The main business logic is located in services/WhoisService.php

Running the Server manually

The Python requests library must first be installed:

Ubuntu:

sudo apt install -y python3-pip
pip3 install requests

CentOS / Alma Linux:

sudo yum install python3-pip OR sudo dnf install python3-pip
pip3 install requests

The server is located at whois_server/main.py in the ProVision repository.

Open main.py and update these variables:

self.url = "https://localhost/qa-7.4.0/api/v2/ipam/whois"
self.username = "apiUserName"
self.password = "apiPassword"


to match the current API location and credentials, so the WHOIS requests can be properly forwarded to our API.

Running the server can be done with: sudo python3 main.py (We need root because we are binding to port 43)

Quering the WHOIS server
  1. install whois if not present (sudo apt-get install whois)
  2. whois -h 127.0.0.1 ﹤query﹥
Installing the WHOIS server as a service

Different Linux distributions might have different ways to setup a service that runs on startup.

systemd

There is a Unit file for systemd in the repository: whois_server/provision_whois.service that is used when a service is created in systemd env.

1) Edit the file to setup the proper path to the python server/file

ExecStart=/usr/bin/python3 /root/whois_server/main.py
WorkingDirectory=/root/whois_server/

2) Copy the file to /etc/systemd/system (on CentOS this directory should be: /lib/systemd/system/) -

sudo cp whois_server/provision_whois.service /etc/systemd/system/provision_whois.service

3) Start the service with service provision_whois start

4) Verify that is working with service provision_whois status and making a test query whois -h 127.0.0.1 ﹤query﹥

The systemd services are run as root, so there shouldn't be issues with binding to port 43.

init.d

There is also init.d file located at whois_server/provision_whois

1) Edit the file to setup the proper path to the python server/file

DAEMON_OPTS="/var/www/projects/whois/app.py"

2) Copy the file to /etc/init.d/

3) chmod +x /etc/init.d/provision_whois -v

4) Verify that is working with service provision_whois status and making a test query whois -h 127.0.0.1 ﹤query﹥

GEO IP Exporter

CFR - 192: Added the ability to add GeoIP location information to the Contact Info Gadget for a resource, and export location data for resources with assigned blocks to .csv

ProVision now supports the entering and export of IETF format-compliant GeoIP data for resources which have assigned IP blocks. 

The Geo IP Exporter may be enabled as a scheduled task (See: Scheduler Tab) that, at run time, searches the ProVision instance for resources which have IP addresses and an address provided in the Contact Info Gadget, then saves the resulting .csv to the ProVision root directory. 

If a resource has an assigned IP address, and either Geo IP location data or a Mailing Address entered in the Contact Info Gadget, then the data will be included in the .csv output. If an IP address is not associated with the resource, or if neither Geo IP / Mailing Address has been provided, the resource will be skipped. 

This feature includes updates to the following areas:

For additional information, expand the walkthrough below:

1) Enter GEO IP data to Resources

Add GEO IP location data to a Resource by selecting "Edit" for the Contact Info Gadget.

Enter a separate address to denote as the GEO IP location, or you may select "Same as Mailing Address":

2) Set up the Geo IP Export Scheduler Task

Create a Scheduler task to export GEO IP data:

3) Run the Scheduler Task / File Access

Run the GEO IP scheduler task, either via "Run Now" or as a scheduled run - the task will search for resources with an assigned IP address, and either Geo IP location data or a Mailing Address entered in the Contact Info Gadget, and add the data to the .csv output.

Once the task has completed, the GEO IP data will be written to the ProVision root directory as "geoip_feed.csv":

IPAM Auto AS-Resource

CFR - 188: Added a new "SystemAS" section to automatically create a resource for ASN's entered in IPAM Manage. 

ProVision now automatically creates an AS resource for ASN's entered into IPAM Manage (formatted as "AS1234" or "1234").

An ASN in IPAM Manage will link to the created resource, which will display all IP Blocks in ProVision with that ASN value. SystemAS resources may not be edited, however they may be deleted by an admin if desired. 


IPAM IPv6 Sparse Allocation Schemes

CFR - 184: Added scheme options (Leftmost, Rightmost, Center) to IPv6 Sparse Allocation. See: IPAM Configuration

Admins may now denote a system default Sparse Allocation scheme to use for IPv6 Sparse Allocation. Available values are Leftmost, Center, and Rightmost. If not otherwise specified, Leftmost is the ProVision Default. 

To edit the Sparse Allocation Scheme, select the desired scheme in IPAM Configuration, then enable sparse allocation for the desired IPv6 aggregate. The Sparse allocation scheme is applied to the aggregate when sparse allocation is enabled for the aggregate, thus, pre-existing sparse allocation schemes will not be altered by later changes.

If you wish to change the scheme for an existing sparse allocated-enabled aggregate, you must disable sparse allocation for the aggregate → Edit the selected scheme → re-enable sparse allocate for the aggregate. To verify which scheme is applied to aggregates, you may view the aggregate and scheme details in the Numbering Authority → Sparse Allocate listings. 


IPAM Aggregate Notes

IM - 3809: Added display of IPAM Aggregate notes to the Top - Level Aggregate listing. 

IPAM Notes applied to the topmost aggregate block now display in the IPAM sidebar, under the aggregate. 

Chart View Select Top Node

IM - 3778: Users can now select a specific resource as the "Top Node" in Resources → Chart View.

A specific resource may be selected as the "Top Node" when viewing Resources → Chart View, to focus in on a specific sub-tree of the resource hierarchy. Top node selections apply only to that page view session, and are not permanent.

Dashboard Log Widget

IM - 3123: Added a new "Logs" Widget option to the Dashboard. 

The Logs Dashboard Widget displays the most recent 'x' number of logs for a specified search term, such as resource name, task, id number, username, and so forth.

Once the Logs Widget has been added to a Dashboard, edit it by clicking the wrench icon in the upper right side of the Widget.

In the Edit menu, you may edit the Logs Widget name, enter a search term, select number of results to display, and select a log level to filter results by.

When complete, click "Apply" to save your changes. 

For information on how to add the Logs Widget to the Dashboard, see Customizing the Dashboard.

For additional information on this and other Widgets, see Working with Dashboard Widgets.


Logging Improvements

A number of minor improvements and fixes have been made to logging:

IM - 2617: "Logging" links from tab dropdown menus now automatically filter the Log Tab results to that category.

IM - 3732: Minor UI updates have been made to the Admin Logs page.

IM - 3800: Added log events for updates made to the Field Gadget.

IM - 3801: Overzealous logging of session timeouts have been removed.

IM - 3803: Log events indicating missing field types have been fixed by adding a field repair tool to the upgrade script (tools/verify_fields.php).

IM - 3807: Failed API Authentication attempts now create a log event.

IM - 3808: Added missing values for the "time" attribute in remote Syslog responses.



Bug Fixes/Minor Improvements


CFR - 159: Resource Report now includes filters to show linked resources (checkbox options) and search by attribute.

CFR - 161: Added partial search by phrase / term in field to Reporting → resource reports.

IM - 1806: Added Host Count and sort options to IPAM Reporting.

IM - 2491: Updated the UI and page notification that occurs when a user logs in with no group permissions.

IM - 2792: Updated static resource dropdown selectors to a more user-friendly searchable/filterable selector menu.

IM - 3042: Updated IPAM Columns Mask/Host Count fields to correctly display Mask and Host Count, respectively.

IM - 3210: Minor UI adjustments made to the save button style and location in DNS Groups → Default Group Parameters and Catalog Zone Settings.

IM - 3262: Updated the permissions handling of all pages to recognize Groups containing Admin access on TLR as having equal permissions to Global Admins.

IM - 3362: Added the ability to clear inputs ("x"s) when using DNS Record List page filters.

IM - 3363: Disabled the "Save Changes" button in DNS → Edit ACLs, until savable changes have been entered.

IM - 3374: Scheduler page now correctly displays for TLR Admin users in Groups other than Global Admin. 

IM - 3559: Updated information and style of scheduler notification emails to better coordinate with eachother.

IM - 3583: Limited permission users may now view Reporting v2 (but may not perform admin-level report actions)

IM - 3584: Restricted Field Gadget Add/Edit field actions for read-only users.

IM - 3620: Restricted access to VLAN Add/Delete/Update actions for read-only users.

IM - 3628: Updated style of pagination controls in Reporting → Resource Reports.

IM - 3646: Relocated the "Loading" image to a more visible location in VLAN → Add Domain / Add VLAN.

IM - 3656: Added the ability to remove a single VLAN for a block via an "x" clear-field option.

IM - 3657: Added the ability to remove VLANs for multiple blocks at a time via multiple block edit in IPAM Manage.

IM - 3659: VLAN Sidebar → Quicknav now correctly works when navigating from a page other than the first Domain page.

IM - 3661: Resolved an issue preventing VLAN Metadata from being saved if no IP blocks were assigned to the VLAN.

IM - 3663: Removed the automatic display of the VLAN Advanced filter flyout when opening Domain → Manage.

IM - 3687: Shortened the filter flyout in IPAM/VLAN Manage so that it can no longer overlap pagination.

IM - 3699: Removed an extra DNS Zone Restore button that would appear in DNS → Zone Backup if multiple pages of records existed.

IM - 3707: Resolved a display error that would occur in the "IPAM Stats" dashboard widget → Total Available 1918 Hosts field if multiple IPAM Stats widgets existed.

IM - 3708: Added the ability to add a new IPAM region, if all other regions were deleted.

IM - 3711: Clone Resource now correctly handles resource names that contain apostrophes.

IM - 3715: Updated Permissions to better handle caching of group permissions when a user is assigned to more than one Group.

IM - 3717: Resolved an IPAM search error that would load unrelated IP blocks when expanding search results via the "Load More" link.

IM - 3761: Updated user permissions to identify an Admin user as any user in a Group with "Admin" permissions on the TLR resource, instead of only users in the "Global Admin" Group.

IM - 3785: Resolved an issue in IPAM Manage where LIR changes would not propagate to children.

IM - 3788: Updated treeview to limit returned blocks to 8000 IPv4/IPv6 blocks, to prevent browser loading issues.

IM - 3793: The "Email" field once again displays in the Contact Gadget. 

IM - 3794: Updated the IPAM gadget to no longer treat in-gadget links as an iframe module.

IM - 3810: IPAM Manage Multi-select Edit now supports bulk enable/disable of the the "Important" flag for blocks.

IM - 3811: All IPAM Column display name changes now correctly update in IPAM Manage filters.

IM - 3812: IPAM Aggregate "Merge" no longer requires a page refresh between consecutive merge attempts. 

IM - 3814: Improved search handling of numeric-only search terms. 

IM - 3816: Resolved an issue where searching for /32 blocks and following the resulting CIDR link does would not display the block in IPAM Manage.

IM - 3819: Updated error messaging in IPAM Manage when filtering by a single mask.