Formalized Message Structure

Registered by Jason Kölker

Documenting the messages passed through the rpc layer to improve modularity and scalability.

Blueprint information

Status:
Complete
Approver:
Vish Ishaya
Priority:
Medium
Drafter:
Nova Upgrades Team
Direction:
Approved
Assignee:
Russell Bryant
Definition:
Approved
Series goal:
Accepted for folsom
Implementation:
Implemented
Milestone target:
milestone icon 2012.2
Started by
Vish Ishaya
Completed by
Thierry Carrez

Related branches

Sprints

Whiteboard

At the very least, it would be helpful to somehow indicate (annotate?) the method calls that are intended to be called via RPC. -- Lorin

Also, what about using PyContracts <http://pypi.python.org/pypi/PyContracts> for checking parameter types via precondition contracts? -- Lorin

Can't you find the functions being called by grep'ing for "rpc.call"?
Also would be nice to try out msgpack and see what performance gains we get. --tr3buchet

Since we have a blueprint for rpc versioning, this is blueprint is documenting the calls as they exist in version 1.

I think this blueprint is addressed by the patches proposed for https://blueprints.launchpad.net/nova/+spec/versioned-rpc-apis. The message construction is now centralized in nova/*/rpcapi.py modules instead of more scattered throughout the code base. To see what messages are sent, you just look in the rpcapi modules now.

QA:
----
Internal - coding/documentation
Test Impact - None

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.