Bug 1774167

Summary: 6.6 Upgrade Error: Host parameters with @ symbol cause failed upgrades: 765: unexpected token at '@Core'
Product: Red Hat Satellite Reporter: Mike McCune <mmccune>
Component: ParametersAssignee: satellite6-bugs <satellite6-bugs>
Status: CLOSED DUPLICATE QA Contact: Peter Ondrejka <pondrejk>
Severity: high Docs Contact:
Priority: unspecified    
Version: 6.6.0CC: egolov, inecas, mbacovsk, orabin, tbrisker
Target Milestone: 6.7.0Keywords: Triaged, Upgrades
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: 2019-11-21 13:26:40 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:

Description Mike McCune 2019-11-19 18:04:53 UTC
1) specify a host parameter with the @ symbol, eg, a package-set, as found in the database:


> echo "select id, name, value, type from parameters" | sudo -u postgres psql -d foreman
could not change directory to "/root"
 id |        name        |        value         |      type      
----+--------------------+----------------------+-----------------
  1 | enable-epel        | false                | CommonParameter
  2 | enable-puppet5     | true                 | CommonParameter
  3 | kt_activation_keys | DEV-RHEL7-INFRA-VIRT | GroupParameter
  4 | kt_activation_keys | DEV-RHEL8-INFRA-VIRT | GroupParameter
  5 | package-set        | @Core                | GroupParameter
  7 | package-set        | @Base                | HostParameter
  8 | package-set        | @Base                | HostParameter
(7 rows)

2) Attempt to upgrade from 6.5 to 6.6

Upgrade Step: migrate_foreman...                                                                                                                  
rake aborted!                                                                                                                                     
StandardError: An error has occurred, this and all later migrations canceled:                                                                     
                                                                                                                                                  
765: unexpected token at '@Core'                                                                                                                  
/usr/share/foreman/db/migrate/20181105061336_cast_key_types_and_values_in_parameters.rb:22:in `rescue in override_key_type_and_value'

Workaround is to update these values via manual SQL from the root shell:

# echo "update parameters set value = 'FixMe' where value like '@%';" | sudo -u postgres psql -d foreman

Then perform the upgrade and correct the parameters in the UI by hand.

Comment 4 Tomer Brisker 2019-11-21 13:26:40 UTC
This is a duplicate of https://bugzilla.redhat.com/show_bug.cgi?id=1767443

*** This bug has been marked as a duplicate of bug 1767443 ***