diff --git a/instances/templates/instance.html b/instances/templates/instance.html
index a20e9ff..24ad104 100644
--- a/instances/templates/instance.html
+++ b/instances/templates/instance.html
@@ -416,7 +416,7 @@
{% ifequal status 5 %}
{% else %}
-
+
{% endifequal %}
{% else %}
diff --git a/instances/views.py b/instances/views.py
index 979fd01..8e944b5 100644
--- a/instances/views.py
+++ b/instances/views.py
@@ -265,7 +265,7 @@ def instance(request, compute_id, vname):
networks = conn.get_net_device()
vcpu_range = conn.get_max_cpus()
- memory_range = [256, 512, 768, 1024, 2048, 4096, 6144, 8192, 16384]
+ memory_range = [256, 512, 768, 1024, 2048, 3072, 4096, 6144, 8192, 16384]
if memory not in memory_range:
insort(memory_range, memory)
if cur_memory not in memory_range:
diff --git a/vrtManager/instance.py b/vrtManager/instance.py
index 681e192..7c51a8b 100644
--- a/vrtManager/instance.py
+++ b/vrtManager/instance.py
@@ -1,7 +1,8 @@
import time
import os.path
try:
- from libvirt import libvirtError, VIR_DOMAIN_XML_SECURE, VIR_MIGRATE_LIVE, VIR_MIGRATE_UNSAFE
+ from libvirt import libvirtError, VIR_DOMAIN_XML_SECURE, VIR_MIGRATE_LIVE, VIR_MIGRATE_UNSAFE, VIR_DOMAIN_RUNNING, \
+ VIR_DOMAIN_AFFECT_LIVE, VIR_DOMAIN_AFFECT_CONFIG
except:
from libvirt import libvirtError, VIR_DOMAIN_XML_SECURE, VIR_MIGRATE_LIVE
from vrtManager import util
@@ -614,8 +615,14 @@ class wvmInstance(wvmConnect):
"""
Function change ram and cpu on vds.
"""
+
memory = int(memory) * 1024
cur_memory = int(cur_memory) * 1024
+ # if dom is running change only ram
+ if self.get_status() == VIR_DOMAIN_RUNNING:
+ self.set_memory(cur_memory, VIR_DOMAIN_AFFECT_LIVE)
+ self.set_memory(cur_memory, VIR_DOMAIN_AFFECT_CONFIG)
+ return
xml = self._XMLDesc(VIR_DOMAIN_XML_SECURE)
tree = ElementTree.fromstring(xml)
@@ -906,3 +913,6 @@ class wvmInstance(wvmConnect):
new_xml = ElementTree.tostring(tree)
self._defineXML(new_xml)
+ def set_memory(self, size, flags=0):
+ self.instance.setMemoryFlags(size, flags)
+