Support online upgrades

Registered by Jim Rollenhagen

This is going to take quite a bit of work. Things to consider here:

* getting all API->DB calls remoted to conductor
* Properly versioning objects and making them compatible between versions
* Ditto for RPC APIs
* How we do DB migrations
* all the docs.

This is going to be partially code, partially user docs, and partially developer/reviewer docs.

Blueprint information

Status:
Not started
Approver:
None
Priority:
High
Drafter:
Jim Rollenhagen
Direction:
Needs approval
Assignee:
None
Definition:
Discussion
Series goal:
Accepted for mitaka
Implementation:
Unknown
Milestone target:
None

Whiteboard

Gerrit topic: https://review.openstack.org/#q,topic:bp/online-upgrade-support,n,z

Addressed by: https://review.openstack.org/235909
    Make object methods remotable again

Do we need a spec for that? I create a etherpad for this, but a spec should be better. https://etherpad.openstack.org/p/ironic-online-upgrade-support // lintan 2015-10-29

Addressed by: https://review.openstack.org/243497
    Isolate ir-api from DB

Addressed by: https://review.openstack.org/248647
    Add Code Review Guide for Ironic

Gerrit topic: https://review.openstack.org/#q,topic:bug/1502895,n,z

Addressed by: https://review.openstack.org/249624
    Add a test to enforce object version bump correctly

Gerrit topic: https://review.openstack.org/#q,topic:RPC_version,n,z

Addressed by: https://review.openstack.org/253355
    Add a config option [upgrade_level]/condcutor_rpcapi_cap

Hi Jim, I've created an RFE bug - https://bugs.launchpad.net/ironic/+bug/1526283, please use it to track further work.
//vdrok 2015-12-15

Addressed by: https://review.openstack.org/261443
    Refactor install-guide to configure API/Conductor seperately

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.