summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDevananda van der Veen <devananda.vdv@gmail.com>2012-12-27 15:13:58 -0800
committerDevananda van der Veen <devananda.vdv@gmail.com>2012-12-28 14:53:55 -0800
commit6bf64e829267d46324a240fa421e5d55a8156bee (patch)
treec1d198d37471f39734e41e88e1edeeb782a8fd33
parentf1bb1a213b63df050e98dbdeb1e7fb5ea8f3e05c (diff)
downloadnova-6bf64e829267d46324a240fa421e5d55a8156bee.tar.gz
nova-6bf64e829267d46324a240fa421e5d55a8156bee.tar.xz
nova-6bf64e829267d46324a240fa421e5d55a8156bee.zip
baremetal power driver takes **kwargs
Some baremetal power drivers may require different information passed to them. This patch prepares the way by having the base class take only **kwargs, and having the driver pass both 'instance' and 'node', instead of just passing 'node'. blueprint general-bare-metal-provisioning-framework Change-Id: Iff91024b1d019b0d07f2cbfe991748e618bfcb18
-rw-r--r--nova/virt/baremetal/base.py2
-rw-r--r--nova/virt/baremetal/driver.py16
2 files changed, 9 insertions, 9 deletions
diff --git a/nova/virt/baremetal/base.py b/nova/virt/baremetal/base.py
index 4b0640885..97d4f8ca3 100644
--- a/nova/virt/baremetal/base.py
+++ b/nova/virt/baremetal/base.py
@@ -51,7 +51,7 @@ class NodeDriver(object):
class PowerManager(object):
- def __init__(self, node):
+ def __init__(self, **kwargs):
pass
def activate_node(self):
diff --git a/nova/virt/baremetal/driver.py b/nova/virt/baremetal/driver.py
index 9c50c09dc..217f36fed 100644
--- a/nova/virt/baremetal/driver.py
+++ b/nova/virt/baremetal/driver.py
@@ -103,9 +103,9 @@ def _update_baremetal_state(context, node, instance, state):
})
-def get_power_manager(node, **kwargs):
+def get_power_manager(**kwargs):
cls = importutils.import_class(CONF.baremetal.power_manager)
- return cls(node, **kwargs)
+ return cls(**kwargs)
class BareMetalDriver(driver.ComputeDriver):
@@ -203,7 +203,7 @@ class BareMetalDriver(driver.ComputeDriver):
admin_password=admin_password)
self.driver.activate_bootloader(var, context, node,
instance, image_meta)
- pm = get_power_manager(node)
+ pm = get_power_manager(node=node, instance=instance)
state = pm.activate_node()
_update_baremetal_state(context, node, instance, state)
@@ -230,7 +230,7 @@ class BareMetalDriver(driver.ComputeDriver):
block_device_info=None):
node = _get_baremetal_node_by_instance_uuid(instance['uuid'])
ctx = nova_context.get_admin_context()
- pm = get_power_manager(node)
+ pm = get_power_manager(node=node, instance=instance)
state = pm.reboot_node()
_update_baremetal_state(ctx, node, instance, state)
@@ -251,7 +251,7 @@ class BareMetalDriver(driver.ComputeDriver):
self.driver.deactivate_node(var, ctx, node, instance)
- pm = get_power_manager(node)
+ pm = get_power_manager(node=node, instance=instance)
pm.stop_console()
@@ -282,13 +282,13 @@ class BareMetalDriver(driver.ComputeDriver):
def power_off(self, instance):
"""Power off the specified instance."""
node = _get_baremetal_node_by_instance_uuid(instance['uuid'])
- pm = get_power_manager(node)
+ pm = get_power_manager(node=node, instance=instance)
pm.deactivate_node()
def power_on(self, instance):
"""Power on the specified instance"""
node = _get_baremetal_node_by_instance_uuid(instance['uuid'])
- pm = get_power_manager(node)
+ pm = get_power_manager(node=node, instance=instance)
pm.activate_node()
def get_volume_connector(self, instance):
@@ -308,7 +308,7 @@ class BareMetalDriver(driver.ComputeDriver):
# so we convert from InstanceNotFound
inst_uuid = instance.get('uuid')
node = _get_baremetal_node_by_instance_uuid(inst_uuid)
- pm = get_power_manager(node)
+ pm = get_power_manager(node=node, instance=instance)
ps = power_state.SHUTDOWN
if pm.is_power_on():
ps = power_state.RUNNING