
If a guest has a large disk, and uses a filesystem that requires preallocation, it can take several minutes to create a VM. During that time, kimchi is tied up by the VM creation. This patch changes the VMs Collection to be an AsyncCollection. Another change required for this was to create a more granular way to query tasks. Currently it is not possible (using the API) to query tasks for the same collection or resource type that may have different operations. For example, VM cloning is also an asynchronous operation. For the guests tab, the UI was querying all running tasks and displaying them with the Cloning label. This picked up VMs that were being created as well. For more information about how the tasks can be queried, see the updated API doc and the UI change. Christy Perez (5): Granular Task Queries: Backend Granular task queries test updates More Granular Task Queries: UI Create guests asynchronously: Backend Async vm creation test updates docs/API.md | 14 +++++++ src/kimchi/asynctask.py | 6 ++- src/kimchi/control/vms.py | 4 +- src/kimchi/mockmodel.py | 7 ++-- src/kimchi/model/debugreports.py | 4 +- src/kimchi/model/host.py | 4 +- src/kimchi/model/storagepools.py | 2 +- src/kimchi/model/storagevolumes.py | 7 ++-- src/kimchi/model/tasks.py | 1 - src/kimchi/model/vms.py | 32 ++++++++++++--- src/kimchi/model/vmsnapshots.py | 3 +- src/kimchi/utils.py | 4 +- tests/test_authorization.py | 23 ++++++----- tests/test_mockmodel.py | 15 +++++-- tests/test_model.py | 62 ++++++++++++++++++---------- tests/test_rest.py | 82 ++++++++++++++++++++++++++++---------- ui/js/src/kimchi.guest_main.js | 2 +- 17 files changed, 191 insertions(+), 81 deletions(-) -- 2.1.0