Bug 1098466

Summary: adding invalid score for location constraints results in invalid CIB dump
Product: Red Hat Enterprise Linux 7 Reporter: Tomas Jelinek <tojeline>
Component: pcsAssignee: Tomas Jelinek <tojeline>
Status: CLOSED ERRATA QA Contact: Cluster QE <mspqa-list>
Severity: low Docs Contact:
Priority: low    
Version: 7.0CC: cfeist, cluster-maint, mjuricek, rsteiger, tengel, tojeline
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Linux   
Whiteboard:
Fixed In Version: pcs-0.9.126-1.el7 Doc Type: Bug Fix
Doc Text:
Cause: There is no score validation before putting the constraint with the score into CIB using cibadmin. Consequence: Cibmadmin rejects the CIB update with error message and invalid CIB dump. The error message nor the dump is not very helpful for the user to understand what is wrong. Fix: Validate the score before using it. Result: In case of invalid score entered the user is informed about the error by comprehensible error message.
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-03-05 09:19:25 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
proposed fix none

Description Tomas Jelinek 2014-05-16 09:41:52 UTC
Description of problem:
When user specifies invalid score in 'pcs constraint location' command the invalid CIB is dumped into terminal.

Version-Release number of selected component (if applicable):
pcs-0.9.115-32.el7

How reproducible:
always

Steps to Reproduce:
Run one of these commands:
pcs constraint location dummy1 prefers rh70-node1=foo
pcs constraint location dummy1 avoids rh70-node1=foo
pcs constraint location add locatest dummy1 rh70-node2 foo 

Actual results:
[root@localhost ~]# pcs constraint location dummy1 prefers rh70-node1=foo
Call cib_replace failed (-203): Update does not conform to the configured schema
{invalid CIB dumped here}

Expected results:
[root@localhost ~]# pcs constraint location dummy1 prefers rh70-node1=foo
Error: invalid score, use integer or INFINITY or -INFINITY

Comment 2 Tomas Jelinek 2014-05-16 13:43:05 UTC
Created attachment 896389 [details]
proposed fix

Comment 3 Tomas Jelinek 2014-09-11 08:57:58 UTC
Before Fix:
[root@rh70-node1 ~]# rpm -q pcs
pcs-0.9.115-32.el7.x86_64
[root@rh70-node1 ~]# pcs constraint location dummy prefers rh70-node1=foo
Call cib_replace failed (-203): Update does not conform to the configured schema
<cib admin_epoch="0" cib-last-written="Wed Sep 10 16:34:02 2014" crm_feature_set="3.0.7" epoch="6493" have-quorum="1" num_updates="1" update-client="cibadmin" update-origin="rh70-node1" validate-with="pacemaker-1.2" dc-uuid="1">
{output trimmed}

After Fix:
[root@rh70-node1 ~]# rpm -q pcs
pcs-0.9.126-1.el7.x86_64
[root@rh70-node1 ~]# pcs constraint location dummy prefers rh70-node1=foo
Error: invalid score 'foo', use integer or INFINITY or -INFINITY
[root@rh70-node1 ~]# echo $?
1

Comment 7 errata-xmlrpc 2015-03-05 09:19:25 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://rhn.redhat.com/errata/RHBA-2015-0415.html