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

puppet-apply
To apply any puppet manifest le, use the puppet-apply script.
puppet-apply -f file | -c command
Following are the puppet apply script options:
-h, --help show this help message and exit
-f FILENAME, --file=FILENAME Apply the given puppet manifest file
-c COMMAND, --command=COMMAND Apply the given puppet command
Building the Manifest File
Puppet consists of a custom declarative language to describe the system conguration, which can be either applied directly on the system
or compiled into a catalog and distributed to the destination system via the client-server paradigm (using REST API). The agent uses the
system–specic providers to enforce the resource specied in the manifests.
The Puppet Agent network devices are managed using the following congurations:
• Hostname Conguration
• Layer 2 interface conguration
• Link aggregation group (LAG) conguration
• Physical interface conguration
• Virtual local area network (VLAN) conguration
Hostname Conguration
Apply the hostname congurations using both the Puppet Standalone and Puppet Agent. You can read and write the hostname
conguration by using the netdev_device.
Example for conguring the Hostname.
node dell_s4810_node1
{
netdev_device { hostname: }
}
Layer 2 Interface Conguration
Apply the Layer 2 interface congurations using both the Puppet Standalone and Puppet Agent. You can read and write the Layer 2
interface congurations by using the
netdev_l2_device type.
node dell_s4810_node1
{
netdev_device { hostname: }
netdev_l2_interface
{ “name”:
ensure => (present | absent),
active => (true | false),
description => "interface-description",
tagged_vlans => (vlan | [vlan1, vlan2, vlan3, ...]),
untagged_vlan => vlan,
vlan_tagging => (enable | disable)
68
Puppet