Release Alerts

On this page:

Intential Automation Gateway

Conflict Definition Errors Caused by Multiple IAGs With Different Ansible Versions

This release alert refers to an exception situation in connection with Itential Automation Gateway (IAG). There is a conflict definition error in the pronghorn.json of app-ag_manager.

The root cause of the conflict is a schema mismatch between modules, roles, playbooks or scripts with same name across all instances of IAG connected to Itential Automation Platform (IAP).

The error looks like this:

Cannot find match for input: \"ERROR\" from model

Problem Explanation

  • If there are multiple IAGs connected to IAP, and the Ansible version of all IAGs are not same (i.e., IAG1 has Ansible v2.7.3 and IAG2 has Ansible v2.8.1), that mismatch creates a schema mismatch.
    • The conflict issue is caused when two different versions of a module are developed with different schema parameters (params).
    • For example, a module named iosxr_config in Ansible v2.7.3 has params x,y,z but the same module has params x,y,z,s in Ansible v2.8.1. With this example, there is now a conflict in schema for the given module.
  • Prior to release 2020.1.5, an error parameter was implemented in the pronghorn.json of app-ag_manager for that given module which restricted the customer from using the given task in IAP automations.
  • After 2020.1.5, Itential implemented a fix where customers can still use the task, but an error message is logged in the task description so customers can fix the IAG version that is causing the conflict.

How to Handle This Error After 2020.1.5

To fix the conflict:

  1. Make sure all IAGs connected to IAP have the same version of IAG and Ansible.
  2. Use the undiscoverall call to remove all discovered modules, roles, playbooks, etc.
  3. Once every instance of IAG and Ansible is on the same version, and after running the undiscoverall action, restart all Automation-Gateway adapters.
  4. Please allow a 5 second buffer to avoid race conditions.

Ansible Modules Data Type Update in IAG 2020.2

Beginning with Itential Automation Gateway (IAG) 2020.2, for Ansible modules with argument type integer, IAG outputs them as type number in their module schema. This update provides a consistent schema between IAG Ansible modules and Itential Automation Platform (IAP) workflow tasks.

Problem Explanation

Ansible modules are written in Python and the primary argument types are integer. The IAP workflow engine schema is based on JavaScript Object Notation (JSON). The schema validator used by Itential prefers number over int/float numeric types. Hence, workflow engine saved all data type integer as string in the database and issued a warning whenever the user saved a workflow task.

How to Run the Data Type Update

To run the update:

  1. Make sure both IAP and IAG are on 2020.2
  2. Users that have a pre-existent AG Manager pronghorn.json should invoke the undiscoverAll task to restore pronghorn.json to its original state.
  3. Make sure all IAG instances are also running 2020.2
  4. Connect IAG one-by-one (or restart the IAG adapter in IAP) to complete the update of pronghorn.json in AG Manager.