TPTP feature: bugzilla_number

Author: Karla Callaghan
email: karla.callaghan@intel.com
Last updated:


Rough workload estimate for design/code/test in person weeks: 20 PW

Rough workload estimate for doc in person days: 3 PD

Expect old documentation to carry forward, just provide help when configuring or seeing problems when in compatibility mode.

Rough workload estimate for build and infrastructure in person days: 5 PD

Only some packages will include new AC in place of RAC, possibly provide link to a fallback RAC package when first introduce new packages.


Requirement summary

Provide backwards compatibility such that existing clients can talk to existing agents using the new Agent Controller in place of the RAC without requiring changes of the clients or agents.

User interactions

The desire is to have no impact for the users. If changes in the configuration cannot be hidden a utility will be provided to make the conversion easy.

Compatibility

Existing downstream consumers of the RAC continue to work as is when the AC is put in the download package in place of the RAC.

Design summary

The backward compatibility implementation consists of two new transport layers that will be introduced for use with the new technology Agent Controller.  These transport layers – one for communication with clients and one for communication with agents – will make the new AC appear as if it were an old AC to clients and agents that attempt to communicate with it while making these clients and agents appear to the AC as if they were new technology clients and agents.  The serviceconfig.xml configuration settings determine when these transport layers will be loaded by the new AC so that they may be loaded only when needed.

The client compatibility transport layer (CCTL) will listen on the socket(s) that were previously monitored by the old Agent Controller (i.e. 10002 by default, or 10003 for secure communication, but the ports are configurable if need be since the TL gets its port number from the serviceconfg.xml file).  When this socket is opened, the CCTL will expect to receive the old Agent Controller protocol.  Commands will be decoded according to this protocol and the CCTL will interact with the AC and any agents available through the AC to emulate the behavior of the old AC.  Note that the CCTL communicates with agents using the new AC protocol.  In practice, the agents it is communicating with will be old agents (i.e. written to communicate with the old RAC), but the CCTL does not depend upon this.  This makes it possible for new and ported agents to provide services to old technology clients by supporting “legacy” interfaces.

The agent compatibility transport layer (ACTL) will monitor the named pipe that was previously used by the old Agent Controller (i.e. “ramaster”) and communicate with old technology agents using the old protocol, including providing shared memory services for data transfer.  When agents register with the ACTL, the ACTL will use the new protocol to register the agent with the (new) AC and use the old protocol to communicate with the agent.  As commands are sent to agents (via the AC) the ACTL will translate the commands into the old protocol and forward them to the agent.  As the agent sends commands, the ACTL will emulate the behavior of the RAC and translate the commands into the new protocol as necessary.