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, tools, and much more.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content