Third-Party Custom Application Integration with Cisco Catalyst SD-WAN

Third-Party Custom Application Integration with Cisco Catalyst SD-WAN

Table 1. Feature History

Feature Name

Release Information

Feature Description

Third-Party Custom Application Integration

Cisco IOS XE Catalyst SD-WAN Release 17.16.1a

Cisco Catalyst SD-WAN Manager Release 20.16.1

Cisco SD-WAN Manager supports integration with third-party-developed Cisco IOx applications. These custom applications add functionality to devices that run Cisco IOS XE Catalyst SD-WAN software.

Information About Third-Party Custom Application Integration with Cisco Catalyst SD-WAN

Cisco SD-WAN Manager supports integration with third-party-developed Cisco IOx applications. These are called custom applications, and add functionality to devices that run Cisco IOS XE Catalyst SD-WAN software.

Connectivity

A Cisco IOx application operates on a device, in a Docker container. The application may or may not include connectivity to other data sources and components, such as these:

Virtual Port Group Interfaces

If the third-party-developed custom application has a networking requirement, Cisco SD-WAN Manager uses virtual port group (VPG) interfaces in the range of 11 to 22, based on their availability. There is no need to reserve specific VPG interfaces.

Supported Platforms for Third-Party Custom Application Integration

Table 2. Supported Platforms

Platform Series

Models

Supported from

Cisco Catalyst IR1100 Rugged Series Routers

Cisco Catalyst IR1101

Cisco IOS XE Catalyst SD-WAN Release 17.16.1a

Cisco Catalyst SD-WAN Control Components Release 20.16.1

Cisco Catalyst IR1800 Rugged Series Routers

Cisco Catalyst IR1821

Cisco Catalyst IR1831

Cisco Catalyst IR1833

Cisco Catalyst IR1835

Cisco IOS XE Catalyst SD-WAN Release 17.16.1a

Cisco Catalyst SD-WAN Control Components Release 20.16.1

Prerequisites for Third-Party Custom Application Integration

Resource Requirements

Ensure that each device has the CPU, memory, and storage resources required for the third-party-developed custom application. The resource requirements depend entirely on the details of the custom application.

Activate Cisco IOx on Devices

Activate Cisco IOx on devices before installing the third-party custom application. See Activate Cisco IOx on Devices.

Guidelines for Third-Party Custom Application Integration

Restrictions for Third-Party Custom Application Integration

Upgrade Limitation

Cisco SD-WAN Manager does not support upgrading a custom application. To upgrade to a newer version, uninstall the current version and install the new version of the application. See Uninstall a Third-Party Custom Application.

Application Restart

Cisco SD-WAN Manager does not support restarting the third-party-developed custom application.

Configure Third-Party Custom Application Integration, High Level

Procedure


Step 1

Activate Cisco IOx on Devices

Step 2

Create a Configuration Group Profile with a Custom Application Feature

Step 3

Add a Custom Application Feature to a Configuration Group

Step 4

Deploy a Configuration Group with a Custom Application Feature


What to do next

After the configuration steps, you can monitor the activity of the application operating on a device. See Monitor a Third-Party Custom Application on Devices.

Activate Cisco IOx on Devices

This procedure activates Cisco IOx on devices, which is necessary for running third-party custom Cisco IOx applications.

Procedure


Step 1

Create a configuration group with a CLI add-on profile.

Step 2

In the CLI add-on profile, include the iox command to activate Cisco IOx.

iox

Step 3

Use the standard configuration group deployment procedure in Cisco Catalyst SD-WAN Configuration Groups to deploy the configuration group to devices before installing a third-party custom Cisco IOx application.


Create a Configuration Group Profile with a Custom Application Feature

Because third-party-developed custom applications are unique, Cisco SD-WAN Manager cannot validate the configuration against a common standard. To ensure that the application operates correctly, configure the parameters here according to the requirements of the application.

Before you begin

On the Configuration > Configuration Groups page, choose either

  • SD-WAN, or

  • SD-Routing

as the solution type.

Procedure


