Bug 1120095

Summary: PGError: while creating OS with long (greater than 5 chars) minor/major version values
Product: Red Hat Satellite Reporter: Sachin Ghai <sghai>
Component: WebUIAssignee: orabin
Status: CLOSED CURRENTRELEASE QA Contact: sthirugn <sthirugn>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 6.0.4CC: bkearney, cwelton, dcleal, jmontleo, sthirugn
Target Milestone: UnspecifiedKeywords: Triaged
Target Release: Unused   
Hardware: Unspecified   
OS: Unspecified   
URL: http://projects.theforeman.org/issues/6694
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-09-11 12:24:45 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: 1120271    
Bug Blocks:    
Attachments:
Description Flags
PGError: ERROR: value too long for type character varying(5) none

Description Sachin Ghai 2014-07-16 09:24:51 UTC
Created attachment 918357 [details]
PGError: ERROR: value too long for type character varying(5)

Description of problem:
Creating OS with long integer values for major/minor version  raises PR error on UI and internal server error in production.log

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

* candlepin-0.9.19-1.el6_5.noarch
* candlepin-scl-1-5.el6_4.noarch
* candlepin-scl-quartz-2.1.5-5.el6_4.noarch
* candlepin-scl-rhino-1.7R3-1.el6_4.noarch
* candlepin-scl-runtime-1-5.el6_4.noarch
* candlepin-selinux-0.9.19-1.el6_5.noarch
* candlepin-tomcat6-0.9.19-1.el6_5.noarch
* elasticsearch-0.90.10-4.el6sat.noarch
* foreman-1.6.0.21-1.el6sat.noarch
* foreman-compute-1.6.0.21-1.el6sat.noarch
* foreman-gce-1.6.0.21-1.el6sat.noarch
* foreman-libvirt-1.6.0.21-1.el6sat.noarch
* foreman-ovirt-1.6.0.21-1.el6sat.noarch
* foreman-postgresql-1.6.0.21-1.el6sat.noarch
* foreman-proxy-1.6.0.9-1.el6sat.noarch
* foreman-selinux-1.6.0-5.el6sat.noarch
* foreman-vmware-1.6.0.21-1.el6sat.noarch
* katello-1.5.0-26.el6sat.noarch
* katello-ca-1.0-1.noarch
* katello-certs-tools-1.5.5-1.el6sat.noarch
* katello-installer-0.0.53-1.el6sat.noarch
* openldap-2.4.23-32.el6_4.1.x86_64
* pulp-katello-0.3-3.el6sat.noarch
* pulp-nodes-common-2.4.0-0.23.beta.el6sat.noarch
* pulp-nodes-parent-2.4.0-0.23.beta.el6sat.noarch
* pulp-puppet-plugins-2.4.0-0.23.beta.el6sat.noarch
* pulp-puppet-tools-2.4.0-0.23.beta.el6sat.noarch
* pulp-rpm-plugins-2.4.0-0.23.beta.el6sat.noarch
* pulp-selinux-2.4.0-0.23.beta.el6sat.noarch
* pulp-server-2.4.0-0.23.beta.el6sat.noarch
* python-ldap-2.3.10-1.el6.x86_64
* ruby193-rubygem-net-ldap-0.3.1-3.el6sat.noarch
* ruby193-rubygem-runcible-1.1.0-2.el6sat.noarch
* rubygem-hammer_cli-0.1.1-5.el6sat.noarch
* rubygem-hammer_cli_foreman-0.1.1-9.el6sat.noarch
* rubygem-hammer_cli_foreman_tasks-0.0.3-2.el6sat.noarch
* rubygem-hammer_cli_katello-0.0.4-7.el6sat.noarch

How reproducible:
always

Steps to Reproduce:
1. create OS with following values of major and minor version
minor=>"456677"
major=>"213333"

Actual results:
Error
PGError: ERROR: value too long for type character varying(5) : INSERT INTO "operatingsystems" ("created_at", "description", "hostgroups_count", "hosts_count", "major", "minor", "name", "nameindicator", "release_name", "type", "updated_at") VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11) RETURNING "id"

Expected results:
A proper validation error should be raised, stating the limit of major/minor versions

Additional info:

Logs from production.log:

Processing by OperatingsystemsController#create as */*
  Parameters: {"utf8"=>"✓", "search"=>"", "authenticity_token"=>"pYqIlSU1mYaX/0Ojgmd7SSFVHK9D8bb+RbGXFTbQa70=", "operatingsystem"=>{"name"=>"testOS", "major"=>"213333", "minor"=>"456677", "description"=>"test version limit", "family"=>"Redhat", "release_name"=>"", "architecture_ids"=>["", "", "1", ""], "ptable_ids"=>[""], "medium_ids"=>[""]}}
