Bug 725411

Summary: CCP doesn't edit groups
Product: Red Hat Enterprise MRG Reporter: Martin Kudlej <mkudlej>
Component: condor-wallaby-toolsAssignee: Robert Rati <rrati>
Status: CLOSED ERRATA QA Contact: Martin Kudlej <mkudlej>
Severity: high Docs Contact:
Priority: high    
Version: DevelopmentCC: iboverma, matt
Target Milestone: 2.0.1   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: condor-wallaby-4.1-4 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-09-07 18:31:59 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Attachments:
Description Flags
qpidd debug+ log none

Description Martin Kudlej 2011-07-25 12:12:19 UTC
Created attachment 515029 [details]
qpidd debug+ log

Description of problem: It' is not possible to edit groups by condor_configure_pool command. It returns this error:

Exception received when communicating with the configuration store
This could be because of a communcation issue, or because the
configuration store was taking too long to complete a task

There is no other message by using -v parameter.

Version-Release number of selected component (if applicable):
qpid-cpp-client-0.10-6.el6.i686
python-qpid-0.10-1.el6.noarch
condor-7.6.3-0.2.el6.i686
qpid-qmf-0.10-10.el6.i686
python-qpid-qmf-0.10-10.el6.i686
wallaby-utils-0.10.5-6.el6.noarch
condor-classads-7.6.3-0.2.el6.i686
condor-wallaby-base-db-1.14-1.el6.noarch
python-condorutils-1.5-4.el6.noarch
condor-wallaby-tools-4.1-3.el6.noarch
ruby-qpid-qmf-0.10-10.el6.i686
qpid-cpp-server-0.10-6.el6.i686
ruby-wallaby-0.10.5-6.el6.noarch
wallaby-0.10.5-6.el6.noarch
python-wallabyclient-4.1-3.el6.noarch

How reproducible:
100%

