summaryrefslogtreecommitdiffstats
path: root/cobbler/item_repo.py
diff options
context:
space:
mode:
authorMichael DeHaan <mdehaan@redhat.com>2007-11-29 17:38:22 -0500
committerMichael DeHaan <mdehaan@redhat.com>2007-11-29 17:38:22 -0500
commit248b28b0181d87069364a87f4762086206781d38 (patch)
treee6754d158c64db4447e810299e019ada481504b6 /cobbler/item_repo.py
parent4547a2759ce5369774676f16365492f14aad2392 (diff)
downloadthird_party-cobbler-248b28b0181d87069364a87f4762086206781d38.tar.gz
third_party-cobbler-248b28b0181d87069364a87f4762086206781d38.tar.xz
third_party-cobbler-248b28b0181d87069364a87f4762086206781d38.zip
Apply Christophe's patch to enable yum priorities. Slightly tweaked to default to 99, not 200.
Diffstat (limited to 'cobbler/item_repo.py')
-rw-r--r--cobbler/item_repo.py17
1 files changed, 17 insertions, 0 deletions
diff --git a/cobbler/item_repo.py b/cobbler/item_repo.py
index 06d855f..659e3a8 100644
--- a/cobbler/item_repo.py
+++ b/cobbler/item_repo.py
@@ -33,6 +33,7 @@ class Repo(item.Item):
self.name = None
self.mirror = (None, '<<inherit>>')[is_subobject]
self.keep_updated = ('y', '<<inherit>>')[is_subobject]
+ self.priority = (99, '<<inherit>>')[is_subobject]
self.rpm_list = ("", '<<inherit>>')[is_subobject]
self.createrepo_flags = ("-c cache", '<<inherit>>')[is_subobject]
self.depth = 2 # arbitrary, as not really apart of the graph
@@ -43,6 +44,7 @@ class Repo(item.Item):
self.name = self.load_item(seed_data, 'name')
self.mirror = self.load_item(seed_data, 'mirror')
self.keep_updated = self.load_item(seed_data, 'keep_updated','y')
+ self.priority = self.load_item(seed_data, 'priority',99)
self.rpm_list = self.load_item(seed_data, 'rpm_list')
self.createrepo_flags = self.load_item(seed_data, 'createrepo_flags', '-c cache')
self.arch = self.load_item(seed_data, 'arch')
@@ -81,6 +83,18 @@ class Repo(item.Item):
self.keep_updated = False
return True
+ def set_priority(self,priority):
+ """
+ Set the priority of the repository. 1= highest, 99=default
+ Only works if host is using priorities plugin for yum.
+ """
+ try:
+ priority = int(str(priority))
+ except:
+ raise CX(_("invalid priority level: %s") % priority)
+ self.priority = priority
+ return True
+
def set_rpm_list(self,rpms):
"""
Rather than mirroring the entire contents of a repository (Fedora Extras, for instance,
@@ -135,6 +149,7 @@ class Repo(item.Item):
'name' : self.name,
'mirror' : self.mirror,
'keep_updated' : self.keep_updated,
+ 'priority' : self.priority,
'rpm_list' : self.rpm_list,
'createrepo_flags' : self.createrepo_flags,
'arch' : self.arch,
@@ -146,6 +161,7 @@ class Repo(item.Item):
buf = _("repo : %s\n") % self.name
buf = buf + _("mirror : %s\n") % self.mirror
buf = buf + _("keep updated : %s\n") % self.keep_updated
+ buf = buf + _("priority : %s\n") % self.priority
buf = buf + _("rpm list : %s\n") % self.rpm_list
buf = buf + _("createrepo_flags : %s\n") % self.createrepo_flags
buf = buf + _("arch : %s\n") % self.arch
@@ -175,6 +191,7 @@ class Repo(item.Item):
'mirror-name' : self.set_name,
'mirror' : self.set_mirror,
'keep-updated' : self.set_keep_updated,
+ 'priority' : self.set_priority,
'rpm-list' : self.set_rpm_list,
'createrepo-flags' : self.set_createrepo_flags
}