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

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].
$ARGV[0]/24", "exit");
open (MYFILE, '>>/f10/flash/dellcliop.txt');
print MYFILE DellCli($cli);
print MYFILE "\n";
print MYFILE DellExec($script, $args);
print MYFILE "\n";
print DellCliConfig(@list);
Sample script for Perl using DellExec, DellCli, and DellConfig (S3100 Series)
#! /f10/flash/pkg/usr/pkg/bin/perl
#importing DellSSUtils
require "/f10/flash/pkg/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 = "/f10/flash/pkg/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].
$ARGV[0]/24", "exit");
open (MYFILE, '>>/f10/flash/dellcliop.txt');
print MYFILE DellCli($cli);
print MYFILE "\n";
print MYFILE DellExec($script, $args);
print MYFILE "\n";
print DellCliConfig(@list);
Sample script for Python using DellExec, DellCli, and DellConfig
#! /usr/pkg/bin/python
import time
import sys
sys.path.append('/usr/pkg/scripts/DellSSUtils/')
import DellSmartUtils
for input1 in sys.argv[1:]:
print DellSmartUtils.DellCliConfig(["%s" %str("interface vlan %s" %str(input1)
) , "no shutdown"])
arg_val=""
for b in sys.argv[1:] :
arg_val=arg_val+" %s" %(b)
print DellSmartUtils.DellExec("loopback.zsh" , arg_val)
f = DellSmartUtils.DellCli("show version")
fh = open("/f10/flash/Dellcli.txt", "w")
fh.writelines(f)
fh.close()
Sample script for Python using DellExec, DellCli, and DellConfig (S3100 Series)
#! /f10/flash/pkg/usr/pkg/bin/python
import time
import sys
sys.path.append('/f10/flash/pkg/usr/pkg/scripts/DellSSUtils/')
import DellSmartUtils
78
Smart Scripting