When starting the 'Create virtual network' wizard, you are allowed to proceed
without specifying a Network Name. An error only occurs after all else is
completed with the wizard. This patch stops the user from proceeding if a
network name has not been specified.
The check for an empty string is done in util.py which also effects storage
pool names and guest names neither of which should have empty strings.
Signed-off-by: Charles Arnold <carnold@suse.com>
Message-Id: <551D664702000091000F42E8@prv-mh.provo.novell.com>
It fixes this exception:
Traceback (most recent call last):
File "virt-manager/virtManager/createpool.py", line 454, in page_changed
self.set_page(page_number)
File "virt-manager/virtManager/createpool.py", line 451, in set_page
self.show_options_by_pool()
File "virt-manager/virtManager/createpool.py", line 292, in show_options_by_pool
self.widget("pool-source-name").get_child().set_text(
AttributeError: 'Entry' object has no attribute 'get_child'
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
Add a new field "pool-source-name" in the createpool UI that is used
only with gluster fs pools.
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
Reserve uiutil for the little gtk helper functions, rest goes into shared
UI (which all should probably be factored into their own files but thats
a task for another day)
Ensure that any file touched by a @redhat.com author in 2013 has an
updated copyright header.
The files were updated using the build-aux/update-copyright gnulib
script and manually added where the copyright line wasn't present.
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
Basically, drop usage of nested main loops. As has been documented in
other commit messages, we use nested main loops in ways they aren't
supposed to be used. They gave us async behavior that would block
callers, but had weird behavior in some edge cases.
Switch to having async dialogs be 100% async, requiring the user to
pass in a completion callback which is triggered after the async
action is complete.
The goal here is to reduce the amount of tick() polling that we do by default.
For things like pools, networks, and interfaces, the constant polling is
not very helpful and causes CPU churn and slowness for remote connections.
Switch to a more on demand style. Pages that want new information for
these objects now request a priority tick that only refreshes the info
we want.
This isn't perfect, but neither was the previous solution in the face of
things like XML updates behind our back. The real solution here is libvirt
event support across the board.
This base connection object will be used to simplify the API in various
places, reduce libvirt API calls, and better share code between virtinst
and virt-manager. For now it just centralizes connection opening.
This also exposed various places where our handling for older libvirt
was busted, so raise our minimum host version to 0.6.0, the first
version that supports threaded client requests.
Despite being a known quantity, autotools is so overkill for our needs,
so let's drop it and replace it with a much simpler and easy to customize
system.