Bug 1386254

Summary: validation required for git url in Automate->Import/export
Product: Red Hat CloudForms Management Engine Reporter: Aziza Karol <akarol>
Component: AutomateAssignee: mkanoor
Status: CLOSED CURRENTRELEASE QA Contact: Dmitry Misharov <dmisharo>
Severity: medium Docs Contact:
Priority: medium    
Version: 5.7.0CC: cpelland, dajohnso, hkataria, jhardy, mfalesni, mkanoor, mpovolny, obarenbo, tfitzger
Target Milestone: GAKeywords: TestOnly
Target Release: 5.8.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard: ui:automate
Fixed In Version: 5.8.0.0 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
: 1393023 (view as bug list) Environment:
Last Closed: 2017-06-12 16:53:41 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: Bug
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: CFME Core Target Upstream Version:
Bug Depends On:    
Bug Blocks: 1393023    

Description Aziza Karol 2016-10-18 13:43:53 UTC
Description of problem:


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

How reproducible:
100%

Steps to Reproduce:
1.Enable "Git Repository Owner" Role.
2.Navigate to Automate->Import/export
3.Enter invalid git url and click on submit button 

Actual results:
No validation for invalid git url

Expected results:
Validation required

Additional info:

Comment 2 Aziza Karol 2016-10-18 14:30:10 UTC
Also Error is thrown in evm.log when you enter invalid entry and click on submit button

evm.log:
2], Zone: [default], Role: [git_owner], Server: [], Ident: [generic], Target id: [], Instance id: [], Task id: [], Command: [GitRepository.refresh], Timeout: [600], Priority: [100], State: [dequeue], Deliver On: [], Data: [], Args: [], Dequeued in: [7.079623386] seconds
[----] I, [2016-10-18T10:22:52.895081 #4229:87f154]  INFO -- : MIQ(MiqQueue#deliver) Message id: [17883], Delivering...
[----] E, [2016-10-18T10:22:52.895700 #4229:87f154] ERROR -- : MIQ(MiqQueue#deliver) Message id: [17883], Error: [undefined method `refresh' for #<Class:0x000000017da838>]
[----] E, [2016-10-18T10:22:52.896052 #4229:87f154] ERROR -- : [NoMethodError]: undefined method `refresh' for #<Class:0x000000017da838>  Method:[rescue in deliver]
[----] E, [2016-10-18T10:22:52.896309 #4229:87f154] ERROR -- : /opt/rh/cfme-gemset/gems/activerecord-5.0.0.1/lib/active_record/dynamic_matchers.rb:21:in `method_missing'
/var/www/miq/vmdb/app/models/miq_queue.rb:347:in `block in deliver'
/opt/rh/rh-ruby23/root/usr/share/ruby/timeout.rb:91:in `block in timeout'
/opt/rh/rh-ruby23/root/usr/share/ruby/timeout.rb:33:in `block in catch'
/opt/rh/rh-ruby23/root/usr/share/ruby/timeout.rb:33:in `catch'
/opt/rh/rh-ruby23/root/usr/share/ruby/timeout.rb:33:in `catch'
/opt/rh/rh-ruby23/root/usr/share/ruby/timeout.rb:106:in `timeout'
/var/www/miq/vmdb/app/models/miq_queue.rb:343:in `deliver'
/var/www/miq/vmdb/app/models/miq_queue_worker_base/runner.rb:106:in `deliver_queue_message'
/var/www/miq/vmdb/app/models/miq_queue_worker_base/runner.rb:134:in `deliver_message'
/var/www/miq/vmdb/app/models/miq_queue_worker_base/runner.rb:152:in `block in do_work'
/var/www/miq/vmdb/app/models/miq_queue_worker_base/runner.rb:146:in `loop'
/var/www/miq/vmdb/app/models/miq_queue_worker_base/runner.rb:146:in `do_work'
/var/www/miq/vmdb/app/models/miq_worker/runner.rb:334:in `block in do_work_loop'
/var/www/miq/vmdb/app/models/miq_worker/runner.rb:331:in `loop'
/var/www/miq/vmdb/app/models/miq_worker/runner.rb:331:in `do_work_loop'
/var/www/miq/vmdb/app/models/miq_worker/runner.rb:153:in `run'
/var/www/miq/vmdb/app/models/miq_worker/runner.rb:128:in `start'
/var/www/miq/vmdb/app/models/miq_worker/runner.rb:21:in `start_worker'
/var/www/miq/vmdb/app/models/miq_worker.rb:343:in `block in start'
/opt/rh/cfme-gemset/gems/nakayoshi_fork-0.0.3/lib/nakayoshi_fork.rb:24:in `fork'
/opt/rh/cfme-gemset/gems/nakayoshi_fork-0.0.3/lib/nakayoshi_fork.rb:24:in `fork'
/var/www/miq/vmdb/app/models/miq_worker.rb:341:in `start'
/var/www/miq/vmdb/app/models/miq_worker.rb:270:in `start_worker'
/var/www/miq/vmdb/app/models/miq_worker.rb:150:in `block in sync_workers'
/var/www/miq/vmdb/app/models/miq_worker.rb:150:in `times'
/var/www/miq/vmdb/app/models/miq_worker.rb:150:in `sync_workers'
/var/www/miq/vmdb/app/models/miq_server/worker_management/monitor.rb:52:in `block in sync_workers'
/var/www/miq/vmdb/app/models/miq_server/worker_management/monitor.rb:50:in `each'
/var/www/miq/vmdb/app/models/miq_server/worker_management/monitor.rb:50:in `sync_workers'
/var/www/miq/vmdb/app/models/miq_server.rb:158:in `start'
/var/www/miq/vmdb/app/models/miq_server.rb:248:in `start'
/var/www/miq/vmdb/lib/workers/evm_server.rb:65:in `start'
/var/www/miq/vmdb/lib/workers/evm_server.rb:92:in `start'
/var/www/miq/vmdb/lib/workers/bin/evm_server.rb:4:in `<main>'
[----] I, [2016-10-18T10:22:52.896615 #4229:87f154]  INFO -- : MIQ(MiqQueue#delivered) Message id: [17883], State: [error], Delivered in [0.001528843] seconds
[----] I, [2016-10-18T10:22:52.898208 #4229:87f154]  INFO -- : MIQ(MiqQueue#m_callback) Message id: [17883], Invoking Callback with args: ["Finished", "error", "undefined method `refresh' for #<Class:0x000000017da838>", "nil"]
[----] I, [2016-10-18T10:22:52.898601 #4229:87f154]  INFO -- : MIQ(MiqTask#update_status) Task: [10] [Finished] [Error] [undefined method `refresh' for #<Class:0x000000017da838>]
[----] I, [2016-10-18T10:22:56.428453 #2796:87f154]  INFO -- : MIQ(MiqServer#heartbeat) Heartbeat [2016-10-18 14:22:56 UTC].

Comment 3 CFME Bot 2016-10-21 22:15:51 UTC
New commit detected on ManageIQ/manageiq/euwe:
https://github.com/ManageIQ/manageiq/commit/561fd5e82ae4386d5711bf18b5db13dc2655a8e3

commit 561fd5e82ae4386d5711bf18b5db13dc2655a8e3
Author:     Milan Zázrivec <mzazrivec>
AuthorDate: Fri Oct 21 13:14:27 2016 +0200
Commit:     Oleg Barenboim <chessbyte>
CommitDate: Fri Oct 21 18:10:09 2016 -0400

    Merge pull request #12080 from eclarizio/git_import_spinner_fix
    
    Ensure spinner gets turned off when there is an error during git import
    (cherry picked from commit a78743890e301c2d5b4f337df735a0d1a21ddd8d)
    
    https://bugzilla.redhat.com/show_bug.cgi?id=1386254

 app/assets/javascripts/import.js |   6 +--
 spec/javascripts/import_spec.js  | 103 +++++++++++++++++++++++++++++++++++++++
 2 files changed, 106 insertions(+), 3 deletions(-)

Comment 6 CFME Bot 2016-11-08 16:36:17 UTC
New commit detected on ManageIQ/manageiq/master:
https://github.com/ManageIQ/manageiq/commit/2a1dac35d701e193d355aa29f239a1ecf0d039c3

commit 2a1dac35d701e193d355aa29f239a1ecf0d039c3
Author:     Madhu Kanoor <mkanoor>
AuthorDate: Tue Oct 25 14:22:18 2016 -0400
Commit:     Madhu Kanoor <mkanoor>
CommitDate: Mon Nov 7 15:35:18 2016 -0500

    Handle errors during git repository fetch
    
    https://bugzilla.redhat.com/show_bug.cgi?id=1386254
    
    When we fetch the git repository we delegate the task to an
    appliance that has the git_owner "Git Repositories Owner" role
    enabled. Handle error cases when the task fails.

 app/controllers/miq_ae_tools_controller.rb       | 70 +++++++++++++-----------
 spec/controllers/miq_ae_tools_controller_spec.rb | 66 ++++++++++++++--------
 2 files changed, 83 insertions(+), 53 deletions(-)

Comment 8 mkanoor 2016-11-10 20:04:53 UTC
Found some other validation errors so putting it back to ON_DEV

Comment 10 CFME Bot 2016-11-11 13:46:22 UTC
New commit detected on ManageIQ/manageiq/master:
https://github.com/ManageIQ/manageiq/commit/12cfb26ce67e9de98f0f9ff221e30c3692683735

commit 12cfb26ce67e9de98f0f9ff221e30c3692683735
Author:     Madhu Kanoor <mkanoor>
AuthorDate: Thu Nov 10 15:33:14 2016 -0500
Commit:     Madhu Kanoor <mkanoor>
CommitDate: Thu Nov 10 15:33:14 2016 -0500

    Fixed a bug when the URL doesn't have a path component
    
    https://bugzilla.redhat.com/show_bug.cgi?id=1386254

 app/controllers/miq_ae_tools_controller.rb | 2 +-
 app/models/git_repository.rb               | 7 +++++++
 spec/models/git_repository_spec.rb         | 4 ++++
 3 files changed, 12 insertions(+), 1 deletion(-)

Comment 11 Milan Falešník 2017-02-28 15:33:33 UTC
Verified in 5.8.0.2. The path is required and wrong URLs seems to be handled with a flash message.