Steps to Reproduce:
1. condor_configure_pool --default-group -e (it doesn't work with default group and with named group, too)
2. vim opens -> :wq
3. get error message and nothing stores
  
Actual results:
Editing groups doesn't work, it doesn't store changes and it raises error.

Expected results:
Editing groups will work, it will store changes and it will not raise any errors.

Additional info:
$ cat wallaby/agent.log
...
<-- moment of start CCP
D, [2011-07-25T14:55:57.620659 #723] DEBUG -- : get_query: user= context=28 class=Store object_num= details=#<Qmf::Query:0x2b6b081dd960>
D, [2011-07-25T14:55:57.621011 #723] DEBUG -- : qmfify: treating instance of Mrg::Grid::Config::Store:  qmf_oid is 68386600 and class_id is 1369360688
D, [2011-07-25T14:55:57.621530 #723] DEBUG -- : completing query; returned 1 objects
D, [2011-07-25T14:55:57.738438 #723] DEBUG -- : method_call(29, "getDefaultGroup", #<Qmf::ObjectId:0x2b6b081da8f0 @agent_key="1.41", @impl=#<Qmfengine::ObjectId:0x2b6b081da8a0>>, #<Qmf::Arguments:0x2b6b081dada0 @by_hash={"obj"=>#<Qmf::ObjectId:0x2b6b081dabe8 @agent_key="0.0", @impl=#<Qmfengine::ObjectId:0x2b6b081daad0>>}, @map=#<Qmfengine::Value:0x2b6b081dae40>>, nil)
D, [2011-07-25T14:55:57.738608 #723] DEBUG -- : managed object is #<Mrg::Grid::Config::Store:0x2b6b0826fe50>
D, [2011-07-25T14:55:57.739431 #723] DEBUG -- : fixing up out params:  "obj" --> #<Mrg::Grid::Config::Group:0x2b6b081d76c8 @updated=1311327826915840, @row_id=1, @created=1311327826915840, @expired_after=1311598557739270, @tuple={"name"=>"+++DEFAULT", "row_id"=>1, 0=>1, "is_identity_group"=>false, 1=>1311327826915840, 2=>1311327826915840, 3=>"+++DEFAULT", "created"=>1311327826915840, 4=>false, "updated"=>1311327826915840}, @backed=true>
D, [2011-07-25T14:55:57.911439 #723] DEBUG -- : get_query: user= context=30 class= object_num=1 details=#<Qmf::Query:0x2b6b081d5aa8>
D, [2011-07-25T14:55:57.912148 #723] DEBUG -- : qmfify: treating instance of Mrg::Grid::Config::Group:  qmf_oid is 1 and class_id is 1092533192
D, [2011-07-25T14:55:57.912391 #723] DEBUG -- : name called on group +++DEFAULT
D, [2011-07-25T14:55:57.912573 #723] DEBUG -- : name called on group +++DEFAULT
D, [2011-07-25T14:55:57.912767 #723] DEBUG -- : features called on group #<Mrg::Grid::Config::Group:0x2b6b081d21c8 @updated=1311327826915840, @row_id=1, @created=1311327826915840, @expired_after=1311598557912078, @tuple={"name"=>"+++DEFAULT", "row_id"=>1, 0=>1, "is_identity_group"=>false, 1=>1311327826915840, 2=>1311327826915840, 3=>"+++DEFAULT", "created"=>1311327826915840, 4=>false, "updated"=>1311327826915840}, @backed=true>
D, [2011-07-25T14:55:57.913240 #723] DEBUG -- : params called on group #<Mrg::Grid::Config::Group:0x2b6b081d21c8 @updated=1311327826915840, @row_id=1, @created=1311327826915840, @expired_after=1311598557912078, @tuple={"name"=>"+++DEFAULT", "row_id"=>1, 0=>1, "is_identity_group"=>false, 1=>1311327826915840, 2=>1311327826915840, 3=>"+++DEFAULT", "created"=>1311327826915840, 4=>false, "updated"=>1311327826915840}, @backed=true>
D, [2011-07-25T14:55:57.915146 #723] DEBUG -- : completing query; returned 1 objects
<-- opens vim
<-- closes vim
<-- raises error

log with named group:
...
<-- moment of start CCP
D, [2011-07-25T14:59:12.744291 #723] DEBUG -- : get_query: user= context=31 class=Store object_num= details=#<Qmf::Query:0x2b6b081c1e90>
D, [2011-07-25T14:59:12.744509 #723] DEBUG -- : qmfify: treating instance of Mrg::Grid::Config::Store:  qmf_oid is 68386600 and class_id is 1369360688
D, [2011-07-25T14:59:12.745016 #723] DEBUG -- : completing query; returned 1 objects
D, [2011-07-25T14:59:12.860208 #723] DEBUG -- : method_call(32, "getGroup", #<Qmf::ObjectId:0x2b6b081bebf0 @agent_key="1.41", @impl=#<Qmfengine::ObjectId:0x2b6b081beb50>>, #<Qmf::Arguments:0x2b6b081bf528 @by_hash={"obj"=>#<Qmf::ObjectId:0x2b6b081bf320 @agent_key="0.0", @impl=#<Qmfengine::ObjectId:0x2b6b081bf1b8>>, "query"=>{"Name"=>"pokus"}}, @map=#<Qmfengine::Value:0x2b6b081bf5a0>>, nil)
D, [2011-07-25T14:59:12.860355 #723] DEBUG -- : managed object is #<Mrg::Grid::Config::Store:0x2b6b0826fe50>
D, [2011-07-25T14:59:12.861259 #723] DEBUG -- : fixing up out params:  "obj" --> #<Mrg::Grid::Config::Group:0x2b6b081bb4c8 @updated=1311328112611080, @row_id=3, @created=1311328112611080, @expired_after=1311598752861025, @tuple={"name"=>"pokus", "row_id"=>3, 0=>3, "is_identity_group"=>false, 1=>1311328112611080, 2=>1311328112611080, 3=>"pokus", "created"=>1311328112611080, 4=>false, "updated"=>1311328112611080}, @backed=true>
D, [2011-07-25T14:59:13.035095 #723] DEBUG -- : get_query: user= context=33 class= object_num=3 details=#<Qmf::Query:0x2b6b081b9858>
D, [2011-07-25T14:59:13.035878 #723] DEBUG -- : qmfify: treating instance of Mrg::Grid::Config::Group:  qmf_oid is 3 and class_id is 1092533192
D, [2011-07-25T14:59:13.036209 #723] DEBUG -- : name called on group pokus
D, [2011-07-25T14:59:13.036396 #723] DEBUG -- : name called on group pokus
D, [2011-07-25T14:59:13.036514 #723] DEBUG -- : name called on group pokus
D, [2011-07-25T14:59:13.036698 #723] DEBUG -- : features called on group #<Mrg::Grid::Config::Group:0x2b6b081b5f50 @updated=1311328112611080, @row_id=3, @created=1311328112611080, @expired_after=1311598753035807, @tuple={"name"=>"pokus", "row_id"=>3, 0=>3, "is_identity_group"=>false, 1=>1311328112611080, 2=>1311328112611080, 3=>"pokus", "created"=>1311328112611080, 4=>false, "updated"=>1311328112611080}, @backed=true>
D, [2011-07-25T14:59:13.042775 #723] DEBUG -- : params called on group #<Mrg::Grid::Config::Group:0x2b6b081b5f50 @updated=1311328112611080, @row_id=3, @created=1311328112611080, @expired_after=1311598753035807, @tuple={"name"=>"pokus", "row_id"=>3, 0=>3, "is_identity_group"=>false, 1=>1311328112611080, 2=>1311328112611080, 3=>"pokus", "created"=>1311328112611080, 4=>false, "updated"=>1311328112611080}, @backed=true>
D, [2011-07-25T14:59:13.048798 #723] DEBUG -- : completing query; returned 1 objects
<-- opens vim
<-- closes vim
<-- raises error

Comment 2 Robert Rati 2011-07-25 15:29:07 UTC
The internal objects used by ccs and ccp were stepping on each other.  ccs and ccp could accidentally get the object intended for the other, which caused havoc and random failures.

Fixed on master

Comment 3 Martin Kudlej 2011-07-26 08:50:34 UTC
Tested on RHEL 5.7/6.1 x x86_64/i386 with 
wallaby-utils-0.10.5-6
wallaby-0.10.5-6
condor-wallaby-client-4.1-4
condor-wallaby-tools-4.1-4
ruby-wallaby-0.10.5-6
condor-wallaby-base-db-1.14-1
python-wallabyclient-4.1-4
and it works again. -->VERIFIED