174fb6b3ca8928ddab56b4d046e6f4fa16beb140
[invirt/packages/invirt-database.git] / conf.py
1 import sipb_xen_database.models as models
2
3 # `name' gets passed in from the xm create call
4
5 machine = models.Machine.get_by(name=name)
6 machine_type = models.Type.get_by(type_id=machine.type_id)
7
8 memory = machine.memory
9 maxmem = memory
10 name = machine.name
11 uuid = machine.uuid
12
13 vcpus = machine.cpus
14
15 diskioemu = ""
16 viftype = ""
17
18 if machine_type.hvm:
19     ioemu = "ioemu:"
20     viftype = "type=ioemu"
21
22     kernel = 'hvmloader'
23     builder = 'hvm'
24     vnc = 1
25     device_model = 'qemu-dm'
26 else:
27     kernel  = '/boot/vmlinuz-2.6.18-4-xen-amd64'
28     ramdisk = '/boot/initrd.img-2.6.18-4-xen-amd64'
29     builder = 'linux'
30
31 pae = machine_type.pae
32 acpi = machine_type.acpi
33 apic = machine_type.apic
34
35 vif = []
36
37 for n in machine.nics:
38     d = '%s, mac=%s, ip=%s, bridge=xenbr0' % (viftype, n.mac_addr, n.ip)
39     vif.append(disk)
40
41 disk = []
42
43 for d in machine.disks:
44     device = 'xenvg/' + machine.name + '_' + d.guest_device_name
45     dspec = 'phy:%s,%s%s,w' % (device, diskioemu, d.guest_device_name)
46     disk.append(dspec)
47
48 restart = 'destroy'
49 if machine.autorestart:
50     restart = 'restart'
51
52 on_poweroff = 'destroy'
53 on_reboot = 'restart'
54 on_crash = restart