Step 1

From the Cisco SD-WAN Manager menu, choose Configuration > Configuration Groups.

Step 2

Create and configure a Custom Application feature in an Other profile.

  1. Enter a name and description for the feature.

    Table 3. Name and Description

    Field

    Description

    Name

    Name for the feature.

    Description

    Optionally, add a description.

  2. The basic settings are mandatory.

    Table 4. Basic Settings

    Field

    Description

    Application Name

    Enter a name for the custom application. You can use upper- or lower-case letters, but not spaces or special characters.

    This name appears as part of the event details on the Monitor > Logs > Events page.

    Virtual Image

    Choose a custom application image file from the drop-down list.

    The list shows custom application images uploaded to the virtual image repository in Maintenance > Software Repository > Virtual Images.

  3. If the custom application has a requirement for network configuration, click Add Configuration and enter the network connectivity details for up to three connections. This configures communication between the Cisco IOx application and

    • the device on which the application is operating, and

    • any external assets, such as a server if the application communicates with a server.

    Here are the options for the SD-WAN solution:

    Table 5. Network Configuration, SD-WAN Solution

    Field

    Description

    Name

    Name describing the entity for which you are configuring connectivity.

    Service VPN

    Service VPN providing the connectivity between the application and either (a) the device, or (b) an external asset.

    VPG IP Address

    IP address within the subnet mask defined in the Subnet Mask field for communication between the custom application and a device virtual port group (VPG) interface or external asset.

    Application IP Address

    IP address to assign to the custom application, for mapping to a VPG interface on the device.

    Subnet Mask

    Subnet mask for the VPG interface. The subnet mask defines an address space for the service VPN for communication between the custom application and a device VPG interface or external asset.

    Action

    Provides an option to delete a row.

    Here are the options for the SD-Routing solution:

    Table 6. Network Configuration, SD-Routing Solution

    Field

    Description

    Network Configuration

    Name

    Name describing the entity for which you are configuring connectivity.

    Communication Interface

    Physical or virtual interface providing connectivity between the application and either (a) the device, or (b) an external asset.

    Action

    Provides an option to delete a row.

  4. Some custom applications require information passed as variables, either global or device-specific. To add variables, click Add Variable and enter the details.

    The specifics of the valid key:value pairs depend entirely on the details of the custom application. Consult with the custom application developer for information about configuring variables. Note that these values are case sensitive.

    Maximum number of variables: 10

    Table 7. Environment Variables

    Field

    Description

    Key

    Key name for a variable.

    Value

    Value of the variable. Choose Device Specific to provide a specific key value for each device.

    Action

    Provides an option to delete a row.

  5. Some custom applications use data input provided through a serial interface. This option supports any serial port available on the platform.

    To add a data source, click Add Data Source and enter the serial port.

    Maximum number of serial ports: 7

    Table 8. Data Configuration

    Field

    Description

    Serial Line

    Enter a serial port available on the device. See the platform documentation for information about serial ports.

    Example: /dev/ttySerial

    Action

    Provides an option to delete a row.


What to do next

Also see Deploy a configuration group.

Add a Custom Application Feature to a Configuration Group

Procedure


Step 1

From the Cisco SD-WAN Manager menu, choose Configuration > Configuration Groups.

Step 2

In the solution drop-down list, choose either

  • SD-WAN, or

  • SD-Routing

as the solution type to display configuration groups only for this solution.

Step 3

Click the Configuration Groups tab.

Step 4

If you need to create a configuration group, follow the steps described in Using Configuration Groups in Cisco Catalyst SD-WAN Configuration Groups.

Step 5

For an existing configuration group, click Add Profile and add an Other Profile to the configuration group.

Step 6

In the configuration group, locate the Other Profile drop-down list and choose a Custom Application profile.


Deploy a Configuration Group with a Custom Application Feature

Before you begin

See Supported Platforms for Third-Party Custom Application Integration before deploying a configuration group with the Custom Application feature.

Activate Cisco IOx on devices before deploying the configuration group. See Activate Cisco IOx on Devices.

