diff options
author | Andrew Bogott <abogott@wikimedia.org> | 2012-07-01 16:37:14 -0500 |
---|---|---|
committer | Andrew Bogott <abogott@wikimedia.org> | 2012-07-15 16:25:26 -0500 |
commit | a30ed72967eddf16718af717978acd80ebef2006 (patch) | |
tree | e1bb817d7827d16a2de48e31236adf76e5e0724c /nova/manager.py | |
parent | 500ee77121512fd40f5c2afb885fdc45fbf4b57f (diff) | |
download | nova-a30ed72967eddf16718af717978acd80ebef2006.tar.gz |
Add the plugin framework from common; use and test.
For blueprint novaplugins.
Change-Id: Id4a5ae3ebb91f941956e2f73ecfd9ea1d290a235
Diffstat (limited to 'nova/manager.py')
-rw-r--r-- | nova/manager.py | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/nova/manager.py b/nova/manager.py index a74caa8f62..c6711aadb7 100644 --- a/nova/manager.py +++ b/nova/manager.py @@ -56,6 +56,7 @@ This module provides Manager, a base class for managers. from nova.db import base from nova import flags from nova.openstack.common import log as logging +from nova.openstack.common.plugin import pluginmanager from nova.openstack.common.rpc import dispatcher as rpc_dispatcher from nova.scheduler import rpcapi as scheduler_rpcapi from nova import version @@ -138,8 +139,13 @@ class Manager(base.Base): if not host: host = FLAGS.host self.host = host + self.load_plugins() super(Manager, self).__init__(db_driver) + def load_plugins(self): + pluginmgr = pluginmanager.PluginManager('nova', self.__class__) + pluginmgr.load_plugins() + def create_rpc_dispatcher(self): '''Get the rpc dispatcher for this manager. @@ -205,6 +211,10 @@ class SchedulerDependentManager(Manager): self.scheduler_rpcapi = scheduler_rpcapi.SchedulerAPI() super(SchedulerDependentManager, self).__init__(host, db_driver) + def load_plugins(self): + pluginmgr = pluginmanager.PluginManager('nova', self.service_name) + pluginmgr.load_plugins() + def update_service_capabilities(self, capabilities): """Remember these capabilities to send on next periodic update.""" self.last_capabilities = capabilities |