Bug 669213 - Adding a consumer with a key-value pair to a group with the same key defined is allowed
Summary: Adding a consumer with a key-value pair to a group with the same key defined ...
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Pulp
Classification: Retired
Component: z_other
Version: unspecified
Hardware: Unspecified
OS: Unspecified
low
medium
Target Milestone: ---
: Sprint 21
Assignee: Sayli Karmarkar
QA Contact: Preethi Thomas
URL:
Whiteboard:
Depends On:
Blocks: verified-to-close
TreeView+ depends on / blocked
 
Reported: 2011-01-12 21:36 UTC by Jay Dobies
Modified: 2015-03-23 01:10 UTC (History)
4 users (show)

Fixed In Version:
Clone Of:
: 683220 (view as bug list)
Environment:
Last Closed: 2011-08-16 12:10:17 UTC
Embargoed:


Attachments (Terms of Use)

Description Jay Dobies 2011-01-12 21:36:13 UTC
By the end of the following, it shows that `consumer list` and `consumer get_keyvalues` are returning two different values for the key "jdob".


$ pulp-admin consumergroup list
+------------------------------------------+
      List of Available Consumer Groups
+------------------------------------------+

Id                 	test-group               
Description        	Test Consumer Group      
Consumer ids       	[]                       
Additional info    	{'jdob': 'group-value'}  



 -> sudo pulp-admin consumer list
+------------------------------------------+
            Consumer Information
+------------------------------------------+

Id                 	foo                      
Description        	None                     
Subscribed Repos   	/pulp/api/consumers/foo/repoids/
Additional info    	                         


 -> sudo pulp-admin consumer add_keyvalue --id foo --key jdob --value consumer-value
Successfully added key-value pair jdob:consumer-value


 -> sudo pulp-admin consumer list
+------------------------------------------+
            Consumer Information
+------------------------------------------+

Id                 	foo                      
Description        	None                     
Subscribed Repos   	/pulp/api/consumers/foo/repoids/
Additional info    	jdob  :  consumer-value, 


 -> sudo pulp-admin consumergroup add_consumer --id test-group --consumerid foo
Successfully added consumer [foo] to group [test-group]


 -> sudo pulp-admin consumer get_keyvalues --id foo
+------------------------------------------+
             Consumer Key-values
+------------------------------------------+

	KEY            :	VALUE          

--------------------------------------------

	jdob           :	group-value    


$ pulp-admin consumer list
+------------------------------------------+
            Consumer Information
+------------------------------------------+

Id                 	foo                      
Description        	None                     
Subscribed Repos   	/pulp/api/consumers/foo/repoids/
Additional info    	jdob  :  consumer-value,

Comment 1 Sayli Karmarkar 2011-02-22 19:29:59 UTC
Fixed:

Raising PulpException when trying to add a consumer with conflicting keyvalues.
 
$ sudo pulp-admin consumergroup add_consumer --id=mygroup --consumerid=consumer2
error: operation failed: Traceback (most recent call last):
  File "/home/skarmark/git/pulp/src/pulp/server/webservices/controllers/base.py", line 52, in report_error
    return method(self, *args, **kwargs)
  File "/home/skarmark/git/pulp/src/pulp/server/compat.py", line 40, in _decorator
    return decorator(*args,**kwargs)
  File "/home/skarmark/git/pulp/src/pulp/server/webservices/controllers/base.py", line 131, in _auth_decorator
    value = method(self, *args, **kwargs)
  File "/home/skarmark/git/pulp/src/pulp/server/webservices/controllers/consumergroups.py", line 248, in POST
    return action(id)
  File "/home/skarmark/git/pulp/src/pulp/server/webservices/controllers/consumergroups.py", line 185, in add_consumer
    api.add_consumer(id, data)
  File "/home/skarmark/git/pulp/src/pulp/server/compat.py", line 40, in _decorator
    return decorator(*args,**kwargs)
  File "/home/skarmark/git/pulp/src/pulp/server/auditing.py", line 207, in _audit
    result = method(*args, **kwargs)
  File "/home/skarmark/git/pulp/src/pulp/server/api/consumer_group.py", line 107, in add_consumer
    'in order to add it to this consumergroup: %s', consumerid, groupid, conflicting_keyvalues)
PulpException: u"Consumer [consumer2] cannot be added to consumergroup [mygroup] because of the following conflicting key-value pairs. You need to delete these key-values from the consumer in order to add it to this consumergroup: {u'key2': u'bla'}"

Comment 2 Jeff Ortel 2011-02-23 17:57:11 UTC
Build: 0.141

Comment 3 Preethi Thomas 2011-03-08 20:17:49 UTC
Failing this

[root@nec-em8 upload]# rpm -q pulp
pulp-0.0.145-1
. 
Looks like the error needs to be raised all the way back up to the CLI.

From the log

2011-03-08 15:15:07,612 [ERROR][Dummy-2] @ base.py:56 - Traceback (most recent call last):
  File "/usr/lib/python2.4/site-packages/pulp/server/webservices/controllers/base.py", line 52, in report_error
    return method(self, *args, **kwargs)
  File "/usr/lib/python2.4/site-packages/pulp/server/compat.py", line 40, in _decorator
    return decorator(*args,**kwargs)
  File "/usr/lib/python2.4/site-packages/pulp/server/webservices/controllers/base.py", line 131, in _auth_decorator
    value = method(self, *args, **kwargs)
  File "/usr/lib/python2.4/site-packages/pulp/server/webservices/controllers/consumergroups.py", line 248, in POST
    return action(id)
  File "/usr/lib/python2.4/site-packages/pulp/server/webservices/controllers/consumergroups.py", line 185, in add_consumer
    api.add_consumer(id, data)
  File "/usr/lib/python2.4/site-packages/pulp/server/compat.py", line 40, in _decorator
    return decorator(*args,**kwargs)
  File "/usr/lib/python2.4/site-packages/pulp/server/auditing.py", line 207, in _audit
    result = method(*args, **kwargs)
  File "/usr/lib/python2.4/site-packages/pulp/server/api/consumer_group.py", line 107, in add_consumer
    'in order to add it to this consumergroup: %s', consumerid, groupid, conflicting_keyvalues)
PulpException: u"Consumer [foo] cannot be added to consumergroup [test-group] because of the following conflicting key-value pairs. You need to delete these key-values from the consumer in order to add it to this consumergroup: {u'preethi': u'consumer-value'}"

Comment 4 Sayli Karmarkar 2011-03-08 20:47:39 UTC
Original bug is fixed and it is raising correct exception. This is more of an exception handling bug. 

Preethi, can you verify this bug and open up a new one for a better error message so I can align it to exception handling tracker?

Comment 5 Preethi Thomas 2011-03-08 21:08:42 UTC
moving to verified as per the above comment.


[root@nec-em8 upload]# rpm -q pulp
pulp-0.0.145-1

Comment 6 Preethi Thomas 2011-08-16 12:10:17 UTC
Closing with Community Release 15

pulp-0.0.223-4.

Comment 7 Preethi Thomas 2011-08-16 12:22:22 UTC
Closing with Community Release 15

pulp-0.0.223-4.


Note You need to log in before you can comment on or make changes to this bug.