Bug 1596853

Summary: Puppet class fails loading in UI when the attribute order is created with upper case characters
Product: Red Hat Satellite Reporter: sthirugn <sthirugn>
Component: Smart VariablesAssignee: orabin
Status: CLOSED ERRATA QA Contact: vijsingh
Severity: high Docs Contact:
Priority: high    
Version: 6.3.1CC: andrew.schofield, egolov, inecas, kabbott, orabin
Target Milestone: 6.6.0Keywords: Triaged, UserExperience
Target Release: Unused   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: foreman-1.21.0-0 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-10-22 19:51:50 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
puppet class UI error none

Description sthirugn@redhat.com 2018-06-29 19:37:20 UTC
Description of problem:
Puppet class fails loading in UI when the attribute order is created with upper case characters

Version-Release number of selected component (if applicable):
satellite-6.3.1-3.el7sat.noarch

How reproducible:
Always

Steps to Reproduce:
1. Navigate to the Satellite UI -> Configure -> Classes
2. Select a puppet class -> Smart Class Parameter.  Add a new added a new `Prioritize attribute order` with some upper case letters on it. eg., `test_version,GSD-ALL-00-OB_N_ABCDE01`. Add a matcher at the same time with some values. eg., `test_version=4.1.0,GSD-ALL-00-OB_N_ABCDE01=true` in the same UI transaction.
3. Click Submit.

Actual results:
The order and matcher would be created, but the puppet class cannot be loaded in Satellite UI anymore. Reason: The lookup_keys table changed the order to all lowercase and stored it. The lookup_values table saved the original upper case letters. This caused inconsistency between the tables and broke the UI.

Expected results:
Either do not allow upper case letters in `Prioritize attribute order` field or save all lower case in lookup_values table too - to keep the data consistent.

Additional info:

Comment 1 sthirugn@redhat.com 2018-06-29 19:37:49 UTC
Created attachment 1455569 [details]
puppet class UI error

Comment 4 orabin 2018-08-06 20:02:47 UTC
Created redmine issue https://projects.theforeman.org/issues/24551 from this bug

Comment 5 Satellite Program 2018-08-06 22:16:06 UTC
Upstream bug assigned to orabin

Comment 6 Satellite Program 2018-08-06 22:16:09 UTC
Upstream bug assigned to orabin

Comment 7 Satellite Program 2018-12-25 17:08:38 UTC
Moving this bug to POST for triage into Satellite 6 since the upstream issue https://projects.theforeman.org/issues/24551 has been resolved.

Comment 8 vijsingh 2019-05-30 08:35:25 UTC
ON_QA verified 

@Satellite 6.6.0 snap 4.0

Steps:

 1. Navigate to the Satellite UI -> Configure -> Classes
 2. Select a puppet class -> Smart Class Parameter. > check mark on `Default Behavior` 'Override' -> Add a new `Prioritize attribute order` with some upper case letters on it. eg., `test_version,GSD-ALL-00-OB_N_ABCDE01`. Add a matcher at the same time with some values. eg., `test_version=4.1.0,GSD-ALL-00-OB_N_ABCDE01=true` in the same UI transaction.
 3. Click Submit.

Observation:

 1. Saved all lookup_values in lower case.
 2. Puppet class loading in UI

Comment 12 Bryan Kearney 2019-10-22 19:51:50 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-2019:3172