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

Following example shows the event triggering the script after the cpu-usage reaches 30%:
DellEMC(conf)#script trigger-event event1 cpu-usage 30
Following example shows how you can dene the event to trigger a script when a SYSLOG event with the OSTATE_UP pattern occurs:
DellEMC(conf)#script trigger-event Port_State_Event log-event tag tag-regex "OSTATE.*up"
Following example shows how you can dene the event to trigger a script even if any one of the pattern is matched:
DellEMC(conf)#script trigger-event Server_Reporter_Event log-event tag tag-or-ex "Major
alarm" "Minor alarm"
• Schedule a script to run based on dened events.
Schedule a script to provide mapping between the scripts and trigger-events.
CONFIGURATION mode
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:
DellEMC(conf)#script trigger-event Event2 time-event start at 22:22 stop at 02:02-11/10/14
weekday mon
DellEMC(conf)#script event-handler handler1
DellEMC(conf-screvt-handler)#execute Report_server.tcl args 4
DellEMC(conf-screvt-handler)#triggered-by Event2
DellEMC(conf-screvt-handler)#no disable
Following snippet triggers the script once the cpu-usage reaches 30%:
DellEMC(conf)#script trigger-event event1 cpu-usage 30
DellEMC(conf)#script event-handler handler1
DellEMC(conf-screvt-handler)#execute Report_server.tcl args 4
DellEMC(conf-screvt-handler)#triggered-by event1
DellEMC(conf-screvt-handler)#no disable
Following snippet triggers a script of the system throws the SYSLOG like Oct 29 05:28:16: %RPM0-P:CP %IFMGR-5-
OSTATE_UP: Changed interface state to up: Ma 0/0:
DellEMC(conf)#script trigger-event Port_State_Event log-event tag tag-regex "OSTATE.*up"
DellEMC(conf)#script event-handler handler1
DellEMC(conf)#execute Report_server.tcl args 4
DellEMC(conf)#triggered-by Port_State_Event
DellEMC(conf)#no disable
Following snippet triggers a script even if any one of the pattern matches:
DellEMC(conf)#script trigger-event Server_Reporter_Event log-event tag tag-or-ex "Major
alarm" "Minor alarm"
DellEMC(conf)#script event-handler handler1
DellEMC(conf-screvt-handler)#execute Report_server.tcl args 4
DellEMC(conf-screvt-handler)#triggered-by Server_Reporter_Event
DellEMC(conf-screvt-handler)#no disable
Managing Executed Scripts
Use any of the following commands to manage or control the scripts; for example, stop, kill, resume, unscheduled, and clear.
Protect system resources by scheduling scripts to run when resources are within the threshold parameters you congured. System
resources include the switch CPU, memory, and le system. For example:
DellEMC#show script process detail
JobID Script Type Script Status Username Script Name Args
000 TRIGGER Running admin admin.pl
001 REPEAT Running user1 sample.zsh hello
002 CONF WATCH Watch Blocked user2 args.pl
Smart Scripting
85