From: Evan Broder Date: Sat, 25 Oct 2008 22:00:23 +0000 (-0400) Subject: Move the invirt-database Xen config script into invirt-xen-config X-Git-Tag: 0.0.1~1 X-Git-Url: http://xvm.mit.edu/gitweb/invirt/packages/invirt-database.git/commitdiff_plain/6900ea63e877de48b4c668f660872f60ad1a5259?ds=sidebyside Move the invirt-database Xen config script into invirt-xen-config svn path=/trunk/packages/sipb-xen-database/; revision=1262 --- diff --git a/client/etc/xen/sipb-database b/client/etc/xen/sipb-database deleted file mode 100644 index c2e4c2e..0000000 --- a/client/etc/xen/sipb-database +++ /dev/null @@ -1,102 +0,0 @@ -# -*- mode: python; -*- -from invirt.database import models, connect -from invirt.config import structs as config -import re -import tempfile -from subprocess import call - -connect() -prefix = "d_" - -# 'machine_name', and optionally 'cdrom_image', should get passed in -# from the xm create call - -def check(b): - if not b: - import sys - sys.exit(1) - -machine = models.Machine.query().filter_by(name=machine_name).one() -check(machine is not None) -machine_type = machine.type -cdrom = None -if 'cdrom_image' in locals(): - cdrom = models.CDROM.query().filter_by(cdrom_id=cdrom_image).one() - check(cdrom is not None) - -memory = machine.memory -maxmem = memory -check(re.match('^[A-Za-z0-9][A-Za-z0-9._-]*$', machine.name)) -name = prefix + machine.name -check(re.match('^[0-9a-f-]+$', machine.uuid)) -uuid = machine.uuid - -vcpus = machine.cpus - -diskioemu = "" -viftype = "" - -pae = machine_type.pae -acpi = machine_type.acpi -apic = machine_type.apic - -vif = [] - -disk = [] - -if machine_type.hvm: - codepath = 'hvm' -else: - codepath = 'paravm' - -if 'installer_options' in locals(): #Installer - disk.append('phy:/dev/xenvg/s_install_hda,hdb,r') - - kernel = '/boot/vmlinuz-2.6.24-19-xen' #From hardy - ramdisk = '/boot/initrd.img-2.6.24-19-xen' - - if not machine.nics: - raise RuntimeError('You must have a nic to autoinstall') - n = machine.nics[0] - extra = 'ro noresume' - extra += (' ip=%s::%s:%s:%s:eth0:off' - % (n.ip, config.dhcp.gateway, config.dhcp.netmask, machine.name)) - extra += ' %s' % installer_options - root = '/dev/hdb1' - codepath = None -elif cdrom is not None: - disk.append('phy:/dev/xenvg/image_' + cdrom.cdrom_id + ',hdc:cdrom,r') - boot = 'd' - codepath = 'hvm' - -if codepath == 'hvm': - ioemu = "ioemu:" - viftype = "type=ioemu, " - kernel = '/usr/lib/xen/boot/hvmloader' - builder = 'hvm' - vnc = 1 - vncpasswd = 'moocow' - device_model = '/usr/sbin/qemu-dm-sipb' - serial = "pty" -elif codepath == 'paravm': - bootloader = '/usr/bin/pygrub' - - -for n in machine.nics: - check(re.match('^[0-9a-fA-F:]+$', n.mac_addr) and re.match('^[0-9.]*$', n.ip)) - d = '%smac=%s, ip=%s, script=vif-sipbroute' % (viftype, n.mac_addr, n.ip) - vif.append(d) - -for d in machine.disks: - check(re.match('^[A-Za-z0-9]+$', d.guest_device_name)) - device = '/dev/xenvg/' + prefix + machine.name + '_' + d.guest_device_name - dspec = 'phy:%s,%s%s,w' % (device, diskioemu, d.guest_device_name) - disk.append(dspec) - -usbdevice = 'tablet' - -on_poweroff = 'destroy' -on_reboot = 'restart' -on_crash = 'destroy' -if machine.autorestart: - on_crash = 'restart'