ironic/ironic
Ruby Loo 7b09d3e8dc Remove unused IronicObjectIndirectionAPI from ironic-api
Many moons ago, we thought that we would implement rolling upgrades
using a similar model to nova. This included adding an instance
of an IronicObjectIndirectionAPI to the ironic-api service. What
it was meant to do was for ironic-api to invoke it if it received
an IronicObject that it didn't know what to do with (because it
didn't recognize that object's version). That API would have
invoked the conductor service, asking it to generate a version
of that object which ironic-api would understood.

To use this mechanism, the assumption is that the conductor is
the gateway to the DB.

This mechanism doesn't work for ironic for a few reasons:
- ironic API reads (and occasionally) writes directly to the database.
  We don't want to change it to get access to the DB via the
  conductor all the time, since for e.g. we don't want to slow down
  the conductor
- Nova's rolling upgrade process is to initially take down all their
  conductor services (which handles their DB interactions) at the
  same time,  while their other services are still running. Unless
  ironic changes to have a similar model, we cannot take down all
  the conductor services at the same time if ironic is to provide
  services during a rolling upgrade.

Thus, this patch removes the unused IronicObjectIndirectionAPI from
the ironic-api service. Note that the IronicObjectIndrectionAPI
class itself (in ironic/objects/indirection.py) was left, in case
things ever change in the future. (And because removing that would
involve touching most, if not all, of the files in the objects/
subdirectory.)

Change-Id: I1aa264a8619105939968c0b8128b358badf00210
Closes-Bug: #1586320
2017-11-02 17:07:33 -04:00
..
api Merge "Add ability to provide configdrive when rebuilding" 2017-11-01 22:27:16 +00:00
cmd Remove unused IronicObjectIndirectionAPI from ironic-api 2017-11-02 17:07:33 -04:00
common Simplify the logic of validate_network_port 2017-11-02 10:05:55 +08:00
conductor ipmitool: reboot: Don't power off node if already off 2017-09-27 17:19:46 -07:00
conf Remove unnesessary description for config parameters in cinder group 2017-10-30 19:30:23 +09:00
db ironic-dbsync: check object versions 2017-10-23 12:52:25 +00:00
dhcp Change pxe dhcp options name to codes. 2017-10-13 12:50:58 +03:00
drivers Merge "Migrate python-oneviewclient validations to Ironic OneView drivers" 2017-11-01 20:35:41 +00:00
locale/ja/LC_MESSAGES Imported Translations from Zanata 2017-08-18 07:17:54 +00:00
objects Disallow rolling upgrade from Ocata to Queens 2017-10-10 15:37:07 -04:00
tests Remove unused IronicObjectIndirectionAPI from ironic-api 2017-11-02 17:07:33 -04:00
__init__.py Move eventlet monkey patch code 2017-03-02 13:48:18 +02:00
version.py Correct version.py and update current version string 2014-03-21 13:50:05 -07:00