Switch to OSLO Messaging
This blueprint is to document the project to switch trove to use OSLO
Get Trove on the same page w/ other projects + oslo. This will require
refactoring the rpc layer
Prevent backward incompatibility between Trove components
- The rpc client can send an older version of a message/call to a
newer message handler without issue.
- The rpc client can send a newer version of a message/call to an
older message handler without killing it (need to confirm this).
- The rpc client can check to see if it can send a newer version of a
- Reduce the need for downtime during deployments.
- ** Effectively allows for a mix of versions between the control plane
- and guest agents (in most cases). There may still be updates that
will require down time.
- Remove rpc common components from oslo incubator?
- Use oslo messaging library
- ** The minimum version will be picked from global-requirements. At the
- time of this writing, it’s >= 1.4.0
- Keep track of a “version history” in comments in the code
- Update trove calls to the openstack.common.rpc client to include a
version cap param. (This is already supported in the client)
** Trove API –> Task Manager
** Trove API –> Guest Agent
** Guest Agent –> Conductor
** Task Manager –> Conductor
** Document the use cases and examples of how to add/modify API calls
oslo.messaging has been designed to be backwards compatible
config-wise. All the config compatibilities will be kept until all the
projects have been migrated to oslo.messaging.
- Primary assignee:
Additional tests will be proposed if required, existing tests amended.