trove-specs/specs/kilo/switch-to-oslo-messaging.rst
Nikhil Manchanda 4a72d213aa Add unit tests for Trove specs
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
2015-06-16 21:53:16 +00:00

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

References

See https://review.openstack.org/#/c/94484/