Provisioning network devices using a vendor-neutral platform
Network devices are provisioned using a single vendor-neutral data model with a non-relational database. Provisioning requirements are collected upon detecting a new network device that needs to be configured and/or installed. Based on the provisioning requirements, a configuration object is retrieved using a data model in the non-relational database. The configuration object is transformed to a concrete configuration file for the network device. After applying the configuration file to the network device, a separate process validates the configuration of the network device by comparing the observed network configuration with the initial target configuration data included in the configuration object.
1. A method, comprising:
periodically scanning for network devices that are non-heterogeneous to other networked devices in a plurality of network devices;
identifying a non-heterogeneous network device in the plurality of network devices;
retrieving a vendor-neutral configuration template from a non-relational database based on a device type of the non-heterogeneous network device, wherein the non-relational database includes a plurality of vendor-neutral configuration templates for different types of network devices, wherein one vendor-neutral configuration template is used for each type of network device, wherein vendor-neutral configuration templates include target configuration instructions, wherein the target configuration instructions are generated from encoding provisioning requirements collected from different data sources for a plurality of target network devices;
generating a configuration file in a format associated with the non-heterogeneous network device based on one or more target configuration instructions from the vendor-neutral configuration template associated with at least one characteristic of the non-heterogeneous network device and a vendor of the non-heterogeneous network device;
causing the non-heterogeneous network device to update a configuration of the non-heterogeneous network device by applying the configuration file;
validating the configuration of the non-heterogeneous network device by comparing network configuration data retrieved from the non-heterogeneous network device to the plurality of target configuration instructions.
2. The method as recited in claim 1 , wherein the configuration file is generated based on interpreting the one or more target configuration instructions expressed in a defined markup language.
3. The method as recited in claim 1 , wherein the non-heterogeneous network device comprises a switch.
4. The method as recited in claim 1 , wherein the non-heterogeneous network device comprises a router.
5. The method as recited in claim 1 , wherein the non-heterogeneous network device receives a firmware update after detection of the non-heterogeneous network device.
6. The method as recited in claim 1 , further comprising:
retrieving a stock keeping unit (SKU) identifier of the non-heterogeneous network device, wherein the SKU identifier of the non-heterogeneous network device is associated with the at least one characteristic.
7. The method as recited in claim 1 , wherein the validating the configuration of the non-heterogeneous network device further comprises:
connecting to the non-heterogeneous network device through a secure shell (ssh) protocol to retrieve the network configuration data.
8. One or more non-transitory computer-readable storage media, storing one or more sequences of instructions, which when executed by one or more processors cause performance of:
periodically scanning for network devices that are non-heterogeneous to other networked devices in a plurality of network devices;
identifying a non-heterogeneous network device in the plurality of network devices;
retrieving a vendor-neutral configuration template from a non-relational database based on a device type of the non-heterogeneous network device, wherein the non-relational database includes a plurality of vendor-neutral configuration templates for different types of network devices, wherein one vendor-neutral configuration template is used for each type of network device, wherein vendor-neutral configuration templates include target configuration instructions, wherein the target configuration instructions are generated from encoding provisioning requirements collected from different data sources for a plurality of target network devices;
generating a configuration file in a format associated with the non-heterogeneous network device based on one or more target configuration instructions from the vendor-neutral configuration template associated with at least one characteristic of the non-heterogeneous network device and a vendor of the non-heterogeneous network device;
causing the non-heterogeneous network device to update a configuration of the non-heterogeneous network device by applying the configuration file;
validating the configuration of the non-heterogeneous network device by comparing network configuration data retrieved from the non-heterogeneous network device to the plurality of target configuration instructions.
9. The one or more non-transitory computer-readable storage media of claim 8 , wherein the configuration file is generated based on interpreting the one or more target configuration instructions expressed in a defined markup language.
10. The one or more non-transitory computer-readable storage media of claim 8 , wherein the non-heterogeneous network device comprises a switch.
11. The one or more non-transitory computer-readable storage media of claim 8 , wherein the non-heterogeneous network device comprises a router.
12. The one or more non-transitory computer-readable storage media of claim 8 , wherein the non-heterogeneous network device receives a firmware update after detection of the non-heterogeneous network device.
13. The one or more non-transitory computer-readable storage media of claim 8 , wherein the sequences of instructions, which when executed by the one or more processors cause further performance of:
retrieving a stock keeping unit (SKU) identifier of the non-heterogeneous network device, wherein the SKU identifier of the non-heterogeneous network device is associated with the at least one characteristic.
14. The one or more non-transitory computer-readable storage media of claim 8 , wherein the validating the configuration of the non-heterogeneous network device further comprises:
connecting to the non-heterogeneous network device through a secure shell (ssh) protocol to retrieve the network configuration data.
15. A system, comprising:
one or more processors; a memory storing instructions, which when executed by the one or more processors, cause the one or more processors to perform:
periodically scanning for network devices that are non-heterogeneous to other networked devices in a plurality of network devices;
identifying a non-heterogeneous network device in the plurality of network devices;
retrieving a vendor-neutral configuration template from a non-relational database based on a device type of the non-heterogeneous network device, wherein the non-relational database includes a plurality of vendor-neutral configuration templates for different types of network devices, wherein one vendor-neutral configuration template is used for each type of network device, wherein vendor-neutral configuration templates include target configuration instructions, wherein the target configuration instructions are generated from encoding provisioning requirements collected from different data sources for a plurality of target network devices;
generating a configuration file in a format associated with the non-heterogeneous network device based on one or more target configuration instructions from the vendor-neutral configuration template associated with at least one characteristic of the non-heterogeneous network device and a vendor of the non-heterogeneous network device;
causing the non-heterogeneous network device to update a configuration of the non-heterogeneous network device by applying the configuration file;
validating the configuration of the non-heterogeneous network device by comparing network configuration data retrieved from the non-heterogeneous network device to the plurality of target configuration instructions.
16. The system as recited in claim 15 , wherein the configuration file is generated based on interpreting the one or more target configuration instructions expressed in a defined markup language.
17. The system as recited in claim 15 , wherein the non-heterogeneous network device comprises a switch.
18. The system as recited in claim 15 , wherein the non-heterogeneous network device comprises a router.
19. The system as recited in claim 15 , wherein the instructions, which when executed by the one or more processors, cause the one or more processors to further perform:
retrieving a stock keeping unit (SKU) identifier of the non-heterogeneous network device, wherein the SKU identifier of the non-heterogeneous network device is associated with the at least one characteristic.
20. The system as recited in claim 15 , wherein the validating the configuration of the non-heterogeneous network device further comprises:
connecting to the non-heterogeneous network device through a secure shell (ssh) protocol to retrieve the network configuration data.