Connectivity Guide

Zero-touch deployment
Zero-touch deployment (ZTD) allows OS10 users to automate switch deployment:
Upgrade an existing OS10 image.
Execute a CLI batch le to congure the switch.
Execute a post-ZTD script to perform additional functions.
ZTD is enabled by default when you boot up a switch with a factory-installed OS10 for the rst time or when you perform an ONIE: OS
Install from the ONIE boot menu. When a switch boots up in ZTD mode, it starts the DHCP client on all interfaces — management and
front-panel ports. ZTD congures all interfaces for untagged VLAN trac. The switch obtains an IP address and a ZTD provisioning script
URL from a DHCP server running on the network, and downloads and executes the ZTD script.
ZTD is supported only in an IPv4 network. ZTD is not supported by DHCPv6.
At least one of the front-panel ports connected to the network on which the DHCP server is running must be in non-breakout mode.
After booting up in ZTD mode, if a switch receives no DHCP server response with option 240 within ve minutes, it automatically exits
ZTD mode. During this time, you can abort ZTD by entering the ztd cancel command. The command unlocks the switch
conguration so that you can enter OS10 CLI commands.
When ZTD is enabled, the command-line interface is locked so that you cannot enter OS10 conguration commands. Only show
commands are available.
According to the contents of the provisioning script, ZTD performs these tasks in this sequence. Although Steps 2, 3 and 4 are each
optional, you must enter a valid URL path for at least one of the IMG_FILE, CLI_CONFIG_FILE, and POST_SCRIPT_FILE variables.
For example, if you only want to congure the switch, enter only a CLI_CONFIG_FILE URL value. In this case, ZTD does not upgrade the
OS10 image and does not execute a post-ZTD script.
1 ZTD downloads the les specied in the ZTD provisioning script — OS10 image, CLI conguration batch le, and post-ZTD script.
In the provisioning script, enter the le names for the IMG_FILE, CLI_CONFIG_FILE, and POST_SCRIPT_FILE variables as
shown in
ZTD provisioning script.
If no le names are specied, OS10 immediately exits ZTD and returns to CLI conguration mode.
If the download of any of the specied les fails, ZTD stops. OS10 exits ZTD and unlocks the CLI conguration mode.
2 If an OS10 image is specied for IMG_FILE, ZTD installs the software image in the standby partition. If no conguration le is
specied for CLI_CONFIG_FILE, ZTD reloads the switch with the new OS10 image.
3 If an OS10 CLI batch le with conguration commands is specied for CLI_CONFIG_FILE, ZTD executes the commands in the
PRE-CONFIG and POST-CONFIG sections. After executing the PRE-CONFIG commands, the switch reloads with the new OS10
image and then executes the
POST-CONFIG commands. For more information, see ZTD CLI batch le.
4 If a post-ZTD script le is specied for POST_SCRIPT_FILE, ZTD executes the script. For more information, see Post-ZTD script.
NOTE
: The ZTD process performs a single switch reboot. The switch reboot occurs only if either a new OS10 image is installed
or if the PRE-CONFIG section of the CLI batch le has conguration commands that are executed.
ZTD prerequisites
Store the ZTD provisioning script on a server that supports HTTP connections.
Store the OS10 image, CLI batch le, and post-ZTD script on a le server that supports either HTTP, FTP, SFTP, or TFTP connections.
Congure the DHCP server to provide option 240 that returns the URL of the ZTD provisioning script.
In the ZTD provisioning script, enter the URL locations of an OS10 image, CLI batch le, and/or post-ZTD script. Enter at least one
URL, otherwise the ZTD fails and exits to CLI conguration mode.
ZTD guidelines
You can store the ZTD provisioning script, OS10 image, CLI batch le, and post-ZTD script on the same server, including the DHCP
server.
Write the ZTD provisioning script in bash.
Write the post-ZTD script in bash or Python. Enter #!/bin/bash or #!/usr/bin/python as the rst line in the script. The default
python interpreter in OS10 is 2.7.
Getting Started
37