Procedure


Step 1

Use the standard configuration group deployment procedure in Cisco Catalyst SD-WAN Configuration Groups to deploy a configuration group to devices in the network.

Step 2

If you are deploying to devices of the SD-WAN solution type, during deployment, enter any required device-specific variables for each router.

Step 3

If you want to monitor the progress of installing the application on a device, view the log messages for the installation.

  1. Click the task list button near the top right.

  2. Click the Deploy configuration group task.

    This opens a page showing the deployment progress for each device.

  3. Adjacent to a device, click the log icon in the Action column.

    The View Logs pane opens, showing the deployment progress for the device. When the deployment is complete, a success message, such as "Config Group successfully deployed to device," appears in the log.

    When you first deploy a configuration group with the Custom Application feature to a device, it triggers the device to install the application.


Verify that a Third-Party Custom Application is Operating on a Device, Using the CLI

This verification method is applicable to devices in the SD-WAN or SD-Routing solutions.

Before you begin

Deploy a configuration group with a Custom Application feature to one or more devices. See Deploy a Configuration Group with a Custom Application Feature.

Procedure


Step 1

On a device running the Cisco IOx application, run this command.

Device# show iox-service

Step 2

Based on the output of the command in the previous step, do one of these:

  • If the command output shows that the IOxman service is running, then proceed to the next step.

  • If the command output shows that the IOxman service is not running, this indicates that the Cisco IOx application is not operating correctly. Reinstall the application. See Deploy a Configuration Group with a Custom Application Feature.

Step 3

On the same device, run this command. If the output shows the state as running for the application you are checking, this indicates that the application is operating correctly.

Device# show app-hosting detail appid application-id

Example

The application name that you enter in the Custom Application feature determines the application ID that appears in the command output. See Create a Configuration Group Profile with a Custom Application Feature. In this example, the application ID is abc.

The command output is truncated here.

Device# show iox-service
IOx Infrastructure Summary:
IOx service (CAF)              : Running
IOx service (HA)               : Not Supported
IOx service (IOxman)           : Running
IOx service (Sec storage)      : Running
Libvirtd 5.5.0                 : Running
Dockerd v19.03.13-ce           : Running

Device# show app-hosting detail appid abc
App id                 : abc
Owner                  : iox
State                  : RUNNING
...

Monitor a Third-Party Custom Application on Devices

Before you begin

Deploy a configuration group with a Custom Application feature to one or more devices. See Deploy a Configuration Group with a Custom Application Feature.

Procedure


Step 1

From the Cisco SD-WAN Manager menu, choose Monitor > Devices.

Step 2

Click a device name for a device in the SD-WAN solution.

Note

 

This monitoring method is applicable to devices in the SD-WAN solution, but not to devices in the SD-Routing solution.

Step 3

Click the Real Time tab.

Step 4

Enter any of these App Hosting commands in the Device Options field to view the resource usage or other details of applications operating on the device, including a third-party-developed custom applications:

  • App Hosting Details

  • App Hosting Utilization

  • App Hosting Network Utilization

  • App Hosting Storage Utilization

  • App Hosting Processes

  • App Hosting Attached Devices

  • App Hosting Network Interfaces

  • App Hosting Guest routes


Uninstall a Third-Party Custom Application

Uninstalling a third-party-developed custom application presumes that you have installed the application already. See Configure Third-Party Custom Application Integration, High Level.

Procedure


Step 1

Remove the Custom Application feature from the configuration group.

  1. From the Cisco SD-WAN Manager menu, choose Configuration > Configuration Groups.

  2. Click the Configuration Groups tab.

  3. Adjacent to a configuration group, click the arrow in the Actions column to expand the row to show the attached profiles.

  4. Adjacent to the Other Profile drop-down list, click the pencil icon to edit the profile.

  5. Within the profile, remove the Custom Application feature.

Step 2

Deploy the configuration group to devices. See Deploy a Configuration Group with a Custom Application Feature.


The procedure uninstalls the custom application from devices to which it had been deployed.