VM_attr_ro = ['power_state',
'resident_on',
- 'memory_static_max',
- 'memory_static_min',
'consoles',
'VIFs',
'VBDs',
'auto_power_on',
'memory_dynamic_max',
'memory_dynamic_min',
+ 'memory_static_max',
+ 'memory_static_min',
'VCPUs_max',
'VCPUs_at_startup',
'VCPUs_params',
('add_to_other_config', None),
('remove_from_other_config', None),
('save', None),
+ ('set_memory_dynamic_max_live', None),
+ ('set_memory_dynamic_min_live', None),
('send_trigger', None)]
VM_funcs = [('create', 'VM'),
def VM_set_memory_dynamic_max(self, session, vm_ref, mem):
dom = XendDomain.instance().get_vm_by_uuid(vm_ref)
- return xen_api_todo()
-
+ dom.set_memory_dynamic_max(int(mem))
+ return xen_api_success_void()
+
def VM_set_memory_dynamic_min(self, session, vm_ref, mem):
dom = XendDomain.instance().get_vm_by_uuid(vm_ref)
- return xen_api_todo()
+ dom.set_memory_dynamic_min(int(mem))
+ return xen_api_success_void()
+
+ def VM_set_memory_static_max(self, session, vm_ref, mem):
+ dom = XendDomain.instance().get_vm_by_uuid(vm_ref)
+ dom.set_memory_static_max(int(mem))
+ return xen_api_success_void()
+ def VM_set_memory_static_min(self, session, vm_ref, mem):
+ dom = XendDomain.instance().get_vm_by_uuid(vm_ref)
+ dom.set_memory_static_min(int(mem))
+ return xen_api_success_void()
+
+ def VM_set_memory_dynamic_max_live(self, session, vm_ref, mem):
+ dom = XendDomain.instance().get_vm_by_uuid(vm_ref)
+ dom.set_memory_dynamic_max(int(mem))
+ # need to pass target as MiB
+ dom.setMemoryTarget(int(mem)/1024/1024)
+ return xen_api_success_void()
+
+ def VM_set_memory_dynamic_min_live(self, session, vm_ref, mem):
+ dom = XendDomain.instance().get_vm_by_uuid(vm_ref)
+ dom.set_memory_dynamic_min(int(mem))
+ # need to pass target as MiB
+ dom.setMemoryTarget(int(mem)/1024/1024)
+ return xen_api_success_void()
+
def VM_set_VCPUs_params(self, session, vm_ref, value):
return self.VM_set('vcpus_params', session, vm_ref, value)
return self.info.get('memory_dynamic_max', 0)
def get_memory_dynamic_min(self):
return self.info.get('memory_dynamic_min', 0)
+
+ def set_memory_static_max(self, val):
+ self.info['memory_static_max'] = val
+ def set_memory_static_min(self, val):
+ self.info['memory_static_min'] = val
+ def set_memory_dynamic_max(self, val):
+ self.info['memory_dynamic_max'] = val
+ def set_memory_dynamic_min(self, val):
+ self.info['memory_dynamic_min'] = val
+
def get_vcpus_params(self):
if self.getDomid() is None:
return self.info['vcpus_params']
if serverType == SERVER_XEN_API:
mem_target = int_unit(args[1], 'm') * 1024 * 1024
- server.xenapi.VM.set_memory_dynamic_max(get_single_vm(dom), mem_target)
- server.xenapi.VM.set_memory_dynamic_min(get_single_vm(dom), mem_target)
+ server.xenapi.VM.set_memory_dynamic_max_live(get_single_vm(dom),
+ mem_target)
+ server.xenapi.VM.set_memory_dynamic_min_live(get_single_vm(dom),
+ mem_target)
else:
mem_target = int_unit(args[1], 'm')
server.xend.domain.setMemoryTarget(dom, mem_target)