Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Scripts, used for automation tasks across numerous devices across the network, which execute Command Line Interface commands on network devices. You can write scripts in Infoblox's Infoblox’s proprietary CCS language, Perl, or in PerlPython, using the standard Perl and Python API;
  • Jobs, which are scheduled instances of scripts that run against selected devices or device groups. You can also use end-user credentials for specific jobs;
  • Custom issues, which scripts can raise to point out conditions discovered during script processing. See the section Creating Custom Issues for more information on custom issues and their use in jobs.

Job automation ensures consistency across related devices in the managed network and saves valuable time. Because NetMRI supports both Perl, Python, and its own proprietary CCS scripting language, change automation offers significant benefits:

  • Users can define generic configuration templates for large collections of like devices such as Cisco or Juniper routers and switches;
  • Users can execute mass change rollouts through the downloading of template files, reducing the need to execute sequences of CLI commands, and enabling larger-scale automated changes across the network;
  • Perl and Python support ensures an almost infinite capability for expansion of automation features;
  • Apply complex script logic and looping through Perl/Python, with script logic modules and subroutines.
  • Scripts can reference external tables and lists to populate variables when executing actions on devices.

...

Note: When  When using Perl/Python scripting for automation, isolate NetMRI appliance performance from errant or excessive consumption of resources by the script. Job Scripting  describes many aspects of Perl-based job automation and Python-based job automation.

...

NetMRI provides a dedicated guest virtual machine (VM) environment under which Perl/Python scripts execute in isolation. The guest VM's VM’s disk and memory resource allocations are strictly limited and cannot be adjusted from within the VM. Process scheduling functions in the appliance such as nice and ulimit also apply, because the guest VM is subject to standard scheduling rules.
The guest VM provides limited communication with the host NetMRI appliance and with other systems on the network. Network services that operate within the VM include OpenSSH and Samba (SMB) for communications and file sharing between the NetMRI host and the guest VM running the Perl/Python script.
Job scripting implementation is done through the NetMRI Job Wizard. Substantial planning and preparation may be needed before implementing jobs.

.

Anchor
Automation Change Manager (ACM)
Automation Change Manager (ACM)
Anchor
bookmark562
bookmark562
Anchor
bookmark563
bookmark563
Automation Change Manager (ACM)

...

You can access templates from CCS, Perl, and PerlPython.
You can use templates to define variables and configuration file text (variable definitions are optional, while configuration text is required as part of the template).

...

Note: Scripts use a standard variable called eval_type. This variable is not used in configuration templates.
Otherwise, template variables are treated in the same fashion as defined in the CCS Supplement PDF, provided under the Additional Documentation section of the online Help.

...

Anchor
Defining Lists for ACM, Perl and CCS Scr
Defining Lists for ACM, Perl and CCS Scr
Anchor
bookmark585
bookmark585
Anchor
bookmark586
bookmark586
Defining Lists for ACM, Perl, Python, and CCS Script Reference

...

Note: Individual NetMRI appliances are limited to 100 lists in the Lists page.

...

Lists are a key component in the Automation Change Manager (ACM) feature Anchorbookmark587bookmark587 setfeature set. The Lists page (Config Management
  –> Job Management –> Lists) allows the creation, editing, importing and exporting of lists to provide external lists of data to Perl/Python script variables, CCS script variables, and configuration template variables. 

Lists are handy for dynamically looking up values to variables in Perl/Python and CCS scripts. CCS and Perl/Python can refer to/ look up values from lists during script execution. The lookup call enables a simple pass/fail test to detect the presence or absence of a value in a list. The call accepts the parameter list name, key column, key value, value column and a default. All values may be static or variable-based.

Lists are named CSV files imported into NetMRI. The most efficient way to use Lists is through importing of a CSV file. You can add new records to any list or create a new list entirely within NetMRI.) An advantage of using external lists, and of importing lists from .CSV files, is that NetMRI imports the column headers from .CSV files. These column headers then appear in the list table in NetMRI. Users can edit the headers inside the Lists page by right-clicking any column header and choosing Edit Column.

To import a list into the NetMRI Lists page, do the following:

...

Note: The Vendor Model Key must be named identically to the config template referenced by the system. For example, the Config Template cisco_catalyst295024 matches the corresponding Vendor Model Key field in the list.

...

The TAE BMP Switch Model Interface Defs list maps the device model to the ports available on that type of device. The Model column is the name of the device model as reported by the device. The same model name is also used to select the configuration template to be used for the device.

3. In the TAE BMP Site Settings list: this list defines default configurations of switch ports. When you have a standard configuration for (example) Sales Branches, you set that configuration once in this list. Define any new list records you need for new site settings. New table rows may be added for this data set.
Among other settings, ports are assigned to VLANs in this list. Other vital settings include the Site Name, domain name, Syslog and NTP server and the site code. You also use the {} brackets for port ranges in this table. Click Save when done with changes.

...

The Job History tab (Config Management –> Job Management –> Job History tab) lists all running jobs, scheduled jobs, and jobs that finish with errors. Information displayed in the table includes job status, start and end times, and run count.
The Job History works with both CCS and Perl/Python scripts and displays information resulting from Automation Change Manager job runs.
Click the hyperlink in the Name column. The Job Viewer window opens for the selected job.
Click the hyperlink in the Script column. A browser pop-up window appears displaying the script text.

...

The Job Details Viewer opens from any hyperlink in the Status column in the Job Viewer. A Connections dropdown appears in the top of the Job Details Viewer. For Perl/Python jobs that open simultaneous connections with multiple devices, each device in the job is listed here. Toggling through the devices shows the corresponding job details for the given device in the Job Details Viewer.

  • If a script includes the ability to run multiple sessions, you can see the sessions running under the JobDetailsViewer–>Connections drop-down list.
  • The Script tab displays the full script run against the device;
  • The StatusLog tab shows the results of various internal script operations. Some of the information here may be useful in troubleshooting a failure. A color-coded view of the information in this tab is available in the ProcessLog tab;
  • The ProcessLog tab shows individual steps or actions in the job on the device, including which matches occurred and whether an issue was generated (if the script generates an issue). This analysis is limited to 500 lines of output; if more than 500 lines of output were created, you can view the entire analysis in the process.pdf file available in the Files tab;
  • The SessionLog tab lists the session details, indicating all CLI events that occurred during the job;
  • The Files tab provides links to download any files related to the job for this device. The all.zip file contains copies of all associated files for convenience in downloading.

Anchor
Using Perl Libraries
Using Perl Libraries
Anchor
bookmark624
bookmark624
Anchor
bookmark625
bookmark625
Using Perl Or Python Libraries

...

Note: Read/write operations on Perl or Python scripts in the Libraries page are limited to user accounts with the the Scripts:Level 3 privilege. All other users are limited to read-only operations. Libraries also do not have an associated run level.

...

You store Perl or Python subroutines in NetMRI's dedicated Libraries page. LIbraries provides standard Copy, Export, Edit and Delete options.
To import a new Perl or Python library file, do the following:

  1. On the Config Management –> Job Management –> Library page, click the Import icon on the top right.
  2. In the file requester, click Browse to navigate to the location of the file on the local appliance, select the file, and click Import.

To create a new Perl or Python Library file, do the following:

...