Bug 1569626 - Lifecycle VM Provision and Publish VM to Template Unusable/Slow
Summary: Lifecycle VM Provision and Publish VM to Template Unusable/Slow
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Red Hat CloudForms Management Engine
Classification: Red Hat
Component: Performance
Version: 5.8.0
Hardware: Unspecified
OS: Unspecified
high
high
Target Milestone: GA
: 5.10.0
Assignee: Nick LaMuro
QA Contact: Himanshu Roy
URL:
Whiteboard:
Depends On:
Blocks: 1593797 1593798
TreeView+ depends on / blocked
 
Reported: 2018-04-19 15:32 UTC by David Luong
Modified: 2019-08-22 00:54 UTC (History)
9 users (show)

Fixed In Version: 5.10.0.0
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
: 1593797 1593798 (view as bug list)
Environment:
Last Closed: 2019-02-11 18:51:18 UTC
Category: Bug
Cloudforms Team: CFME Core
Target Upstream Version:


Attachments (Terms of Use)

Description David Luong 2018-04-19 15:32:51 UTC
Description of problem:
We are seeing extremely slow UI response times when using the VM lifecycle provision and publish VM to template workflow.  To the point where the app will just hang with the spinner/load overlay and never progress.

When does the behavior occur? Frequently?  Repeatedly?   At certain times?

All the time.

What information can you provide around timeframes and the business impact?

We're continuing to get more users on the environment daily and we need to ensure a good user experience.

Version-Release number of selected component (if applicable):
5.8.3.4

How reproducible:
All The time

Steps to Reproduce:
1. Use Add a new vm on default lifecycle provisioning OR
2. Publish VM to template
3.

Actual results:
Switching between tabs takes a very long time

Expected results:
Load times to be lower on switching tabs

Comment 11 Nick LaMuro 2018-04-27 16:33:06 UTC
Update:

Created a bunch of patch proposals to the ManageIQ code base to address this issue:

  - https://github.com/ManageIQ/manageiq/pull/17354
  - https://github.com/ManageIQ/manageiq/pull/17355
  - https://github.com/ManageIQ/manageiq/pull/17356
  - https://github.com/ManageIQ/manageiq/pull/17357
  - https://github.com/ManageIQ/manageiq/pull/17358
  - https://github.com/ManageIQ/manageiq/pull/17359
  - https://github.com/ManageIQ/manageiq/pull/17360


More details can be found in the in the pull requests themselves, but the overall impact with them combined is about a 4x speed improvement.

Continuing to refine those changes and determine if there are other fixes that can be done.



-Nick

Comment 12 Nick LaMuro 2018-05-03 17:08:37 UTC
Update:

Created a document that is linked in the previous pull requests above that documents the overall savings from every one of the patches I am proposing:

https://gist.github.com/NickLaMuro/36f9f394a5b3cecc4aaf33d3e84dfb27

I will be updating that shortly with additions from three other pull requests I opened this morning:

  - https://github.com/ManageIQ/manageiq/pull/17381
  - https://github.com/ManageIQ/manageiq-providers-vmware/pull/249
  - https://github.com/ManageIQ/manageiq-providers-scvmm/pull/73

Which together helps improve the efficiency of these screens further.

* * *


I will continue to look into getting these PRs merged and finding other ways to make these screens even faster.

-Nick

Comment 14 Nick LaMuro 2018-05-16 20:52:36 UTC
Update:


Opened up a few more patches since the last update:

  - https://github.com/ManageIQ/manageiq/pull/17402
  - https://github.com/ManageIQ/manageiq/pull/17403
  - https://github.com/ManageIQ/manageiq/pull/17422

#422 in particular has a low risk, quick win that saves a lot in "large host count per datacenter" environments.  That one will most likely be merged with relatively quickly, but waiting to hear about most of the others.


-Nick

Comment 17 Nick LaMuro 2018-06-20 16:04:14 UTC
Update:

There hasn't been much of an update here since I haven't made any new fixes as of late, but I figured a status update on what has been merged is in order.


The following have been merged into master:

- https://github.com/ManageIQ/manageiq/pull/17325
- https://github.com/ManageIQ/manageiq/pull/17354
- https://github.com/ManageIQ/manageiq/pull/17355
- https://github.com/ManageIQ/manageiq/pull/17357
- https://github.com/ManageIQ/manageiq/pull/17358
- https://github.com/ManageIQ/manageiq/pull/17360
- https://github.com/ManageIQ/manageiq/pull/17402
- https://github.com/ManageIQ/manageiq/pull/17422
- https://github.com/ManageIQ/manageiq/pull/17381
  - https://github.com/ManageIQ/manageiq-providers-vmware/pull/249
  - https://github.com/ManageIQ/manageiq-providers-vmware/pull/269
  - https://github.com/ManageIQ/manageiq-providers-scvmm/pull/73



The following are waiting on review, or need to address review feedback:

- https://github.com/ManageIQ/manageiq/pull/17457
- https://github.com/ManageIQ/manageiq/pull/17460
- https://github.com/ManageIQ/manageiq/pull/17461
- https://github.com/ManageIQ/manageiq/pull/17359
- https://github.com/ManageIQ/manageiq/pull/17403


Am going to look at getting the above reviewed, and possibly see if there is anything else I can do to make this faster.  Priority is focusing on getting merged what is fixed versus what else can be fixed however.


Again, changes observed via benchmarking before and after (with all of the above merged in the "After" case), can be viewed here:


https://gist.github.com/NickLaMuro/36f9f394a5b3cecc4aaf33d3e84dfb27

Comment 22 Freddy Wissing 2018-08-28 18:48:57 UTC
Hi Satoe,

I have a customer that is on these versions:

# rpm -qa | grep cfme
cfme-gemset-5.8.4.5-1.el7cf.x86_64
rh-ruby23-rubygem-redhat_access_cfme-1.1.0-1.el7cf.noarch
cfme-5.8.4.5-1.el7cf.x86_64
cfme-appliance-5.8.4.5-1.el7cf.x86_64

What is the correct supported hotfix for them to use?

/Freddy

Comment 24 Sudhir Mallamprabhakara 2019-02-11 18:51:18 UTC
5.10 is now GA.. closing this.


Note You need to log in before you can comment on or make changes to this bug.