Automatic Deployment and Configuration

With the automatic deployment and configuration functionality you can deploy and configure the Cisco Nexus 3550-T Programmable Switch Platform without manual user intervention, by using a configuration script fetched from a central server.

Automatic Configuration Mode

When you power-up a Nexus 3550-T device that has no startup configuration, it displays the following message:

The device has entered automatic configuration mode because the startup
configuration is not present. The device will attempt to download and
run a configuration script from a remote system.

To cancel automatic configuration mode, login as admin and enter
'auto-config cancel'.

NX-3550-T-00001 login:

This message indicates that the device is in automatic configuration mode. In this mode, the device attempts to configure the interface management1 by using DHCP.

To automatically configure a Nexus 3550-T device, the DHCP server must provide a URL as the bootfile name (option 67). The URL protocol may be http, https, ftp, or tftp. Upon receiving a valid URL, the Nexus 3550-T downloads and run the file.

See below for an example configuration using the ISC DHCP server.

note.gif

Noteblank.gifUpon power-up, if the startup configuration is present, the automatic configuration mode is disabled and any URL provided by the DHCP server is ignored.


You can write the configuration script in Python 3 or Bash shell script.

Python 3 Example

Nexus 3550-T provides Python 3 bindings for scripts running on the device. See the following example of a configuration script:

#!/usr/bin/python3

import exablaze
api = exablaze.Api()

#
# Insert configuration commands here, for example:
#
# api.set_management_interface_ipv4(interface="management1", method="static",
#     static={"address":"172.16.8.146", "prefix":24, "gateway":"172.16.8.254"})

#
# Write startup configuration and reboot
#
api.save_config("startup")
api.reboot()

For details about the API commands, see the API documentation.

The Python 3 bindings also provide access to the Command Line, for example:

#!/usr/bin/python3

import exablaze
cli = exablaze.Cli()

#
# Insert configuration commands here, for example:
#
# cli.run("configure interface management1 "
#     "ip address 172.16.8.146/24 gateway 172.16.8.254")

#
# Write startup configuration and reboot
#
cli.run("copy run start")
cli.run("reboot")

Shell Script Example

The cli -c command allows a shell script to use the Nexus 3550-T Command Line, for example:

#!/bin/bash

cli -c "configure interface management1 ip address 172.16.8.146/24 gateway 172.16.8.254"
cli -c "copy run start"
cli -c "reboot"

DHCP Configuration Example

This is an example configuration file for the ISC DHCP server. It assigns a specific IP address and configuration script to a Nexus 3550-T identified by its MAC address.

subnet 172.16.8.0 netmask 255.255.255.0 {
}

host my_triton {
  hardware ethernet 64:3f:5f:83:9d:08;
  fixed-address 172.16.8.146;
  filename "http://172.16.8.20/my_triton_config.py";
}