Bug #6694
closedPGError: while creating OS with long (greater than 5 chars) minor/major version values
Description
Cloned from https://bugzilla.redhat.com/show_bug.cgi?id=1120095
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)