Concept Guide
Table Of Contents
- Dell EMC Networking Open Automation Guide 9.14.1.0 November 2018
- About this Guide
- Open Automation Framework
- Bare Metal Provisioning
- Introduction
- How it Works
- Prerequisites
- Industry Standard Upgrades with BMP
- BMP Process Overview
- BMP Operations
- Configure BMP
- BMP Commands and Examples
- System Boot and Set-up Behavior in BMP Mode
- BMP Mode - Boot and Set-up Behavior
- DHCP Offer Vendor-Specific Option for BMP
- DHCP Offer Relay Option 82
- Software Upgrade Using BMP
- Apply Configurations Using BMP Scripts
- Using the Post-configuration Script
- Using Auto-Execution Script - Normal Mode Only
- Timers in Pre–configuration and Post–configuration Scripts
- Script Examples
- BMP Operations on Servers Overview
- File Server Settings
- Domain Name Server Settings
- BMP MIB Support
- Bare Metal Provisioning CLI
- Open Management Infrastructure
- Puppet
- Smart Scripting
- Overview
- Download the Smart Scripting Package
- Dell EMC Environment Variables
- Dell EMC Proprietary Utilities
- Dell EMC SmartScript Utilities
- SQLite
- NET SNMP Client
- Limits on System Usage
- Supported UNIX Utilities
- Creating a Username and Password for Smart Scripting
- Logging in to a NetBSD UNIX Shell
- Downloading Scripts to a Switch
- Network File System (NFS)
- Setting a Search Path for Scripts
- Scheduling and Executing Scripts
- Running a Script from the UNIX Shell
- Running Scripts with User Privileges
- Smart Scripting CLI
- disable
- execute
- mount nfs
- package clear-all
- package install
- package uninstall
- script (run)
- script (stop/resume/clear/kill/unschedule)
- script event-handler
- script execute (EXEC mode)
- script execute
- script get
- script path
- script remove
- script trigger-event
- show packages
- show script
- start shell
- triggered-by
- switch script limit
- username (event handler)
- username
- SNMP MIBs
- Virtual Server Networking
- Virtual Server Networking CLI
- REST API
- HTTP and HTTPS
- XML
- Important Points to Remember
- REST Authentication
- Request Query Parameters
- Sample BGP Configurations
- HTTP Status Error Codes
- REST API — Protocol Data Unit (PDU) Structure
- Configurations
- Operational
- Operational Data for IPv6
- Management Information Base (MIB)
- IETF Interface Operations
- REST API Framework to Execute the CLIs
- Samples of the config-command
- Samples of the EXEC command
- Samples of the show-command
- REST API CLI
- Web Server

NOTE: To display a properly formatted output string, Dell EMC 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
...
Auto–execution Scripts
The auto–execution (auto–exec) script is the same as a pre–conguration script except that it runs on every reboot in Normal mode.
Store scripts in a flash://autoexec le. Auto–exec scripts are independent of BMP.
The auto–exec script runs only when:
• BMP is disabled.
• The script is stored in a flash://autoexec le.
• Before reloading the system, use the boot-type normal-reload command in the reload-type sub command mode.
If the auto–exec script fails, the system generates a message indicating the failure and does not load the conguration le. Before
continuing the upgrade, correct the error in the script.
Post–conguration Scripts
The post–conguration script runs after the start-up conguration is applied as script post-config script-name. In BMP mode,
after the pre-conguration script completes and the conguration loads, you can run a post-conguration script if one is present in the
conguration le. In normal reload, if there is script post-config script-name cong in the startup cong le, post-conguration
script executes.
To check the status of congured ports or protocols, set the host name of the system, or perform additional conguration settings, use the
post-conguration script. The system supports post-conguration scripts in EXPECT, TCLSH, and ZSH. If you installed the SmartScripts
package in your Dell EMC Networking switches, the system also supports post-conguration scripts in Perl, Python, and Ruby.
Using the Pre–conguration Script
To pre–congure the scripts, follow these steps:
1 Decide what information you want to pre–congure; for example, request username and password information. Verify the integrity of
the boot image the DHCP oer downloads and apply the conguration types.
2 Create a pre–conguration script in EXPECT, TCL or ZSH.
3 Store the script on any TFTP/FTP/SFTP server that is reachable from the system and mention the URL le (TFTP/FTP/SFTP) in the
DHCP oer.
4 Change the reload-type to BMP and reload the switch. The system boots in BMP mode.
5 The system receives an IP address via the DHCP server which it uses to get a Dell EMC Networking OS image to boot, a conguration
le (if supplied), and a pre–conguration script.
6 The system runs the pre–conguration script.
• The default timer on the script is 10 minutes. The maximum amount of time the script can run is one hour.
Bare Metal Provisioning
27