def test_prepare(self): name = self.get_config('datacenter') if name is None: raise SkipTest, 'Parameter "datacenter" not set.' datacenter = self.api.get(schema.DataCenter, name=name) if datacenter is None: raise SkipTest, 'Datacenter not found: %s' % name name = self.get_config('cluster') if name is None: raise SkipTest, 'Parameter "cluster" not set.' cluster = self.api.get(schema.Cluster, name=name) if cluster is None: raise SkipTest, 'Cluster not found: %s' % name template = self.api.get(schema.Template, name='Blank') if template is None: raise SkipTest, 'Template not found: Blank' vm = schema.new(schema.VM) vm.name = util.random_name('vm') vm.memory = 512 * 1024**2 vm.type = 'DESKTOP' vm.cluster = schema.ref(cluster) vm.template = schema.ref(template) vm2 = self.api.create(vm) assert vm2 is not None disk = schema.new(schema.Disk) disk.size = 1024**3 disk.format = 'COW' disk.sparse = True disk.wipe_after_delete = False disk2 = self.api.create(disk, base=vm2) assert disk2 is not None self.store.vm = vm2
def set(self, obj, value, context): obj, attr = self._resolve_parent(obj, self.attribute) subtyp = schema.subtype(getattr(type(obj), attr)) refobj = context.command.get_object(subtyp, value, None) if not refobj: context.command.error('%s not found: %s' % (self.name, value)) setattr(obj, attr, schema.ref(refobj))
def test_ref(self): vm = schema.new(schema.VM) vm.id = 10 vm.href = '/vms/10' vm.description = 'foo' vm2 = schema.ref(vm) assert vm2.id == vm.id assert vm2.href is None assert vm2.description is None
from rhev import Error as RhevError try: api = create(RhevConnection) datacenter = api.get(schema.DataCenter, name='default') cluster = api.get(schema.Cluster, name='default') template = api.get(schema.Template, name='blank') network = api.get(schema.Network, base=cluster, filter={'name': 'rhevm'}) vm = schema.new(schema.VM) vm.name = 'myvm' vm.memory = 2 * 1024**3 vm.os = 'Windows 2008 R2' vm.datacenter = schema.ref(datacenter) vm.cluster = schema.ref(cluster) vm.template = schema.ref(template) vm = api.create(vm) disk = create(schema.Disk) disk.size = 16 * 1024**3 disk.type = 'SYSTEM' disk.format = 'COW' disk.sparse = True disk.interface = 'VIRTIO' api.create(disk, base=vm) nic = create(schema.NIC) nic.name = 'eth0' nic.network = network