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

• 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.argv[1]))
Sample script for dellsyslog in Python for S3100 Series
#! /f10/flash/pkg/usr/pkg/bin/python
import sys
import os
print sys.argv[1]
os.system("dellsyslog -s %s 'The Syslog is generated by python'" %(sys.argv[1]))
Sample script for dellsyslog in Perl
#! /usr/pkg/bin/perl
#system("dellsyslog" , "-s $ARGV[0] 'The Syslog is generated by Perl script'")
`dellsyslog -s $ARGV[0] "The Syslog is generated by Perl script"`
Sample script for dellsyslog in Perl for S3100 Series
#! /f10/flash/pkg/usr/pkg/bin/perl
#system("dellsyslog" , "-s $ARGV[0] 'The Syslog is generated by Perl script'")
`dellsyslog -s $ARGV[0] "The Syslog is generated by Perl script"`
Dell EMC SmartScript Utilities
Dell EMC SmartScript utility is an easy API handler for scripting. When you install the Smart Scripting package, sample Perl, Python, and
Ruby scripts install in the /usr/pkg/scripts/sample_scripts directory. For S3100 series, the directory path is /f10/
flash/pkg/usr/pkg/scripts/sample_scripts. You can also create your own customized scripts and store them anywhere on
the switch, such as in a /f10/flash or /usr/pkg/ss-scriptsdirectory.
In addition, Dell EMC SmartScript Utils uses the Perl, Python, and Ruby APIs to create scripts that invoke function calls directly in the Dell
EMC Networking OS commands.
Following are the Dell EMC Networking OS APIs:
• DellExec — If you need to execute the script inside another script, you can make use of this API.
Syntax: DellExec (scriptName, [args])
• DellCliConfig — If you need to congure the list of Dell EMC Networking OS commands, you can make use of this API.
Syntax: DellCliConfig (CLI_list)
where CLI_list can be dened as (”interface vlan 10”, “no shutdown”)
• DellCli — If you need to execute a EXEC mode Dell EMC Networking OS command, you can make use of this API
Syntax: Dellcli (“<exec command>”)
Smart Scripting
77