Bug 1741883

Summary: [Embedded Ansible]: On ordered Ansible service, some entities on My Service page UI are missing.
Product: Red Hat CloudForms Management Engine Reporter: Satyajit Bulage <sbulage>
Component: Embedded AnsibleAssignee: Nick LaMuro <nlamuro>
Status: CLOSED CURRENTRELEASE QA Contact: Satyajit Bulage <sbulage>
Severity: high Docs Contact: Red Hat CloudForms Documentation <cloudforms-docs>
Priority: high    
Version: 5.11.0CC: bmidwood, hkataria, lavenel, mfeifer, mpovolny, nlamuro, obarenbo, simaishi, tfitzger
Target Milestone: GAKeywords: Regression
Target Release: 5.11.0Flags: mfeifer: mirror+
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: 5.11.0.23 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-12-13 14:54:23 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: Bug
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: Ansible Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1660803    

Description Satyajit Bulage 2019-08-16 10:29:19 UTC
Description of problem: When order Ansible Service which uses Cloud Credentials, it is not showing respective entities in the UI like Verbosity, Credentials used, Plays table etc.


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


How reproducible:100%


Steps to Reproduce:
1. Enable Ansible Role
2. Add Repo and respective cloud credentials (I have added VMWare and AWS Creds.)
3. Order service.
4. Go to My Service and click on Provisioning tab.

Actual results: UI entities are missing on page.


Expected results: Entities should be present My service page (under Provisioning Tab.)


Additional info:
For more information See attached screenshot.

Comment 10 Nick LaMuro 2019-08-28 14:36:01 UTC
Proposed PR for to fix this:  https://github.com/ManageIQ/manageiq/pull/19215

Comment 13 CFME Bot 2019-08-30 20:41:05 UTC
New commit detected on ManageIQ/manageiq/master:

https://github.com/ManageIQ/manageiq/commit/e5be302f563f4f525ccf1d0a4fd5adf4cb9ba686
commit e5be302f563f4f525ccf1d0a4fd5adf4cb9ba686
Author:     Nick LaMuro <nicklamuro>
AuthorDate: Tue Aug 27 21:51:02 2019 -0400
Commit:     Nick LaMuro <nicklamuro>
CommitDate: Tue Aug 27 21:51:02 2019 -0400

    [EmbeddedAnsible] Add verbosity to job UI

    When creating a new `EmbeddedAnsible::AutomationManager::Job` (aka, an
    `OrchestrationStack`), make sure we are saving the verbosity from the
    options we are running the job with.

    We can fetch this after, but the service template (?) might change in
    the future, so save off this value as part of the job record to ensure
    we are keeping track of this value when it was run.

    https://bugzilla.redhat.com/show_bug.cgi?id=1741883

 app/models/manageiq/providers/embedded_ansible/automation_manager/job.rb | 1 +
 spec/models/manageiq/providers/embedded_ansible/automation_manager/job_spec.rb | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

Comment 16 Nick LaMuro 2019-09-03 17:40:56 UTC
So a bit of re-working happened to the original fix, but the two PRs based off my original code that will fix this issue are as follows:


- https://github.com/ManageIQ/manageiq/pull/19232 (merged)
- https://github.com/ManageIQ/manageiq/pull/19247 (awaiting merge)

Comment 17 CFME Bot 2019-09-03 20:40:29 UTC
New commits detected on ManageIQ/manageiq/master:

https://github.com/ManageIQ/manageiq/commit/7702e4e8db0634c9d10b665fc101b6f613930a6a
commit 7702e4e8db0634c9d10b665fc101b6f613930a6a
Author:     Nick LaMuro <nicklamuro>
AuthorDate: Wed Aug 28 18:38:24 2019 -0400
Commit:     Nick LaMuro <nicklamuro>
CommitDate: Wed Aug 28 18:38:24 2019 -0400

    [EmbeddedAnsible] Add AutomationManager::Job#update_plays

    Adds a method for collecting the plays for a given playbook run,
    itemizing them and determining the elapsed time for each.  Very similar
    to the code found in the `manageiq-providers-ansible_tower` code:

    https://github.com/ManageIQ/manageiq-providers-ansible_tower/blob/88aa135c/app/models/manageiq/providers/ansible_tower/shared/automation_manager/job.rb#L117-L144

    The difference here is that the code that fetches the play events is
    using an wrapper model class around the event data.  By contrast, the
    code here is working with raw hashes instead, though most of the keys
    do end up aligning with the method names from the tower code since the
    wrapper models are `HashModel` objects.

    https://bugzilla.redhat.com/show_bug.cgi?id=1741883

 app/models/manageiq/providers/embedded_ansible/automation_manager/job.rb | 31 +
 1 file changed, 31 insertions(+)


