|
|
7d28697 |
diff -rup old/src/virtManager/details.py virt-manager-0.7.0/src/virtManager/details.py
|
|
|
7d28697 |
--- old/src/virtManager/details.py 2009-09-17 17:23:42.640307000 -0400
|
|
|
7d28697 |
+++ virt-manager-0.7.0/src/virtManager/details.py 2009-09-17 17:24:09.098148000 -0400
|
|
|
7d28697 |
@@ -960,11 +960,12 @@ class vmmDetails(gobject.GObject):
|
|
|
7d28697 |
curmem = self.window.get_widget("config-memory").get_adjustment()
|
|
|
7d28697 |
maxmem = self.window.get_widget("config-maxmem").get_adjustment()
|
|
|
7d28697 |
|
|
|
7d28697 |
-
|
|
|
7d28697 |
if self.window.get_widget("config-memory-apply").get_property("sensitive"):
|
|
|
7d28697 |
- if curmem.value > maxmem.value:
|
|
|
7d28697 |
- curmem.value = maxmem.value
|
|
|
7d28697 |
- curmem.upper = maxmem.value
|
|
|
7d28697 |
+ memval = self.config_get_memory()
|
|
|
7d28697 |
+ maxval = self.config_get_maxmem()
|
|
|
7d28697 |
+ if maxval < memval:
|
|
|
7d28697 |
+ maxmem.value = memval
|
|
|
7d28697 |
+ maxmem.lower = memval
|
|
|
7d28697 |
else:
|
|
|
7d28697 |
curmem.value = int(round(self.vm.get_memory()/1024.0))
|
|
|
7d28697 |
maxmem.value = int(round(self.vm.maximum_memory()/1024.0))
|
|
|
7d28697 |
@@ -1504,54 +1505,74 @@ class vmmDetails(gobject.GObject):
|
|
|
7d28697 |
self.vm.set_vcpu_count(vcpus)
|
|
|
7d28697 |
self.window.get_widget("config-vcpus-apply").set_sensitive(False)
|
|
|
7d28697 |
|
|
|
7d28697 |
- def config_memory_changed(self, src):
|
|
|
7d28697 |
- self.window.get_widget("config-memory-apply").set_sensitive(True)
|
|
|
7d28697 |
+ def config_get_maxmem(self):
|
|
|
7d28697 |
+ maxadj = self.window.get_widget("config-maxmem").get_adjustment()
|
|
|
7d28697 |
+ txtmax = self.window.get_widget("config-maxmem").get_text()
|
|
|
7d28697 |
+ try:
|
|
|
7d28697 |
+ maxmem = int(txtmax)
|
|
|
7d28697 |
+ except:
|
|
|
7d28697 |
+ maxmem = maxadj.value
|
|
|
7d28697 |
+ return maxmem
|
|
|
7d28697 |
+
|
|
|
7d28697 |
+ def config_get_memory(self):
|
|
|
7d28697 |
+ memadj = self.window.get_widget("config-memory").get_adjustment()
|
|
|
7d28697 |
+ txtmem = self.window.get_widget("config-memory").get_text()
|
|
|
7d28697 |
+ try:
|
|
|
7d28697 |
+ mem = int(txtmem)
|
|
|
7d28697 |
+ except:
|
|
|
7d28697 |
+ mem = memadj.value
|
|
|
7d28697 |
+ return mem
|
|
|
7d28697 |
|
|
|
7d28697 |
def config_maxmem_changed(self, src):
|
|
|
7d28697 |
self.window.get_widget("config-memory-apply").set_sensitive(True)
|
|
|
7d28697 |
- memory = self.window.get_widget("config-maxmem").get_adjustment().value
|
|
|
7d28697 |
- memadj = self.window.get_widget("config-memory").get_adjustment()
|
|
|
7d28697 |
- memadj.upper = memory
|
|
|
7d28697 |
- if memadj.value > memory:
|
|
|
7d28697 |
- memadj.value = memory
|
|
|
7d28697 |
+
|
|
|
7d28697 |
+ def config_memory_changed(self, src):
|
|
|
7d28697 |
+ self.window.get_widget("config-memory-apply").set_sensitive(True)
|
|
|
7d28697 |
+
|
|
|
7d28697 |
+ maxadj = self.window.get_widget("config-maxmem").get_adjustment()
|
|
|
7d28697 |
+
|
|
|
7d28697 |
+ mem = self.config_get_memory()
|
|
|
7d28697 |
+ if maxadj.value < mem:
|
|
|
7d28697 |
+ maxadj.value = mem
|
|
|
7d28697 |
+ maxadj.lower = mem
|
|
|
7d28697 |
|
|
|
7d28697 |
def config_memory_apply(self, src):
|
|
|
7d28697 |
self.refresh_config_memory()
|
|
|
7d28697 |
exc = None
|
|
|
7d28697 |
curmem = None
|
|
|
7d28697 |
- maxmem = self.window.get_widget("config-maxmem").get_adjustment()
|
|
|
7d28697 |
+ maxmem = self.config_get_maxmem()
|
|
|
7d28697 |
if self.window.get_widget("config-memory").get_property("sensitive"):
|
|
|
7d28697 |
- curmem = self.window.get_widget("config-memory").get_adjustment()
|
|
|
7d28697 |
+ curmem = self.config_get_memory()
|
|
|
7d28697 |
|
|
|
7d28697 |
- logging.info("Setting max-memory for " + self.vm.get_name() + \
|
|
|
7d28697 |
- " to " + str(maxmem.value))
|
|
|
7d28697 |
+ logging.info("Setting max-memory for " + self.vm.get_name() +
|
|
|
7d28697 |
+ " to " + str(maxmem))
|
|
|
7d28697 |
|
|
|
7d28697 |
actual_cur = self.vm.get_memory()
|
|
|
7d28697 |
if curmem is not None:
|
|
|
7d28697 |
- logging.info("Setting memory for " + self.vm.get_name() + \
|
|
|
7d28697 |
- " to " + str(curmem.value))
|
|
|
7d28697 |
- if (maxmem.value * 1024) < actual_cur:
|
|
|
7d28697 |
+ logging.info("Setting memory for " + self.vm.get_name() +
|
|
|
7d28697 |
+ " to " + str(curmem))
|
|
|
7d28697 |
+ if (maxmem * 1024) < actual_cur:
|
|
|
7d28697 |
# Set current first to avoid error
|
|
|
7d28697 |
try:
|
|
|
7d28697 |
- self.vm.set_memory(curmem.value * 1024)
|
|
|
7d28697 |
- self.vm.set_max_memory(maxmem.value * 1024)
|
|
|
7d28697 |
+ self.vm.set_memory(curmem * 1024)
|
|
|
7d28697 |
+ self.vm.set_max_memory(maxmem * 1024)
|
|
|
7d28697 |
except Exception, e:
|
|
|
7d28697 |
exc = e
|
|
|
7d28697 |
else:
|
|
|
7d28697 |
try:
|
|
|
7d28697 |
- self.vm.set_max_memory(maxmem.value * 1024)
|
|
|
7d28697 |
- self.vm.set_memory(curmem.value * 1024)
|
|
|
7d28697 |
+ self.vm.set_max_memory(maxmem * 1024)
|
|
|
7d28697 |
+ self.vm.set_memory(curmem * 1024)
|
|
|
7d28697 |
except Exception, e:
|
|
|
7d28697 |
exc = e
|
|
|
7d28697 |
|
|
|
7d28697 |
else:
|
|
|
7d28697 |
try:
|
|
|
7d28697 |
- self.vm.set_max_memory(maxmem.value * 1024)
|
|
|
7d28697 |
+ self.vm.set_max_memory(maxmem * 1024)
|
|
|
7d28697 |
except Exception, e:
|
|
|
7d28697 |
exc = e
|
|
|
7d28697 |
|
|
|
7d28697 |
if exc:
|
|
|
7d28697 |
- self.err.show_err(_("Error changing memory values: %s" % str(e)),\
|
|
|
7d28697 |
+ self.err.show_err(_("Error changing memory values: %s" % str(e)),
|
|
|
7d28697 |
"".join(traceback.format_exc()))
|
|
|
7d28697 |
else:
|
|
|
7d28697 |
self.window.get_widget("config-memory-apply").set_sensitive(False)
|
|
|
7d28697 |
diff -rup old/src/virtManager/details.py.orig virt-manager-0.7.0/src/virtManager/details.py.orig
|
|
|
7d28697 |
--- old/src/virtManager/details.py.orig 2009-09-17 17:23:42.778305000 -0400
|
|
|
7d28697 |
+++ virt-manager-0.7.0/src/virtManager/details.py.orig 2009-09-17 17:24:08.925149000 -0400
|
|
|
7d28697 |
@@ -501,7 +501,7 @@ class vmmDetails(gobject.GObject):
|
|
|
7d28697 |
self.update_scaling()
|
|
|
7d28697 |
|
|
|
7d28697 |
def auth_login(self, ignore):
|
|
|
7d28697 |
- self.set_password()
|
|
|
7d28697 |
+ self.set_credentials()
|
|
|
7d28697 |
self.activate_viewer_page()
|
|
|
7d28697 |
|
|
|
7d28697 |
def toggle_toolbar(self, src):
|
|
|
7d28697 |
@@ -1309,23 +1309,44 @@ class vmmDetails(gobject.GObject):
|
|
|
7d28697 |
traceback.format_exc (stacktrace))
|
|
|
7d28697 |
logging.error(details)
|
|
|
7d28697 |
|
|
|
7d28697 |
- def set_password(self, src=None):
|
|
|
7d28697 |
- txt = self.window.get_widget("console-auth-password")
|
|
|
7d28697 |
- self.vncViewer.set_credential(gtkvnc.CREDENTIAL_PASSWORD,
|
|
|
7d28697 |
- txt.get_text())
|
|
|
7d28697 |
+ def set_credentials(self, src=None):
|
|
|
7d28697 |
+ passwd = self.window.get_widget("console-auth-password")
|
|
|
7d28697 |
+ if passwd.flags() & gtk.VISIBLE:
|
|
|
7d28697 |
+ self.vncViewer.set_credential(gtkvnc.CREDENTIAL_PASSWORD,
|
|
|
7d28697 |
+ passwd.get_text())
|
|
|
7d28697 |
+ username = self.window.get_widget("console-auth-username")
|
|
|
7d28697 |
+ if username.flags() & gtk.VISIBLE:
|
|
|
7d28697 |
+ self.vncViewer.set_credential(gtkvnc.CREDENTIAL_USERNAME,
|
|
|
7d28697 |
+ username.get_text())
|
|
|
7d28697 |
+
|
|
|
7d28697 |
+ if self.window.get_widget("console-auth-remember").get_active():
|
|
|
7d28697 |
+ self.config.set_console_password(self.vm, passwd.get_text(), username.get_text())
|
|
|
7d28697 |
|
|
|
7d28697 |
def _vnc_auth_credential(self, src, credList):
|
|
|
7d28697 |
for i in range(len(credList)):
|
|
|
7d28697 |
+ if credList[i] not in (gtkvnc.CREDENTIAL_PASSWORD, gtkvnc.CREDENTIAL_USERNAME, gtkvnc.CREDENTIAL_CLIENTNAME):
|
|
|
7d28697 |
+ self.err.show_err(summary=_("Unable to provide requested credentials to the VNC server"),
|
|
|
7d28697 |
+ details=_("The credential type %s is not supported") % (str(credList[i])),
|
|
|
7d28697 |
+ title=_("Unable to authenticate"),
|
|
|
7d28697 |
+ async=True)
|
|
|
7d28697 |
+ self.vncViewerRetriesScheduled = 10
|
|
|
7d28697 |
+ self.vncViewer.close()
|
|
|
7d28697 |
+ self.activate_unavailable_page(_("Unsupported console authentication type"))
|
|
|
7d28697 |
+ return
|
|
|
7d28697 |
+
|
|
|
7d28697 |
+ withUsername = False
|
|
|
7d28697 |
+ withPassword = False
|
|
|
7d28697 |
+ for i in range(len(credList)):
|
|
|
7d28697 |
logging.debug("Got credential request %s", str(credList[i]))
|
|
|
7d28697 |
if credList[i] == gtkvnc.CREDENTIAL_PASSWORD:
|
|
|
7d28697 |
- self.activate_auth_page()
|
|
|
7d28697 |
+ withPassword = True
|
|
|
7d28697 |
+ elif credList[i] == gtkvnc.CREDENTIAL_USERNAME:
|
|
|
7d28697 |
+ withUsername = True
|
|
|
7d28697 |
elif credList[i] == gtkvnc.CREDENTIAL_CLIENTNAME:
|
|
|
7d28697 |
self.vncViewer.set_credential(credList[i], "libvirt-vnc")
|
|
|
7d28697 |
- else:
|
|
|
7d28697 |
- # Force it to stop re-trying
|
|
|
7d28697 |
- self.vncViewerRetriesScheduled = 10
|
|
|
7d28697 |
- self.vncViewer.close()
|
|
|
7d28697 |
- self.activate_unavailable_page(_("Unsupported console authentication type"))
|
|
|
7d28697 |
+
|
|
|
7d28697 |
+ if withUsername or withPassword:
|
|
|
7d28697 |
+ self.activate_auth_page(withPassword, withUsername)
|
|
|
7d28697 |
|
|
|
7d28697 |
def activate_unavailable_page(self, msg):
|
|
|
7d28697 |
self.window.get_widget("console-pages").set_current_page(PAGE_UNAVAILABLE)
|
|
|
7d28697 |
@@ -1336,20 +1357,41 @@ class vmmDetails(gobject.GObject):
|
|
|
7d28697 |
self.window.get_widget("console-pages").set_current_page(PAGE_SCREENSHOT)
|
|
|
7d28697 |
self.window.get_widget("details-menu-vm-screenshot").set_sensitive(True)
|
|
|
7d28697 |
|
|
|
7d28697 |
- def activate_auth_page(self):
|
|
|
7d28697 |
- pw = self.config.get_console_password(self.vm)
|
|
|
7d28697 |
+ def activate_auth_page(self, withPassword=True, withUsername=False):
|
|
|
7d28697 |
+ (pw, username) = self.config.get_console_password(self.vm)
|
|
|
7d28697 |
self.window.get_widget("details-menu-vm-screenshot").set_sensitive(False)
|
|
|
7d28697 |
+
|
|
|
7d28697 |
+ if withPassword:
|
|
|
7d28697 |
+ self.window.get_widget("console-auth-password").show()
|
|
|
7d28697 |
+ self.window.get_widget("label-auth-password").show()
|
|
|
7d28697 |
+ else:
|
|
|
7d28697 |
+ self.window.get_widget("console-auth-password").hide()
|
|
|
7d28697 |
+ self.window.get_widget("label-auth-password").hide()
|
|
|
7d28697 |
+
|
|
|
7d28697 |
+ if withUsername:
|
|
|
7d28697 |
+ self.window.get_widget("console-auth-username").show()
|
|
|
7d28697 |
+ self.window.get_widget("label-auth-username").show()
|
|
|
7d28697 |
+ else:
|
|
|
7d28697 |
+ self.window.get_widget("console-auth-username").hide()
|
|
|
7d28697 |
+ self.window.get_widget("label-auth-username").hide()
|
|
|
7d28697 |
+
|
|
|
7d28697 |
+ self.window.get_widget("console-auth-username").set_text(username)
|
|
|
7d28697 |
self.window.get_widget("console-auth-password").set_text(pw)
|
|
|
7d28697 |
- self.window.get_widget("console-auth-password").grab_focus()
|
|
|
7d28697 |
+
|
|
|
7d28697 |
if self.config.has_keyring():
|
|
|
7d28697 |
self.window.get_widget("console-auth-remember").set_sensitive(True)
|
|
|
7d28697 |
- if pw != None and pw != "":
|
|
|
7d28697 |
+ if pw != "" or username != "":
|
|
|
7d28697 |
self.window.get_widget("console-auth-remember").set_active(True)
|
|
|
7d28697 |
else:
|
|
|
7d28697 |
self.window.get_widget("console-auth-remember").set_active(False)
|
|
|
7d28697 |
else:
|
|
|
7d28697 |
self.window.get_widget("console-auth-remember").set_sensitive(False)
|
|
|
7d28697 |
self.window.get_widget("console-pages").set_current_page(PAGE_AUTHENTICATE)
|
|
|
7d28697 |
+ if withUsername:
|
|
|
7d28697 |
+ self.window.get_widget("console-auth-username").grab_focus()
|
|
|
7d28697 |
+ else:
|
|
|
7d28697 |
+ self.window.get_widget("console-auth-password").grab_focus()
|
|
|
7d28697 |
+
|
|
|
7d28697 |
|
|
|
7d28697 |
def activate_viewer_page(self):
|
|
|
7d28697 |
self.window.get_widget("console-pages").set_current_page(PAGE_VNCVIEWER)
|
|
|
7d28697 |
diff -rup old/src/vmm-details.glade virt-manager-0.7.0/src/vmm-details.glade
|
|
|
7d28697 |
--- old/src/vmm-details.glade 2009-09-17 17:23:42.448302000 -0400
|
|
|
7d28697 |
+++ virt-manager-0.7.0/src/vmm-details.glade 2009-09-17 17:25:42.970347000 -0400
|
|
|
7d28697 |
@@ -1436,7 +1436,6 @@ I/O:</property>
|
|
|
7d28697 |
</widget>
|
|
|
7d28697 |
<packing>
|
|
|
7d28697 |
<property name="position">2</property>
|
|
|
7d28697 |
- <property name="tab_expand">True</property>
|
|
|
7d28697 |
</packing>
|
|
|
7d28697 |
</child>
|
|
|
7d28697 |
<child>
|
|
|
7d28697 |
@@ -1572,8 +1571,8 @@ I/O:</property>
|
|
|
7d28697 |
<widget class="GtkSpinButton" id="config-memory">
|
|
|
7d28697 |
<property name="visible">True</property>
|
|
|
7d28697 |
<property name="can_focus">True</property>
|
|
|
7d28697 |
- <property name="adjustment">50 50 32000 5 10 0</property>
|
|
|
7d28697 |
- <property name="climb_rate">1</property>
|
|
|
7d28697 |
+ <property name="adjustment">50 50 32000 1 25 0</property>
|
|
|
7d28697 |
+ <property name="climb_rate">2</property>
|
|
|
7d28697 |
<property name="numeric">True</property>
|
|
|
7d28697 |
<property name="update_policy">GTK_UPDATE_IF_VALID</property>
|
|
|
7d28697 |
<accessibility>
|
|
|
7d28697 |
@@ -1610,8 +1609,8 @@ I/O:</property>
|
|
|
7d28697 |
<widget class="GtkSpinButton" id="config-maxmem">
|
|
|
7d28697 |
<property name="visible">True</property>
|
|
|
7d28697 |
<property name="can_focus">True</property>
|
|
|
7d28697 |
- <property name="adjustment">50 50 32000 5 10 0</property>
|
|
|
7d28697 |
- <property name="climb_rate">1</property>
|
|
|
7d28697 |
+ <property name="adjustment">50 50 32000 1 25 0</property>
|
|
|
7d28697 |
+ <property name="climb_rate">2</property>
|
|
|
7d28697 |
<property name="numeric">True</property>
|
|
|
7d28697 |
<property name="update_policy">GTK_UPDATE_IF_VALID</property>
|
|
|
7d28697 |
<accessibility>
|
|
|
7d28697 |
Only in virt-manager-0.7.0/src: vmm-details.glade.orig
|
|
|
7d28697 |
Only in virt-manager-0.7.0/src: vmm-details.glade.rej
|
|
|
7d28697 |
Only in virt-manager-0.7.0/src: .vmm-details.glade.rej.swp
|