On Satellite, Cobbler is occasionally failing with 'Exception value: dictionary changed size during iteration' when creating system records

Solution Verified - Updated -

Issue

  • While creating a new cobbler system record, we sometimes receive an Exception:
  • From /var/log/cobbler/cobbler.log:
Mon Aug 26 12:05:27 2013 - INFO | REMOTE save_item(system); user(epe-script-user); object_id(___NEW___system::Ek0nd9GksZ1YCCrMTkRFMXWt7gJxzIr0Zg==)
Mon Aug 26 12:05:27 2013 - DEBUG | authorize; ['epe-script-user', 'save_system', <cobbler.item_system.System instance at 0x7fa234605ea8>, None, True]
Mon Aug 26 12:05:27 2013 - DEBUG | REMOTE epe-script-user authorization result: True; user(?)
Mon Aug 26 12:05:27 2013 - INFO | add_item(system); ['client.example.com']
Mon Aug 26 12:05:27 2013 - DEBUG | get_items; ['system']
Mon Aug 26 12:05:27 2013 - INFO | Exception occured: <type 'exceptions.RuntimeError'>
Mon Aug 26 12:05:27 2013 - INFO | Exception value: dictionary changed size during iteration
Mon Aug 26 12:05:27 2013 - INFO | Exception Info:
  File "/usr/lib/python2.6/site-packages/cobbler/remote.py", line 1758, in _dispatch
    return method_handle(*params)
   File "/usr/lib/python2.6/site-packages/cobbler/remote.py", line 842, in xapi_object_edit
    self.modify_system(handle, 'modify_interface', imods, token)
   File "/usr/lib/python2.6/site-packages/cobbler/remote.py", line 765, in modify_system
    return self.modify_item("system",object_id,attribute,arg,token)
   File "/usr/lib/python2.6/site-packages/cobbler/remote.py", line 758, in modify_item
    return method(arg)
   File "/usr/lib/python2.6/site-packages/cobbler/item_system.py", line 579, in modify_interface
    if field == "macaddress"          : self.set_mac_address(value, interface)
   File "/usr/lib/python2.6/site-packages/cobbler/item_system.py", line 315, in set_mac_address
    matched = self.config.api.find_items("system", {"mac_address" : address})
   File "/usr/lib/python2.6/site-packages/cobbler/api.py", line 426, in find_items
    res=items.find(return_list=True, no_errors=False, **criteria)
   File "/usr/lib/python2.6/site-packages/cobbler/collection.py", line 92, in find
    for (name, obj) in self.listing.iteritems():

Environment

  • Red Hat Satellite 5.5 and 5.6

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase of over 48,000 articles and solutions.

Current Customers and Partners

Log in for full access

Log In
Close

Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.