Upgrading Agents and Agent Coexistance

To upgrade an agent that was built using an older version of the agent library, you need to stop the agent, point its CLASSPATH to the new version of the agent library, and restart the agent.

There are a few limitations that you must keep in mind when upgrading an existing agent to a newer version. Consider a scenario where you have a version of an agent installed. Later, you upgrade to a newer version of the agent. Assuming the Agent ID and the Agent URL do not change, the following holds true:
  • The UI rendered depends on the newer version of the agent.
  • The name of the Agent Type does not change.
  • When upgrading an agent, the Permissions, ObjectTypes and Roles that were defined by the older version of the agent must be carried forward. This ensures agent backward compatibility. If you do not carry forward the Permissions, ObjectTypes and Roles, the agent will fail to register with the server. However, you can remove operations from child objects and also remove solutions without causing disruptions in agent backward compatibility.
  • You can add child objects, solutions, roles, or operations to Top Level objects.
  • Old agents are not running.
  • Downgrade is supported.

Agent Type and Version Coexistence

Consider a scenario when two different versions of agents are managing two different versions of the product. Then the following holds true:

  • The Agent Type name is the same.
  • The Agent ID or Agent URL must be different.
  • The information must be merged from different agents.
  • The Permissions, ObjectTypes and Roles that were defined by the older version of the agent must be carried forward. This ensures agent backward compatibility. If you do not carry forward the Permissions, ObjectTypes and Roles, the agent will fail to register with the server.
  • Operations on shared objects do not change.
  • The UI displays the latest TopLevelTeaObject.
  • Only nondestructive changes are allowed on Operations of the TopLevelTeaObject.
  • If your first agent has four solutions and the second one has only three, the second agent will display all four solutions.
  • If you delete some operations in the second agent, the deleted operations will continue to display in the second agent but cannot be invoked from the second agent.
  • When invoking the operations for the TopLevel object, you must select the agent version from where you want to invoke it. When you click on the link for the operation the resulting dialog will prompt you to select the agent version from where you want the operation invoked.
  • The GroupBy Type operation on the server goes to the correct version of the object.