ganeti :: hypervisor :: hv_fake :: FakeHypervisor :: Class FakeHypervisor
[hide private]
[frames] | no frames]

Class FakeHypervisor

source code


Fake hypervisor interface.

This can be used for testing the ganeti code without having to have a real virtualisation software installed.

Instance Methods [hide private]
 
__init__(self)
x.__init__(...) initializes x; see x.__class__.__doc__ for signature
source code
 
ListInstances(self)
Get the list of running instances.
source code
 
GetInstanceInfo(self, instance_name)
Get instance properties.
source code
 
GetAllInstancesInfo(self)
Get properties of all instances.
source code
 
StartInstance(self, instance, block_devices)
Start an instance.
source code
 
StopInstance(self, instance, force=False)
Stop an instance.
source code
 
RebootInstance(self, instance)
Reboot an instance.
source code
 
GetNodeInfo(self)
Return information about the node.
source code
 
Verify(self)
Verify the hypervisor.
source code

Inherited from hv_base.BaseHypervisor: AcceptInstance, FinalizeMigration, GetLinuxNodeInfo, MigrateInstance, MigrationInfo, ValidateParameters

Inherited from object: __delattr__, __format__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __repr__, __setattr__, __sizeof__, __str__, __subclasshook__

Class Methods [hide private]
 
GetShellCommandForConsole(cls, instance, hvparams, beparams)
Return a command for connecting to the console of an instance.
source code

Inherited from hv_base.BaseHypervisor: CheckParameterSyntax

Class Variables [hide private]
  _ROOT_DIR = constants.RUN_DIR+ "/ganeti-fake-hypervisor"

Inherited from hv_base.BaseHypervisor: PARAMETERS

Properties [hide private]

Inherited from object: __class__

Method Details [hide private]

__init__(self)
(Constructor)

source code 

x.__init__(...) initializes x; see x.__class__.__doc__ for signature

Overrides: object.__init__
(inherited documentation)

ListInstances(self)

source code 

Get the list of running instances.

Overrides: hv_base.BaseHypervisor.ListInstances

GetInstanceInfo(self, instance_name)

source code 

Get instance properties.

Parameters:
  • instance_name - the instance name
Returns:
tuple of (name, id, memory, vcpus, stat, times)
Overrides: hv_base.BaseHypervisor.GetInstanceInfo

GetAllInstancesInfo(self)

source code 

Get properties of all instances.

Returns:
list of tuples (name, id, memory, vcpus, stat, times)
Overrides: hv_base.BaseHypervisor.GetAllInstancesInfo

StartInstance(self, instance, block_devices)

source code 

Start an instance.

For the fake hypervisor, it just creates a file in the base dir, creating an exception if it already exists. We don't actually handle race conditions properly, since these are *FAKE* instances.

Overrides: hv_base.BaseHypervisor.StartInstance

StopInstance(self, instance, force=False)

source code 

Stop an instance.

For the fake hypervisor, this just removes the file in the base dir, if it exist, otherwise we raise an exception.

Overrides: hv_base.BaseHypervisor.StopInstance

RebootInstance(self, instance)

source code 

Reboot an instance.

For the fake hypervisor, this does nothing.

Overrides: hv_base.BaseHypervisor.RebootInstance

GetNodeInfo(self)

source code 

Return information about the node.

This is just a wrapper over the base GetLinuxNodeInfo method.

Returns:
a dict with the following keys (values in MiB):
  • memory_total: the total memory size on the node
  • memory_free: the available memory on the node for instances
  • memory_dom0: the memory used by the node itself, if available
Overrides: hv_base.BaseHypervisor.GetNodeInfo

GetShellCommandForConsole(cls, instance, hvparams, beparams)
Class Method

source code 

Return a command for connecting to the console of an instance.

Overrides: hv_base.BaseHypervisor.GetShellCommandForConsole

Verify(self)

source code 

Verify the hypervisor.

For the fake hypervisor, it just checks the existence of the base dir.

Overrides: hv_base.BaseHypervisor.Verify