← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1049249] Re: Remove plugging of internal classes from configuration

 

** Changed in: nova
       Status: Fix Committed => Fix Released

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1049249

Title:
  Remove plugging of internal classes from configuration

Status in OpenStack Compute (Nova):
  Fix Released

Bug description:
  Nova currently has the following options:

      cfg.StrOpt('compute_api_class',
                  default='nova.compute.api.API',
                  help='The full class name of the compute API class to use'),
      cfg.StrOpt('network_api_class',
                  default='nova.network.api.API',
                  help='The full class name of the network API class to use'),
      cfg.StrOpt('volume_api_class',
                  default='nova.volume.api.API',
                  help='The full class name of the volume API class to use'),

  These options came from the following commit:

  commit c729ba8c0aa4d283e84d139bc98e0e89fd933c4a
  Author: Chris Behrens <cbehrens@xxxxxxxxxxxx>
  Date:   Sun Jan 15 23:29:41 2012 -0800

      Core modifications for future zones service.
      
      Makes compute/network/volume API classes pluggable
      Splits some code out in compute/api
      Adds some race condition checking on deletes in compute/api
      Make instance_delete support UUIDs
      Add support to RPC to cast to specific servers
      Migrations for future zones
      
      Change-Id: Ibee126cd6d325e11770f27589e79dfd0e6104b99

  
  Nova should not expose the ability to replace internal classes in the configuration.  These classes are internal implementation details.  Exposing it via configuration like this commits us to some level of maintaining these implementation details in case someone has put in their own version.  It also seems like a support nightmare.

  Based on the commit when these went in, it sounds like we can just
  remove these options completely and handle what is necessary
  internally.  For example, if these classes need to be swapped out for
  cells, then when you enable cells, it can be done automatically
  internally instead of allowing anyone to replace these classes with
  anything.

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1049249/+subscriptions