[et-mgmt-tools] Recursive distro delete trying to remove a profile more than once?

Cole Robinson crobinso at redhat.com
Mon Jul 14 22:50:25 UTC 2008


Charles Duffy wrote:
> Howdy. I'm trying to remove a number of distros and profiles, and 
> hitting exceptions similar to the following:
> 
> Traceback (most recent call last):
>    File "cobbler_sync.py", line 132, in run
>      cobbler_api.distros().remove(distro.name, with_delete=True, 
> recursive=True)
>    File 
> "/usr/lib/python2.4/site-packages/cobbler/collection_distros.py", line 
> 51, in remove
>      self.config.api.remove_profile(k, recursive=True)
>    File "/usr/lib/python2.4/site-packages/cobbler/api.py", line 176, in 
> remove_profile
>      return self._config.profiles().remove(ref.name, recursive=recursive)
>    File 
> "/usr/lib/python2.4/site-packages/cobbler/collection_profiles.py", line 
> 70, in remove
>     raise CX(_("cannot delete an object that does not exist: %s") % name)
> cobbler.cexceptions.CX: 'cannot delete an object that does not exist: 
> centos-5.1-xen-x86_64'
> 
> 
> The calling code looks like the following:
> 
>   for distro in list(cobbler_api.distros()):
>     if not cobbler_api.find_distro(distro.name):
>       continue # we've been removed by a recursive delete
>     if not distro.name in desired_distro_list:
>       logger.info('removing distro %r' % (distro.name,))
>       if not noop:
>         cobbler_api.distros().remove(distro.name, with_delete=True, 
> recursive=True)
> 
> This issue is reproduced after the import of a new distribution.
> 

Cobbler moved to its own list at:

https://fedorahosted.org/mailman/listinfo/cobbler

So you'll probably want to move your question there.

- Cole




More information about the et-mgmt-tools mailing list