Bug 1379277

Summary: Able to override Smart Variable for non-existent attribute
Product: Red Hat Satellite Reporter: Oleksandr Shtaier <oshtaier>
Component: Smart VariablesAssignee: orabin
Status: CLOSED ERRATA QA Contact: Katello QA List <katello-qa-list>
Severity: medium Docs Contact:
Priority: medium    
Version: 6.3.0CC: bbuckingham, jcallaha
Target Milestone: UnspecifiedKeywords: Triaged
Target Release: Unused   
Hardware: x86_64   
OS: Linux   
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:
Attachments:
Description Flags
Screenshot with error in WebUI none

Description Oleksandr Shtaier 2016-09-26 09:16:03 UTC
Description of problem:
We can create matcher for Smart Variable for non-existent attribute in CLI which is basically forbidden in UI and is not correct from logic perspective.
Then in UI, attribute type for that matcher is shown as empty value. Smart variable cannot be edited till matcher is deleted

Version-Release number of selected component (if applicable):
6.2.x
6.3.x

How reproducible:
Always

Steps to Reproduce:
Just an example
1. hammer -v -u admin -p changeme --output=csv smart-variable create --default-value="true" --variable="3LNdaiFVwZ" --puppet-class="ntp" --variable-type="boolean"
2. hammer -v -u admin -p changeme --output=csv smart-variable add-override-value --smart-variable-id="113" --value="false" --match="something_is_here=true"
3.

Actual results:
Matcher is added to Smart Variable

Expected results:
Some validation should be performed like we have in UI that will restrict override procedure for non-existent attributes

Additional info:

Comment 1 Oleksandr Shtaier 2016-09-26 09:57:14 UTC
Created attachment 1204757 [details]
Screenshot with error in WebUI

Comment 3 orabin 2016-11-06 11:32:40 UTC
Created redmine issue http://projects.theforeman.org/issues/17238 from this bug

Comment 4 Bryan Kearney 2016-11-06 13:16:03 UTC
Upstream bug assigned to orabin

Comment 5 Bryan Kearney 2016-11-06 13:16:06 UTC
Upstream bug assigned to orabin

Comment 6 Bryan Kearney 2016-11-14 13:16:04 UTC
Moving this bug to POST for triage into Satellite 6 since the upstream issue http://projects.theforeman.org/issues/17238 has been resolved.

Comment 8 Oleksandr Shtaier 2017-07-27 09:52:08 UTC
Verified in latest 6.3 build by test automation script:

LANG=en_US.UTF-8  hammer -v -u admin -p changeme --output=csv smart-variable add-override-value --smart-variable-id="444" --value="false" --match="something_is_here=true"

[ERROR 2017-07-27 05:46:11 API] 500 Internal Server Error
[ERROR 2017-07-27 05:46:11 Exception] Validation failed: Match something_is_here does not exist in order field
Could not create the override value:
  Validation failed: Match something_is_here does not exist in order field

Comment 9 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