Bug 1542871

Summary: We need to upgrade JQ to latest version (1.5)
Product: [Community] RDO Reporter: Carlos Camacho <ccamacho>
Component: distributionAssignee: Alfredo Moralejo <amoralej>
Status: CLOSED CURRENTRELEASE QA Contact: Shai Revivo <srevivo>
Severity: urgent Docs Contact:
Priority: unspecified    
Version: trunkCC: amoralej, apevec, markmc, srevivo
Target Milestone: ---   
Target Release: trunk   
Hardware: All   
OS: All   
Whiteboard:
Fixed In Version: jq-1.5-10.el7 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-03-01 11:12:41 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: 1328748    
Bug Blocks: 1486366    

Description Carlos Camacho 2018-02-07 08:54:30 UTC
Description of problem:

Running JQ queries using primitives like any or from json will fail because JQ 1.3 does not have those primitives, this package version is quite old and we should use a newer version.

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


How reproducible:
100%

Steps to Reproduce:
1. Deploy TripleO Mitaka, Newtown, Ocata, Pike, Queens or master and execute:

openstack stack output show overcloud --all -f json |
                  jq '{Role: .EnabledServices | fromjson.output_value |
                    with_entries(select(any(.value[]; . == "haproxy"))) |
                    keys[0], Hostnames: .RoleNetHostnameMap | fromjson.output_value}' |
                  jq '.Hostnames[.Role].canonical'

Actual results:

error: fromjson is not defined
{Role: .EnabledServices | fromjson.output_value |
                          ^^^^^^^^
error: fromjson is not defined

                    keys[0], Hostnames: .RoleNetHostnameMap | fromjson.output_value}
                                                               ^^^^^^^^
error: any is not defined

                    with_entries(select(any(.value[]; . == "haproxy"))) |
                                         ^^^
3 compile errors
[Errno 32] Broken pipe

Expected results:

[
  "overcloud-controller-0.localdomain"
]

Comment 1 Alfredo Moralejo 2018-02-07 10:37:28 UTC
Updating jq to 1.5 in queens - https://review.rdoproject.org/r/#/c/11839/

Comment 4 Alfredo Moralejo 2018-02-09 12:07:18 UTC
A new build jq-1.5-10.el7 has been rebuilt from fedora jq-1.5-10.fc28  which includes fix for CVE-2015-8863 and it's being promoted in https://review.rdoproject.org/r/#/c/11887/