- ONIE loads and requests an IP address using DHCP.
- Based on the platform details ONIE discovers, it tries to fetch a NOS based on various URL names. If a NOS image is offered by the web server, it proceeds to step 3. When all URL names ONIE tries do not find a match on the webserver, the discovery process starts over.
- ONIE downloads the NOS (in this case SONiC) offered by the webserver.
- The switch reboots, loads SONiC, and requests an IP address using DHCP.
- The DHCP server offers an IP address and option 67, which contains a ZTP URL pointing to a json file for SONiC.
- SONiC requests the ZTP json file, which contains details for subsequent optional ZTP tasks.
- If firmware install is defined in the json file, ONIE requests an upgrade/downgrade of the SONiC firmware image, install, and reboot.
- If config-db is defined in the json file, ONIE requests the SONiC configfile and configures SONiC.
- If provisioning-script is defined in json file, ONIE requests and runs the script.
- When the provisioning is completed, the ZTP flow is also completed. The switch is now operational with SONiC.
Note: When ZTP has finished, the ZTP mode is disabled, and normal startup occurs if switch is restarted.
ONIE-based discovery only occurs if no NOS is found on the switch.
Manual start of ZTP can be activated from SONiC by cli commands ‘ztp enable && ztp run’.