Operation FAILED: PGError: ERROR:  value too long for type character varying(5)
: INSERT INTO "operatingsystems" ("created_at", "description", "hostgroups_count", "hosts_count", "major", "minor", "name", "nameindicator", "release_name", "type", "updated_at") VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11) RETURNING "id"
  Rendered common/500.html.erb (16.7ms)
Completed 500 Internal Server Error in 73ms (Views: 18.9ms | ActiveRecord: 6.5ms)

Comment 2 orabin 2014-07-20 05:21:54 UTC
Created redmine issue http://projects.theforeman.org/issues/6694 from this bug

Comment 3 Bryan Kearney 2014-07-29 16:46:22 UTC
*** Bug 1121936 has been marked as a duplicate of this bug. ***

Comment 4 Bryan Kearney 2014-07-29 16:47:35 UTC
*** Bug 1122901 has been marked as a duplicate of this bug. ***

Comment 5 Bryan Kearney 2014-07-31 10:03:46 UTC
Moving to POST since upstream bug http://projects.theforeman.org/issues/6694 has been closed
-------------
Ori Rabin
Applied in changeset commit:3034e8e28302eab858fa43b71136212350396808.

Comment 8 sthirugn@redhat.com 2014-08-07 17:23:49 UTC
Verified. PG Error is not see anymore.

Major version - more than 5 characters now shows an error message - "is too long (maximum is 5 characters)"
Minor version - accepts a large integer too eg., "0123456789" with no errors or warnings.  This will be tracked as a new issue https://bugzilla.redhat.com/show_bug.cgi?id=1127857


Version Tested:
GA Snap 4 - Satellite-6.0.4-RHEL-6-20140806.0

* apr-util-ldap-1.3.9-3.el6_0.1.x86_64
* candlepin-0.9.19-1.el6_5.noarch
* candlepin-scl-1-5.el6_4.noarch
* candlepin-scl-quartz-2.1.5-5.el6_4.noarch
* candlepin-scl-rhino-1.7R3-1.el6_4.noarch
* candlepin-scl-runtime-1-5.el6_4.noarch
* candlepin-selinux-0.9.19-1.el6_5.noarch
* candlepin-tomcat6-0.9.19-1.el6_5.noarch
* elasticsearch-0.90.10-4.el6sat.noarch
* foreman-1.6.0.38-1.el6sat.noarch
* foreman-compute-1.6.0.38-1.el6sat.noarch
* foreman-gce-1.6.0.38-1.el6sat.noarch
* foreman-libvirt-1.6.0.38-1.el6sat.noarch
* foreman-ovirt-1.6.0.38-1.el6sat.noarch
* foreman-postgresql-1.6.0.38-1.el6sat.noarch
* foreman-proxy-1.6.0.23-1.el6sat.noarch
* foreman-selinux-1.6.0.4-1.el6sat.noarch
* foreman-vmware-1.6.0.38-1.el6sat.noarch
* katello-1.5.0-28.el6sat.noarch
* katello-ca-1.0-1.noarch
* katello-certs-tools-1.5.6-1.el6sat.noarch
* katello-installer-0.0.57-1.el6sat.noarch
* openldap-2.4.23-34.el6_5.1.x86_64
* pulp-katello-0.3-3.el6sat.noarch
* pulp-nodes-common-2.4.0-0.30.beta.el6sat.noarch
* pulp-nodes-parent-2.4.0-0.30.beta.el6sat.noarch
* pulp-puppet-plugins-2.4.0-0.30.beta.el6sat.noarch
* pulp-puppet-tools-2.4.0-0.30.beta.el6sat.noarch
* pulp-rpm-plugins-2.4.0-0.30.beta.el6sat.noarch
* pulp-selinux-2.4.0-0.30.beta.el6sat.noarch
* pulp-server-2.4.0-0.30.beta.el6sat.noarch
* python-ldap-2.3.10-1.el6.x86_64
* ruby193-rubygem-net-ldap-0.3.1-3.el6sat.noarch
* ruby193-rubygem-runcible-1.1.0-2.el6sat.noarch
* sssd-ldap-1.11.5.1-3.el6.x86_64

Comment 10 Bryan Kearney 2014-09-11 12:24:45 UTC
This was delivered with Satellite 6.0 which was released on 10 September 2014.