Bug 1367835

Summary: Patch rbovirt to allow RHV 3 functionality with RHV 4 (uses the v3 APIs in RHV4)
Product: Red Hat Satellite Reporter: John Matthews <jmatthew>
Component: Compute Resources - RHEVAssignee: satellite6-bugs <satellite6-bugs>
Status: CLOSED ERRATA QA Contact: Adam Ruzicka <aruzicka>
Severity: medium Docs Contact:
Priority: medium    
Version: 6.2.0CC: aruzicka, bbuckingham, bkearney, jcallaha, jkim, jmatthew, jmontleo, lzap, tomg, tsanders
Target Milestone: UnspecifiedKeywords: Triaged
Target Release: Unused   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-02-21 16:51:07 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1212602    

Description John Matthews 2016-08-17 15:22:22 UTC
Description of problem:

This bugzilla is asking for the rbovirt package in Sat 6.2.x to be updated with 2 patches from upstream to allow using the RHV v3 APIs in RHV v4.

Please add these patches:
 https://github.com/abenari/rbovirt/pull/109
 https://github.com/abenari/rbovirt/pull/113


For background, RHV 4 introduces new APIs that are not compatible with older clients, yet they allow the v3 APIs to still function.  

To use the v3 APIs you either need to use a different URL end point or pass in a version 3 in the header.

This PR adds the support for using v3 API
  https://github.com/abenari/rbovirt/pull/109

This second PR addresses a problem QCI ran into using the v3 APIs with RHV 4
  https://github.com/abenari/rbovirt/pull/113

Comment 2 Lukas Zapletal 2016-08-18 07:06:46 UTC
John, I will backport these patches shortly. Have you tested this against RHELv4 already?

Also can you share the URL change with us, so we can file a DOCO update?

Comment 3 Lukas Zapletal 2016-08-18 07:26:45 UTC
Upstream backported, released: https://github.com/abenari/rbovirt/commit/e68d96b1a3ecf9e06b01ce85218b0a3c5bbcbeca

Pushed to rubygems.

SAT6 REL ENG: Please update rbovirt package to 0.0.38+

Comment 4 Lukas Zapletal 2016-08-18 07:32:49 UTC
Sorry for the noise with the URL - I understand it now (explained here https://github.com/ManageIQ/manageiq/issues/7573). No URL change necessary in our case.

Comment 8 Tom Gamull 2016-09-08 20:31:41 UTC
Looks like Satellite will recognize RHV4 (Sat 6.2.1)

You need to copy/paste the CERT from /etc/pki/ovirt-hosted-engine/ca.pem (on hosted engine) into the CA field
and use the following URL for the URL field
https://<hostedengineURL>/ovirt-engine/api/v3

Not sure it works on RHV4 side but it pulls in VMs from RHV4 on sat side!

Comment 9 Bryan Kearney 2016-10-18 21:53:22 UTC
fixed in rbovirt-0.1.2

Comment 10 Adam Ruzicka 2017-08-23 13:26:52 UTC
Verified.
Version Tested: Satellite-6.3 Snap 12

Package versions:
satellite-6.3.0-16.0.beta.el7sat.noarch
foreman-ovirt-1.15.3-1.el7sat.noarch
tfm-rubygem-rbovirt-0.1.3-1.el7sat.noarch

# curl -u ${user}:${pass} ${myrhev}/ovirt-engine/api/v4
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>                                       
<api>                                                                                                                                                                                        
    <link href="/ovirt-engine/api/v4/clusters" rel="clusters"/>                                                                                                                              
    <link href="/ovirt-engine/api/v4/clusters?search={query}" rel="clusters/search"/>         
    <link href="/ovirt-engine/api/v4/datacenters" rel="datacenters"/>                         
    <link href="/ovirt-engine/api/v4/datacenters?search={query}" rel="datacenters/search"/>

-----B<-------------------------------------------------------B<-----
                      API DESCRIPTION SNIPPED
-----B<-------------------------------------------------------B<-----

    <time>2017-08-23T16:21:08.095+03:00</time> 
</api>

From the command above we can see the RHEV does understand api v4. Created a RHEV compute resource using https://${myrhev}/ovirt-engine/api/v3 and was able to load datacenters (it was able to talk with RHEV). Edited compute resources URL to https://${myrhev}/ovirt-engine/api and still was able to talk with RHEV

Comment 11 Satellite Program 2018-02-21 16:51:07 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/RHSA-2018:0336