Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.
RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.

Bug 1325094

Summary: fix parsing of 'constraint colocation add' parameters
Product: Red Hat Enterprise Linux 7 Reporter: Ivan Devat <idevat>
Component: pcsAssignee: Tomas Jelinek <tojeline>
Status: CLOSED WONTFIX QA Contact: cluster-qe <cluster-qe>
Severity: unspecified Docs Contact:
Priority: medium    
Version: 7.2CC: cfeist, cluster-maint, idevat, omular, tojeline
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-09-16 14:29:29 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 Ivan Devat 2016-04-08 08:24:50 UTC
Description of problem:
An invalid cib report is produced when a user tries to create a colocation constraint with an invalid role (valid roles are started, master, slave)

Version-Release number of selected component (if applicable):
pcs-0.9.149-2.el7.x86_64

How reproducible:
always

Steps to Reproduce:
1. Create two resources
[vm-rhel72-1 /] $ pcs resource create r1 ocf:pacemaker:Dummy
[vm-rhel72-1 /] $ pcs resource create r2 ocf:pacemaker:Dummy

2. Try create colocation for created resources with invalid role specification
[vm-rhel72-1 /] $ pcs constraint colocation add invalid-role r1 with r2

Actual results:
Error: Unable to update cib
Call cib_replace failed (-203): Update does not conform to the configured schema
<cib ...


Expected results:
Error: Invalid value 'invalid-role' for role, allowed values are started, master, slave

Comment 2 Ivan Devat 2016-04-08 09:07:07 UTC
There are more problems in this command:

Steps to Reproduce:
1. Create resources with ids "r1", "r2" and "master"
[vm-rhel72-1 /] $ pcs resource create r1 ocf:pacemaker:Dummy
[vm-rhel72-1 /] $ pcs resource create r2 ocf:pacemaker:Dummy
[vm-rhel72-1 /] $ pcs resource create master ocf:pacemaker:Dummy

2. Try create colocation for resources r1 and r2 with role specification, but forget keyword "with"
[vm-rhel72-1 /] $ pcs constraint colocation add master r1 slave r2

Actual results:
Colocation for resources master and r2 created.

Expected results:
No colocation created and usage for constraint colocation add listed.

Comment 3 Ivan Devat 2016-04-08 10:58:58 UTC
Steps to Reproduce:
1. Create resources with ids "r1" and "r2"
[vm-rhel72-1 /] $ pcs resource create r1 ocf:pacemaker:Dummy
[vm-rhel72-1 /] $ pcs resource create r2 ocf:pacemaker:Dummy

2. Try create colocation for resources r1 and r2 but forget keyword r2
[vm-rhel72-1 /] $ pcs add master r1 with

Actual results:
Traceback (most recent call last):
  File "/usr/sbin/pcs", line 219, in <module>
    main(sys.argv[1:])
  File "/usr/sbin/pcs", line 159, in main
    cmd_map[command](argv)
  File "/usr/lib/python2.7/site-packages/pcs/constraint.py", line 67, in constraint_cmd
    colocation_add(argv)
  File "/usr/lib/python2.7/site-packages/pcs/constraint.py", line 194, in colocation_add
    if utils.is_score_or_opt(argv[1]):
IndexError: list index out of range

Expected results:
Usage for constraint colocation add listed.

Comment 4 Ivan Devat 2016-04-08 11:01:04 UTC
Steps to Reproduce:
1. Create resources with ids "r1" and "r2"
[vm-rhel72-1 /] $ pcs resource create r1 ocf:pacemaker:Dummy
[vm-rhel72-1 /] $ pcs resource create r2 ocf:pacemaker:Dummy

2. Try create colocation for resources r1 and r2 but forget keyword r2
[vm-rhel72-1 /] $ pcs add r1 with

Actual results:
Error: Resource 'with' does not exist

Expected results:
Usage for constraint colocation add listed.

Comment 5 Ivan Devat 2016-04-08 11:03:03 UTC
Steps to Reproduce:
1. Create resources with ids "r1", "r2" and "with"
[vm-rhel72-1 /] $ pcs resource create r1 ocf:pacemaker:Dummy
[vm-rhel72-1 /] $ pcs resource create r2 ocf:pacemaker:Dummy
[vm-rhel72-1 /] $ pcs resource create with ocf:pacemaker:Dummy

2. Try create colocation for resources r1 and r2 but forget keyword r2
[vm-rhel72-1 /] $ pcs add r1 with

Actual results:
Colocation for resources r1 and with created.

Expected results:
Usage for constraint colocation add listed.

Comment 7 Tomas Jelinek 2018-10-22 14:36:48 UTC
This has been partially fixed in pcs-0.10 branch by removing support for deprecated syntax in https://github.com/ClusterLabs/pcs/commit/dcab313b1ed8948642a3efcd29c1bb0c33745a88

Comment 8 Tomas Jelinek 2019-08-19 13:26:57 UTC
The issues described in comment 0 and comment 2 have been fixed in:
https://github.com/ClusterLabs/pcs/commit/2c259f6604cbcef07bab4e76d4ff0f2a345c5c8a for pcs-0.9 branch
https://github.com/ClusterLabs/pcs/commit/4afc322c39ccb0953de35951913721edddd44cfc for pcs-0.10 branch

Comment 3 issue has not been fixed yet in pcs-0.9 branch. It has been already fixed in pcs-0.10 branch.

Comment 4 and comment 5 cannot be really fixed due to the command supporting two syntaxes in pcs-0.9 branch. They have been fixed in pcs-0.10 branch.

Comment 9 Tomas Jelinek 2020-09-16 14:29:29 UTC
This has been already fixed in RHEL 8, see comment 8.
Considering the current RHEL 7 life cycle stage, there will be no further fixes for this bz in RHEL 7.