Bug 633233

Summary: Set Limit: Failed (super() argument 1 must be type, not classobj)
Product: Red Hat Enterprise MRG Reporter: Jan Sarenik <jsarenik>
Component: cuminAssignee: Ernie <eallen>
Status: CLOSED ERRATA QA Contact: Jan Sarenik <jsarenik>
Severity: medium Docs Contact:
Priority: medium    
Version: DevelopmentCC: eallen, jross
Target Milestone: 1.3   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2010-10-20 11:30:49 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 595735    

Description Jan Sarenik 2010-09-13 10:39:56 UTC
------------------------------------------------------------------------------
Exception in thread Thread for broker: localhost:5672:
Traceback (most recent call last):
  File "/usr/lib64/python2.4/threading.py", line 442, in __bootstrap
    self.run()
  File "/usr/lib/python2.4/site-packages/qmf/console.py", line 2749, in run
    self._v2Dispatch(item.data)
  File "/usr/lib/python2.4/site-packages/qmf/console.py", line 2631, in _v2Dispatch
    agent._handleQmfV2Message(opcode, mp, ah, content)
  File "/usr/lib/python2.4/site-packages/qmf/console.py", line 3274, in _handleQmfV2Message
    elif opcode == '_exception':       self._v2HandleException(mp, ah, content)
  File "/usr/lib/python2.4/site-packages/qmf/console.py", line 3173, in _v2HandleException
    self.session.console.methodResponse(self.broker, seq, result)
  File "/usr/share/cumin/python/cumin/session.py", line 158, in methodResponse
    callback(response.text, response.outArgs)
  File "/usr/share/cumin/python/cumin/model.py", line 1579, in completion
    self.error = QmfException(status)
  File "/usr/share/cumin/python/cumin/model.py", line 1557, in __init__
    super(QmfException, self).__init__(value)
TypeError: super() argument 1 must be type, not classobj
------------------------------------------------------------------------------

cumin-0.1.4267-1.el5
condor-7.4.4-0.12.el5
condor-qmf-7.4.4-0.12.el5

How reproducible: 100%

Steps to Reproduce:
1. Configure Condor with concurrency limits and few QMF tweaks:
----------------------------------------------------------------------
cat >/etc/condor/config.d/99-concurrency.config <<EOF
JASAN_LIMIT = 1
QMF_UPDATE_INTERVAL = 1
COLLECTOR_UPDATE_INTERVAL = 1
QUEUE_ALL_USERS_TRUSTED = TRUE
EOF
service condor restart
----------------------------------------------------------------------

2. Log in to Cumin and submit following job:
      Description: Foo
      Command: /bin/sleep 5m
      Requirements: True
      Working directory: /tmp
      Extra attributes: ConcurrencyLimits = JASAN
                        (really without quotes)
3. Now in Adm->Grid->(pool)->Limits tab click on JASAN
   and set Max Allowance to 5.
  
Actual results: Yellow notificationt box shows following:
  Set Limit: Failed (super() argument 1 must be type, not classobj)

Expected results: OK, limit set.

Additional info: Default condor config files 00personal
  and 60condor-qmf should be present.

Comment 1 Ernie 2010-09-13 13:02:25 UTC
Please retest with cumin version 4271 or higher.

Comment 2 Ernie 2010-09-13 13:31:07 UTC
Also, using cumin 4271, I noticed that even though the qmf calls return status was "OK", the MAX value returned was not changed.

Comment 3 Ernie 2010-09-13 16:44:53 UTC
Once the above exception was fixed, it uncovered a different problem: The call would return OK, but the value was not being changed.

This was because I needed to wait for the SetLimit call to return before calling Reconfig. The fix for this is in cumin 4279.

Comment 4 Jan Sarenik 2010-09-17 11:35:30 UTC
There could be a note in Console Installation Guide to set
ENABLE_RUNTIME_CONFIG = TRUE
in order to make changing the limit on the fly from Cumin
possible.

Works in cumin-0.1.4297-1.el5