Add simple unit tests to the Trove specs repo which ensure that specifications submitted follow the template correctly and address all the needed sections. Update tox to run these unit tests automatically. At the beginning of each release, test_titles.py will need to be updated and 'current_release' modified to reflect the new release directory. At the same time, the new release directory will be created, the index.rst file in doc/source ammended to include this directory, and any unmerged specs moved there. In this way, changes to the template will only affect specs going forward and avoids having to modify any specs that have merged in previous releases. (It will also have the side effect of signalling the 'opening' of the release to new specs.) Change-Id: I8f1175bceed63d36d96b6c6c6b4188ef27d3102e
2.6 KiB
Switch to OSLO Messaging
https://wiki.openstack.org/wiki/Trove-rpc-versioning
This blueprint is to document the project to switch trove to use OSLO Messaging.
Problem Description
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 message/call.
- 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.
Proposed Change
- 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
Configuration
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.
Database
NA
Public API
NA
Public API Security
NA
Internal API
NA
Guest Agent
NA
Alternatives
None
Implementation
Assignee(s)
- Primary assignee:
-
sgotliv
Milestones
Kilo-1
Work Items
- see above.
Dependencies
None
Testing
Additional tests will be proposed if required, existing tests amended.
Documentation Impact
Yes