diff options
author | Russell Bryant <rbryant@redhat.com> | 2012-07-27 08:42:30 -0400 |
---|---|---|
committer | Russell Bryant <rbryant@redhat.com> | 2012-07-31 14:18:39 -0400 |
commit | cf1540c4a62f0a31c4a313be3811d1e4b81091f8 (patch) | |
tree | 45f92d13af9fb301cd4c7a00e38a20b566c48027 /nova/exception.py | |
parent | 8605f34a31883c97d9385b3c8c5c5120bae52433 (diff) | |
download | nova-cf1540c4a62f0a31c4a313be3811d1e4b81091f8.tar.gz nova-cf1540c4a62f0a31c4a313be3811d1e4b81091f8.tar.xz nova-cf1540c4a62f0a31c4a313be3811d1e4b81091f8.zip |
Partially revert "Remove unused scheduler functions"
This partially reverts commit 2aaa3d2860eed7574c5df64a8ceeb8a6adf23460.
The problem pointed out by this bug is that these changes introduce a
non-backwards compatibile change to the schedulre rpc API. There are a
couple of acceptable ways to deal with this:
1) Leave most of the code and only remove the client side. This means
that a message sent from an earlier version will still work. This is
the ideal situation for almost *all* changes to rpc APIs. We have to
make a habit of this to eventually be able to support rolling
upgrades.
2) Leave the manager methods, but simply have them raise an exception.
This is a bit better than removing the method because the error
can be made more explicit and obvious. Otherwise, the operator will
get "no such method" rpc exceptions, which will seem a bit more
bizzare.
An example of when this option makes sense is commit
cac332c39645286a11c009094a86f62d02752183. This patch refactored the
live migration code is such a significant way that making it
backwards compatibile seemed rather difficult to do. The old rpc
methods stuck around but just raise an exception. The potential
failure is just that live migration would fail, but the exception
makes it obvious that an upgrade must be completed for live migration
to work.
The current patch implements #2 in the case of get_service_capabilities,
since it hasn't been used since pre-essex. Approach #2 is taken for
get_host_list() as well. It was used until fairly recently, but was
broken, including being broken in Essex. The fix that went into Essex
for this makes it no longer use RPC.
Fix bug 1029262.
Change-Id: I74c7d2a3e88b3a4f114e7da62c56f0481ee64a64
Diffstat (limited to 'nova/exception.py')
0 files changed, 0 insertions, 0 deletions