Showing changes after agent upgrade for existing agent class

After agents are upgraded, the changes in manifest, for example, new processors or changes in processor properties, can be made visible by adding the upgraded agents to a totally new agent class. Everything should work out of the box this way. The main drawback is that you need to re-create the existing flow for this new agent class manually which could be problematic for complex flows.

This will be addressed and made more user friendly in the future, however, in the meantime there are some manual steps that can be followed to update the manifest of an existing flow to reflect the new agent capabilities. But the risk is high here as the compatibility between the already existing flow and the updated manifest can not be guaranteed. It always depends on the flow itself.
Perform the following manual steps for existing flows with updated agents, through REST endpoints; check /swagger for endpoint details:
  1. Export the flow definition that needs to be updated and store it locally; later this file needs to be updated.
    GET /designer/{agentClassName}/flows/export
  2. After agent upgrade determines the new manifest ID belonging to the agent, retrieve information for the agent.
    GET /agents/{id}

    You can pick any of the upgraded agents. All agents point to the same shared manifest ID.

  3. Download the new updated manifest that should be used
    GET /agent-manifests/{manifest-id-from-previous-step}
  4. Replace the agentManifest section of the exported flow definition (stored in the first step) with the one retrieved in the previous step.
  5. In the exported flow definition for the defined processors the bundle versions need to be replaced to be in sync with the versions in the bundles coming from the new manifest.
  6. Import the updated flow definition file.
    POST /designer/{agentClassName}/flows/import

    In the flow designer the new or updated processors should be available.

  7. Double check the processor properties as property name changes could occur in this case. The renamed or deleted property appears as custom property on the processor.