diff options
author | James Cammarata <jimi@sngx.net> | 2009-03-07 21:44:00 -0600 |
---|---|---|
committer | James Cammarata <jimi@sngx.net> | 2009-03-07 21:44:00 -0600 |
commit | d3fdc6d4965b02ce18346f067c14080115943a38 (patch) | |
tree | d2fa630d3f0e941acb7f5115c31ea91aabb4ae11 /cobbler/collection_images.py | |
parent | 54e462f3dca472d8bb8dc8a2b0a69c60ed9fe2ec (diff) | |
parent | 61db7baa541acc32b305ea6977a14ee8f5b3f470 (diff) | |
download | cobbler-d3fdc6d4965b02ce18346f067c14080115943a38.tar.gz cobbler-d3fdc6d4965b02ce18346f067c14080115943a38.tar.xz cobbler-d3fdc6d4965b02ce18346f067c14080115943a38.zip |
Merge branch 'devel' of git://git.fedorahosted.org/cobbler into ris-devel
Conflicts:
cobbler/utils.py
Diffstat (limited to 'cobbler/collection_images.py')
-rw-r--r-- | cobbler/collection_images.py | 24 |
1 files changed, 21 insertions, 3 deletions
diff --git a/cobbler/collection_images.py b/cobbler/collection_images.py index 12cd5c60..2dfeeac1 100644 --- a/cobbler/collection_images.py +++ b/cobbler/collection_images.py @@ -39,11 +39,25 @@ class Images(collection.Collection): # but is left in for consistancy in the API. Unused. name = name.lower() + + # first see if any Groups use this distro + if not recursive: + for v in self.config.systems(): + if v.image is not None and v.image.lower() == name: + raise CX(_("removal would orphan system: %s") % v.name) + obj = self.find(name=name) + if obj is not None: + + if recursive: + kids = obj.get_children() + for k in kids: + self.config.api.remove_system(k, recursive=True) + if with_delete: if with_triggers: - self._run_triggers(obj, "/var/lib/cobbler/triggers/delete/image/pre/*") + self._run_triggers(self.config.api, obj, "/var/lib/cobbler/triggers/delete/image/pre/*") if with_sync: lite_sync = action_litesync.BootLiteSync(self.config) lite_sync.remove_single_image(name) @@ -54,7 +68,11 @@ class Images(collection.Collection): if with_delete: self.log_func("deleted repo %s" % name) if with_triggers: - self._run_triggers(obj, "/var/lib/cobbler/triggers/delete/image/post/*") + self._run_triggers(self.config.api, obj, "/var/lib/cobbler/triggers/delete/image/post/*") return True - raise CX(_("cannot delete an object that does not exist: %s") % name) + if with_delete and not self.api.is_cobblerd: + self.api._internal_cache_update("image", name, remove=True) + + #else: + # raise CX(_("cannot delete an object that does not exist: %s") % name) |