Dell Networking Open Automation Guide Feb 2015 Regulatory Model: Open Automation
Notes, Cautions, and Warnings NOTE: A NOTE indicates important information that helps you make better use of your computer. CAUTION: A CAUTION indicates either potential damage to hardware or loss of data and tells you how to avoid the problem. WARNING: A WARNING indicates a potential for property damage, personal injury, or death. Copyright © 2015 Dell Inc. All rights reserved. This product is protected by U.S. and international copyright and intellectual property laws.
Contents 1 About this Guide....................................................................................................9 Audience................................................................................................................................................ 9 Supported Platforms and Required Dell Networking OS Versions..................................................... 9 Conventions.....................................................................................................
Using Preconfiguration Scripts..................................................................................................... 27 Using the Post-Configuration Script.................................................................................................. 28 Auto-Execution Script (Normal Mode Only)......................................................................................28 Script Examples................................................................................................
Building the Manifest File....................................................................................................................58 Hostname Configuration.............................................................................................................. 58 Layer 2 Interface Configuration....................................................................................................58 LAG Configuration................................................................................
script (stop/resume/clear/kill/unschedule)........................................................................................83 script event-handler........................................................................................................................... 84 script execute (EXEC mode)............................................................................................................... 85 script execute (CONFIGURATION mode)........................................................
show packages.................................................................................................................................. 119 show virtualswitch............................................................................................................................ 120 show vmmap..................................................................................................................................... 122 type.................................................................
Forwarding Information Base (FIB)............................................................................................. 153 Forwarding Plane Statistics......................................................................................................... 153 IF MIB Operations........................................................................................................................ 155 BGP V2................................................................................................
About this Guide 1 This document describes the components and uses of the Open Automation Framework designed to run on the Dell Networking operating system (OS).
Dell Networking Platform Minimum Operating Software (BMP, SmartScripts, and REST API only) Conventions To describe command syntax, this document uses the following conventions. Convention Description keyword Keywords are shown in a terminal font and are entered in the CLI as listed. parameter Parameters are shown in italics and require you enter a number or word in the CLI. {X} Keywords and parameters within braces require entries in the CLI.
Dell Networking Platform MXL Switch Z9500 Dell Networking platform and OS About this Guide Related Documents • Installing the S6000 System • Dell Networking OS Command Line Reference guide for the MXL 10/40GbE Switch I/O Module • Dell Networking OS Configuration Guide for the MXL 10/40GbE Switch I/O Module • Dell Networking OS Command Line Reference guide for the Z9500 System • Dell Networking OS Configuration Guide for the Z9500 System • Installing the Z9500 System Dell Networking Release
2 Open Automation Framework The Dell Networking S4810, S4820T, S5000, S6000, Z9000, Z9500, and MXL platforms support the Open Automation framework. The Open Automation framework provides an open, industry standards-based automation technology that simplifies managing dynamic virtual data centers and reduces risk and overhead.
Figure 1. Open Automation Framework NOTE: The Open Automation framework is referred to as Open Automation in the rest of this document. Bare Metal Provisioning Bare metal provisioning (BMP) provides the following features.
The scripting environment (Expect, Perl, Python, Ruby, Tcl, UNIX and ZSH shell scripts) makes it easy for IT administrators to quickly develop scripts. Virtual Server Networking Virtual server networking (VSN) provides the following: • Automatic re-provisioning of virtual local area networks (VLANs) when you migrate virtual machines (VMs). • Support for multiple hypervisors, such as VMware and Citrix XenServer.
Bare Metal Provisioning 3 Bare metal provisioning (BMP) is included as part of the Dell Networking OS image and is supported on the S4810, S4820T, S5000, S6000, Z9000, Z9500, IOA, and MXL platforms. Introduction BMP improves operational efficiency to your system by automatically loading pre-defined configurations and Dell Networking OS images using standard protocols such as dynamic host configuration protocol (DHCP) and common file transfer mechanisms.
• Relay agent (optional) — an intermediary network device that passes messages between the DHCP clients and the DHCP server when the server is not on the same subnet. It can also provide IP addresses for multiple subnets. For more information, refer to Domain Name Server Settings and File Server Settings. Industrial Standard Upgrades with BMP Dell Networking OS follows the Industrial Standards with BMP. Following are the steps to perform the upgrade process: 1. Chassis Loads in BMP mode. 2.
NOTE: The configuration file maintains normal BMP functionality when a preconfiguration script is not sent. BMP Operations BMP is supported on the user ports and management ports of a switch.
address is not present in the start-up configuration file, no IP address is assigned to the management interface. • BMP mode (default) — the switch automatically configures all ports (management and user ports) as Layer 3 physical ports and acts as a DHCP client on the ports for a user-configured time (DHCP timeout). Set BMP mode using the (conf-reload-type)# boot-type bmp-reload command.
Normal Context To auto-configure a switch, before you use BMP mode, first configure a DHCP, DNS, and file server in the network. NOTE: By default, a syslog severity level greater than two does not display. Enable syslog before applying the preconfiguration script which helps identify any configuration errors. To help configure a new factory loaded switch, the switch boots up in the default BMP mode. You can reconfigure the switch to reload either in BMP mode or Normal mode.
4. If a DHCP offer has neither an image path nor a configuration file path, it is an invalid BMP DHCP offer and is ignored. The first DHCP offers the following to choose from: • • • • IP address Dell Networking OS image Configuration file or preconfiguration script IP address and Dell Networking OS image OR IP address and configuration file or preconfiguration script 5. DHCP OFFER is selected. All other ports except the port on which the offer was received and selected are set to Shutdown mode.
• c. 7. If the versions match, the system downloads the configuration file or preconfiguration script. 00:03:07: %STKUNIT0-M:CP %BMP-2-BMP_DOWNLOAD_START: The config file download has started. 00:03:19: %STKUNIT0-M:CP %BMP-5-BMP_DWNLD_FILE_IS_SCRIPT_FILE: The downloaded file is a script file. 00:03:19: %STKUNIT0-M:CP %BMP-5-BMP_DWNLD_CONFIG_SCRIPT_SUCCESS: The config/script file download is successful.
00:03:22: %STKUNIT0-M:CP %BMP-2-BMP_SHA256_VALIDATE_FAILURE: The Config/Script SHA256 Checksum Validation Failed. BMP Mode: Boot and Set-UP Behavior When you configure a switch to reload in BMP mode, one of the following scenarios may occur.
00:02:27: %STKUNIT0-M:CP %BMP-5-BMP_BOOT_OFFER: DHCP config file scp://anvltest:force10@13.4.4.1//tftpboot/basic-l3. 00:02:27: %STKUNIT0-M:CP %BMP-5-BMP_BOOT_OFFER: stacking info NIL 2. If you enabled the config-scr-download command, the system downloads the customer.conf configuration file from the file-server address. 3. If the configuration download is successful, the following logs display: file download has started.
Downloaded Image Minor Version : 0 00:02:56: %STKUNIT0-M:CP %BMP-5-BMP_RELEASE_HEADER_INFO: Downloaded Image Main Version : 0 00:02:56: %STKUNIT0-M:CP %BMP-5-BMP_RELEASE_HEADER_INFO: Downloaded Image Patch Version : 1216 00:02:56: %STKUNIT0-M:CP %BMP-5-BMP_RELEASE_HEADER_INFO: Flash A Image Major Version : 1 00:02:56: %STKUNIT0-M:CP %BMP-5-BMP_RELEASE_HEADER_INFO: Flash A Image Minor Version : 0 00:02:56: %STKUNIT0-M:CP %BMP-5-BMP_RELEASE_HEADER_INFO: Flash A Image Main Version : 0 00:02:56: %STKUNIT0-M:CP
00:03:03: %STKUNIT0-M:CP %IFMGR-5-ASTATE_DN: Admin state to down: Ma 0/0. 00:03:03: %STKUNIT0-M:CP %IFMGR-5-OSTATE_DN: state to down: Ma 0/0. 00:03:03: %STKUNIT0-M:CP %SYS-5-CONFIG_LOAD: configuration file. 00:03:04: %STKUNIT0-M:CP %IFMGR-5-ASTATE_UP: Admin state to up: Ma 0/0.
Software Upgrade Using BMP BMP simplifies switch configuration by allowing you to boot images and run configurations that are specified in a DHCP server and also by automatically downloading files from a file server. In a network topology with a large number of devices, use BMP to easily administer, upgrade, and maintain your devices. Configure Auto-Configuration mode using the reload-type bmp command. Reload the switch in Configuration mode using the reload command.
NOTE: To display a properly formatted output string, Dell Networking recommends adding the following clido wrapper function at the beginning of TCLSH and EXPECT scripts: # Execute clido and return the output string proc Execclido {cmd_str} { set str [exec clido "$cmd_str"] set tmp_str [string map {\n \r\n} $str ] return $tmp_str } ... set out_str [Execclido "show version"] puts $out_str ...
6. The system runs the preconfiguration script. • 7. 8. The default timer on the script is 10 minutes. The maximum amount of time the script can run is one hour. The preconfiguration script can access Dell Networking OS CLI commands through the clido utility. The clido utility has no pagination, is always set to terminal length 0, and has Dell Networking OS CLI privilege 15 enabled. It works in the following modes: • Continuous mode (clido command) — use to retain the Dell Networking OS context.
00:01:02: %STKUNIT0-M:CP %BMP-5-AUTOEXEC_START: The AutoExec Script is Started. • After the script execution is successful, Dell Networking OS log displays: 00:04:05: %STKUNIT0-M:CP %BMP-5-AUTOEXEC_SUCCESS: The AutoExec Script execution returned Success.
00:00:20: %STKUNIT1-M:CP %CHMGR-5-STACKUNITUP: Stack unit 1 is up 00:00:21: %STKUNIT1-M:CP %CHMGR-5-SYSTEM_READY: System ready 00:00:21: %STKUNIT1-M:CP %RAM-5-STACK_STATE: Stack unit 1 is in Active State.
Pre-configuration Script – BMP Mode #! /usr/bin/expect #/DELL-NETWORKING # Execute F10do and Print proc print_f10do {cmd_str} { set str [exec f10do "$cmd_str"] set tmp_str [string map {\n \r\n} $str ] puts $tmp_str } set ftp_ip "20.0.0.1" set ftp_username "lab" set ftp_passwd "lab" set config_file "s4810-10-startup-config" set post_conf "s4810-10-post-config.exp" puts "Executing Pre-Config Script !!!!\r\n" exec rm -rf "$config_file" exec rm -rf "$post_conf" puts "Downloading Startup Config and Post-Config S
# Post Config Script for S4810-10 # Execute F10do and Print proc print_f10do {cmd_str} { set str [exec f10do "$cmd_str"] set tmp_str [string map {\n \r\n} $str ] puts $tmp_str } # Interfaces Configurations set interface_list_slot [list "0/1" "0/5" "0/9"] set interface_list [list "Te 0/1" "Te 0/5" "Te 0/9"] set {remote_intf(Te 0/1)} "TenGigabitEthernet 0/1" set {remote_intf(Te 0/5)} "TenGigabitEthernet 0/5" set {remote_intf(Te 0/9)} "TenGigabitEthernet 0/9" set hostname "S4810-10" set max_min 10 set status_f
set result_str [exec f10do "show lldp neighbors | grep \"$intf_slot\""] set tmp_str [string map {\n \r\n} $result_str] puts $tmp_str if {[regexp "$intf_slot" $result_str]} { set result 1 if {[regexp "$remote_intf($intf_slot)" $result_str]} { puts "Interface $intf_slot is Connected to $remote_intf($intf_slot)\r\n" puts $fp "Interface $intf_slot is Connected to $remote_intf($intf_slot)\r\n" } else { puts "ERROR: Interface $intf_slot is Not Connected to Interface $remote_intf($intf_slot)\r\n" puts $fp "ERROR:
print_f10do "shutdown" print_f10do "end" puts "Post-Config Script Execution Successfull !!!!!\r\n" exit 0 BMP Operations on Servers Overview The following sections describe how to prepare the different servers for BMP functionality. • Configuring the DHCP Server Settings • File Server Settings • Domain Name Server Settings DHCP Server To configure the DHCP server use the following information.
DHCP Option Codes Description 150 TFTP server IP address 209 Configuration file 230 User port stacking NOTE: BMP eventually exits when a timeout occurs. In the following scenarios, BMP requests a different DHCP offer. • If the offer contains only a boot image that cannot be downloaded, BMP requests another DHCP offer. • If you enable the reload-type config-scr-download enable command and the configuration file in the offer cannot be downloaded, BMP requests another DHCP offer.
option bootfile-name “http://30.0.0.1/ Dell-SE-8.3.10.1.bin”; FTP URL with DNS HTTP URL with IP address TFTP URL with IP address MAC-Based IP Address Assignment To assign a fixed IP address and configuration file based on the system’s MAC address, configure the DHCP server to deploy in BMP mode. In this way, the same IP address is assigned and the same configuration file is retrieved when the switch reloads.
• TY — denotes the type of the device • HW — denotes the version of the box • SN — denotes the serial number of the device • ST — denotes the service tag of the device • OS — refers to the Dell Networking OS version in the device • US — refers to the user-defined string (a maximum string of 64 characters) File Server Settings Set up a file server and ensure connectivity. To allow file transfers to the switch, configure the file server that holds the boot and configuration files.
MIB OID Value and Functionality 1.3.6.1.4.1.6027.3.2 0 - 50 (DHCP timeout value config) 3.1.4 1.3.6.1.4.1.6027.3.2 0 - 50 (Set BMP Retry count ) 3.1.5 1.3.6.1.4.1.6027.3.2 String (Set the vendor-class identifier values up to a maximum of 60 characters) 3.1.6 1.3.6.1.4.1.6027.3.2 1 or 2 (Enable or Disable relay option) 3.1.7 1.3.6.1.4.1.6027.3.2 String (Set the mac/hostname/custom-string as remote-id option in DHCP offer 3.1.
Bare Metal Provisioning CLI 4 Bare metal provisioning CLI is supported on the S4810, S4820T, S5000, S6000, Z9000, Z9500, IOA, and MXL switch platforms. In a data center network, BMP automates configuring and updating the switches, ensuring standard configurations across the installed devices. To set up a single switch or a stack of switches with minimal effort, use the auto-configuration function.
Command History This guide is platform-specific. For command information about other platforms, refer to the relevant Dell Networking OS Command Line Reference Guide. The following is a list of the Dell Networking OS version history for this command. Related Commands Version Description 9.7(0.0) Introduced on the S4810, S4820T, S5000, S6000, Z9000, Z9500, IOA, and MXL Switch. • reload-type — allows you to configure the reload-type options in reload-type sub command mode.
When BMP is not running, the following error message displays: % Error: bmp process is not running. NOTE: This CLI command is only available in BMP normal context, which is similar to providing the L option in the Factory-default context. boot-type Allow you to configure the reload type. S4810, S4820T, S5000, S6000, Z9000, Z9500, IOA, and MXL Switch Syntax boot-type { bmp-reload | normal-reload } To reset the boot-type mode, use the no boot-type { bmp-reload | normal-reload } command.
config-scr-download Allow you to specify whether the configuration or script file needs to be downloaded. S4810, S4820T, S5000, S6000, Z9000, Z9500, IOA, and MXL Switch Syntax config-scr-download { enable | disable } To reset the download option, use the no config-scr-download { enable | disable } command. Parameters config-scrdownload {enable} Enable downloading a configuration file or preconfiguration script from the DHCP / file servers.
dhcp-timeout Allow you to configure the DHCP timeout limit. S4810, S4820T, S5000, S6000, Z9000, Z9500, IOA, and MXL Switch Syntax dhcp-timeout minutes To reset the DHCP time out limit, use the no dhcp-timeout minutes command. Parameters dhcp-timeout minutes Configure the DHCP timeout (in minutes) after which the BMP exits. The range is from 0 to 50. If you enter a range of 0, the timeout is 0 (no limit). NOTE: Dell Networking recommends setting the value to 2 or higher.
To reset the options 82 information, use the no relay { enable | disable | remote-id { hostname | MAC | Word }} command. Parameters enable Enable the option 82 in BMP. The default value is the MAC address. disable Disable the option 82 in BMP. remote-id { hostname | MAC | Word } Enter the keyword remote-id, then the hostname or chassis MAC address or a text string to set as the remote ID in option 82. The default is the remote MAC ID for option 82.
Usage Information Version Description 9.6(0.0) Introduced on the S5000. 9.5(0.1) Introduced on the Z9500. 9.3(0.0) Introduced on the S6000. 9.2(0.0) Introduced on the MXL Switch. 9.1(0.0) Introduced on the Z9000 and S4810. 8.3.19.0 Introduced on the S4820T. To upgrade any NVRAM changes to the chassis caused by the following CLI commands, use the reload conditional nvram-cfg-change command on a switch running BMP.
Related Commands Version Description 9.2(0.0) Introduced on the MXL Switch. Updated the parameters for S4810, S4820T, and Z9000. 9.1(0.0) Updated the command mode from EXEC Privilege to GLOBAL CONFIGURATION. Updated the parameter from jumpstart to bmp. Added support for the config-scrdownload and user-defined-string commands. Supported platforms are S4810, S4820T, and Z9000. 9.0.2.0 Introduced on the S6000. 9.0.0.0 Introduced in Z9000. 8.3.19.0 Introduced on the S4820T. 8.3.1.
Related Commands Version Description 9.7(0.0) Introduced on the S4810, S4820T, S5000, S6000, Z9000, Z9500, IOA, and MXL Switch. • reload-type — allows you to configure the reload-type options in reload-type sub command mode. • show reload-type — displays the current Reload mode (BMP mode or Normal mode). script post-config To run the post-configuration script after the preconfiguration script is executed during the BMP reload, ensure that this command is present in the startup-configuration.
show boot bmp Displays the current state of the BMP process. S4810, S4820T, S5000, S6000, Z9000, Z9500 and MXL Switch Syntax show boot bmp Defaults none Command Modes EXEC Command History This guide is platform-specific. For command information about other platforms, refer to the relevant Dell Networking OS Command Line Reference Guide. The following is a list of the Dell Networking OS version history for this command. Version Description 9.6(0.0) Introduced on the S5000. 9.5(0.
show config Display the reload type options that are configured on the system. S4810, S4820T, S5000, S6000, Z9000, Z9500, IOA, and MXL Switch Syntax show config Defaults none Command Modes RELOAD-TYPE CONFIGURATION Command History This guide is platform-specific. For command information about other platforms, refer to the relevant Dell Networking OS Command Line Reference Guide. The following is a list of the Dell Networking OS version history for this command.
• vendor-class-identifier — allows you to configure the optional vendor class identifier for DHCP option 60. show reload-type Display the reload type currently configured on the system. S4810, S4820T, S5000, S6000, Z9000, Z9500 and MXL Switch Syntax show reload-type Defaults none Command Modes EXEC Privilege Command History This guide is platform-specific. For command information about other platforms, refer to the relevant Dell Networking OS Command Line Reference Guide.
dhcp-timeout : 1 vendor-class-identifier : Device 609 retry-count : 3 Dell# Related Commands reload-type — allows you to configure the reload-type options in reload-type sub command mode. stop bmp To prevent an infinite loop, stop the switch from reloading in BMP mode. S4810, S4820T, S5000, S6000, Z9000, Z9500 and MXL Switch Syntax stop bmp NOTE: This command replaces the stop jumpstart command. Defaults none Command Modes EXEC Command History This guide is platform-specific.
• While the Dell Networking OS image upgrade is in progress, it aborts the BMP process after the Dell Networking OS image upgrades. • When applying configurations from the file, it aborts the BMP process after all the configurations are applied in the system. • When running the pre-configuration or post-configuration script, it stops the script and aborts the BMP process immediately.
Related Commands • reload-type — allows you to configure the reload-type options in reload-type sub command mode. • show reload-type — displays the current Reload mode (BMP mode or Normal mode). verify Validate the software image on the flash drive after the image is transferred to the system but before the image is installed. S4810, S4820T, S5000, S6000, Z9000, Z9500, IOA, and MXL Switch Syntax Parameters verify {md5 | sha256} [flash://] img-file [hash-value] md5 MD5 message-digest algorithm.
• verify md256 flash://img-file NOTE: The hash type md5 option is available only when you disable FIPS mode; the hash type md5 and sha256 options are available when you enable FIPS mode. Example Output example without entering the Hash Value for verification using SHA256: Dell# verify sha256 flash://Dell-SE-9.5.0.0.bin SHA256 hash for Dell-SE-9.5.0.0.
Puppet 5 Dell Networking OS supports the Puppet automation framework. Puppet Agent is supported on the S4810, S4820T, S5000, S6000, Z9000, and Z9500 platforms. Overview Puppet is a configuration management utility, that allows to define the state of system, then automatically enforces the correct state. Puppet Agent is a daemon that runs on all the client servers.
3. Install the smartscript package. EXEC Privilege mode Dell#package install tftp://10.16.127.35/SMARTSCRIPTS-I-9.6.9.5.tar.gz 4. Install the puppet package. EXEC Privilege mode package install tftp://10.16.127.35/PUPPET-I-9.7.0.0.tar.gz NOTE: It is mandatory to keep the clock of the chassis in sync with the Puppet master. The synchronization is done by the Network Transfer Protocol (NTP) server. Configuring the Puppet Agent To configure the Puppet Agent, use the following steps. 1.
4. puppet-apply puppet-config To configure or make changes to the agent specific parameters, use the puppet-config script. puppet-config [-d] option=value Following are the mandatory puppet configuration options: agentrestipaddr : IP address to be used for rest apis. The default IP address is 127.0.0.1. agentrestpasswd : Password of the user given in agentrestuser. agentrestport : Port number to be used for rest apis. The default port is 8008.
Following are the puppet apply script options: -h, --help -f FILENAME, --file=FILENAME -c COMMAND, --command=COMMAND show this help message and exit Apply the given puppet manifest file Apply the given puppet command Building the Manifest File Puppet consists of a custom declarative language to describe the system configuration, which can be either applied directly on the system, or compiled into a catalog and distribute to the destination system via the client-server paradigm (using REST API).
LAG Configuration The LAG configurations are applied using both the Puppet Standalone and Puppet Agent. You can read and write the LAG configurations by using the netdev_lag. Example for configuring the LAG. node dell_s4810_node1 { netdev_device { hostname: } netdev_lag { "name": ensure => (present | absent), active => (true | false), links => ('interface-name' | ['interface-name1', 'interfacename2' ...
} } Using the Puppet Facter Dell Networking OS supports the standalone tool called the Puppet Facter . This tool is based on Ruby and provides the complete system information about the agent node to the puppet master. To apply the configurations using puppet, the Puppet Facter tools needs to be installed on all the nodes. Following are the Facts pair in the manifest files.
Smart Scripting 6 Smart Scripting is supported on the S4810, S4820T, S5000, S6000, Z9000, Z9500, and MXL switch platforms. Smart Scripting allows you to add functionality to Dell Networking switches without updating the Dell Networking OS release. Smart Scripting is available as a separate installable package that supports SQLite DB and NET SNMP applications and TCL, Expect, Perl, Python, Ruby, and Unix scripting languages.
Smart Scripting supports running a script either from the Dell Networking OS CLI or directly from a UNIX shell. You can run scripts periodically, based on events, at boot up or after the switch is initialized. In addition, you can run scripts in the foreground or background and display the progress of a script. If required, you can cancel, stop, or resume scripts. Smart Scripting allows you to automate common management and maintenance tasks, such as: • Building visibility and/or discovery programs.
• SQLlite database and Perl, Python, Ruby, TCL interface to SQLite. • NetSNMP client and Perl, Python, Ruby interface to the client. • Perl interpreter and associated files. • Python interpreter and associated files. • Ruby interpreter and associated files. • Expanded set of UNIX utilities. • Web-Server with HTTP support (refer to Web Server with HTTP Support).
• nfsmount://filepath copies from the nfs mount file system. To remove an installed Open Automation package, such as Smart Scripting, use the package uninstall command. To follow the progress of a package installation (or removal), use the show packages command. Displaying Installed Packages To view the Open Automation packages currently installed on a switch, including version numbers and content, use the following command. • View package information.
clido "no shutdown" clido "end" clido "show vlan" NOTE: clido maintains context upon execution in the system. To handle such cases, switch between different submodes wherever required for the needed configurations. The clido utility has no pagination, is always set to “terminal length 0”, and has Dell Networking OS CLI privilege 15 enabled. It works in the following modes: • Continues mode (clido command) — use to retain the Dell Networking OS context.
The severity level maps as follows: • 0 — emergency • 1 — alert • 2 — critical • 3 — error • 4 — warning • 5 — notify • 6 — infor • 7 — debug The default severity level is 6. Sample script for dellsyslog in Python #! /usr/pkg/bin/python import sys import os print sys.argv[1] os.system("dellsyslog -s %s 'The Syslog is generated by python'" (sys.
Sample script for Perl using DellExec, DellCli, and DellConfig #! /usr/pkg/bin/perl #importing DellSSUtils require "/usr/pkg/scripts/DellSSUtils/DellSmartUtils.pl"; #Assigning Value to the vairable which is used as an argument to the #dell library functions $cli = "show version"; $script = "/usr/pkg/scripts/sample_scripts/sum.py"; $args = "1 2 3"; $ExtraArgs = "10"; @list = ("interface vlan $ARGV[0]", "no shutdown", "ip address $ARGV[0]. $ARGV[0].$ARGV[0].
NET SNMP Client To manage the device using the simple network management protocol (SNMP) through scripts, the Dell Networking OS supports the NetSNMP client. You can run scripts that use SNMP to manage the data center and devices from within the Dell Networking OS. The Dell Networking OS provides Perl, Python, and Ruby interfaces for the NetSNMP client. To execute the SNMP operations, use the tclsh exec command.
System Attributes Value Description memory a process is given; if memory is tight, the system prefers to take memory from processes that are exceeding their declared resident set size. memorylocked 77,741 Maximum size (in bytes) which a process may lock into memory using the mlock(2) function. maxproc 160 Maximum number of simultaneous processes allowed for the user ID. openfiles 64 Maximum number of open files for this process.
UNIX Utility Function ftp Internet file transfer program. getopts Called each time you process an argument. grep Print lines matching a pattern. hostname Set or print the name of the current host system. ifconfig Configure network interface parameters. iostat Report I/O statistics. ln Make links. ls List directory contents. md5 Calculates and verifies 128-bit MD5 hashes. more Filter for browsing text files.
Creating a User Name and Password for Smart Scripting Before you run a script from the Dell Networking OS CLI, you may want to configure an additional user name and password to use only to run scripts on a switch. Use the user name and password to log in to a UNIX shell and apply the read-write privileges assigned to the user name when a script runs with the script command from the Dell Networking OS CLI.
Setting a Search Path for Scripts Create a path to the location where you stored the scripts. The Dell Networking OS uses this path when searching for the scripts. This way you do not have to specify a specific path when executing a script. • Set a search path for a script in the Dell Networking OS. CONFIGURATION mode script path path-name The script path can contain a network file-system-mounted directory (defined in the mount nfs command).
The following example shows how you can schedule the script named sample.zsh to start after one hour and 12 minutes from now and runs the script in the background: • Dell#script execute sample.zsh start 01:12 bg Schedule a script to run periodically. Schedule scripts to run at a certain time, to be repeated, to stop at a specified time or by a string of arguments. This script runs in the background.
script event—handler event-name Following snippet triggers the script at 22:22 and then triggers every monday midnight and stops at 02:02-11/10/14: Dell(conf)#script trigger-event Event2 time-event start at 22:22 stop at 02:02-11/10/14 weekday mon Dell(conf)#script event-handler handler1 Dell(conf-screvt-handler)#execute Report_server.
• Completed — The script run is successful and exits normally. • Watch Blocked — The script is monitored but terminates within ten minutes. • SSMGR-Stopped — Dell Networking OS stops the script by itself, if the cpu/disk-io/mem goes beyond the threshold. • To monitor the running script, use the watch command. • Dell#show script watch details JobID Script Type Script Status Reset Count Watch StartTime Script NameArgs Username 002 CONF WATCH Watch Blocked 3 Tue Dec 3 18:04:28 2013 args.
• Display a list of scripts that are scheduled or running. To display the detailed status of the scripts, enter detail. EXEC Privilege mode • show script process [detail] Display a list of supervised scripts that are scheduled or running. To display the detailed status of the supervised scripts, enter detail.
Running Scripts with User Privileges Use these scripts to administer any Expect, PERL, Python, Ruby, Tcl, UNIX and ZSH shell scripts stored on the switch from the Dell Networking OS CLI. To apply the associated read-write privileges while running a script from the Dell Networking OS CLI, specify an optional username (refer to XXXCreating a User Name and Password for Smart Scripting). If you do not specify a user name, the script runs with the privileges of the configured user.
7 Smart Scripting CLI Smart Scripting is supported on the S4810, S4820T, S5000, S6000, Z9000, Z9500, and MXL switch platforms. disable Allow you to enable or disable the current event handler configuration. S4810, S4820T, S5000, S6000, Z9000, Z9500, and MXL Switch Syntax disable To reset the event handler, use the [no] disable command. Defaults none Command Modes SCRIPT EVENT HANDLER CONFIGURATION Command History This guide is platform-specific.
Defaults none Command Modes SCRIPT EVENT HANDLER CONFIGURATION Command History This guide is platform-specific. For command information about other platforms, refer to the relevant Dell Networking OS Command Line Reference Guide. The following is a list of the Dell Networking OS version history for this command. Version Description 9.7(0.0) Introduced on the S4810, S4820T, S5000, S6000, Z9000, Z9500, and MXL. mount nfs Share the network file system the local Dell Networking OS file system uses.
Usage Information Related Commands Version Description 9.2(0.0) Introduced on the S4810, S4820T, Z9000, and MXL switch. • All the mount points are maintained in the /f10/mnt/nfs folder. • Only the relative path (mount point name) is acceptable. If the path you enter is either complete or absolute, an error occurs. • If the mount point already exists under the f10/mnt, you can re-use it or it is created under /f10/mnt/nfs and used.
Usage Information Version Description 9.2(0.0) Introduced on the MXL switch. 9.0.2.0 Introduced on the S6000. 9.0.0.0 Introduced on the Z9000. 8.3.19.0 Introduced on the S4820T. 8.3.8.0 Introduced on the S4810. Because installing an Open Automation package may take time, the installation performs in the background when the download finishes. A message displays on the console when the installation is complete. To follow the progress of a package installation, use the show packages command.
Usage Information When you uninstall an Open Automation package, it is removed from the local flash memory. CAUTION: Before you uninstall the Smart Scripting package, first stop all scripts that are running using the no script script-name command. You must also manually stop the http-server daemon by using the no httpserver {http | secure-http} command. To follow the uninstall progress, use the show packages command.
Usage Information Version Description 9.6(0.0) Introduced on the S5000. 9.5(0.1) Introduced on the Z9500. 9.2(0.0) Introduced on the MXL switch. 9.0.2.0 Introduced on the S6000. 9.0.0.0 Introduced on the Z9000. 8.3.19.0 Introduced on the S4820T. 8.3.8.0 Introduced on the S4810. To run more than one script at the same time, use the script (run) command multiple times; for example: Dell(conf)#script username root /usr/pkg/scripts/ sample_scripts/ DisplayAlarms.
clear Enter the keyword clear to restart the supervised scripts that were blocked. kill Enter the keyword kill to end a script from executing. unschedule Enter the keyword unschedule to delete a script that was scheduled in EXEC mode. script-name Enter the keywords script-name then the name of the script stop, resume, clear, kill, or unschedule. job-id Enter the keywords job-id then the job identifier of the specific job stop, resume, clear, kill, or unschedule.
Command Modes CONFIGURATION Command History This guide is platform-specific. For command information about other platforms, refer to the relevant Dell Networking OS Command Line Reference Guide. The following is a list of the Dell Networking OS version history for this command. Version Description 9.7(0.0) Introduced on the S4810, S4820T, S5000, S6000, Z9000, Z9500, and MXL. script execute (EXEC mode) Schedule the scripts from EXEC mode either to run in foreground or background.
arguments arg [..args] Enter the keyword arguments then the arguments to script. The maximum length is 64 characters. The arguments can be any number of words within quotes and separated by a space. username username Enter the keyword username to use when the script executes. The maximum length is 16 characters. The default username is the user configuring the CLI. bg Enter the keyword bg to schedule scripts to run in the background. Defaults The script runs in the foreground.
script execute (CONFIGURATION mode) Schedule the scripts to run across reloads. S4810, S4820T, S5000, S6000, Z9000, Z9500 and MXL Switch Syntax script execute script-name [start {at date-time | after time}] [stop {at date-time | after time}] [watch] [arguments arg[..arg]] [username username] To cancel the script execution, use the no script execute command. Parameters Smart Scripting CLI script-name Enter the name of the script to schedule for execution.
Defaults The script runs in the background. Command Modes CONFIGURATION Command History This guide is platform-specific. For command information about other platforms, refer to the relevant Dell Networking OS Command Line Reference Guide. The following is a list of the Dell Networking OS version history for this command. Usage Information Version Description 9.7(0.0) Introduced on the S4810, S4820T, S5000, S6000, Z9000, Z9500, and MXL. 9.6(0.0) Introduced on the S5000. 9.5(0.
Command Modes EXEC Command History This guide is platform-specific. For command information about other platforms, refer to the relevant Dell Networking OS Command Line Reference Guide. The following is a list of the Dell Networking OS version history for this command. Usage Information Version Description 9.6(0.0) Introduced on the S5000. 9.5(0.1) Introduced on the Z9500. 9.3(0.0) Introduced on the S6000. 9.2(0.0) Introduced on the S4810, S4820T, Z9000, and MXL Switch.
Command Modes CONFIGURATION Command History This guide is platform-specific. For command information about other platforms, refer to the relevant Dell Networking OS Command Line Reference Guide. The following is a list of the Dell Networking OS version history for this command. Version Description 9.6(0.0) Introduced on the S5000. 9.5(0.1) Introduced on the Z9500. 9.3(0.0) Introduced on the S6000. 9.2(0.0) Introduced on the S4810, S4820T, Z9000, and MXL Switch.
Usage Information Version Description 9.5(0.1) Introduced on the Z9500. 9.3(0.0) Introduced on the S6000. 9.2(0.0) Introduced on the S4810, S4820T, Z9000, and MXL Switch. This command removes the files from the dedicated folder /usr/pkg/ssscripts on the switch. script trigger-event Configure the event that causes the script to execute.
on the next day HH:MM mentioned). The date can be the present or future date. time-event start after time Enter the keyword start after then the time in [HHHH:] MMMM format to begin the trigger event after the specified time.
The following is a list of the Dell Networking OS version history for this command. Usage Information Version Description 9.7(0.0) Introduced on the S4810, S4820T, S5000, S6000, Z9000, Z9500, and MXL. 9.6(0.0) Introduced on the S5000. 9.5(0.1) Introduced on the Z9500. 9.3(0.0) Introduced on the S6000. 9.2(0.0) Introduced on the S4810, S4820T, Z9000, and MXL Switch. The maximum number of events you can configure is 20. The maximum number of allowed tag patterns in a log event trigger is three.
show packages Display the installed Open Automation packages, including version number and contents. S4810, S4820T, S5000, S6000, Z9000, Z9500 and MXL Switch Syntax Parameters show packages [system] system (Optional) Enter the keyword brief to display system information about the package, version, and status of the package in all stack-units. NOTE: This option is only available on switches that allow stacking.
ExtUtils::MakeMaker 6.56 XML::NamespaceSupport 1.11 XML::SAX 0.96 XML::LibXML 1.70 Compress::Raw::Bzip2 2.027 Compress::Raw::Zlib 2.027 IO::Compress 2.027 URI 1.54 HTML::Tagset 3.20 HTML::Parser 3.65 LWP 5.836 Net::Telnet 3.03 OSSP::uuid 1.0602 UUID 0.02 version 0.82 Class::Inspector 1.24 Task::Weaken 1.03 Algorithm::Diff 1.1902 Text::Diff 1.37 SOAP::Lite 0.712 Crypt::SSLeay 0.57 URI::urn::uuid 0.03 UUID 0.03 Crypt::SSLeay 0.57 Net::SNMP 6.0.0 Net::Telnet::Cisco 1.10 HTTP Server mini_httpd 1.
show script Display the stored, scheduled, and running scripts. S4810, S4820T, S5000, S6000, Z9000, Z9500 and MXL Switch Syntax Parameters show script {file | process | watch} | [detail] file Enter the keyword file to list the stored files in the script path. Enter the optional keyword detail to show detailed output of the scripts including job-id, script type, and script status. process Enter the keyword process to list the scripts that are scheduled or running.
start shell Start a NetBSD UNIX shell. S4810, S4820T, S5000, S6000, Z9000, Z9500 and MXL Switch Syntax start shell Defaults none Command Modes EXEC Privilege Command History This guide is platform-specific. For command information about other platforms, refer to the relevant Dell Networking OS Command Line Reference Guide. The following is a list of the Dell Networking OS version history for this command. Usage Information Version Description 9.6(0.0) Introduced on the S5000. 9.5(0.
Defaults none Command Modes SCRIPT EVENT HANDLER CONFIGURATION Command History This guide is platform-specific. For command information about other platforms, refer to the relevant Dell Networking OS Command Line Reference Guide. The following is a list of the Dell Networking OS version history for this command. Version Description 9.7(0.0) Introduced on the S4810, S4820T, S5000, S6000, Z9000, Z9500, and MXL.
Usage Information Version Description 9.5(0.1) Introduced on the Z9500. 9.3(0.0) Introduced on the S6000. 9.2(0.0) Introduced on the S4810, S4820T, Z9000, and MXL switch. When the system reaches any maximum percentage limit, all running scripts suspend and additional scripts are not scheduled. Scripts begin running when any of the resource limits reaches 10% less than the configured value. Details are entered into syslog.
Example username smartuser privilege 15 Smartuser is the default username used for running the scripts on the device, which takes the privilege based on the user session. username Configure an additional username and password to use only to run scripts on a switch. Use the username and password to log in to a UNIX shell and apply the read-write privileges assigned to the username when a script runs.
assigned to the username when the script runs (refer to Scheduling Time / Eventbased Scripts.
8 Virtual Server Networking Virtual server networking (VSN) is supported on the S4810, S4820T, S5000, and MXL switch platforms. As a part of the Open Automation package, virtual switch networking (VSN) provides real-time communication between the Dell Network fabric and the virtual servers to automate network management and configuration tasks throughout the data center.
Figure 2. Virtual Server Networking Example For any change, VSN subscribes use hypervisor to notify the switch. Depending on the hypervisor mode you configure, the Dell Networking OS may automatically update its configuration, provide provisioning for configuration changes, or require system administrator intervention. Hypervisor Modes There are two modes for retrieving configuration information from a hypervisor on a virtual server: check and config.
VLAN Configurations The following sections describe management, data, and hypervisor-unaware VLANs. Management VLANs The management interface between a switch and a hypervisor can be a single port or VLAN interface. If the connection with a hypervisor is through a VLAN, manually configure the VLAN interface on the switch before VSN can establish a connection with the hypervisor and retrieve information from it about the virtual-server configuration.
Install VSN You install VSN as a separate Open Automation package, apart from the Dell Networking OS image and the downloaded Smart Scripting package. When you install the VSN package, VSN is loaded into the Dell Networking OS. NOTE: VSN is only supported on standalone switches; it is not supported in stacked configurations.
• 7. nfsmount://filepath copies from a file stored on an NFS mount file system. Enter the following command to configure the Perl script (VSNAgent.pl) used for VSN operations on VMware hypervisors: script /usr/pkg/scripts/VSNAgent/VMWare/VSNAgent.pl. To follow the progress of a package installation (or removal), use the show packages command. Enabling VSN in a Hypervisor Session To enable VSN on an interface and connect to hypervisors on network servers, follow these steps.
5. • For a VMware hypervisor: https://[ip-address]/sdk/vimService username [name] password [password] • For an Xen hypervisor: http://ip-address username [name] password [password] • username name: Username to use for authentication on the server. • password password: Password to use for authentication shown in clear text. Set the mode for retrieving virtual server configurations and updating Dell Networking OS settings on the switch.
• Enter the disable and no disable commands in Hypervisor Configuration mode, for a specified type of hypervisor connection. The discovery process resumes on all enabled ports. • An update arrives from a hypervisor. The discovery process resumes on all VSN-enabled ports. In order for a switch to learn VLAN information from a hypervisor: • Incoming traffic must be received on the VSN-enabled ports.
CAUTION: The Dell Open Automation Virtual Server Networking™ software package (the “Product”) may contain the VMware SDK for Perl, which is licensed by VMware, Inc. VMware will not provide technical support for the VMware SDK included in the Product. Users interested in writing scripts for VMware products must obtain the VMware SDK directly from VMware. You may not create scripts for VMware products through use of the VMware SDK included in the Virtual Server Networking package.
Uninstalling VSN Uninstalling the VSN package removes it from the internal flash memory on a switch. CAUTION: Before you uninstall the VSN package, first stop all VSN scripts that are currently running using the no script script-name command. • Uninstall the VSN package from the system. EXEC Privilege mode package uninstall name Enter the name of the VSN package exactly as it appears in show packages output.
Example of the show hypervisor supported command. Dell#show hypervisor supported vmware xen-citrix Example of the show virtualswitch all hypervisor sessions command. Dell#show Interface Gi 0/32 Po 7 virtualswitch VSwitch Hypervisor vSwitch3 VMWare_vmware207 vSwitch1 VMWare_vmware206 Example of the show virtualswitch specified hypervisor sessions command. Dell#show virtualswitch GigabitEthernet 0/32 vSwitch3 Interface :Gi 0/32 Hypervisor Type :vmware Hypervisor Name :vmware207 Hypervisor Version :4.1.
9 Virtual Server Networking CLI The virtual server networking CLI is supported on the S4810, S4820T, S5000, and MXL switch platforms. NOTE: VSN is only supported on standalone switches; it is not supported in stacked configurations. access Configure the connection to access a hypervisor. S4810, S4820T, S5000, and MXL Switch Syntax Parameters [no] access url username name password password url Enter the URL location of the desired hypervisor.
Usage Information Version Description 8.3.8.0 Introduced on the S4810. VSN tries to establish a connection with a hypervisor only after you configure the user credentials (username and password) with the access command. disable Stop a hypervisor session. S4810, S4820T, S5000, and MXL Switch Syntax [no] disable Defaults disable Command Modes HYPERVISOR Command History This guide is platform-specific.
Defaults none Command Modes HYPERVISOR Command History This guide is platform-specific. For command information about other platforms, refer to the relevant Dell Networking OS Command Line Reference Guide. The following is a list of the Dell Networking OS version history for this command. Usage Information Version Description 9.6(0.0) Introduced on the S5000. 9.2(0.0) Introduced on the MXL switch. 8.3.19.0 Introduced on the S4820T. 8.3.8.0 Introduced on the S4810.
The following is a list of the Dell Networking OS version history for this command. Usage Information Version Description 9.6(0.0) Introduced on the S5000. 9.2(0.0) Introduced on the MXL switch. 8.3.19.0 Introduced on the S4820T. 8.3.8.0 Introduced on the S4810. You can use the mode command to change how virtual-server information is retrieved in an existing Hypervisor session.
Command Modes EXEC Privilege Command History This guide is platform-specific. For command information about other platforms, refer to the relevant Dell Networking OS Command Line Reference Guide. The following is a list of the Dell Networking OS version history for this command. Usage Information Version Description 9.6(0.0) Introduced on the S5000 switch. 9.2(0.0) Introduced on the MXL switch. 8.3.19.0 Introduced on the S4820T. 8.3.8.0 Introduced on the S4810.
Usage Information Version Description 8.3.19.0 Introduced on the S4820T. 8.3.8.0 Introduced on the S4810. Uninstalling the VSN package removes it from the internal flash memory on the switch. To follow the progress when removing a package from the system, enter the show packages command. NOTE: Before you uninstall the VSN package, first stop all scripts that are currently running using the no script script-name command.
Usage Information For VMware hypervisors, the VSNAgent.pl Perl script is stored in the /usr/pkg/ scripts/VSNAgent/VMWare directory. For Xen Citrix hypervisors, the hpAgtMain.py Python script is stored in the /usr/ pkg/ scripts/VSNAgent/Xen directory. show hypervisor supported Display the types of Hypervisors VSN currently supports. S4810, S4820T, S5000, and MXL Switch Syntax show hypervisor supported Defaults none Command Modes EXEC Privilege Command History This guide is platform-specific.
show packages Display all Open Automation packages installed on a switch. S4810, S4820T, S5000, and MXL Switch Syntax show packages Defaults none Command Modes EXEC Privilege Command History This guide is platform-specific. For command information about other platforms, refer to the relevant Dell Networking OS Command Line Reference Guide. The following is a list of the Dell Networking OS version history for this command. Example Version Description 9.6(0.0) Introduced on the S5000. 9.2(0.
UUID 0.03 Crypt::SSLeay 0.57 Net::SNMP 6.0.0 Net::Telnet::Cisco 1.10 HTTP Server mini_httpd 1.19 Perl and Python function library for Force10 SmartScripts smartutils 2.0.0 WebConnect Web UI and CGI scripts htdocs 2.0.0 **************************************** **************************************** * Package Name:VSNAGENT Version: 2.0.0 Python 2.6.5 XenAPI Perl 5.8.8 VIPerlToolkit 4.
Usage Information Version Description 9.6(0.0) Introduced on the S5000. 9.2(0.0) Introduced on the MXL switch. 8.3.19.0 Introduced on the S4820T. 8.3.8.0 Introduced on the S4810. To display the interface, virtual-switch name, and Hypervisor-session name for all current Hypervisor connections on the switch, use the show virtualswitch command.
show vmmap Display the virtual machines accessed on a switch interface. S4810, S4820T, S5000, and MXL Switch Syntax Parameters show vmmap interface interface Display information on the Hypervisor session established on a specified interface. Enter one of the following interface types: • For a 100/1000 Ethernet interface or 1-Gigabit Ethernet interface, enter GigabitEthernet slot/port. • For a 10-Gigabit Ethernet interface, enter TenGigabitEthernet slot/port.
Related Commands hypervisor — defines a Hypervisor instance. type Set the hypervisor type to which you want to connect. S4810, S4820T, S5000, and MXL Switch Syntax Parameters [no] type {vmware | xen-citrix} vmware Set the hypervisor type as VMware. xen-citrix Set the hypervisor type as Xen-Citrix. Defaults none Command Modes HYPERVISOR Command History This guide is platform-specific.
Command History This guide is platform-specific. For command information about other platforms, refer to the relevant Dell Networking OS Command Line Reference Guide. The following is a list of the Dell Networking OS version history for this command. Usage Information Version Description 9.6(0.0) Introduced on the S5000. 9.2(0.0) Introduced on the MXL switch. 8.3.19.0 Introduced on the S4820T. 8.3.8.0 Introduced on the S4810. Enter the vsn enable command only on Hypervisor-facing interfaces.
REST API 10 Representational state transfer (REST) application programming interface (API) is an integrated part of the Dell Networking operating system (OS). The Dell Networking OS supports the S4810, S4820T, S5000, S6000, Z9000, and Z9500 platforms. HTTP and HTTPS Use REST API to configure and monitor a Dell Networking switch over the hyper text transfer protocol (HTTP) and hyper text transfer protocol secure (HTTPS).
REST Authentication The REST API authenticates and authorizes the user based on the Dell Networking OS AAA configuration. You can locally configure or validate through the AAA infrastructure. For more information about the AAA Accounting mode, refer to the Dell Networking OS Configuration Guide, Security chapter. The Dell Networking OS CLI user level privilege dictates the level of the REST API access. Users with privilege level 0 or 1 have read-only access; the allowed REST API method is GET.
The following configuration depicts the IP address configuration for router interfaces via REST– PUT request: curl -v -u admin:admin http://10.16.151.159:8008/api/running/dell/interfaces/ interface/tengig-0-0 -X PUT -T ipaddr_config_put.xml * About to connect() to 10.16.151.159 port 8008 * Trying 10.16.151.159... connected * Connected to 10.16.151.159 (10.16.151.159) port 8008 * Server auth using Basic with user 'admin' > PUT /api/running/dell/interfaces/interface/tengig-1-37 HTTP/1.
> < < < < < < < HTTP/1.1 200 OK Server: ConfD/5.2 Cache-control: private, no-cache, must-revalidate, proxy-revalidate Date: Thu, 04 Dec 2014 13:15:46 GMT Content-Type: application/vnd.yang.data+xml Transfer-Encoding: chunked Etag: 1417-698805-843796@0 tengig-0-0 1554 true 11.1.1.
< < < < < < < < < < * * Content-Length: 0 HTTP/1.1 201 Created Server: ConfD/5.2 Location: http://10.16.151.159:8008/api/running/dell/router/bgp/100 Cache-control: private, no-cache, must-revalidate, proxy-revalidate Date: Thu, 04 Dec 2014 13:21:03 GMT Allow: GET, POST, OPTIONS, HEAD Content-Length: 0 Content-Type: text/html Etag: 1417-699263-712815@0 Connection #0 to host 10.16.151.
* Connection #0 to host 10.16.151.159 left intact * Closing connection #0 The following configuration depicts adding another BGP peer to the configuration via REST– PATCH request: cat BGP_HTTP_REST_PATCH_PDU.xml 100 11.1.1.3 200 false false curl -v -u admin:admin http://10.16.151.
The following configuration is for retrieving the BGP running-config via REST API: curl -v -u admin:admin http://10.16.151.159:8008/api/running/dell/router/bgp\? deep * About to connect() to 10.16.151.159 port 8008 * Trying 10.16.151.159... connected * Connected to 10.16.151.159 (10.16.151.159) port 8008 * Server auth using Basic with user 'admin' > GET /api/running/dell/router/bgp?deep HTTP/1.1 > Authorization: Basic YWRtaW46YWRtaW4= > User-Agent: curl/7.15.5 (i686-redhat-linux-gnu) libcurl/7.15.
* About to connect() to 10.16.151.159 port 8008 * Trying 10.16.151.159... connected * Connected to 10.16.151.159 (10.16.151.159) port 8008 * Server auth using Basic with user 'admin' > GET /api/operational/mib/bgp4-v2/f10BgpM2NlriTable?deep HTTP/1.1 > Authorization: Basic YWRtaW46YWRtaW4= > User-Agent: curl/7.15.5 (i686-redhat-linux-gnu) libcurl/7.15.5 OpenSSL/0.9.8b zlib/1.2.3 libidn/0.6.5 > Host: 10.16.151.159:8008 > Accept: */* > < HTTP/1.1 200 OK < Server: ConfD/5.
Status Error Codes Description 405 Method Not Allowed The HTTP method specified in the request (DELETE, GET, HEAD, PATCH, POST, PUT) is not supported for this resource. 406 Not Acceptable The resource this request identifies is not capable of generating the requested representation, specified in the “Accept” header or in the “format” query parameter. 409 Conflict This code is used if a request tries to create a resource that already exists.
• is one of the following: – ? for an optional leaf or presence container – * for a leaf-list – [] for a list’s keys • is the name of the type for leafs and leaf-lists. Configurations This section describes the properties of all the configurations. BGP The following definition is for configuring and displaying the properties of a BGP configuration.
URI: /api/running/dell/interfaces/interface Methods Supported: GET, POST, PUT, PATCH, and DELETE NOTE: The POST and DELETE operations are not supported on Physical Interfaces. Use the following formats for various interface types: 1. 2. Physical Interface:-- • The can be TenGigabitEthernet or FortyGigabitEthernet. • Example: tengig-0–0, fortygig-0–48 Logical Interface: - • The can be vlan, port-channel, loopback, or management.
| +--rw learn-limit-violation! | | +--rw (action)? | | +--:(log) | | | +--rw log boolean | | +--:(shutdown) | | +--rw shutdown boolean | +--rw station-move-violation! | +--rw (action)? | +--:(log) | | +--rw log boolean | +--:(shutdown-both) | | +--rw shutdown-both boolean | +--:(shutdown-offending) | | +--rw shutdown-offending boolean | +--:(shutdown-original) | +--rw shutdown-original boolean +--rw channel-members* [name] | +--rw name dell:phy-intf-name +--rw min-links? uint32 +--rw lacp! | +--rw timeout?
| | +--rw attempts? uint32 | +--rw hop-limit? uint32 | +--rw managed-config-flag? boolean | +--rw ra-interval! | | +--rw max-ra-interval uint32 | | +--rw min-ra-interval uint32 | +--rw mtu? uint32 | +--rw dhcp-non-address? boolean | +--rw prefix* [prefix-name] | | +--rw prefix-name dell:ipv6-nd-prefix-name | | +--rw advertise? boolean | | +--rw autoconfig? boolean | | +--rw rtr-address? boolean | | +--rw off-link? boolean | | +--rw lifetime! | | +--rw valid ipv6-nd-prefix-lifetime | | +--rw preferred ipv6-n
Static Route The following definition is for configuring and displaying the properties of a Static Route configuration: Module: IP STATIC ROUTE URI: /api/running/dell/ip/route Methods Supported: GET, POST, PUT, PATCH, and DELETE Static Route Configuration Model +--rw ip +--rw route* [ip-address-prefix interface-name next-hop] | +--rw ip-address-prefix dell:ipv4-address-with-prefix | +--rw interface-name union | +--rw next-hop union | +--rw weight? uint32 | +--rw metric? uint32 | +--rw permanent? boole
| +--rw next-hop union | +--rw metric? uint32 | +--rw permanent? boolean | +--rw tag? uint32 +--rw unicast-routing? boolean +--rw unknown-unicast? boolean +--rw flowlabel-zero? boolean +--rw host* [hostname] | +--rw hostname dell:host-name | +--rw ipv6-address? dell:ipv6-address +--rw neighbor* [ipv6-address interface] | +--rw ipv6-address dell:ipv6-address | +--rw interface dell:interface-name | +--rw mac-address dell:mac-address +--rw icmp! | +--rw source-interface? dell:interface-name-icmp +--rw prefix-l
URI: /api/operational/dell/stats Methods Supported: GET Interface Model for IPv4 +--ro stats +--ro interfaces* [name] +--ro name dell:interface-name +--ro description? string +--ro type? ianaiftype-mib:IANAifType +--ro if-index? uint32 +--ro admin-status? enumeration +--ro oper-status? enumeration +--ro oper-down-reason? string +--ro mtu? int32 +--ro speed? yang:gauge32 +--ro queueing-strategy? string +--ro phys-address? yang:phys-address +--ro tunnel-mode? encapsulation-modes +--ro decapsulate-any? boo
+--ro in-over-127bytes-pkts? yang:counter64 +--ro in-over-255bytes-pkts? yang:counter64 +--ro in-over-511bytes-pkts? yang:counter64 +--ro in-over-1023bytes-pkts? yang:counter64 +--ro in-symbol-errors? yang:counter64 +--ro in-runts? yang:counter64 +--ro in-giants? yang:counter64 +--ro in-throttles? yang:counter64 +--ro in-crc? yang:counter64 +--ro in-over-run? yang:counter64 +--ro in-discards? yang:counter64 +--ro in-unknown-protocol? yang:counter64 +--ro out-octets? yang:counter64 +--ro out-unicast-pkts? ya
| | +--ro address inet:ip-address | | +--ro interface? dell:interface-name | | +--ro weight? uint32 | | +--ro route-type? enumeration | +--ro route-owner? enumeration | +--ro metric? uint32 | +--ro age? yang:timestamp | +--ro route-tag? string | +--ro distance? uint32 | +--ro default-route? boolean | +--ro summary? boolean +--ro summary +--ro connected-active? uint32 +--ro connected-in-active? uint32 +--ro dynamic-active? uint32 +--ro dynamic-in-active? uint32 +--ro static-active? uint32 +--ro static-in-act
BGP Model +--ro bgp +--ro table-version? uint32 +--ro local-router-id? string +--ro routes | +--ro prefix-list* [network-prefix network-prefix-len next-hopaddress seq-num] | +--ro network-prefix inet:ip-address | +--ro network-prefix-len inetaddress:InetAddressPrefixLength | +--ro next-hop-address inet:ip-address | +--ro seq-num uint32 | +--ro metric? uint32 | +--ro local-pref? uint32 | +--ro weight? uint32 | +--ro next-hop-cost-index? uint32 | +--ro as-path-string? string | +--ro path-source? enumeration |
+--ro +--ro +--ro +--ro +--ro +--ro origin-code? is-nlre-loc-aggtd? is-stale? status-code? best-route? link-bandwidth? enumeration snmpv2-tc:TruthValue snmpv2-tc:TruthValue enumeration snmpv2-tc:TruthValue string IP Interface The following definition is for displaying the statistics of an IP interface: Module: IP INTERFACE URI: /api/operational/dell/stats/ip/interface Methods Supported: GET IP Interface Operational Model +--ro ip +--ro interface* [name] +--ro name string +--ro description? string +
MAC Address Table Model +--ro mac-address-table +--ro count | +--ro dynamic-mac-count? uint32 | +--ro static-mac-count? uint32 | +--ro sticky-mac-count? uint32 | +--ro total-mac-in-use? uint32 +--ro aging-time? uint32 +--ro mac-vlan* [vlan-id] | +--ro vlan-id vlan-id | +--ro count | | +--ro dynamic-mac-count? uint32 | | +--ro static-mac-count? uint32 | | +--ro sticky-mac-count? uint32 | | +--ro total-mac-in-use? uint32 | +--ro mac-address-list* [mac-address] | +--ro mac-address yang:phys-address | +--ro typ
| +--ro count-type? acl-rule-count-types | +--ro egress-count-value? uint32 | +--ro ingress-count-value? uint32 | +--ro log? boolean | +--ro monitor? boolean | +--ro order? uint32 +--ro ip* [name] +--ro name access-list-name +--ro type? access-list-types +--ro ip-acl-filter* [seq-no] +--ro seq-no uint32 +--ro filter-type? acl-rule-types +--ro protocol? ip-protocols +--ro ip-protocol-number? uint32 +--ro src-ip-filter? acl-incoming-address-filter-types +--ro source-ip-address? inet:ipv4-address +--ro source-
| +--ro alarm-description? string | +--ro duration? yang:timestamp +--ro alarm-thresholds [unit-number] +--ro unit-number uint32 +--ro minor? uint32 +--ro minor-off? uint32 +--ro major? uint32 +--ro major-off? uint32 +--ro shutdown? uint32 System Inventory The following definition is for displaying the Inventory details: Module: STATS URI: /api/operational/dell/stats/inventory Methods Supported: GET System Inventory Model +--ro inventory +--ro system-type? string +--ro system-mode? string +--ro sw-ve
+--ro +--ro +--ro +--ro vlan-port-list-num vlan-port-list-port-mode? vlan-port-list-intf-type? vlan-port-list-data? int32 vlan-port-mode vlan-intf-type string System Version The following definition is for displaying version-info: Module: STATS URI: /api/operational/dell/stats/version-info Methods Supported: GET System Version Model +--ro version-info +--ro os-ver? string +--ro sw-ver? string +--ro build-time? string +--ro build-path? string +--ro up-time? string +--ro image-name? string +--ro chas
| +--ro num-ports? uint32 | +--ro up-time? string | +--ro jumbo-capable? boolean | +--ro poe-capable? boolean | +--ro fips-mode? boolean | +--ro boot-flash? string | +--ro memory-size? uint32 | +--ro temperature? int32 | +--ro voltage? voltage-status | +--ro serial-number? string | +--ro part-number? string | +--ro vendor-id? string | +--ro date-code? string | +--ro country-code? string | +--ro piece-part-id? string | +--ro ppid-revision? string | +--ro service-tag? string | +--ro express-service-code? stri
URI: /api/running/dell/stats/ipv6/management-route Methods Supported: GET IPv6 Management-Route Model +--ro ipv6 +--ro management-route +--ro route-entry* [destination] | +--ro destination dell:ipv6-address-with-prefix | +--ro gateway? string | +--ro state? enumeration | +--ro default-route? boolean +--ro summary +--ro connected-active? uint32 +--ro connected-inactive? uint32 +--ro static-active? uint32 +--ro static-inactive? uint32 +--ro route-size-active? uint32 +--ro route-size-inactive? uint32 +--ro
+--ro global-anycast-ipv6-address? dell:ipv6-address-with-prefix +--ro joined-group-ipv6-address* [address] | +--ro address dell:ipv6-address +--ro icmp-redirects? boolean +--ro nd-mtu? uint32 +--ro dad? boolean +--ro dad-attempts? uint32 +--ro nd-reachable-time? uint32 +--ro nd-base-reachable-time? uint32 +--ro nd-advertised-reachable-time? uint32 +--ro nd-advertised-retransmit-interval? uint32 +--ro nd-router-advertisement-interval-min? uint32 +--ro nd-router-advertisement-interval-max? uint32 +--ro nd-ro
Methods Supported: GET Route Model for IPv6 +--ro route +--ro gateway-of-last-resort? string +--ro route-entry* [destination] | +--ro destination dell:ipv6-address-with-prefix | +--ro gateway? dell:ipv6-address-with-prefix | +--ro route-type? enumeration | +--ro route-owner? string | +--ro metric? string | +--ro intf-type? string | +--ro last-change? yang:timestamp | +--ro state? enumeration | +--ro default-route? boolean | +--ro summary? boolean +--ro summary +--ro connected-active? uint32 +--ro connecte
Management Information Base (MIB) Management Information Base (MIB) is a database of objects that can be monitored by a network management system. Dell Networking OS management information system (MIB) supports many new simple network management protocol (SNMP) objects and notifications. The following MIBS are translated and exposed via the REST API.
| +--ro rxHandle? int32 | +--ro numMsgHdr? int32 | +--ro numMsgBuf? int32 | +--ro numCluster? int32 | +--ro received? int32 | +--ro dropped? int32 | +--ro rxToNetwork? int32 | +--ro rxError? int32 | +--ro rxDatapathError? int32 | +--ro rxPktCOS0? int32 | +--ro rxPktCOS1? int32 | +--ro rxPktCOS2? int32 | +--ro rxPktCOS3? int32 | +--ro rxPktCOS4? int32 | +--ro rxPktCOS5? int32 | +--ro rxPktCOS6? int32 | +--ro rxPktCOS7? int32 | +--ro rxPktUnit0? int32 | +--ro rxPktUnit1? int32 | +--ro rxPktUnit2? int32 | +--r
| +--ro mmuTxPurgeCellErr? yang:counter64 | +--ro mmuAgedDrops? yang:counter64 | +--ro egressFCSDrops? yang:counter64 | +--ro egIPv4L3UCAgedDrops? yang:counter64 | +--ro egTTLThresholdDrops? yang:counter64 | +--ro egInvalidVLANCounterDrops? yang:counter64 | +--ro egL2MCDrops? yang:counter64 | +--ro egPktDropsOfAnyCondition? yang:counter64 | +--ro egHgMacUnderFlow? yang:counter64 | +--ro egTxErrPktCounter? yang:counter64 +--ro fp-packet-buffer-table* [stackUnitId portPipe] | +--ro stackUnitId int32 | +--ro p
+--ro ifOutOctets? yang:counter32 +--ro ifOutUcastPkts? yang:counter32 x--ro ifOutNUcastPkts? yang:counter32 +--ro ifOutDiscards? yang:counter32 +--ro ifOutErrors? yang:counter32 x--ro ifOutQLen? yang:gauge32 x--ro ifSpecific? yang:object-identifier +--ro ifName? smiv2:DisplayString +--ro ifInMulticastPkts? yang:counter32 +--ro ifInBroadcastPkts? yang:counter32 +--ro ifOutMulticastPkts? yang:counter32 +--ro ifOutBroadcastPkts? yang:counter32 +--ro ifHCInOctets? yang:counter64 +--ro ifHCInUcastPkts? yang:cou
| +--ro f10BgpM2LocalAs? inetaddress:InetAutonomousSystemNumber | +--ro f10BgpM2LocalIdentifier? inet:ip-address | +--ro f10BgpM2RouteReflector? snmpv2-tc:TruthValue | +--ro f10BgpM2ClusterId? mib:F10BgpM2Identifier | +--ro f10BgpM2ConfederationRouter? snmpv2-tc:TruthValue | +--ro f10BgpM2ConfederationId? inetaddress:InetAutonomousSystemNumber | +--ro f10BgpM2CfgBaseScalarStorageType? snmpv2-tc:StorageType | +--ro f10BgpM2CfgLocalAs? inetaddress:InetAutonomousSystemNumber | +--ro f10BgpM2CfgLocalIdentifier?
| +--ro f10BgpM2PeerInUpdates? yang:counter32 | +--ro f10BgpM2PeerOutUpdates? yang:counter32 | +--ro f10BgpM2PeerInTotalMessages? yang:counter32 | +--ro f10BgpM2PeerOutTotalMessages? yang:counter32 | +--ro f10BgpM2PeerFsmEstablishedTrans? yang:counter32 | +--ro f10BgpM2PeerInKeepalives? yang:counter32 | +--ro f10BgpM2PeerOutKeepalives? yang:counter32 | +--ro f10BgpM2PeerInOpen? yang:counter32 | +--ro f10BgpM2PeerOutOpen? yang:counter32 | +--ro f10BgpM2PeerInRteRefresh? yang:counter32 | +--ro f10BgpM2PeerOut
| +--ro f10BgpM2PeerIndex uint32 | +--ro f10BgpM2NlriIndex uint32 | +--ro f10BgpM2NlriAfi mib:F10BgpM2Afi | +--ro f10BgpM2NlriSafi mib:F10BgpM2Safi | +--ro f10BgpM2NlriPrefix inet:ip-address | +--ro f10BgpM2NlriPrefixLen inetaddress:InetAddressPrefixLength | +--ro f10BgpM2NlriBest? snmpv2-tc:TruthValue | +--ro f10BgpM2NlriCalcLocalPref? uint32 | +--ro f10BgpM2PathAttrIndex? uint32 | +--ro f10BgpM2NlriOpaqueType? enumeration | +--ro f10BgpM2NlriOpaquePointer? snmpv2-tc:RowPointer | +--ro f10BgpM2RouteFlag? e
| +--ro f10BgpM2PathAttrCommValue? mib:F10BgpM2Community +--ro f10BgpM2LinkLocalNextHopTable* [f10BgpM2PathAttrIndex] | +--ro f10BgpM2PathAttrIndex uint32 | +--ro f10BgpM2LinkLocalNextHopPresent? snmpv2-tc:TruthValue | +--ro f10BgpM2LinkLocalNextHop? inet-address:InetAddress +--ro f10BgpM2PathAttrOriginatorIdTable* [f10BgpM2PathAttrIndex] | +--ro f10BgpM2PathAttrIndex uint32 | +--ro f10BgpM2PathAttrOriginatorId? inet:ip-address +--ro f10BgpM2PathAttrClusterTable* [f10BgpM2PathAttrIndex f10BgpM2PathAttrClust
REST API Framework to Execute the CLIs REST CLI is an alternative approach for Telnet and SSH to send the Dell Networking OS commands to the system. The command is sent as an XML payload and the corresponding command output or error message returns in an unstructured format in the XML response. There are three sets of XML commands: • config-commands — to send the configuration commands to the system. Commands with submodes are allowed within a single XML tag by using the separator \r\n.
To configure MTU: Input.xml interface vlan 100\r\n mtu 10000 curl -u demo:demo -X POST -T Input.xml http://:8008/api/running/dell/ _operations/cli
memory, cores(s) 1. 128M bytes of boot flash memory. 1 52-port GE/TE/FG (SE) 48 Ten GigabitEthernet/IEEE 802.3 interface(s) 4 Forty GigabitEthernet/IEEE 802.
11 REST API CLI The REST API CLI commands are supported on the S4810, S4820T, S5000, S6000, Z9000, and Z9500 platforms. rest-server Enable the REST API service over a non-secure or secure HTTP. S4810, S4820T, S5000, S6000, Z9000, and Z9500 Syntax rest-server {http | secure-http} To disable the REST API over a non-secure or secure HTTP request, use the no rest-server {http | secure-http} command. Parameters http Enable the REST API on HTTP (Port: 8008).
crypto cert generate Generate a self-signed certificate and key files, if exists, and replace them with the newly generated files.
Command Modes EXEC Command History This guide is platform-specific. For command information about other platforms, refer to the relevant Dell Networking OS Command Line Reference Guide. The following is a list of the Dell Networking OS version history for this command. Usage Information Version Description 9.6(0.0) Introduced on the S Series and Z Series switches. The maximum number of characters allowed for the parameters described (except country-name) is 64.
show crypto cert Display the certificate information. S4810, S4820T, S5000, S6000, Z9000, and Z9500 Syntax show crypto cert {rest-server |file-name} Command Mode EXEC Parameters rest-server Enter the keyword rest-server to display the certificate information installed for rest service. file-name Enter the filename with full path to display the certificate information. Command Modes EXEC Command History This guide is platform-specific.
Command Modes EXEC Privilege Command History This guide is platform-specific. For command information about other platforms, refer to the relevant Dell Networking OS Command Line Reference Guide. The following is a list of the Dell Networking OS version history for this command. Version Description 9.7(0.0) Introduced on the S Series and Z Series switches.
Web Server with HTTP Support 12 You download web server with HTTP support with the SmartScripts package. It is supported on the S4810, S4820T, S5000, Z9000, and MXL switch platforms. For more information, refer to Download the Smart Scripting Package. Starting the Web Server In the Open Automation package, the web server runs on a switch and handles HTTP and HTTPS requests. You can start the web server in a non-secure (HTTP) or secure (HTTPS) mode.