Cisco DNA Center PnP Onboarding Automation Using Webhook Notification
As organizations continue to embrace digital transformation, the importance of network automation has become more significant than ever. With an increasing number of devices connecting to the network, the process of onboarding them has become complex and time-consuming, resulting in delays and inefficiencies. In this blog post, we will discuss the problem statement, challenges, and our solution for automating network device onboarding using Cisco DNA Center and webhook notifications.
Traditionally, the process of onboarding network devices involved manual configuration, which was time-consuming, error-prone, and complex. Network engineers had to manually configure the devices, update software versions, and configure security policies before they could connect to the network. This process was prone to errors, which resulted in network downtime and inefficiencies.
With the increasing number of devices connecting to the network, the onboarding process has become even more complex. Devices may have different configurations, and network engineers may not have the serial numbers or other identifying information for each device in advance. This creates a challenge for network engineers to onboard these devices efficiently and effectively.
The process of onboarding network devices poses several challenges, including:
- Lack of identifying information: In some cases, network engineers may not have the serial number or other identifying information for each device in advance, making it challenging to onboard them.
- Manual Configuration: Manually configuring each device can be time-consuming and error-prone, leading to network downtime and inefficiencies.
- Complex Network: As networks become more complex, the onboarding process becomes more challenging. Configuring devices across multiple locations and subnets can be a daunting task, requiring significant manual effort.
To automate the network device onboarding process, we’ve developed a Python Flask application that utilizes webhook notifications in Cisco DNA Center. The application listens for notifications and automatically onboards unclaimed devices as they connect to the network.
The following is an overview of the solution
- Device Onboarding Process: When a new device connects to the network, it securely connects to Cisco DNA Center. The device is initially marked as “unclaimed” in Cisco DNA Center.
- Webhook Notification: Cisco DNA Center sends a webhook notification to our Flask application when a new device connects to the Cisco DNA Center. The notification contains the device’s IP address and serial number.
- Flask Application: Our Flask application listens for webhook notifications from Cisco DNA Center. When a notification is received, the application parses the information and determines if the device is eligible for onboarding.
- Mapping IP Subnets: To determine if the device is eligible for onboarding, the Flask application maps the device’s IP address to the appropriate IP subnet. The mapping is based on a mapping file that includes parameter mapping to variables.
- Device Onboarding: Once the device’s IP address has been mapped to the appropriate IP subnet, the Flask application claims the device in Cisco DNA Center. This involves configuring the device with the necessary software versions, security policies, and other settings required for it to connect to the network. This ensures that the device is recognized by the network and can communicate with other devices.
Our solution provides several benefits to organizations looking to automate their network device onboarding process, including:
- Efficiency: By automating the onboarding process, our solution reduces manual effort and improves efficiency.
- Scalability: Our solution is scalable and can handle large numbers of devices connecting to the network.
- Reliability: Our solution is reliable and reduces network downtime and inefficiencies.
- Customizable: Our solution is customizable, allowing organizations to tailor it to their specific requirements and network configurations.
Automating the network device onboarding process is crucial to improving network provisioning time, reducing manual effort, and enhancing network reliability. Our solution, which utilizes webhook notifications in Cisco DNA Center and a Python Flask application, provides an efficient and scalable solution to automate the device onboarding process.
- PnPAutoClaim: Python Flask Application on GitHub
- Cisco DNA Center User Guide: Onboard and Provision Devices with Plug and Play
- Cisco DNA Center platform: Events and notifications