From 25b22a1ebc9a10775282fb4cc8209279cf69b9ee Mon Sep 17 00:00:00 2001 From: tarokkk <tarokkk@cloud.ik.bme.hu> Date: Tue, 3 Sep 2013 10:39:48 +0200 Subject: [PATCH] changing parameters to match with model --- vm.py | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/vm.py b/vm.py index 199bc56..3df113b 100755 --- a/vm.py +++ b/vm.py @@ -15,20 +15,19 @@ class VMInstance: network_list = list() disk_list = list() graphics = dict - context = dict raw_data = None def __init__(self, name, vcpu, memory_max, - cpu_share="100", + memory=None, + cpu_share=100, arch="x86_64", - os_boot="hd", + boot_menu=False, vm_type="kvm", network_list=None, disk_list=None, - context=None, graphics=None, acpi=True, raw_data=None, @@ -38,13 +37,13 @@ class VMInstance: name - unique name for the instance vcpu - nubmer of processors memory_max - maximum virtual memory (actual memory maybe add late) + memory cpu_share - KVM process priority (0-100) arch - libvirt arch parameter default x86_64 os_boot - boot device default hd vm_type - hypervisor type default kvm network_list - VMNetwork list disk_list - VMDIsk list - context - Key-Value pars (not used) graphics - Dict that keys are: type, listen, port, passwd acpi - True/False to enable acpi seclabel_type - libvirt security label type @@ -54,12 +53,15 @@ class VMInstance: self.vcpu = vcpu self.cpu_share = cpu_share self.memory_max = memory_max + if memory is None: + self.memory = memory_max + else: + self.memory = memory self.arch = arch - self.os_boot = os_boot + self.boot_menu = boot_menu self.vm_type = vm_type self.network_list = network_list self.disk_list = disk_list - self.conext = context self.graphics = graphics self.acpi = acpi self.raw_data = raw_data @@ -78,15 +80,17 @@ class VMInstance: }) # Basic virtual machine paramaters ET.SubElement(xml_top, 'name').text = self.name - ET.SubElement(xml_top, 'vcpu').text = self.vcpu - ET.SubElement(xml_top, 'memory').text = self.memory_max + ET.SubElement(xml_top, 'vcpu').text = str(self.vcpu) + ET.SubElement(xml_top, 'memory').text = str(self.memory_max) + ET.SubElement(xml_top, 'currentMemory').text = str(self.memory) # Cpu tune cputune = ET.SubElement(xml_top, 'cputune') - ET.SubElement(cputune, 'shares').text = self.cpu_share + ET.SubElement(cputune, 'shares').text = str(self.cpu_share) # Os specific options os = ET.SubElement(xml_top, 'os') ET.SubElement(os, 'type', attrib={'arch': self.arch}).text = "hvm" - ET.SubElement(os, 'boot', attrib={'dev': self.os_boot}) + ET.SubElement(os, 'bootmenu', attrib={ + 'enable': "yes" if self.boot_menu else "no"}) # Devices devices = ET.SubElement(xml_top, 'devices') ET.SubElement(devices, 'emulator').text = '/usr/bin/kvm' @@ -210,8 +214,8 @@ class VMNetwork: def __init__(self, name, - bridge, mac, + bridge="cloud", ipv4=None, ipv6=None, network_type='ethernet', -- libgit2 0.26.0