ZTP Configuration

This is a privilege-based feature: The user can access, view, add, edit, delete, execute, and export only if the administrator has given them privileges. This will be defined under roles and privileges.

Zero-touch provisioning (ZTP) sets up devices to automate configuration when they initially boot up. It enables IT and network operators to configure networking devices without manual intervention. ZTP (Zero Touch Provisioning) helps IT teams quickly configure devices like network switches, routers, wireless access points, and firewalls in a large-scale environment. It is faster and reduces the chances of human error.

ZTP automates steps like updating operating systems, deploying patches or bug fixes, and implementing added features before connection.

Prerequisites of ZTP

ZTP process varies for every setup; however, the basic prerequisites are:

  • Base/Boot image firmware – All NEs must ship with the default base/boot image, which runs the NEs after initial boot up.

  • DHCP Client - The base image firmware should enable the client to broadcast/connect to the DHCP server.

  • Telnet/SSH - Should be enabled along with predefined credentials for accepting the remote connection from the NMS Configuration management module, and connectivity

  • DHCP Options—Options 60 and 61 for class and client identifier, 55 and sub-list, and 124 list the platform, vendor, serial number, etc.

  • Need the base configuration template from the customer/corresponding device’s vendor (Refer to ‘Other Configuration’ tab within configuration profile for details)

  • You need to update the ZTP configuration details in the ‘Other Configuration’ tab of the configuration profile (Refer to the ‘Configuration Profile’ section for more information).

  • The user must create Device credentials in the NCCM Portal for all the CSR device vendors and models.

  • DHCP should send unique content about the new IP assignment in a log/trap/API post.

  • All the NEs’ planned IP segments and required ports should be open and reachable from the NCCM module collector instances

  • The user must feed the dynamic values from the UI/CSV file upload to update the templates.

  • All the NEs’ planned IP segments and required ports should be open and reachable from the NCCM module collector instances

  • The user must feed the dynamic values from the UI/CSV file upload to update the templates.

Add ZTP Configuration Profile

To configure a ZTP profile, go to Infraon Configuration > IT Operation > Network Configuration > ZTP Configuration. On the ZTP Configuration page, fill in the required fields as outlined below to set up the profile.

Add ZTP Configuration | Basic Details

Label

Action

Description / Example

Profile Configuration

Profile Name*

Textbox input

Enter a unique name for the ZTP configuration profile.

Example: ZTP - Branch Deployment.

Description

Textbox input

Provide a short description of this ZTP configuration.

Example: Auto-provisioning for new access switches.

Status*

Toggle switch

Enable or disable the ZTP profile. Must be enabled for the configuration to be active.

ZTP Syslog Pattern*

Textbox input

Specify the regex pattern used to identify DHCP-related syslog messages received from the agent. (Refer to the detailed pattern examples provided below.)

Example: DHCPACK.*

IP Address Pattern*

Textbox input

Provide the IP regex pattern to extract IP from syslog.

Example: `(?:(?<=on)

Reference Key Pattern*

Textbox input

Provide the MAC address pattern for identifying devices.

Example: ([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})

Allowed DHCP Server Assets*

Dropdown multi-select

Select the DHCP server IPs/assets that are allowed to initiate ZTP.

Example: 10.0.4.223, 10.0.4.88

Device Credentials*

Device Credentials

Dropdown multi-select

Ensure valid device credentials are selected for Discovery, Configuration Download, and Upload operations. SSH, Telnet, and SNMP credentials are required.

Example: Linked_credentials_SNMP_SSH_5_7

Subnet

Input field

Define a specific subnet or IP range to filter devices.

Example: 10.0.5.1/24, 10.0.4.1-20

Device Credentials (per Subnet)

Dropdown select

Select the credentials associated with the subnet.

Example: SSH_4_7, Infraon_server

Add Filter

Button

Add additional subnet and credential filters if needed.

Event Configuration

Severity*

Dropdown

Choose the severity level for the event.

Example: Critical, Major, Minor.

Event Message*

Textbox input

Enter the event message displayed when a ZTP event is triggered.

Example: New IP acquired via DHCP-new

Data Collector

Agent*

Dropdown

Select the data collector agent responsible for handling the ZTP job.

Example: 10.0.4.18-import-csv-disable 10.0.4.88

Enable Approval for ZTP Job

Toggle switch

Enable the job to be routed through the change management approval workflow.

Requester

Dropdown

Select the requester's name. This user will appear in the change approval flow.

Example: Jason Miller.

Post ZTP Notification

Notifier

Dropdown

Select the email ID to receive post-ZTP job notifications.

Example: [email protected]

Select API

Dropdown

Choose an API to be triggered after the ZTP job is completed. The dropdown is auto-populated from the API Registration module, where all outbound APIs are registered and maintained.

Example: Change Request API (http://localhost:9090)

Method

Dropdown

HTTP method for the API call.

Example: GET, POST

Endpoint

Input field

Specify the relative path of the API endpoint that will be triggered after the ZTP job is completed. This endpoint should match the one defined in the API Registration module.

Example: /api/v1/change-request/trigger

Content Type

Dropdown

Choose a content format for the API payload.

Example: Application/JSON

Fields marked with an asterisk (*) are mandatory and must be filled out.

Click Save to apply and store the ZTP configuration.

ZTP Syslog Pattern

DORA-based Syslogs
*DHCPDISCOVER.*
.*DHCPOFFER.*
.*DHCPREQUEST.*
.*DHCPACK.*
Reference key (MAC address)
###reference key###([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})
IP address of the node
###ip pattern###(?:(?<=on)|(?<=for))\s((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-
9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)

Click Save to apply and store the ZTP configuration settings.

Mapping DORA Process

The ZTP process relies on a DHCP server to register devices with NCCM. The DHCP (Dynamic Host Configuration Protocol) is an external server.

Dynamic Host Configuration Protocol (DHCP) uses DORA (Discover, Offer, Request, Acknowledgement). It is an application layer protocol that helps provide an IP address to hosts or client machines. DORA gets the IP address from the centralized server. Whenever new devices are added to the network level and there is no IP in the server or devices, an IP is requested from the DHCP server via DORA.

Once discovered, packets are assigned to the DHCP servers, and one packet is assigned to the added device. Once the DHCP server is reachable from the client, an IP address is requested. The IP is assigned to the device, and it is acknowledged in the acknowledgment packet. This is how DORA works. The DHCP server will take care of the DORA process.

  • Listen/Receive the DHCP handshake from NE, which is powered on.

  • Provision to assign a Static/Dynamic IP based on the requirement

  • Bind the NE’s MAC and the designated IP address for the Static assignment (in case)

  • DHCP Classifications Support – based on vendor, location, etc., pool management

  • Based on the TLV options and support from Network Equipment

  • Preferred Firmware versions

  • Option 3 - Default Gateway

  • SNMP

  • Option 6 - DNS Server

  • Option 2, 4 & 42 – Time and NTP server

  • Option 66 & 67 Firmware image TFTP/SFTP details (in case NE has a different version)

  • Option 82 - relay,

  • Logs/Traps/API based notification about new IP Assignment to NMS Server

  • Unique content about the new IP assigned along with the MAC address is mandatory. Providing vendor, model, SNMP, and other details as part of the message or on further API queries will be an add-on to complete the ZTP process quickly.

Last updated

Was this helpful?