https://github.com/ManageIQ/manageiq/commit/e9649236db7783e8509ac57e3f5f020fd9412728
commit e9649236db7783e8509ac57e3f5f020fd9412728
Author:     Nick LaMuro <nicklamuro>
AuthorDate: Wed Aug 28 18:44:41 2019 -0400
Commit:     Nick LaMuro <nicklamuro>
CommitDate: Wed Aug 28 18:44:41 2019 -0400

    [EmbeddedAnsible] Properly implement job_plays

    A complete rip from what is is `manageiq-providers-ansible_tower`:

    https://github.com/ManageIQ/manageiq-providers-ansible_tower/blob/88aa135c/app/models/manageiq/providers/ansible_tower/shared/automation_manager/job.rb#L70-L72

    https://bugzilla.redhat.com/show_bug.cgi?id=1741883

 app/models/manageiq/providers/embedded_ansible/automation_manager/job.rb | 2 +-
 spec/models/manageiq/providers/embedded_ansible/automation_manager/job_spec.rb | 55 +-
 2 files changed, 40 insertions(+), 17 deletions(-)


https://github.com/ManageIQ/manageiq/commit/3d6bcf8068dcce2aeec760d1fa8d221a82e6805d
commit 3d6bcf8068dcce2aeec760d1fa8d221a82e6805d
Author:     Jason Frey <jfrey>
AuthorDate: Fri Aug 30 16:15:32 2019 -0400
Commit:     Jason Frey <jfrey>
CommitDate: Fri Aug 30 16:15:32 2019 -0400

    Cleanup update_plays method

    - Minor refactor to make the finish_time setting a little clearer from a
      readbility perspective
    - Add a spec to demonstrate that non-play events are skipped
    - Modify the times in the spec to be much farther apart and use
      Timecop.freeze to avoid potential time-based sproadic test failures.
    - Some rubocops

    https://bugzilla.redhat.com/show_bug.cgi?id=1741883

 app/models/manageiq/providers/embedded_ansible/automation_manager/job.rb | 41 +-
 spec/models/manageiq/providers/embedded_ansible/automation_manager/job_spec.rb | 14 +-
 2 files changed, 34 insertions(+), 21 deletions(-)

Comment 18 CFME Bot 2019-09-04 13:35:52 UTC
New commits detected on ManageIQ/manageiq/ivanchuk:

https://github.com/ManageIQ/manageiq/commit/4fc6fb9912af08089243ccea9d66c74c562b369e
commit 4fc6fb9912af08089243ccea9d66c74c562b369e
Author:     Brandon Dunne <bdunne>
AuthorDate: Fri Aug 30 16:35:37 2019 -0400
Commit:     Brandon Dunne <bdunne>
CommitDate: Fri Aug 30 16:35:37 2019 -0400

    Merge pull request #19232 from Fryguy/fix_embedded_ansible_ui_issues

    Fixes multiple issues with job show page

    (cherry picked from commit 521b41c11818f10d5a095bab1f9dd01dbe081db1)

    https://bugzilla.redhat.com/show_bug.cgi?id=1741883

 app/models/manageiq/providers/embedded_ansible/automation_manager/job.rb | 13 +
 spec/models/manageiq/providers/embedded_ansible/automation_manager/job_spec.rb | 17 +-
 2 files changed, 26 insertions(+), 4 deletions(-)


https://github.com/ManageIQ/manageiq/commit/fd8047e783deefc416f45ed204f38c5bea9b1fcd
commit fd8047e783deefc416f45ed204f38c5bea9b1fcd
Author:     Adam Grare <agrare>
AuthorDate: Tue Sep  3 16:36:31 2019 -0400
Commit:     Adam Grare <agrare>
CommitDate: Tue Sep  3 16:36:31 2019 -0400

    Merge pull request #19247 from NickLaMuro/embedded_ansible_fix_plays_output_v2

    Fix Embedded Ansible Plays in the Job UI (v2/rebased with master)

    (cherry picked from commit 01a516a7f10106bbf62f304fbb50d8995dda98fa)

    https://bugzilla.redhat.com/show_bug.cgi?id=1741883

 app/models/manageiq/providers/embedded_ansible/automation_manager/job.rb | 48 +-
 spec/models/manageiq/providers/embedded_ansible/automation_manager/job_spec.rb | 65 +-
 2 files changed, 90 insertions(+), 23 deletions(-)

Comment 19 Satyajit Bulage 2019-09-06 11:18:27 UTC
Able to see all entities are present on Ansible Service.
Ordered services: Amazon, Azure, VMware.

Verified Version: 5.11.0.23.20190904213640_d113674