virt-manager/virtinst-refresh_before_fetch_pool.patch
Charles Arnold ba698f40db - Upstream bug fixes (bsc#1027942)
9a9f9ecd-ignore-comments-in-keymap-conf-files.patch
  9617d126-systray-Use-APPLICATION_STATUS-for-appindicator.patch
  e73abe5a-diskbackend-convert-to-long-the-calculated-size.patch
  6e6f59e7-diskbackend-get-a-proper-size-of-existing-block-device-while-cloning.patch
  23aaf852-network-Set-bridge-name-to-None-instead-of-blank.patch
  d1e1cf64-progress-remove-trailing-white-space.patch
  63fce081-pycodestyle-Use-isinstance-for-type-checking.patch
  08a58d61-pycodestyle-remove-description-of-fixed-errors.patch
  bc3c9a9d-progress-remove-unused-import.patch
  2d276ebe-progress-dont-overwrite-format.patch
  e2ad4b2f-convert-iteritems-to-items.patch
  dff00d4f-remove-deprecated-statvfs-module.patch
  75210ed3-replace-StringIO-with-io.patch
  a2bcd6c4-dont-compare-between-None-and-int.patch
  44de92b7-use-reload-from-imp-module.patch
  69c84bea-import-reduce-from-functools-module.patch
  37ea5207-replace-StandardError-with-Exception.patch
  f41aafc7-Use-enumerate-instead-of-range-and-len.patch
  91c0669c-cli-Fix-OrderedDict-mutated-during-iteration-on-python3.patch
  b8fa0c6b-xmlnsqemu-order-XML-output-like-libvirt-does.patch
  d2648d81-virtconv-dont-implicitly-depend-on-dict-hash-order.patch
  999dbb36-cli-Make-VirtCLIArgument-instantiation-less-crazy.patch
  7f1b4cee-pycodestyle-fix-all-E125-warnings.patch
  d82022bd-manager-drop-python2-only-cmp-usage.patch
  374a3779-urlfetcher-write-test-file-as-binary-content.patch
  f7c8cf9f-devicepanic-dont-return-empty-model-list.patch
  3be78d1f-addhardware-dont-allow-panic-option-where-not-supported.patch
  73de8285-systray-remove-redundant-variable-assignment.patch

OBS-URL: https://build.opensuse.org/package/show/Virtualization/virt-manager?expand=0&rev=375
2017-10-30 20:23:56 +00:00

40 lines
1.6 KiB
Diff

Reference: bnc#887868
Refresh pools status before fetch_pools.
Currently, when connecting to hypervisor, if there are pools active
but in fact target path already deleted (or for other reasons the
pool is not working), libvirtd not refresh status yet, fetch_pools
will fail, that will cause "connecting to hypervisor" process
reporting error and exit. The whole connection work failed.
With the patch, always refresh pool status before fetch pools. Let
the libvirtd pool status reflect the reality, avoid the non-synced
status affects the hypervisor connection.
Signed-off-by: Chunyan Liu <cyliu@suse.com>
Index: virt-manager-1.4.3/virtinst/pollhelpers.py
===================================================================
--- virt-manager-1.4.3.orig/virtinst/pollhelpers.py
+++ virt-manager-1.4.3/virtinst/pollhelpers.py
@@ -133,6 +133,19 @@ def fetch_pools(backend, origmap, build_
if backend.check_support(
backend.SUPPORT_CONN_LISTALLSTORAGEPOOLS) and not FORCE_OLD_POLL:
+
+ # Refresh pools before poll_helper. For those
+ # 'active' but target path not exist (or other reasons
+ # causing the pool not working), but libvirtd not
+ # refresh the status, this will make it refreshed
+ # and mark that pool as 'inactive'.
+ objs = backend.listAllStoragePools()
+ for obj in objs:
+ try:
+ obj.refresh(0)
+ except Exception, e:
+ pass
+
return _new_poll_helper(origmap, name,
backend.listAllStoragePools, build_func)
else: