Bug 1702055

Summary: conversion host conversion state failure is potentially misleading
Product: Red Hat CloudForms Management Engine Reporter: Satoe Imaishi <simaishi>
Component: V2VAssignee: Fabien Dupont <fdupont>
Status: CLOSED ERRATA QA Contact: Yadnyawalk Tale <ytale>
Severity: high Docs Contact: Red Hat CloudForms Documentation <cloudforms-docs>
Priority: high    
Version: 5.10.2CC: bthurber, mshriver, sshveta
Target Milestone: GAKeywords: ZStream
Target Release: 5.10.4   
Hardware: Unspecified   
OS: Unspecified   
URL: https://github.com/ManageIQ/manageiq/pull/18258
Whiteboard:
Fixed In Version: 5.10.4.0 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: 1695847 Environment:
Last Closed: 2019-05-21 05:46:54 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: V2V Target Upstream Version:
Embargoed:
Bug Depends On: 1695847    
Bug Blocks:    

Comment 2 CFME Bot 2019-04-24 19:47:11 UTC
New commits detected on ManageIQ/manageiq/hammer:

https://github.com/ManageIQ/manageiq/commit/7709b441d46250f2f5ac08ba6918b78bbfd967be
commit 7709b441d46250f2f5ac08ba6918b78bbfd967be
Author:     Adam Grare <agrare>
AuthorDate: Wed Mar 27 09:06:03 2019 -0400
Commit:     Adam Grare <agrare>
CommitDate: Wed Mar 27 09:06:03 2019 -0400

    Merge pull request #18258 from djberg96/get_conversion_state

    Add more robust error handling to ConversionHost#get_conversion_state

    (cherry picked from commit f73e7e68382dd99b295c56b4409b4c0a4118c7a5)

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

 app/models/conversion_host.rb | 11 +-
 spec/models/conversion_host_spec.rb | 29 +
 2 files changed, 38 insertions(+), 2 deletions(-)

Comment 3 Shveta 2019-05-03 17:46:38 UTC
When the file exist on rhev host but contents are invalid
=======================================  

irb(main):001:0>conversion_host = ConversionHost.find_by(:name => 'env-rhv42-03.cfme2.lab.eng.rdu2.redhat.com')
PostgreSQLAdapter#log_after_checkout, connection_pool: size: 5, connections: 1, in use: 1, waiting_in_queue: 0
=> #<ConversionHost id: 5, name: "env-rhv42-03.cfme2.lab.eng.rdu2.redhat.com", address: nil, type: nil, resource_type: "Host", resource_id: 5, version: nil, max_concurrent_tasks: nil, vddk_transport_supported: true, ssh_transport_supported: nil, created_at: "2019-05-03 17:35:48", updated_at: "2019-05-03 17:36:01", concurrent_transformation_limit: nil, cpu_limit: nil, memory_limit: nil, network_limit: nil, blockio_limit: nil>

    irb(main):003:0> conversion_host.get_conversion_state("/root/abcd.json")
    RuntimeError: Could not parse conversion state data from file '/root/abcd.json': cdbds
     
            from /var/www/miq/vmdb/app/models/conversion_host.rb:157:in `rescue in get_conversion_state'
            from /var/www/miq/vmdb/app/models/conversion_host.rb:151:in `get_conversion_state'
            from (irb):3
            from /opt/rh/cfme-gemset/gems/railties-5.0.7.2/lib/rails/commands/console.rb:65:in `start'
            from /opt/rh/cfme-gemset/gems/railties-5.0.7.2/lib/rails/commands/console_helper.rb:9:in `start'
            from /opt/rh/cfme-gemset/gems/railties-5.0.7.2/lib/rails/commands/commands_tasks.rb:78:in `console'
            from /opt/rh/cfme-gemset/gems/railties-5.0.7.2/lib/rails/commands/commands_tasks.rb:49:in `run_command!'
            from /opt/rh/cfme-gemset/gems/railties-5.0.7.2/lib/rails/commands.rb:18:in `<top (required)>'
            from bin/rails:4:in `require'
            from bin/rails:4:in `<main>'

When file does not exist on host 
==================================
    irb(main):029:0> conversion_host.get_conversion_state("/root/abcd.json")
    E, [2019-05-03T13:39:31.063683 #34928] ERROR -- net.ssh.transport.session[6518974]: forcing connection closed
    RuntimeError: Error retrieving and parsing conversion state file '/root/abcd.json' from 'env-rhv42-03.cfme2.lab.eng.rdu2.redhat.com' with [RuntimeError: open /root/abcd.json: no such file (2)
            from /var/www/miq/vmdb/app/models/conversion_host.rb:159:in `rescue in get_conversion_state'
            from /var/www/miq/vmdb/app/models/conversion_host.rb:151:in `get_conversion_state'
            from (irb):29
            from /opt/rh/cfme-gemset/gems/railties-5.0.7.2/lib/rails/commands/console.rb:65:in `start'
            from /opt/rh/cfme-gemset/gems/railties-5.0.7.2/lib/rails/commands/console_helper.rb:9:in `start'
            from /opt/rh/cfme-gemset/gems/railties-5.0.7.2/lib/rails/commands/commands_tasks.rb:78:in `console'
            from /opt/rh/cfme-gemset/gems/railties-5.0.7.2/lib/rails/commands/commands_tasks.rb:49:in `run_command!'
            from /opt/rh/cfme-gemset/gems/railties-5.0.7.2/lib/rails/commands.rb:18:in `<top (required)>'
            from bin/rails:4:in `require'
            from bin/rails:4:in `<main>'


Tested on 5.10.4.1.20190430152139_40a1d86

Comment 5 errata-xmlrpc 2019-05-21 05:46:54 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2019:1247