diff options
| author | Devananda van der Veen <devananda.vdv@gmail.com> | 2012-12-27 15:13:58 -0800 |
|---|---|---|
| committer | Devananda van der Veen <devananda.vdv@gmail.com> | 2012-12-28 14:53:55 -0800 |
| commit | 6bf64e829267d46324a240fa421e5d55a8156bee (patch) | |
| tree | c1d198d37471f39734e41e88e1edeeb782a8fd33 /nova/virt | |
| parent | f1bb1a213b63df050e98dbdeb1e7fb5ea8f3e05c (diff) | |
| download | nova-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
Diffstat (limited to 'nova/virt')
| -rw-r--r-- | nova/virt/baremetal/base.py | 2 | ||||
| -rw-r--r-- | nova/virt/baremetal/driver.py | 16 |
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 |
