Business Process Automation (BPA) is a Customer Experience (CX) built multi-domain network automation and orchestration solution that works with various domain controllers from Cisco and third-party domain controllers. BPA includes:
The User Guide provides information for the following:
This document does not include the explanation and operational details of NSO and Yet Another Next Generation (YANG) model or the creation of Business Process Model and Notation (BPMN) workflows.
For details about specific Use Cases, refer to BPA User Guide Use Cases.
Users should have the following:
Cisco BPA is fully functional with the following browser versions:
This guide contains images for illustrative purposes only. In some scenarios, this document’s images may not accurately reflect the actual User Interface (UI).
The BPA UI has been revised in v4.0. While some applications have been introduced with the v4.0 framework, other pre-v4.0 applications still use the classic pre-v4.0 UI.
This section provides information on application access and provides an overview of the application and its components.
To access the BPA portal:
The Assets application launches giving users a view into the unified list of assets managed by all domain controllers.
The following applications and tools are accessible from the left navigation menu on the left:
Some of the applications in the menu are only available in the classic portal and are opened in a new tab to launch that application. All cross-launch applications are shown in the menu with a rectangle icon and an arrow.
Users can launch the classic portal directly by selecting the Switch-to-Classic icon at the top right of BPA application.
To switch back to the new landing page, select the same icon from the classic portal.
BPA must be configured with one or more domain controllers to manage network assets. BPA supports many Cisco domain controllers (e.g., Cisco Catalyst Center, vManage, Cisco Crosswork, NSO, Cisco Nexus Dashboard Fabric Controller (NDFC), etc.) and can work with third -party devices and use controllers, such as NSO or Ansible.
Refer to the Controller Settings section for details about configuring controllers.
BPA supports Role-Based Access Control (RBAC) with v4.0. In the RBAC model, a role encapsulates a set of permissions (i.e., actions) that a user can perform. For access control, Administrators can either assign predefined roles or create new roles with permissions to user groups.
Users can belong to one or more user groups and each user group can be assigned one or more roles. Roles assign specific access permissions to the users in that group.
This section covers managing users using the local authentication method. Other methods require an external authentication provider (e.g., Active Directory (AD), Open Lightweight Directory Access Protocol (LDAP), Terminal Access Controller Access-Control System (TACACS) etc.) and are outside the scope of this document. Local authentication uses BPA’s internal authentication service and is available by default. User access is managed by adding users to BPA via the User Management application.
BPA must be configured with one of the following authentication providers before users can log in.
To add users in the BPA Portal:
To delete a user:
The BPA v4.0 platform now supports RBAC with user roles. A role defines the set of permissions (i.e., actions) that a user is allowed to perform.
Role | Description |
---|---|
Super Administrator | An Administrator role with access to the entire system |
Use Case Administrator | A role that manages applications and associated permissions |
Network Operator | A role that uses BPA applications to manage their network |
Read Only | A role that has read only access to BPA |
While BPA provides a few out-of-the-box roles, Administrators can create additional roles. To manage roles, select Settings > User Management > Roles from the left navigation menu. The Roles page displays with a list of roles.
To add a new role in the BPA portal:
To edit a role in the BPA portal:
To delete a role:
To export one or more roles in the BPA portal:
To import roles in the BPA Portal:
Administrators can grant permissions for both the Classic and Portal UI.
After providing permissions, the Switch to Classic icon is enabled for non-administrator users upon login.
The Switch to Portal icon is also enabled to navigate to the Portal UI from the Classic UI.
Administrators can grant permission to switch to the portal UI only.
After only providing permissions for the Portal UI, the Switch to Classic icon is disabled for non-administrative users upon login.
Administrators can grant permission to switch to the Classic UI only.
After only providing permissions for the Classic UI, the landing page redirects to the Classic UI and the Switch to Portal icon is not visible for non-administrator users upon login.
Administrators can deny both Classic and Portal UI permissions.
After denying both Classic and Portal UI permissions, non-administrative users can not log in using the Classic or Portal UI.
BPA user groups provide the ability to organize users into various groups based on the function they provide. Each user group is associated with roles that define what the users in the groups can or cannot do.
BPA provides several out-of-the-box user groups. BPA Administrators can also create and manage additional user groups.
User Group | Roles |
---|---|
Admin | Super Administrator |
Operator | Network Operator |
The example below shows a user group associated with two roles. The firewall user role provides users in this user group read only access to the Firewall Access Control Lists (ACL). The load balancer manager role gives full edit access.
To access the User Groups Management application, select Settings > User Management > User Groups from left navigation menu. The Groups page displays with a list of groups.
Access policies provide strict access control by limiting a user’s accessible resources.
While a role defines a set of actions (i.e., permissions) that a user can perform, access policies further limit the resources on which these actions can be performed.
An access policy is defined to a user group and can restrict user access to asset groups, resource groups, or a combination of both.
For example, consider that a new access policy defined for the Software Image Management (SWIM) Users user group (which allows users to update software on devices) and the US-West Assets group (assets that belong to US West region) limits the users in the group to performing upgrades on devices in US-West Assets only. The following figure shows how user groups, access policies, assets, and resource groups come together.
To manage access policies, select Settings > User Management > Access Policies from the left navigation menu. The Policies page displays with a list of policies.
To delete a policy:
Assets (i.e., devices) in BPA can be grouped with the Asset Groups feature. Where applicable, BPA applications present Asset Group fields which enable users to quickly select desired assets or to perform group-level operations. Administrators can also limit access to assets by defining access policies.
To access Asset Groups:
Select Settings > Asset Groups. The Asset Groups page displays.
BPA includes three types of asset groups: static, dynamic and discovered.
Static asset groups are created and managed by BPA users. Any device discovered by BPA (from domain controllers) can be added to a static asset group. These asset groups are available only in BPA and are not propagated to domain controllers.
Dynamic asset groups are defined based on one or more asset selection criteria. The selection criteria can be based on device metadata such as name, model, controller, etc. BPA determines which assets belong to the asset group at run-time by querying for assets that match the selection criteria.
Discovered asset groups are asset groups that are managed by domain controllers and are discovered by BPA. These asset groups are typically created with domain controller tools such as Web Portal. These asset groups cannot be modified using the BPA portal. BPA discovers these asset groups when an authorized user chooses to synchronize the controller state.
The Asset Manager application presents a consolidated view of all assets managed by BPA. BPA maintains a cache of assets collected from various domain controllers that are configured in the system. Asset Manager also allows users to perform certain operations on the devices.
To access Asset Manager:
The Asset Manager page is divided into asset filters and a list of assets that can be managed with BPA. To view specific controller assets, select the desired Controller Type filter. For specific assets, select the Controller ID filter
This section of the Asset Manager shows a count of assets displayed along with a list of filters for asset selection.
The asset count shows the total number of assets that are being displayed to the user and does not reflect the actual number of assets managed by BPA. The total number of assets shown depends on how many assets are visible to the user (based on configured access policies) and the selected filters.
BPA provides the following filters:
BPA also provides the ability to filter the asset list using search criterion in the Search field.
Selected filters display above the asset list. To remove individual filters, select the Remove icon on the desired filter or click Clear All to remove all filters. A search field is available in the filter panel under each category if there are more than 10 available values to filter.
The bottom section of Asset Manager displays a consolidated list of assets for the user.
From the Asset List view, users can perform various device operations (i.e., device actions) such as Ping, View Config, Connect, etc. Access to some operations, especially those that change device states, is access controlled. Users unable to perform specific actions should contact the BPA Administrator.
There are two ways to run actions on the devices:
Ping is used for troubleshooting, testing device connectivity, and determining response time.
Connect is used to establish connection to selected devices and returns the connection status.
The Fetch Host Keys operation directs the NSO controller to retrieve host key information from the selected devices and store it in the local database.
The Check Sync operation checks if the device configuration in the NSO Configuration Database (CDB) is in sync with the device configuration.
The Compare Config operation compares the configuration in the NSO CDB against the running configuration on the selected device. Select the devices from the list and select Device Actions > Compare Config.
View Config shows the configuration of one or more selected devices. To select more than one device on the list, click the device name in the View Config window.
The Sync From operation synchronizes the configuration state in the NSO CDB with the running configuration from a device. This is also applicable for the Cisco Crosswork Network Controller (CNC) controller.
The Sync To operation synchronizes the configuration stored in the NSO CDB to the device running the configuration. If any differences are found, then it updates the device configuration to match the state in CDB.
Interactive Command-Line Interface (CLI) is used for user input, particularly for commands (e.g., device show) and the configuration of devices managed by Direct-To-Device. Users can effortlessly execute commands, access device information, and apply real-time configuration changes, resulting in a seamless and interactive experience.
To access the Interactive CLI feature for Direct-To-Device:
A Sync Inventory capability has been added to all controller agents. This provides the flexibility to fetch the latest information from controllers and devices like serial numbers, software-conformance models, and software versions for a selected list of devices. This allows use cases to use this lightweight feature instead of performing the complete controller device sync.
The Discover Device feature identifies neighboring devices, a functionality relevant in scenarios such as Cisco Internetworking Operating System (IOS) environments where Cisco Discovery Protocol (CDP) can be used. Only devices that can be successfully pinged from the BPA server and accessed via the same credentials are displayed in the results of discovered devices. Users can explore details of the discovered devices by viewing the details displayed in the pop-up window, as well as onboard these discovered devices. Currently this feature is supported only for Cisco’s family of devices.
To perform the Discover Device action:
A list of discovered devices is generated, which displays devices that can be pinged from the BPA server. Each device listed provides relevant information like device ID, IP address, platform, and version.
Users can trigger on-demand backups in the backup config device action. Access backup config by completing the following steps:
The view backups device action displays the history of the backups taken. Select the More Options icon > View Backups to view the backup history of a selected device. A details panel opens under the Backups tab that displays available backup histories.
In the Backups tab, available backup histories display their respective details. Users can perform the following actions in each backup history:
Backup History Actions | Description |
---|---|
View Backup Config | View the backup config available at the selected backup date |
Compare with Current Config | Compare the backup config with the running or device current config |
Under this section, users can view the backup config on a selected date.
To access it, select the More Options icon > View Backup Config. A window opens where the user can see the backup configuration.
The following options are available in the Backup Configuration window:
Backup Configuration Actions | Description |
---|---|
Copy | Copy the backup configuration to the clipboard. |
Download | Download the backup configuration in text format |
Restore | Initiates restore backup configuration action |
Under this section, compare the backup config with device’s current running configuration.
The Compare with Current Config window has the following options:
Compare with Current Config Actions | Description |
---|---|
Restore | Initiates restore backup configuration action. |
Initiate the restore backup configuration process by clicking Restore. The assigned restore workflow (mentioned in Backup Restore Policy) starts the restore process and the user is redirected to the Configuration Restore page.
BPA provides additional asset management operations from the More Options icon including export asset list, add, update, or remove assets, and asset list column customization.
The Export CSV option exports assets in Comma Separated Value (CSV) format. By default, the operation exports assets in the current page.
To export all assets, click the Select All check box and perform the export operation.
The Add Assets operation adds assets to a domain controller.
Manual Option
The Manual option allows users to add a device by entering device data manually.
Upload Option
The Upload option allows users to add one or more devices by uploading a file. Currently, only the CSV file format is supported.
This operation allows users to update asset information such as IP address, description, port number etc. Devices can be updated From Selection or From CSV.
From Selection
From Selection allows users to edit one or more selected devices.
From CSV
This option allows users to update one or more devices by uploading a file.
This operation allows users to remove assets from the domain controller. Assets can be removed From Selection or From CSV.
From Selection
From Selection allows users to remove one or more selected devices from domain controller.
From CSV
From CSV allows users to update one or more devices by uploading a file. Currently, only the CSV file format is supported.
The Asset List view can be changed to display additional fields. The Edit Column window opens.
Secure Copy Protocol (SCP)-to-device helps transfer data from a local user’s machine to a remote networking device via an API call. Currently, this feature is supported for cisco-ios, cisco-iosxr, cisco-asa, NX-OS, arista-eos, and juniper-junos device os-type.
To perform SCP-to-device:
Sample directory name and file name based on device types:
Request Type | Post |
---|---|
URL | https://d2d-agent-service:5010/api/v1.0/d2d-controller-agent/device-manager/scp?capabilityName=scp-to-device&controllerId=Direct-To-Device&deviceIdentifier=ios_device_d2d&fileName=<file_name> |
Sample Body | File content to be copied to device |
Sample Response | { “message”: “File has been successfully copied to flash:/scp_to_and_from_device_file.txt”, “status”: “success” } |
SCP-from-device helps to transfer data from a remote networking device to a user’s local machine via API call. This feature is currently supported for cisco-ios, cisco-iosxr, cisco-asa, arista-eos, and juniper-junos device os-type.
To perform SCP-from-device:
Sample directory name and file name based on device types:
REQUEST TYPE | GET |
---|---|
URL | https://d2d-agent-service:5010/api/v1.0/d2d-controller-agent/device-manager/scp?capabilityName=scp-from-device&controllerId=Direct-To-Device&deviceIdentifier=ios_device_d2d&fileName=flash:/ |
SAMPLE RESPONSE | File content to be copied from device |
This section provides information about managing Cisco NDFC devices.
To add an asset:
Managing vManage devices involves organizing the devices into logical groups through a bulk upload process. During this process, tags are created on the vManage controller, which effectively categorizes the devices. The tags are then synchronized with the BPA system, where they are converted into asset groups. This method allows for more efficient management and operation of specific device groups, enhancing automation and improving operational efficiency. By ensuring seamless synchronization between vManage and BPA, the system facilitates streamlined workflows and better device management practices.
To complete the bulk upload process:
Devices in vManage are associated with tags and are automatically synchronized with the BPA system, where they are converted into asset groups. This allows each device to be logically grouped in BPA based on its assigned tags, enabling efficient management and RBAC.
System Administrators can use the Admin menu to configure and manage BPA applications.
The Admin menu includes:
Refer to System Configuration for more details.
BPA provides the applications listed below:
The Service Center application allows users to create and manage service instances. The parameters displayed on the screen while adding a service instance depends on the YANG model it is associated with. Users can create multiple instances for a service.
Refer to BPA User Guide Service Center Application for more details.
The Form Builder application allows users to design custom input forms or forms based on a service template’s YANG model. These forms can subsequently be used in a workflow to present a UI screen for user input or approvals.
Refer to Working with the Form Builder Application for more details.
The Device Manager application allows users to manage devices. Devices can be grouped into device groups, which allows for the easy management of the services for grouped devices. It also allows users to create and manage authorization groups which contain authentication information for accessing a device. Every device is associated with one authorization group. There can be multiple users associated with each authorization group so that users are provided access to devices associated with that authorization group.
Refer to Working with the Device Manager Application for more details.
The OS Upgrade application displays the status of active, completed, and pending OS Upgrade workflow instances. It displays the upgrade result and provides statistics such as number of devices that are successfully upgraded. Users can check the number of devices that are set for upgrade for the workflow instance. If the upgrade is not completed, it indicates the associated step in the current workflow and the validation results of that step. Users can view the command output for every validation, pre- and post-checks executed for the upgrade.
Refer to Working with the OS Upgrade Application for more details.
The Process Template application allows users to manage templates, which consist of a set of commands to be executed against devices and associated validation rules to run against command execution results. The command result is evaluated against the rules to determine whether the result should be considered as pass or fail. For example, during OS upgrade, it is important to see the configuration state pre- and post-upgrade. It is also important to decide whether the prerequisites met the defined criteria for upgrade. Custom analysis can be performed using a script-based approach.
Users can use the templates in a workflow when provisioning a service to perform the tasks below:
Templates are also used to retrieve network and service topology data from devices.
Refer to BPA User Guide Process Template Application for more details.
GCT are predefined configurations used to maintain consistent configuration on devices. The advantages are:
Before building a template, consider planning network design and create templates based on that design. By using GCT, operational efficiency could be increased, configuration errors could be reduced, and compliance standards and best practices could be improved.
Refer to BPA User Guide Golden Configuration Template Application for more details.
The Config Validator application is used to validate a set of configuration commands against a Network Element Driver (NED). Users can input the configuration commands and the config validator indicates whether the set of configuration commands are valid. This ensures that the users always use valid configuration commands whenever required. Users can use the Config Validator to check the validity of the set of configuration commands in the following instances:
Refer to Working with the Config Validator Application for more details.
A workflow allows users to automate business and technical processes that are enforced before or after making changes to infrastructure. Some examples are pre/post checks, approvals, integration with ticketing system or ITSM tools. A workflow typically includes a list of tasks (i.e., steps) to automate the process along with logical decisions (e.g., continue with operation or abort), timers for scheduling, manual tasks that require response from an end user and integration with other OSS/BSS systems.
BPA has embedded an open source, standards-based workflow engine. The workflow engine is fully integrated into BPA which allows for users to deploy and manage workflows directly from the BPA portal. Users can start a workflow, stop, or pause a workflow. The status of a workflow execution can be seen in BPA with a history of tasks executed. For troubleshooting, BPA also includes a debug view of workflows which allows operations to view execution status and inspect workflow state.
Refer to http://www.bpmn.org/ for more details on the file content structure.
Users can define workflow by using the BPA workflow editor or using an external BPMN v2.0 compliant modelling tool such as Camunda modeler. The workflow application allows the following actions:
Refer to Working with the Workflows Application for more details.
The Topology application allows users to view topology details from two different perspectives.
The Service Topology application allows users to view the service instances and devices on which the services are deployed in a graph. The graph helps to visualize how services and associated devices are connected. Choose the service, its instances, and view devices associated with those service instances in the network. This gives users a quick overview of device details, their placement in the network, and configuration.
The Network Topology application allows users to view a graph representation of a network of devices. It allows users to filter devices based on name, device group, or device type. Users can view the configuration commands of each device in the topology map. Users can also preview the device details such as protocol, IP address, port, authorization group, NED ID, admin state, and device type. This provides an overview of devices in the network based on preference and helps in taking further action related to placing new devices or modifying the configuration of existing devices.
Refer to Working with Topologies for more details.
Market variances are predefined data sets that can be customized for a geographic region or markets and can be leveraged across the BPA platform (e.g., NTP server settings, logging server settings, etc.). The values can be stored specific to region, market, and device type. The parameterized values can be leveraged in the GCT, service provisioning, and workflows.
Refer to Working with Market Variances for more details.
The Device Activation application enables Zero Touch Provisioning (ZTP) for devices via Simple Network Management Protocol (SNMP) or DHCP notifications. Device details for ZTP (including serial number) can be onboarded via the Device Activation application. On a SNMP/ DHCP event, the device activation workflow is triggered to onboard the device. The application leverages capabilities of market/global variances, GCT templates, and pre-/post diff in device activation workflows.
Refer to BPA User Guide Device Activation for more details.
The Service Catalog application provides a unified view to onboard services, order services, and review service statuses. This application allows a user to categorize, tag, search, and favorite services. Order progress can be viewed as milestones. Admin users can manage service items, categories, and tags.
Refer to BPA User Guide Service Catalog) for more details.
The Commit Manager application supports:
Refer to Working with the Commit Manager for more details.
The Script Runner application is used to run Ansible or Python scripts. A unique key is used to make each script unique. Users can add, execute, view, edit, delete, and download scripts and check the status of executed scripts (e.g., running, pending, completed, or all) based on the from-to date.
Refer to Working with the Script Runner Application for more details.
The Ansible Template application uses an existing BPA Ansible controller to handle Ansible Tower. This application is like an existing application for the NSO controller (e.g., Service Catalog). Templates use the underlying playbooks to execute service tasks on Ansible Tower infrastructure using controller and Ansible Agent within BPA.
The Configuration Compliance and Remediation (CnR) application enables network operators to run device configuration compliance using user-defined policies. Policies contain configuration blocks which can either be manually created or auto generated by the system from selected device configurations. Users can create rules against blocks. Rules can have values fetched from the Reference Data Management (RefD) application. The compliance jobs can be scheduled or run on-demand. The application provides a dashboard to view violation summaries as well as device and block -level details.
The operators can remediate compliance violations using the remediation framework. This framework uses workflows, configuration templates (e.g., GCTs), and process templates. The remediation jobs can be scheduled or run on-demand.
Refer to BPA User Guide Configuration Compliance and Remediation for more details.
The Scheduler application is a common service that enables other use cases and delivery teams to schedule arbitrary tasks. The schedule can be one -time or recurring. The schedule triggers and notifies the end users through Kafka messages which are consumed by the receiving application.
Refer to the Working with the Scheduler section for more details.
The OS Upgrade framework is a cross-domain, cross-controller, comprehensive solution built on top of the BPA v4.0 platform for software upgrades. It supports multiple controllers, starting with support for Cisco Catalyst Center, vManage, and NSO in this release and expanding to include additional controllers in subsequent releases.
Refer to BPA User Guide OS Upgrade for more details.
Continuous Integration, Continuous Delivery - Continuous Testing (CI/CD-CT) is a Minimum Viable Product solution which supports the creation and execution of use case pipelines with limited functionality.
The BPA dashboard provides unified visibility for the following CI/CD-CT pipeline services:
Service | Description |
---|---|
NFV | Supports end-to-end Virtual Network Function (VNF) orchestration
with relevant pre-check and post-check. NFV pipeline integrations
include: - GitHub for artifacts like .sol files and Day0 configurations - CXTM to execute pre- and post-check test cases - Security scan tools to run the vulnerability checks - JFrog Artifactory for uploading artifacts for review / use in different environments - NFV MANO stack to execute this pipeline and orchestrate the VNF instances |
Golden Config Template (GCT) | Supports applying specific configurations to devices by using BPA
GCT applications. GCT pipeline integrations include: - GitHub for artifacts like configurations - CXTM to execute pre- and post-check test cases - Security scan tools to run the vulnerability checks - JFrog Artifactory to upload successfully executed artifacts for review or use it in different environments |
External Jenkins Pipelines | External Jenkins Pipelines Allow users to integrate with externally running Jenkins pipelines and monitor and operate those pipelines from unified BPA dashboards. |
Domain | BPA | Controller |
---|---|---|
Generic | Release 4.0.2 | NSO |
Refer to BPA User Guide CI/CD-CT for more information.
Backup and Restore Framework is a cross-domain, cross-controller, comprehensive solution built on top of the BPA v4.0 platform to backup and restore device configuration from or to devices. The framework implements an agent capability-based approach to fetch configuration from devices. The restore feature is implemented using workflows for easy customization. The framework supports storage of device configuration in an external system using a plugin approach.
Refer to BPA User Guide Backup and Restore for more details.
RefD is an application that manages the local and external data in BPA which is leveraged by other BPA use-case applications for dynamic fetching of variables data.
RefD provides a unified dashboard to manage the hierarchical data nodes. Key capabilities include:
Domain | BPA | Controller |
---|---|---|
Generic | Release 4.1.1 | NSO |
Refer to BPA User Guide Reference Data Management for more information.
This chapter details all the user interface operations that can be performed using the BPA Classic Portal application.
The image below illustrates the application as it typically displays when users access it. The Home page displays business applications based on permissions granted to the assigned user group(s). The Notification icon notifies users with alerts from the applications.
The following applications display on the Home page:
The User Profile icon includes the following options:
Refer to Working with Business Applications section for more details.
The table below illustrates the common icons used in the application.
Icon | Description |
---|---|
![]() |
View the list of applications |
![]() |
Contains the following options: Profile, Admin, Preferences, and Logout |
![]() |
View the details about Business Process Automation such as the core-service and auth-service version details |
![]() |
View notifications |
![]() |
Perform the edit operation |
![]() |
Perform the delete operation |
![]() |
Refresh data |
![]() |
View and edit the settings |
![]() |
View the diagram |
![]() |
Pause an action |
![]() |
Stop an action |
![]() |
View output result |
![]() |
Download |
![]() |
View device details |
![]() |
Represents a service |
Notifications are alerts presented to users when certain events occur in BPA. Alerts are shown for events such as:
Select the Notification icon from the right corner of the page to view notifications.
To view all notifications, select View All. Notifications can be filtered by severity.
Relevant user tasks in a workflow can be received as notifications when the notification preference workflow.usertask.notifications is enabled. This allows the user to claim and take actions on the user tasks directly from the notifications panel.
To set notification preferences, select Preferences.
The various pages in the application provide sorting and search options in the user interface. Click the column header to sort the displayed list. The Search field is available in some pages such as Templates, Defined Workflows, etc., allowing users to filter specific data.
Use the SAML server option for authentication if single-sign-on authentication is required.
If two-factor authentication is enabled, users must provide credentials and a One-Time Password (OTP) for login. Refer to the Enable OTP section of the BPA Installation Guide for more information.
On successful login, the Home page displays.
To prevent unauthorized access by other users, it is recommended that users log out of BPA upon each use. To log out, select the User Profile icon > Logout.
The Profile menu option allows users to view and update their information such as first name, last name, and email. It also lists all assigned groups and allows user to change their password.
To view the profile details, select the User Profile icon > Profile. The Profile page displays.
The preferences option displays when adding more than one NSO.
To edit user credentials:
To edit the password:
It is recommended that users change their password periodically (i.e., every 90 days) or when they suspect that their account security might have been compromised. Password changes can only be initiated after successful login.
When Individual users or Administrators need to create new API Keys, they should perform the following steps:
To generate reports from the Reports tab using the API key:
To log in for the first time:
The BPA system configuration is done in two scenarios.
To view the admin options, select the User Profile icon > Admin. Manage the following components from this screen:
The Users option allows users to add, edit, and delete users. To manage users:
Users can be added by clicking Add Users and be assigned to specific groups with the Editing Users option. To add new users:
Follow the steps below to edit user details:
To assign groups to users:
To delete a user:
To manage groups:
The Groups tile allows users to:
The Add Groups option allows users to define application access and operation privilege to a group of users. The Administrator can provide access to specific BPA applications for the users belonging to a group. The Administrator can also enable and disable various operations of the applications (e.g., Start, Pause, etc.) for specific applications. Use the Admin > Users menu option to assign users to desired group(s).
Follow the steps below to add new groups:
The Administrator can edit group permissions using the Edit option. Follow the steps below to edit group details:
To delete a group:
Zones allow users to set up access control to NSOs. If the user has administrator privileges (admin), then they can create zones to increase network security or to manage access control for NSOs. Users in different zones have different NSOs displayed in the portal depending on the group and zone to which they belong to. Users can also configure NSOs to a zone.
Providing access control at a zone level, allows access to all NSOs in that zone. The list of access privileges include:
Admin settings allow users to manage access details for:
To view the Settings page:
BPA can manage one or more controller instances for NSO, vManage, Ansible, Cisco Catalyst Center, etc. Controller settings allow users to configure a controller instance. To manage the controllers’ settings, select the Settings tile on the Admin page and click the Controllers tab.
Icon | Details |
---|---|
1 | View detailed information about the sync status |
2 | View the controller details |
3 | Edit the controller |
4 | Start device synchronization |
5 | Delete the controller |
To add a controller:
After enabling the LSA node in Settings, Resource Facing Service (RFS) options become available:
Users can edit or delete the RFS node after it is created by selecting the controller, clicking Sync RFS , and then selecting the Edit icon or Delete icon for the RFS Node.
Agents lists all the controller agents that are deployed on BPA. Users can get the status and details of each agent.
BPA supports SMTP server configuration which can be used by workflows or other applications to send email notifications to users.
To manage the SMTP settings:
To edit other settings, refer to the corresponding sections below.
A support URL can be configured to provide additional help for users when they run into issues. A link displays under the User icon when a URL is configured, redirecting them to the Support tab.
BPA facilitates adding password parameters to secure users and data.
Password Parameters | Descriptions |
---|---|
Enable Expiry | Enforce password expiry for local non admin users |
Expires After | User password expires after the configured days |
Warn Before | Password expiry warning notification is generated prior to the configured days |
Failed Attempts | Number of failed attempts allowed before the user is blocked from logging in |
Blocked Time | Amount of time the user is blocked for exceeding the configured number of failed attempts |
The Ticketing tab on the Settings page allows users to configure a change management system in BPA.
The interactive_cli tab on the Settings page allows users to configure commands that a group or user can execute as per RBAC. There are two options:
The Mask_Sensitive_Info tab on the Settings page allows users to configure use cases’ sensitive data that needs to be masked.
In the images below, interactive-cli has been included; therefore, sensitive data is masked when displaying or downloading the device response.
Additional configuration elements can be created by adding more tabs and associating them with Form Builder generic forms. This allows users to create custom configurations that can be consumed by workflows.
Perform the following steps to add a tab:
All custom settings created can also be accessed via the API.
HOST>/bpa/api/v1.0/settings/custom-form/CustomSettings
Method: GET
Response
{
"_id": "5cac5c60e462ba27e5d85a05",
"createdBy": {
"name": "admin",
"firstName": "admin",
"lastName": "admin",
"id": "b90306e7-7e55-447b-a531-df36ea55aae3"
},
"formName": "CustomSettings",
"tabName": "CustomSettings",
"data": {
"Host": "10.1.1.XXX",
"Port": "8080"
},
"__v": 0
}
In the code block example, CustomSettings is the tab added to the settings application.
This application helps to analyze and delete historical data based on a purge policy. Data that can be deleted includes template executions, diff analytics execution, workflow history, compliance reports, and completed service orders.
To schedule a data purge:
Only the Admin user can run and execute data purging defined in the “data-aging-policy-definition.json” fie.
Example:
{ "categories":{ "Process Templates Executions":{ "microservice":"core", "collection":"execution-outputs", "attribute":"executionDate", "age":365, "number_of_records_to_delete":2000 }, "Configuration compliance reports":{ "microservice":"core", "collection":"reports", "attribute":"modified_date", "age":365, "number_of_records_to_delete":2000 }, "Workflow History":{ "microservice":"core", "collection":"process-instances", "age":365, "number_of_records_to_delete":2000 }, "Completed orders from Service Catalog":{ "microservice":"serviceCatalog", "collection":"serviceorders", "attribute":"createdAt", "age":365, "number_of_records_to_delete":2000 } }}
The data purging policy might be defined as follows:
Network Topology Templates are used by BPA to construct the network topology of devices. The topology can be viewed with the Network Topology application.
The Network Topology Templates page displays a list of available templates and their general information, such as NED ID, Created Date, and Updated Date. Network Topology Templates allows users to:
To add a network topology template:
The templates listed are created using the Process Templates application.
To retrieve data from the network and build links in the topology, click Build from the Network Topology Templates page. Users can add or update the network topology links. When the network topology links have been updated, a success pop-up window opens.
Click Sync from the Network Topology Templates page to update the latest location of the device in the network topology. A success pop-up window opens.
Perform the following steps to edit a network template:
Perform the following steps to delete a network template:
Tag Management helps to manage tags. BPA artifacts such as Process Templates, GCTs, Form Builder forms etc., can be tagged with one or more tags which can be used to filter the artifacts.
To add tags, follow the steps below:
The numbers in the table below correspond to the icons shown in the Tag Management figure above.
Number | Icon |
---|---|
1 | Edit |
2 | Download Tags |
3 | Delete Tags |
To edit tag details, follow the steps below:
To delete a tag, follow the steps below:
To sync the controller data, follow the steps below:
The Cicsoutlis package needs to be installed. Refer to the BPA Installation Guide for more information.
To manage the Service Catalog:
The following components can be added through the Service Catalog option:
This option is used for managing service categories in the Service Catalog.
Adding a Service Category
To add a Service Category, follow the steps below:
Editing a Service Category
To edit Service Category details, follow the steps below:
Deleting a Service Category
To delete a category, follow the steps below:
This option is used for managing service items in the Service Catalog.
Adding Service Items
Editing Service Item
To edit service item details:
Deleting a Service Item
To delete a service item:
This option is used for viewing all service items ordered by users. Users can search for the order by Order ID, service, date, or the user that ordered the item.
In the Orders tab, use the filter to search for an order with a status of Completed or In Process.
Sync users imports the users from the configured servers.
If LDAP integration is enabled, users can be synced with the BPA database.
From the Admin screen, click Sync Users to sync the LDAP users.
Sync users imports the users from the configured servers.
If LDAP integration is enabled, users can be synced with the BPA database.
From the Admin page, select the Sync Users tile to sync the LDAP users.
This enables calling APIs exposed by internal and external service providers. It can chain API calls as well as transform data between the API calls using internal BPA resources. Refer to Working with Adapter Builder for more details.
This is to configure the form so that data can be entered by a user as input for the Ansible template. For defining the input form, this application uses the Form Builder application.
Refer to Ansible Settings for more information.
All the templates from the Ansible controller are available on this page. Template names that start with “BPA” are used for BPA-specific functionalities.
Customized templates can be used with Form Builder form and users can launch the job in Ansible template.
Event handler automation is a framework that reacts to network events and automatically or manually trigger an action based on the severity of an event. This framework addresses closed loop scenarios and helps customers to react to events that may be triggered from devices or from an assurance and analytics solution. The framework has three stages:
Refer to the BPA Developer Guide for more information.
The backup and restore framework enables device configuration backups to be taken from various controllers and stored in a datastore that can be configured. The framework also supports a workflow-based approach to restore backup configurations on specific devices. The Backup and Restore admin application has the following components:
Policies is the metadata definition to be adhered to while running the backup and restore flows.
List Policies Page
The Policies tab provides a grid view of all the policies available in the system.
It also provides options to add, edit, delete, upload, and download policies. Policies can be downloaded from one environment and uploaded into another.
Add or Edit a Policy
A policy has the following key fields:
Backup Details:
Restore Details:
Schedules are created against policies. A user can select a list of devices and choose when to back up the device. Schedules can be one-time or periodic.
Schedules Tab
This tab lists all the schedules configured in the system. An Administrator is provided with options to add, edit, and delete schedules.
Adding or Editing a Schedule
Schedules have the following key fields:
Users can upload a “tar.gz” or .tgz file containing one or more device configuration to be saved as a configuration backup.
The upload file structure is as follows:
sample.tar.gz
to sample.tar
to
{{device-name}}.txt
The “Backup Configuration - Upload” file has the following key fields:
This tab provides the historic view of completed backups along with references to the date, policy, schedule, and status.
Users can view the detailed status of each execution.
Target repositories are instances of data systems where the backup configuration data is stored. The default, pre-configured target repository is the internal database.
Target Repositories Tab
The Target Repositories tab lists the target repositories configured for this system. Administrators can define the repository instances against different target types.
Adding or Editing Target Repositories
Key fields of the target repository are:
Target Plugins Tab
The backup and restore framework provides an option to configure an external system as storage for the backup configurations. This feature is powered by a plugin architecture. Each plugin must implement a pre-defined interface (with a list of functions, input, and output parameters) and be uploaded into the target plugin page.
Adding or Editing Target Plugins
Target plugins have the following fields:
The backup process utilizes the Advanced Queueing Framework (AQF), leveraging its throttling limits for efficient operation. With AQF, request processing during scheduled backups is optimized, ensuring seamlessness within defined throttling parameters.
The User Profile icon > Preferences option allows users to choose a preferred controller instance. Controller instances can belong to any controller type, such as Cisco Catalyst Center, DCNM, Ansible, NSO and vManage. In applications that display a controller instance selection box (shown when multiple controller instances are configured), the preferred controller instance is selected by default.
Preferences displays when adding more than one controller instance.
To set the default controller instance:
By default, All is selected. A user can change to the preferred controller instance as per their preference. If All is set as the preferred controller instance, then, based on the device selected, the controller instance is picked for any operations in Device Manager, Commands Templates, GCT, Service Center, and Form Builder pages by the system on which the device resides.
This section outlines details about all the applications available in BPA.
The Form Builder application is used to build forms for user input. These forms can be embedded in a workflow to gather input from an end user. The collected data can be used to make further decisions in the workflow or to construct payload before provisioning device via NSO.
Users can perform the following actions in the Form Builder application:
To create a new form:
To view a form:
To enable classic UI, enable the Enable Classic UI toggle. Additionally, different versions of the classic UI can be selected.
When clicking View Tree, users can expand and collapse all the fields.
Use v2 to view the Form Builder details (list or container) in a more organized tree format in the left panel and content in the right panel with the ability to switch between grid and tab or list view. This reduces the scrolls to go to the last item in the container.
Select the Expand Icon to view the details of container.
Select the Expand and Collapse icons to access the other components in the container.
Data Source Options | Description |
---|---|
Leafref | The Leafref path from the NSO YANG model. |
API Path | The API Path can be any BPA API URL and API response parses as per the specified JSON Path value. Parsed contents are used as the data element for this widget (e.g., API Path: /settings/nso/instances ; JSON Path: jsonpath : name). In the API path, the variable references can be included so that the value selected on other widget in this form can be passed on as a query parameter to this API path. This helps in conditional loading of data sources based on value of other widgets (e.g., API Path: /svcmgr/service/servicePoint?nsoInstance=${end-type} ; JSON Path: service_point). Here, end-type is the key identifier of another widget in the same form. |
Manual Path | One or more values explicitly specified in the form. |
The examples below demonstrate how JSON Paths can be used to extract values from a JSON data structure.
Example JSON
{
"service_schema": {
"telemetry:telemetry": {
"containsMultipleServicePath": false,
"containsWhenStatement": true,
"subscription": {
"mandatory": true,
"isCustomElement": false,
"sort_order": 3,
"interface-id": {
"deps": [
"/telemetry:telemetry/subscription/source-interface"
],
"evaluated_when_entry": false,
"mandatory": true,
"isCustomElement": false,
"sort_order": 4,
"when": true,
"data-type": "String",
"namespace": "/telemetry:telemetry/subscription/interface-id",
"label": "interface-id",
"nodeType": "Leaf"
},
"source-interface": {
"isCustomElement": false,
"sort_order": 3,
"options": [
"HundredGigE",
"Bundle-Ether",
"FortyGigE",
"GigabitEthernet",
"TenGigE"
],
"data-type": "enumeration",
"namespace": "/telemetry:telemetry/subscription/source-interface",
"label": "source-interface",
"nodeType": "Leaf"
},
"destination-id": {
"mandatory": true,
"isCustomElement": false,
"sort_order": 2,
"id": {
"deps": [
"/telemetry:telemetry",
"/telemetry:telemetry/destination-group"
],
"key": true,
"leafref": "/telemetry:telemetry/destination-group/name",
"mandatory": true,
"isCustomElement": false,
"sort_order": 0,
"data-type": "String",
"namespace": "/telemetry:telemetry/subscription/destination-id/id",
"label": "id",
"nodeType": "Leaf"
},
"keys": [
"id"
],
"namespace": "/telemetry:telemetry/subscription/destination-id",
"label": "destination-id",
"nodeType": "List"
},
"sensor-group-id": {
"mandatory": true,
"isCustomElement": false,
"sort_order": 1,
"interval": {
"isCustomElement": false,
"sort_order": 1,
"default": "30000",
"maxRange": 4294967295,
"minRange": 0,
"data-type": "int32",
"namespace":
"/telemetry:telemetry/subscription/sensor-group-id/interval",
"label": "interval",
"nodeType": "Leaf"
},
"sensor-group": {
"deps": [
"/telemetry:telemetry",
"/telemetry:telemetry/sensor-group"
],
"key": true,
"leafref": "/telemetry:telemetry/sensor-group/name",
"mandatory": true,
"isCustomElement": false,
"sort_order": 0,
"options": [
"oc-platform",
"cisco-platform",
"oc-bgp",
"cisco-bgp-ipv4",
"cisco-bgp-ipv6",
"oc-bundle",
"cisco-bundle",
"cisco-isis",
"oc-bgp-rib",
"cisco-bgp-rib",
"cisco-qos",
"oc-mpls",
"oc-acl",
"cisco-lldp"
],
"data-type": "enumeration",
"namespace":
"/telemetry:telemetry/subscription/sensor-group-id/sensor-group",
"label": "sensor-group",
"nodeType": "Leaf"
},
"keys": [
"sensor-group"
],
"namespace": "/telemetry:telemetry/subscription/sensor-group-id",
"label": "sensor-group-id",
"nodeType": "List"
},
"subscription-group-name": {
"key": true,
"mandatory": true,
"isCustomElement": false,
"sort_order": 0,
"data-type": "String",
"namespace":
"/telemetry:telemetry/subscription/subscription-group-name",
"label": "subscription-group-name",
"nodeType": "Leaf"
},
"keys": [
"subscription-group-name"
],
"namespace": "/telemetry:telemetry/subscription",
"label": "subscription",
"nodeType": "List"
},
"sensor-group": {
"mandatory": true,
"isCustomElement": false,
"sort_order": 2,
"name": {
"key": true,
"mandatory": true,
"isCustomElement": false,
"sort_order": 0,
"options": [
"oc-platform",
"cisco-platform",
"oc-bgp",
"cisco-bgp-ipv4",
"cisco-bgp-ipv6",
"oc-bundle",
"cisco-bundle",
"cisco-isis",
"oc-bgp-rib",
"cisco-bgp-rib",
"cisco-qos",
"oc-mpls",
"oc-acl",
"cisco-lldp"
],
"data-type": "enumeration",
"namespace": "/telemetry:telemetry/sensor-group/name",
"label": "name",
"nodeType": "Leaf"
},
"keys": [
"name"
],
"namespace": "/telemetry:telemetry/sensor-group",
"label": "sensor-group",
"nodeType": "List"
},
"destination-group": {
"mandatory": true,
"isCustomElement": false,
"sort_order": 1,
"address-family": {
"mandatory": true,
"isCustomElement": false,
"sort_order": 2,
"protocol": {
"isCustomElement": false,
"sort_order": 3,
"options": [
"grpc",
"tcp",
"udp"
],
"default": "tcp",
"data-type": "enumeration",
"namespace":
"/telemetry:telemetry/destination-group/address-family/protocol",
"label": "protocol",
"nodeType": "Leaf"
},
"encoding": {
"isCustomElement": false,
"sort_order": 2,
"options": [
"gpb",
"json",
"self-describing-gpb"
],
"default": "self-describing-gpb",
"data-type": "enumeration",
"namespace": "/telemetry:telemetry/destination-group/address-family/encoding",
"label": "encoding",
"nodeType": "Leaf"
},
"port": {
"key": true,
"mandatory": true,
"isCustomElement": false,
"sort_order": 1,
"maxRange": 65535,
"minRange": 1,
"data-type": "int32",
"namespace":
"/telemetry:telemetry/destination-group/address-family/port",
"label": "port",
"nodeType": "Leaf"
},
"ip": {
"key": true,
"mandatory": true,
"isCustomElement": false,
"sort_order": 0,
"data-type": "ipv4",
"namespace": "/telemetry:telemetry/destination-group/address-family/ip",
"label": "ip",
"nodeType": "Leaf"
},
"keys": [
"ip",
"port"
],
"namespace": "/telemetry:telemetry/destination-group/address-family",
"label": "address-family",
"nodeType": "List"
},
"vrf": {
"isCustomElement": false,
"sort_order": 1,
"default": "default",
"data-type": "String",
"namespace": "/telemetry:telemetry/destination-group/vrf",
"label": "vrf",
"nodeType": "Leaf"
},
"name": {
"key": true,
"mandatory": true,
"isCustomElement": false,
"sort_order": 0,
"data-type": "String",
"namespace": "/telemetry:telemetry/destination-group/name",
"label": "name",
"nodeType": "Leaf"
},
"keys": [
"name"
],
"namespace": "/telemetry:telemetry/destination-group",
"label": "destination-group",
"nodeType": "List"
},
"device": {
"deps": [
"/ncs:devices/device"
],
"key": true,
"leafref": "/ncs:devices/device/name",
"mandatory": true,
"isCustomElement": false,
"sort_order": 0,
"data-type": "String",
"namespace": "/telemetry:telemetry/device",
"label": "device",
"nodeType": "Leaf"
},
"keys": [
"device"
],
"service-point": "/telemetry:telemetry",
"label": "telemetry:telemetry",
"nodeType": "service"
}
}
}
Examples of JSON Path
Example Two:
{
"_id": "5d336e66259cd02c05b14567",
"createdBy": {
"name": "admin",
"firstName": "admin",
"lastName": "admin",
"id": "6fea3c84-20c7-4a40-b3a5-5a861a4ffb86"
},
"formName": "TMO_Settings",
"tabName": "TMO_Settings",
"tabId": "5d336df75ff94c2c00facec3",
"data": {
"database": {
"host": "localhost",
"port": "8080",
"username": "admin",
"password": "admin"
},
"usecases": [
{
"usecase": "VNF",
"displayName": "Basic VNF Check",
"canSchedule": true,
"emailBody": ""
},
{
"usecase": "ESC",
"displayName": "Hello ESC Use Case",
"emailBody": "HHHHHEEEEE"
}
]
},
"__v": 0
}
Examples of JSONPath:
Example Three
{
"success": true,
"response": {
"jsonrpc": "2.0",
"result": {
"current_position": 1,
"total_number_of_results": 6,
"number_of_results": 6,
"number_of_elements_per_result": 3,
"results": [
[
"arista-dcs",
"arista-dcs",
"5.2.4"
],
[
"cisco-ios",
"cisco-ios",
"6.10"
],
[
"cisco-iosxr",
"cisco-ios-xr",
"7.7"
],
[
"cisco-nx",
"cisco-nx",
"5.7.6"
],
[
"cisco-staros",
"cisco-staros",
"5.10.4"
],
[
"juniper-junos",
"junos",
"4.1.3"
]
]
},
"id": 2
}
}
Examples of JSON Path:
Example Four:
[
{
"name": "All",
"defaultPreference": true,
"lsa": false,
"default": false
},
{
"name": "nso179",
"defaultPreference": false,
"lsa": false,
"default": true
},
{
"name": "nso226",
"defaultPreference": false,
"lsa": false,
"default": false
},
{
"name": "nso165",
"defaultPreference": false,
"lsa": false,
"default": false
},
{
"name": "USER_NSO",
"defaultPreference": false,
"lsa": false,
"default": false
}
]
JSON Path Examples:
Example Five:
[
{
"id": "6fea3c84-20c7-4a40-b3a5-5a861a4ffb86",
"username": "admin",
"email_address": "admin@bizapps.cisco.com",
"first_name": "admin",
"last_name": "admin",
"created_at": "2019-07-15T08:39:36.000Z",
"local_user": true,
"groups": [
{
"id": "1ef891d0-cb52-40bd-ae6d-61c829502489",
"group": "admin"
},
{
"id": "edfb066f-93b1-43e2-8ed1-5118f9651311",
"group": "workflow-admin"
}
]
},
{
"id": "21512d4a-5e0a-4f0e-8de6-55c344d25aba",
"username": "demo",
"email_address": "demo@bizapps.cisco.com",
"first_name": "demo",
"last_name": "demo",
"created_at": "2019-07-15T08:39:36.000Z",
"local_user": true,
"groups": [
{
"id": "1ef891d0-cb52-40bd-ae6d-61c829502489",
"group": "admin"
}
]
},
{
"id": "02244f9d-8168-4ddf-9212-5811e4b6d913",
"username": "svcuser",
"email_address": "svcuser@bizapps.cisco.com",
"first_name": "Service",
"last_name": "User",
"created_at": "2019-07-15T08:39:37.000Z",
"local_user": true,
"groups": [
{
"id": "1ef891d0-cb52-40bd-ae6d-61c829502489",
"group": "admin"
},
{
"id": "f7557a5e-0d75-4357-bcab-2a74680f2890
"group": "svcacct"
}
]
},
{
"id\": "7100d085-3067-46c0-8f0b-945162f5e011",
"username": "bpaadmin",
"email_address": "bpaadmin@bizapps.cisco.com",
"first_name": "bpa",
"last_name": "admin",
"created_at": "2019-07-15T08:39:37.000Z",
"local_user": true,
"groups": [
{
"id": "1ef891d0-cb52-40bd-ae6d-61c829502489",
"group": "admin"
}
]
},
{
"id": "9ebfd385-f7c9-40f7-aa50-8c27d88a5c93",
"username": "svcmgr",
"email_address": "svcmgr@bizapps.cisco.com",
"first_name": "Service",
"last_name": "Manager",
"created_at": "2019-07-15T08:39:37.000Z",
"local_user": true,
"groups": [
{
"id": "340d0431-52c0-4f43-9214-2a6db989b865",
"group": "service-manager"
}
]
},
{
"id": "3be6eca7-bf5c-48d6-98fc-65208be59589",
"username": "devmgr",
"email_address": "devmgr@bizapps.cisco.com",
"first_name": "Device",
"last_name": "Manager",
"created_at": "2019-07-15T08:39:37.000Z",
"local_user": true,
"groups": [
{
"id": "cc5b9f7e-12dc-46ec-b31c-529d7671d073",
"group": "device-manager"
}
]
},
{
"id": "dcab8603-e763-4d5c-958b-d57e4bc7ee12",
"username": "demouser",
"email_address": "demouser@bizapps.cisco.com",
"first_name": "demo",
"last_name": "user",
"created_at": "2019-07-15T08:39:37.000Z",
"local_user": true,
"groups": []
}
]
JSON Path Examples:
The File to Storage component helps you to upload and access a file within the BPA application and File to Grid component helps you to upload a file and render it on a grid on-the-fly.
To configure a File to Storage component in the form:
To configure a file to grid component:
Users can configure a button component and provide the user or group accessibility to the button.
To configure the button component:
Cloning a form allows users to duplicate parts of the form or the entire form, saving time to make the process simpler. The clone method performs a copy of the set of matched elements that is, it copies the matched elements depending on the form selected for cloning and its service. To customize it, refer to Editing a Form.
To clone a form:
This feature allows users to create a form by Importing or Exporting Forms a form as a back-up for future use. Exported forms are stored in JSON format.
To delete a form:
In BPA, runtime forms were utilized across various applications to capture user inputs and execute actions. With the release of BPA 5.1, a new interactive and user-friendly runtime form UI is being introduced, designed to enhance user experience by enabling seamless navigation through all sections and is only available in new BPA UI.
Callout Number | Description |
---|---|
1 | Displays the form name |
2 | Expands the width of the form hierarchy |
3 | Denotes the form status |
4 | Upload: Uploads the form data; accepts JSON files |
5 | Download: Downloads the form payload |
6 | Basic: Displays the form elements; does not display in the
hierarchical format Advanced: Displays the form data in JSON format Note: Users can update inputs for both Basic and Advanced. |
7 | Displays the global-level breadcrumb path; selecting a breadcrumb loads that portion of the form, including child elements in the right-hand section |
8 | Displays the form hierarchy starting from the form name and lists all child elements; like the breadcrumb path, it is selectable and loads the selected portion in the right-hand section |
9 | View the form preview in the actual hierarchy |
10 | Right-hand section where the form displays; this view changes depending on the tab selection |
11 | Vertical bar that can be dragged to adjust the visibility of the left and right sections of the form |
12 | Use the toggle button to switch between old or new runtime form |
In Preview mode, the form is displayed in its actual hierarchy, with each level featuring an Edit icon.
Select the Exit icon to exit preview mode.
The Device Manager application allows you to manage the devices in the network.
The following actions can be performed in the Device Manager application:
To view devices:
Click the Device Manager application on the Home page. The Device Manager screen displays.
A list of devices in the network, their Name, IP Address, Port, auth group, type of NED, and protocol are displayed on the Device Manager page. The Add button is enabled for NSO and Direct-To-Device controllers. The Sync RFS button is enabled only for NSO controllers.
BPA allows users to perform several operations on devices using the Device Actions menu.
To access settings:
The list of options under Device Actions varies across the controller types.
The Device Actions are explained below:
Option | Description |
---|---|
Ping | Ping is used for troubleshooting, to test connectivity with a
device, and to determine its response time. ![]() |
Connect | Connect establishes connection to the selected devices and returns
the connection status. ![]() |
Fetch Host Keys | Fetch Host Keys fetches the host key information from the selected
device. ![]() |
Check Sync | Check Sync checks if the device configuration in the NSO CDB is
in-sync with the running configuration that is on the device. ![]() |
Compare Config | Compare Config operation compares the configuration in the NSO CDB
against the running configuration on the selected device. ![]() |
View Config | View Config allows you to view the configuration of one or more
selected devices from the list. If you have selected more than one
device in the list, select the device name in the View
Config window to view its result. ![]() |
Sync From | Sync From synchronizes the configuration to update NSO CDB with the
running configuration from device. ![]() |
Sync To | Sync To synchronizes the configuration stored in NSO CDB to the
device running configuration. ![]() |
Backup Config | Backup Config provides an option to trigger an on-demand backup for
the selected devices. Users can select the policy to be used for the
backup and an optional label to identify the backup. Backup Config is
applicable only if the controller type supports it (currently DCNM).
![]() |
Discover Device | The device selected in the main grid is treated as a Seed device.
BPA uses device discovery via the CDP neighbor command. Currently, BPA
discovers devices up to a depth of five. “Depth” represents the layer of
devices the immediate vicinity of the seed device. ![]() |
Adding a device via Device Manager is only applicable for NSO and Direct-to-Device Controllers.
To add a new device, follow the steps below:
Editing device details via Device Manager is only applicable for NSO, Ansible, and Direct-to-Device controllers.
To edit device details:
Deleting devices via Device Manager is only supported for NSO and Direct-to-Device Controllers.
To delete a device:
Importing Devices via Device Manager is only supported for NSO controllers.
To import a device:
Downloading the device template is only supported for NSO controllers.
To download the device template:
Viewing backup history is supported for the following:
Users can select the View Backup History icon to view the Backup page. This page provides the list of backup configurations available for the selected device.
This page also provides the key functionalities for the selected device as outlined below.
This page shows the device configuration from the backup store. The page also provides an option to download the configuration.
This option compares a backup with either the current running config or another backup config.
Users can select the Restore Config icon for any backup. This opens a confirmation dialog box with the relevant details. Once confirmed, the restore workflow associated with the corresponding policy is executed.
The Credentials page is primarily supported for the NSO and Direct-to-Device controllers.
A read-only list of existing credentials fetched from the underlying controller is displayed for the Cisco Catalyst Center and Ansible controllers. There is no option to add, update or delete a credential for Cisco Catalyst Center, DCNM, Ansible, and vManage controllers.
The Credentials page allows users to map local users to remote users with the relevant SSH authentication information.
To access credentials, select Credentials on the Device Manager page.
The following actions can be performed:
Adding credentials is only supported for NSO and Direct-to-Device controllers.
To add a credentials:
Editing credentials is only supported for NSO and Direct-to-Device controllers.
Deleting credentials is only supported for NSO and Direct-to-Device controllers.
To delete a device’s credentials:
The Device Groups page is primarily supported for NSO and Cisco Catalyst Center controllers.
A read-only list of existing Device Groups fetched from the underlying controller is displayed for the DCNM and Ansible controllers. There is no option to add, update, or delete a Device Group for DCNM, Ansible, and vManage controllers.
The Device Groups page allows users to create a group of devices and assign a specific name to it. Users can perform different actions on the group that will be applied to all devices in that specific group.
To access Device Groups:
Adding a device group is only supported for NSO controllers and Cisco Catalyst Center.
To add a device group:
Editing device groups is only supported for NSO controllers and Cisco Catalyst Center.
The Configuration Backup Jobs page shows a list of all the recent backup configurations. The grid shows one entry per device, with the status of the latest backup. The data can be filtered by controller type, controller instance, status of backup, as well as a date range. By default, the grid shows data for the last two weeks.
The grid has the following actions:
This action shows the device configuration from the backup store. An option to download the configuration is also available.
This option compares a backup with either the current running config or another backup config.
The View Error Details icon displays if the restore workflow has halted because of an error.
The Milestones icon gives a glimpse of the list of milestones and their corresponding status.
The last icon in the grid cross launches the user to the workflow instance page in the workflow application. This enables the user to drill-down into the workflow execution details.
The Task icon is shown if the restore workflow instance is waiting in a user task activity. Selecting this icon will open a dialog box with the form details and actions corresponding to the user task.
The OS Upgrade application allows users to monitor upgrade operations performed on devices in the network.
The workflow for the OS Upgrade is configured by creating a Device Type in the Market Variance application. The Device Type has an option to specify the custom forms and workflows for a given OS Upgrade task. An OS upgrade task can be initiated by clicking Create Order in OS Upgrade application. In the Create Order page, users need to select the devices for the OS Upgrade.
The selection of devices can be done based on the selection filters as below:
The OS Upgrade application displays the list of all the available process instances which are grouped into Active Workflows and Completed Workflows.
OS Upgrade for IOS and IOS-XR platforms are supported.
The numbers 1, 2, 3, and 4 below correspond to the icons in the figure above.
Number | Description |
---|---|
1 | View Device List |
2 | View Summary |
3 | Download Summary |
4 | View Task List |
Users can view the summary of complete workflows. Once the OS Upgrade completes successfully for the selected devices, the devices display in the Completed tab.
Click the View Summary icon to view the overview of OS Upgrade Summary of devices that includes a graphical representation of the upgrade summary.
Select the View Device List icon to see the device list and select the Eye icon to see Evaluation Results and Task List.
Select the Download Summary icon to download the summary.
Select the View Task List icon to see the Task List, Debug View, and Incident List.
Pause, Resume, or Stop the incident if required. Any devices are scheduled for a specified date or time are shown in the Pending tab.
The Config Validator application allows users to validate the configuration commands against Network Element Drivers (NED) in the NSO server. Using this app, users can select the NED and run the commands on it to check the validation. It also allows users to export the validation report that can be shared with TAC, if required.
To validate NED, follow the steps below:
The new lines and single or double spaces on subsequent lines are important to ensure the accuracy of the command.
During the validation stage, BPA performs a validation on the given commands and displays the output.
The Workflows application provides an overview of the running instances, open tasks, open incidents, individual tasks, and the group tasks. It also displays the status of workflows.
To claim a task or view the assigned task:
The Note icon allows users to claim the tasks. It is visible only for users who have the permission to claim the tasks. This permission is determined using following rules:
The numbers 1, 2, 3, and 4 correspond to the icons in the figure above and are defined in the following table. There is currently no option to edit DMN files.
Icon | Description |
---|---|
1 | View Diagram. The Settings icon in the diagram indicates the automatic process and User icon indicates the manual process. |
2 | Edit the Workflow (Only for BPMN) |
3 | Delete the Workflow |
4 | Download the BPMN/DMN File of the Workflow |
To add a defined workflow, follow the steps below:
If DMN is selected when creating the workflow, the DMN file can be created and the following screen displays:
Workflows can be assigned to one or more groups during deployment.
To import a defined workflow as draft:
To delete multiple workflows:
The Camunda workflow engine in BPA supports scripting with the JSR-223 compatible script engine implementations. To use scripting, the Script Task needs to be added within the Camunda workflow.
cd /opt/bpa/data/camunda/external_scripts/
EX: cat hello.js
// generating a random number
var a = Math.random();
print(a);
print(\"Hello World\");
cisco-bpa-platform-cs-camunda:
enableExternalScripts: true
The Workflow Instances tab displays all the running instances of the workflow. Users can view the diagram to view the status of workflow, pause, and stop a workflow.
Topology Service provides a way to model networks and network elements using a graphical representation. The Topology Service application displays the Service Topology, Network Topology, and Network Topology templates. Users can edit and delete Topology templates and create a template form or Build Network Topology link which is available in the Network Topology templates.
After completing the above, the topology data is available to view the network topology.
The different topology options are:
Service Topology shows relationships between devices and service instances. It also shows the topology on a geographical map if latitude/longitude values are defined on devices in NSO.
If LSA is enabled in the NSO Settings and the user selects a LSA node for NSO, the RFS node is auto populated and the user is required to select the RFS node.
To view the topology of a device, follow the steps below:
The location of a service instance is displayed on the Map. Green indicates service and blue indicates devices on the map.
Network topology is an arrangement of the various elements such as links, nodes, devices, etc. of a communication network which may work as a sender or receiver. Network topology is the topological structure of a network and may be depicted physically or logically.
This feature allows users to easily find a device by applying search filters as required.
Market variances are parameterized data sets that can be leveraged across the BPA platform. Region specific data such as NTP server, logging server, SNMP server etc. can be stored by region, market, and device type. The parameterized values can be leveraged in GCT, service provisioning, and workflows.
Constructs used in the Market Variance application include:
The following tasks can be performed in Market Variance:
To add market variance:
To add global variance:
Users can create market or global variances only if users have added a Device Type, Region, and Market prior to adding variances.
To edit a market variance, select the Edit icon to make changes to market variance and click Update.
To edit a global variance, select the Edit icon to make changes to a global variance and then click Update.
Users can create market or global variances only if they have added a Device Type, Region, and Market prior to adding variances.
Cloning is supported only for a market variance. Select the Clone icon, then select a region and market from the Clone Market Variance window.
A device type identifies the type of a device along with associated Global or Market Variance forms and applications that are allowed to use these variances. These forms must be built with Form Builder. Refer to Working with Form Builder Application for more information.
The controller data mapping feature reduces the manual work required during a configuration update like Apply Config. For example, if users want to configure hundreds of devices and the configuration for the variables is predefined, then users can use Controller Data Mapping to enable auto-populating of the configuration during Apply Config.
The Controller Template Variable Mapping is found under Market Variance.
Select the Controller_Template_Variable check box and select the Edit icon.
There are two ways to add configurations.
To use the configuration mapping, the existing configuration template must be downloaded.
The sample format is below.
[
{
"status": true,
"data": {
"type": "globalvariance",
"id": "63c157cd3f74a400270d1d96",
"deviceType": "Controller_Template_Variable_Mapping",
"forms": {
"Controller_Template_Variable_Mapping": {
"controller-template-variable-mapping": [
{
"templateName": "temp_cEdge_8000",
"siteId": "204",
"variableName": "Interface Name(sit_vpn_10_interface)",
"variableValue": "Gi 1/0/1"
},
{
"templateName": "BPA_tmp_C8000v_Device_Template_Ver2.0",
"variableName": "Address(vpn_next_hop_ip_address_0)",
"variableValue": "address-from-mv",
"siteId": "1225"
}
]
}
},
"newRegionCode": "",
"deviceTypeId": "63c157cd3e9dfc008f70c709"
}
}
]
To upload the configuration template:
After the upload process is complete, the configuration is applied during the Apply Config process, and the template name and siteID match; then Apply Config automatically populates the values from the Market Variance.
For enabling SD-WAN use cases, a master should be set up in a vManage instance in a default zone.
When adding or configuring a Global Administrator, a user group with Global Administrators needs to be mapped to a default zone. Also, the Global Administrator group (i.e., global-admin) should be mapped with other country administrator zones.
For example, there is a user called Global that can access the vManage master instance. In this case, global-admin was created as a group and the global user was mapped to the global-admin group. This global-admin group should be assigned with the default zone where the master vManager instance is configured.
For example, country Administrators must be configured for Asia and Europe. In this case, an asia-admin-group and an europe-admin-group are created. Respective users need to be added and mapped with the individual groups. Two new zones need to be created (e.g., vmanage-asia-zone, vmanage-europe-zone) and the groups created earlier (e.g., asia-admin-group, europe-admin-group) need to be mapped to these zones. The asia-admin-group is mapped to the asia-zone and the europe-admin-group is mapped to the europe-group. Also, the global-country Administrator is mapped to these zones so that the Global Administrator can view devices or templates across all of the secondary vManage instances.
When new secondary controllers are added, the secondary controllers should be mapped to the individual zones. For example, if a vmanage-asia instance is added, then the instance should be mapped with the asia-zone.
The Adapter Builder enables calling APIs exposed by internal and external service providers. It can chain API calls as well as transform data between the API calls using internal BPA resources.
Adapter Builder features include:
The Adapter Library tab lists the existing adapters.
From the Adapter Library, users can:
The Manage Credentials tab defines the authentication mechanism. The following authentication mechanisms are available:
Bearer Token
Perform the following for the Static JSON Web Token (JWT):
Dynamic JWT is a two-step process which includes more features:
Perform the following for the Dynamic JWT:
API Key
The following data should be entered for the API key:
Basic Authentication
Provide the User Name and the Password.
No Authentication
The API can be directly done.
OAuth Token
This is a three-step process which requires two servers: an OAuth Server and a Resource Server. This performs as below:
The Build Your own Adapter tab is used to create a new adapter.
To build an adapter, perform the following:
If the Expand icon is selected, individual details of the endpoints display.
The About Adapter Generator tab provides the documentation for the Adapter generation.
This page allows users to build a JSONata Path Query and validate it by using an input JSON object/array. The page provides the response, allowing users to validate whether the query built properly or not.
Perform the following:
The Commit Manager application provides the capability to work with NSO commit queues. The Commit Manager supports the ability to disable or enable global commit queues and view the items in the commit queue. Commit Manager supports NSO capabilities to lock, unlock, prune, delete, etc. for commit queue items. Users can roll back the service based on labels.
Users can perform the following tasks:
Perform the following to set the global options:
Options | Actions |
---|---|
Lock Device | Adds an active queue-item to the commit-queue. Any queue item affecting the same devices entering the commit-queue waits for this lock item to be unlocked or deleted. |
Clear Queue | Clears the entire queue. All devices present in the commit queue are out of sync after this action is executed. This action is not recommended for normal use cases. |
Prune Device | Prunes all specified devices from all queue items in the commit queue. Affected devices are out of sync after this action is executed. Devices currently being committed to are not pruned. |
Set Atomic | Sets atomic behavior of all queue items. If set to false, the devices contained in these queue items can start executing if the same devices in other non-atomic queue items ahead of it in the queue are completed. If set to true, the atomic integrity of these queue items is preserved. |
Enable by Default | Enables the commit queue by default for this NSO. |
Select the required item and select an action from the Action drop-down list. Actions are described in the table below.
Options | Actions |
---|---|
Lock | Puts a lock on an existing queue item. A locked queue item cannot start executing until it has been unlocked. |
Unlock | Unlocks a locked queue item. Unlocking a queue item which is not locked is ignored. |
Prune | Prunes the specified devices from the queue item. Devices currently being committed to are not pruned. |
Set Atomic | Sets the atomic behavior of a queue item. If this is set to false, the devices contained in this queue item can start executing if the same devices in other non-atomic queue items ahead of it in the queue are completed. If set to true, the atomic integrity of the queue item is preserved. |
Delete | Deletes a queue item from the queue. If other queue items are waiting for the deleted item, they automatically start to run. The devices of the deleted queue item are out of sync after the action is executed if they have not started executing. |
Select the View icon on the Commit Manager page to view item details.
Perform the following tasks on the Rollbacks tab:
The required NSO can be selected from the Select NSO drop-down list. For Rollbacks, the Selective option is used to rollback only a particular commit. If the Selective check box is not selected, then all previous commits are rolled back.
The Script Runner application allows users to run Python and Ansible scripts.
The numbers below correspond to the icons shown in the figure above.
Number | Description |
---|---|
1 | Run the Script |
2 | View the Script |
3 | Edit the Script |
4 | Delete the Script |
5 | Download the Script |
The Executions tab show the status of the scripts.
Users can see the status on the Executions tab and check the logs by selecting the Eye icon in the Actions column.
BPA supports custom element templates for common tasks invoked from workflows. These can be accessed from the integrated modeler in workflows’ applications or downloadable as a package for the external modeler.
This section lists all supported BPA element templates. There are two categories of element templates, as follows:
Service Task based templates are listed below.
Analytics Diff
Analytics Multi Diff
{
"deviceList":[
{
"deviceName":"iosxr1",
"templateId":"migration-template",
"variablesMap":{
"port_type":"TenGigE",
"port_number":"0/2"
}
}
]
}
Create Service commit dry run
{
"create":[
{
"prefix-set-service:prefix-set-service":[
{
"name":"pre-test",
"prefix-set":[
]
}
]
}
],
"delete":[
]
}
Create Service Instance
{
"create":[
{
"prefix-set-service:prefix-set-service":[
{
"name":"pre-test",
"prefix-set":[
]
}
]
}
],
"delete":[
]
}
Execute Template
Execute Command Template
{
"deviceName":"11.1.1.1",
"templateId":"test2735",
"commandList":[
{
"command":"show version",
"isConfigMode":false,
"goToStepOnPass":"",
"goToStepOnFail":"",
"passExpr":"",
"rules":[
]
}
]
}
GCT Dry Run
GCT Commit
Create Devices
[
{
"address":"100.1.4.5",
"admin-state":"unlocked",
"authgroup":"default",
"description":"",
"latitude":"",
"longitude":"",
"device-type":"netconf",
"name":"3.0.1.2",
"ned-id":"lsa-netconf",
"port":"8080",
"protocol":""
}
]
Fetch Host Keys
Device Sync From
Connect to Device
Create Device Group
Send Mail
Send Mail Advanced
{
"to": "receiver@xyz.com",
"subject": "Mail Subject",
"text": "Mail Text"
}
Create Ticket
External task template
Update Ticket
Create Notification
Create Notification Advanced
[
{
"category":"nso.device.added",
"severity":"error",
"user":"admin",
"payload":{
"title":"New device added",
"description":"10.1.1.1 managed successfully at NSO1"
},
"_options":{
"toaster":true
}
}
]
User Task based templates are listed below:
Form Builder Task
View Commit Dry Run Task
Command Template Task
View Diff Task
OS Upgrade Task - Description: User task used to perform the OS Upgrade operation - Component Type: OS upgrade dialog component - Input Parameters: - Form buttons - Payload
OS Upgrade Device Details Task
To improve the UI performance, data in the grids display one week of data based on the created and modified dates by default. If users want to fetch older data, they can change the From Date and To Date fields.
The date filters are implemented in following applications.
If a user navigates to different tabs or sites after performing a particular filter in the Workflow or Service Catalog, the filter persists until the user logs out of the session.
The following actions can be applied to the persistent filters in the Workflow and Service Catalogs:
Workflows
Tabs: Tasks, Defined Workflows, Workflow Instances
Service Catalog
Tabs: Services, Active Services, Order History
The following actions applied persistent filters in service Catalog.
The Schedules tab lists all schedules handled by the application and includes an option to filter based on time range. By default, schedules from the last two weeks display.
The user can also add, edit, delete, import, and export schedules.
Users also have the option to view all triggers that have happened to date, for each of the schedules.
The add and edit schedule page has the following fields:
To open the ELK Kibana dashboard:
To change the default number of rows that display in the dashboard (up to 10,000):
When connecting to Kibana, users are redirected to the Discover page. This page displays all the ELK stack’s most recent logs. Users can filter through the logs to locate specific log messages based on Search Queries and narrow search results to a specific time range with the Time Filter.
Kibana Discover includes the following:
To assist users in searches, Kibana includes a filtering dialog box that provides simple filtering of data displayed in the main view.
To use the dialog box, click Add a filter + under the search box and experiment with the conditionals. Filters can be pinned to the Discover page, named using custom labels, enabled or disabled, and inverted.
In earlier versions, the only way to query Kibana was using Lucene syntax. With version 6.2, Kuery, or as it’s called now KQL, can be used to improve the search experience.
Since version 7.0, KQL is the default language for querying in Kibana, but users can revert to Lucene.
Searching Elasticsearch for a specific log message or strings within these messages is the basis of Kibana. In recent versions, improvements and changes to the way searching is done have been applied.
By default, users now use a new querying language called KQL (Kibana Querying Language) to search their data. Users accustomed to the previous method – using Lucene – can opt to do so as well.
Kibana querying is an art unto itself, and there are various methods users can use to perform searches on your data. Here are some of the most common search types:
To write a query in the Kibana dashboard to access BPA devices logs:
Confirm that the bpalogs* index pattern is selected as follows:
For more information on Kibana, see the references below:
If users are unable to log in with valid credentials, the System Administer can identify one of the following possible issues:
Contact the System Administrator and check the various docker specific commands on the server.
Problem: No services are displayed in the Services drop-down list. This generally occurs when: logging in for the first time
Solution: Navigate to the Admin section and click ‘Sync Services Schema’ app. It displays the sync success or error message against every available service in the NSO server.
Problem: The portal is not able to communicate with the NSO server.
Solution: Navigate to Admin > Settings > NSO section connection setup details and check whether correct details are updated.
Problem: Changes done in Service Manager do not reflect.
Solutions:
Problem: The Command Template execution returns the overall result as true irrespective of the command output.
Solution:
Configuration Compliance and Remediation
Golden Configuration Template Next Generation
Service Catalog Next Generation
Revision | Publish Date | Comments |
---|---|---|
1.0 |
24-Sep-2025
|
Initial Release |