Workflow
Arista EOS Device - Example Use Cases - Managed by CLI in IAG
Overview
This Pre-Built Automation bundle contains several example use cases that are applicable when the Itential Automation Platform is integrated with Arista EOS using the device CLI. Because every environment is different, these use cases are fully functioning examples that can be easily modified to operate in your specific environment. These workflows have been written with modularity in mind to make them easy to understand and simple to modify to suit your needs.
Workflows
Name | Overview |
---|---|
Software Upgrade - EOS | Upgrade EOS on an Arista device |
Port Turn Up - EOS | Enable a port on an EOS device |
File Transfer - EOS | Perform file transfer on an Arista EOS device |
Create VLAN - EOS | Create a new VLAN on an EOS device |
For further technical details on how to install and use this Workflow Project, please click the Technical Documentation tab.
Table of Contents
Getting Started
This section is helpful for deployments as it provides you with pertinent information on prerequisites and properties.
Helpful Background Information
Workflows often include logic that varies from business to business. As a result, we often find that our Workflow Projects are more useful as modular components that can be incorporated into a larger process. In addition, they often can add value as a learning tool on how we integrate with other systems and how we do things within the Itential Automation Platform.
While these can be utilized, you may find more value in using them as a starting point to build around.
Prerequisites
Itential Workflow Projects are built and tested on particular versions of IAP. In addition, Workflow Projects are often dependent on external systems and as such, these Workflow Projects will have dependencies on these other systems. This version of Arista - EOS - IAG has been tested with:
- IAP 2023.2
External Dependencies
Name | OS Version | API Version |
---|---|---|
Itential Automation Gateway (IAG) | ^3.198.19+2022.1.71 |
Adapters
Name | Version | Configuration Notes |
---|---|---|
adapter-automation_gateway | ^4.29.0-2023.1.12.0 |
How to Install
To install the Workflow Project:
- Verify you are running a supported version of the Itential Automation Platform (IAP) as listed above in the Supported IAP Versions section in order to install the Example Project.
- Import the Example Project in Admin Essentials.
Testing
Cypress is generally used to test all Itential Example Projects. While Cypress is an opensource tool, at Itential we have internal libraries that have been built around Cypress to allow us to test with a deployed IAP.
When certifying our Example Projects for a release of IAP we run these tests against the particular version of IAP and create a release branch in GitLab. If you do not see the Example Project available in your version of IAP please contact Itential.
While Itential tests this Example Project and its capabilities, it is often the case the customer environments offer their own unique circumstances. Therefore, it is our recommendation that you deploy this Example Project into a development/testing environment in which you can test the Example Project.
Using this Workflow Project
Workflow Projects contain 1 or more workflows. Each of these workflows have different inputs and outputs.
Create VLAN - EOS
Create a new VLAN on an EOS device
Capabilities include:
- Perform a Pre-Check to verify the VLAN does not already exist
- Configure the VLAN
- Perform a Post-Check to verify the state of the VLAN
- Optionally display a diff of the Pre-Check and Post-Check to the user
Entry Point IAP Component
The primary IAP component to run Create VLAN - EOS is listed below:
IAP Component Name | IAP Component Type | Create VLAN - EOS | Workflow |
---|
Inputs
The following table lists the inputs for Create VLAN - EOS:
Name | Type | Required | Description | Example Value |
---|---|---|---|---|
vlan | string | yes | VLAN Id | 2 |
vlanName | string | yes | Name for VLAN | test |
deviceName | string | yes | Name of the device as shown in IAG | eos-device |
suppressSuccessMessage | boolean | yes | Set to false if want to approve config changes before pushing to device | false |
suppressFailureMessage | boolean | yes | Set to false if want to view failure messages before procceeding | false |
Outputs
There are no outputs for Create VLAN - EOS.
Query Output
There are no query output examples for Create VLAN - EOS.
Example Inputs and Outputs
Example 1
Input:
{ "vlan": "2", "vlanName": "test", "deviceName": "test-eos", "suppressSuccessMessage": true, "suppressFailureMessage": true }
Output:
{}
API Links
No API Links provided.
File Transfer - EOS
Perform file transfer on an Arista EOS device
Capabilities include:
- Utilize FTP to perform file transfer on an Arista EOS device
- Optionally validate file intergrity with MD5
Entry Point IAP Component
The primary IAP component to run File Transfer - EOS is listed below:
IAP Component Name | IAP Component Type | File Transfer - EOS | Workflow |
---|
Inputs
The following table lists the inputs for File Transfer - EOS:
Name | Type | Required | Description | Example Value |
---|---|---|---|---|
suppressSuccessMessage | boolean | yes | Set to false if want to approve config changes before pushing to device | false |
suppressFailureMessage | boolean | yes | Set to false if want to view failure messages before procceeding | false |
device | string | yes | Name of the device in IAG | Arista |
ftpRemoteServer | object | yes | FTP remote server information, including "username" and "password" for authentication, "ipAddress" which represents the location of the FTP server, "path" which indicates the directory where the file is located on FTP server, and "fileName" which refers to the name of the file you want to transfer | {
"username": "ftpuser",
"ipAddress": "172.20.10.22",
"path": "/home/ftpuser/ftp/",
"fileName": "test.txt",
"password": "ftpassword"
} |
performMd5Check | boolean | yes | Whether to validate file intergrity | true |
md5 | string | no | Store the MD5 hash of a file, which serves as a checksum to verify integrity of the data | d8e8fca2dc0f896fd7cb4cb0031ba249 |
Outputs
There are no outputs for File Transfer - EOS.
Query Output
There are no query output examples for File Transfer - EOS.
Example Inputs and Outputs
Example 1
Input:
{ "device": "Arista", "suppressSuccessMessage": true, "suppressFailureMessage": true, "ftpRemoteServer": { "username": "ftpuser", "ipAddress": "172.20.10.22", "path": "/home/ftpuser/ftp/", "fileName": "test.txt", "password": "ftpassword" }, "md5": "d8e8fca2dc0f896fd7cb4cb0031ba249", "performMd5Check": true }
Output:
{}
API Links
No API Links provided.
Port Turn Up - EOS
Enable a port on an EOS device
Capabilities include:
- Perform a Pre-Check to verify the port does not already exist
- Configure the port
- Perform a Post-Check to verify the state of the port
- Optionally display a diff of the Pre-Check and Post-Check to the user
Entry Point IAP Component
The primary IAP component to run Port Turn Up - EOS is listed below:
IAP Component Name | IAP Component Type | Port Turn Up - EOS | Workflow |
---|
Inputs
The following table lists the inputs for Port Turn Up - EOS:
Name | Type | Required | Description | Example Value |
---|---|---|---|---|
suppressSuccessMessage | boolean | yes | Set to false if want to approve config changes before pushing to device | false |
suppressFailureMessage | boolean | yes | Set to false if want to view failure messages before procceeding | false |
device | string | yes | Name of the device in IAG | Arista |
type | string | yes | Interface type | Vlan |
id | string | yes | Interface ID | 5 |
description | string | yes | Interface description | testing |
ipAddress | string | yes | IPv4 Address assigned to the interface | 10.0.0.1 |
cidr | string | yes | CIDR Size | 30 |
Outputs
There are no outputs for Port Turn Up - EOS.
Query Output
There are no query output examples for Port Turn Up - EOS.
Example Inputs and Outputs
Example 1
Input:
{ "suppressSuccessMessage": true, "suppressFailureMessage": true, "device": "Arista", "type": "Vlan", "id": "5", "description": "testing", "ipAddress": "10.0.0.1", "cidr": "30" }
Output:
{}
API Links
No API Links provided.
Software Upgrade - EOS
Upgrade EOS on an Arista device
Capabilities include:
- Verify current software version and check if the image file used for upgrade is on the device
- Run pre-check commands
- Change the boot system image
- Reload the device
- Verify the new EOS image is now active on the device after reload
- Run post-check commands
- Optionally show the difference between the pre-check and post-check results
Entry Point IAP Component
The primary IAP component to run Software Upgrade - EOS is listed below:
IAP Component Name | IAP Component Type | Software Upgrade - EOS | Workflow |
---|
Inputs
The following table lists the inputs for Software Upgrade - EOS:
Name | Type | Required | Description | Example Value |
---|---|---|---|---|
suppressSuccessMessage | boolean | yes | Set to false if want to approve config changes before pushing to device | false |
suppressFailureMessage | boolean | yes | Set to false if want to view failure messages before procceeding | false |
device | string | yes | Name of the device in IAG to upgrade | Arista |
version | string | yes | EOS version after upgrade | 4.26.2F |
image | string | yes | Image file used to upgrade | vEOS64-lab-4.26.2F.swi |
flashMemory | string | yes | Onboard flash memory storage | flash: |
Outputs
There are no outputs for Software Upgrade - EOS.
Query Output
There are no query output examples for Software Upgrade - EOS.
Example Inputs and Outputs
Example 1
Input:
{ "suppressSuccessMessage": true, "suppressFailureMessage": true, "device": "Arista", "version": "4.26.2F", "image": "vEOS64-lab-4.26.2F.swi", "flashMemory": "flash:" }
Output:
{}
API Links
No API Links provided.
Additional Information
Support
Please use your Itential Customer Success account if you need support when using this Workflow Project.