diff options
| author | kirankv <kiran-kumar.vaddi@hp.com> | 2013-05-16 09:07:43 -0700 |
|---|---|---|
| committer | kirankv <kiran-kumar.vaddi@hp.com> | 2013-06-18 22:48:30 -0700 |
| commit | 32632c488388a2f60d14bcd63b4bbdee6f4995c3 (patch) | |
| tree | 938ec172f915e20de52523bc93595bb70ee9b4df /nova/virt | |
| parent | 2bcd6b59a6d6848144ff9fb4f7b4c2241b907515 (diff) | |
| download | nova-32632c488388a2f60d14bcd63b4bbdee6f4995c3.tar.gz nova-32632c488388a2f60d14bcd63b4bbdee6f4995c3.tar.xz nova-32632c488388a2f60d14bcd63b4bbdee6f4995c3.zip | |
Added unit tests for vmware cluster driver
Change-Id: Ie41b573f9a16a71306b6e2aca34f1d78f4b801c5
Diffstat (limited to 'nova/virt')
| -rw-r--r-- | nova/virt/vmwareapi/fake.py | 56 |
1 files changed, 52 insertions, 4 deletions
diff --git a/nova/virt/vmwareapi/fake.py b/nova/virt/vmwareapi/fake.py index 83c53e5cb..cd8302115 100644 --- a/nova/virt/vmwareapi/fake.py +++ b/nova/virt/vmwareapi/fake.py @@ -30,7 +30,7 @@ from nova.virt.vmwareapi import error_util _CLASSES = ['Datacenter', 'Datastore', 'ResourcePool', 'VirtualMachine', 'Network', 'HostSystem', 'HostNetworkSystem', 'Task', 'session', - 'files'] + 'files', 'ClusterComputeResource'] _FAKE_FILE_SIZE = 1024 @@ -61,6 +61,7 @@ def reset(): create_datacenter() create_datastore() create_res_pool() + create_cluster() def cleanup(): @@ -90,14 +91,20 @@ class Prop(object): self.val = None +class Obj(object): + def __init__(self, name, value): + self.value = value + self._type = name + + class ManagedObject(object): """Managed Data Object base class.""" - def __init__(self, name="ManagedObject", obj_ref=None): + def __init__(self, name="ManagedObject", obj_ref=None, value=None): """Sets the obj property which acts as a reference to the object.""" super(ManagedObject, self).__setattr__('objName', name) if obj_ref is None: - obj_ref = str(uuid.uuid4()) + obj_ref = Obj(name, value) object.__setattr__(self, 'obj', obj_ref) object.__setattr__(self, 'propSet', []) @@ -141,6 +148,10 @@ class DataObject(object): self.obj_name = obj_name +class HostInternetScsiHba(): + pass + + class VirtualDisk(DataObject): """ Virtual Disk class. @@ -186,7 +197,7 @@ class VirtualMachine(ManagedObject): """Virtual Machine class.""" def __init__(self, **kwargs): - super(VirtualMachine, self).__init__("VirtualMachine") + super(VirtualMachine, self).__init__("VirtualMachine", value='vm-10') self.set("name", kwargs.get("name")) self.set("runtime.connectionState", kwargs.get("conn_state", "connected")) @@ -250,6 +261,25 @@ class ResourcePool(ManagedObject): self.set("name", "ResPool") +class ClusterComputeResource(ManagedObject): + """Cluster class.""" + def __init__(self, **kwargs): + super(ClusterComputeResource, self).__init__("ClusterComputeResource", + value="domain-test") + r_pool = DataObject() + r_pool.ManagedObjectReference = [_get_objects("ResourcePool")[0].obj] + self.set("resourcePool", r_pool) + + host_sys = DataObject() + host_sys.ManagedObjectReference = [_get_objects("HostSystem")[0].obj] + self.set("host", host_sys) + self.set("name", "test_cluster") + + datastore = DataObject() + datastore.ManagedObjectReference = [_get_objects("Datastore")[0].obj] + self.set("datastore", datastore) + + class Datastore(ManagedObject): """Datastore class.""" @@ -347,6 +377,17 @@ class HostSystem(ManagedObject): host_pg.HostPortGroup = [host_pg_do] self.set("config.network.portgroup", host_pg) + config = DataObject() + storageDevice = DataObject() + + hostBusAdapter = HostInternetScsiHba() + hostBusAdapter.HostHostBusAdapter = [hostBusAdapter] + hostBusAdapter.iScsiName = "iscsi-name" + storageDevice.hostBusAdapter = hostBusAdapter + config.storageDevice = storageDevice + self.set("config.storageDevice.hostBusAdapter", + config.storageDevice.hostBusAdapter) + def _add_port_group(self, spec): """Adds a port group to the host system object in the db.""" pg_name = spec.name @@ -429,6 +470,11 @@ def create_network(): _create_object('Network', network) +def create_cluster(): + cluster = ClusterComputeResource() + _create_object('ClusterComputeResource', cluster) + + def create_task(task_name, state="running"): task = Task(task_name, state) _create_object("Task", task) @@ -682,6 +728,8 @@ class FakeVim(object): spec_set = kwargs.get("specSet")[0] type = spec_set.propSet[0].type properties = spec_set.propSet[0].pathSet + if not isinstance(properties, list): + properties = properties.split() objs = spec_set.objectSet lst_ret_objs = [] for obj in objs: |
