mirror of
https://github.com/xen-project/xen.git
synced 2026-10-29 02:30:03 +01:00
Add VM.set_memory_dynamic_*_live methods, and use those in xm mem-set.
Signed-off-by: Tom Wilkie <tom.wilkie@gmail.com>
This commit is contained in:
1 parent
31ec6ab111
commit
23feb407a1
3 files changed
+47
-7
No files matched your search
@@ -1053,8 +1053,6 @@ class XendAPI(object):
|
||||
|
||||
VM_attr_ro = ['power_state',
|
||||
'resident_on',
|
||||
'memory_static_max',
|
||||
'memory_static_min',
|
||||
'consoles',
|
||||
'VIFs',
|
||||
'VBDs',
|
||||
@@ -1072,6 +1070,8 @@ class XendAPI(object):
|
||||
'auto_power_on',
|
||||
'memory_dynamic_max',
|
||||
'memory_dynamic_min',
|
||||
'memory_static_max',
|
||||
'memory_static_min',
|
||||
'VCPUs_max',
|
||||
'VCPUs_at_startup',
|
||||
'VCPUs_params',
|
||||
@@ -1112,6 +1112,8 @@ class XendAPI(object):
|
||||
('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'),
|
||||
@@ -1315,12 +1317,38 @@ class XendAPI(object):
|
||||
|
||||
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)
|
||||
|
||||
|
||||
@@ -2078,6 +2078,16 @@ class XendDomainInfo:
|
||||
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']
|
||||
|
||||
@@ -1281,8 +1281,10 @@ def xm_mem_set(args):
|
||||
|
||||
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)
|
||||
|
||||