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:- 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
- 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.
- Download the new updated manifest that should be
used
GET /agent-manifests/{manifest-id-from-previous-step}
- Replace the agentManifest section of the exported flow definition (stored in the first step) with the one retrieved in the previous step.
- 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.
- Import the updated flow definition
file.
POST /designer/{agentClassName}/flows/import
In the flow designer the new or updated processors should be available.
- 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.