summaryrefslogtreecommitdiffstats
path: root/cobbler
diff options
context:
space:
mode:
authorMichael DeHaan <mdehaan@redhat.com>2007-11-14 12:14:56 -0500
committerMichael DeHaan <mdehaan@redhat.com>2007-11-14 12:14:56 -0500
commit39ad540c08a2b9eadefa9862b6bab42e085dafbc (patch)
tree43d7eef0bafd98bdc79942dfdded36e81fb070c1 /cobbler
parentd0deea1ae3da2f37814d2ec78fb7c31de6ddbed7 (diff)
downloadthird_party-cobbler-39ad540c08a2b9eadefa9862b6bab42e085dafbc.tar.gz
third_party-cobbler-39ad540c08a2b9eadefa9862b6bab42e085dafbc.tar.xz
third_party-cobbler-39ad540c08a2b9eadefa9862b6bab42e085dafbc.zip
Disable the blender cache as it's running afoul of the sync code, mixing up profiles/systems
data incorrectly when blending objects for cobbler/sync.
Diffstat (limited to 'cobbler')
-rw-r--r--cobbler/action_reposync.py2
-rw-r--r--cobbler/item_repo.py7
-rw-r--r--cobbler/item_system.py13
-rw-r--r--cobbler/utils.py6
-rw-r--r--cobbler/webui/CobblerWeb.py34
5 files changed, 17 insertions, 45 deletions
diff --git a/cobbler/action_reposync.py b/cobbler/action_reposync.py
index 74a4d0d..1cbb6e2 100644
--- a/cobbler/action_reposync.py
+++ b/cobbler/action_reposync.py
@@ -217,7 +217,7 @@ class RepoSync:
def create_local_file(self, repo, dest_path, output=True):
"""
Two uses:
- (A) output=True, Create local files that can be used with yum on provisioned clients to make use of thisi mirror.
+ (A) output=True, Create local files that can be used with yum on provisioned clients to make use of this mirror.
(B) output=False, Create a temporary file for yum to feed into yum for mirroring
"""
diff --git a/cobbler/item_repo.py b/cobbler/item_repo.py
index 67ea2e2..0c486b0 100644
--- a/cobbler/item_repo.py
+++ b/cobbler/item_repo.py
@@ -75,11 +75,10 @@ class Repo(item.Item):
"""
if type(keep_updated) == bool:
self.keep_updated = keep_updated
- return True
- if not str(keep_updated).lower() in ["yes","y","yup","yeah","1","true"]:
- self.keep_updated = False
- else:
+ elif str(keep_updated).lower() in ["yes","y","on","1","true"]:
self.keep_updated = True
+ else:
+ self.keep_updated = False
return True
def set_rpm_list(self,rpms):
diff --git a/cobbler/item_system.py b/cobbler/item_system.py
index f2f1d68..4bfd763 100644
--- a/cobbler/item_system.py
+++ b/cobbler/item_system.py
@@ -34,7 +34,7 @@ class System(item.Item):
self.kernel_options = {}
self.ks_meta = {}
self.interfaces = {}
- self.netboot_enabled = 1
+ self.netboot_enabled = True
self.depth = 2
self.kickstart = "<<inherit>>" # use value in profile
self.virt_path = "<<inherit>>" # ""
@@ -87,7 +87,7 @@ class System(item.Item):
self.kickstart = self.load_item(seed_data, 'kickstart', '<<inherit>>')
self.virt_path = self.load_item(seed_data, 'virt_path', '<<inherit>>')
self.virt_type = self.load_item(seed_data, 'virt_type', '<<inherit>>')
- self.netboot_enabled = self.load_item(seed_data, 'netboot_enabled', 1)
+ self.netboot_enabled = self.load_item(seed_data, 'netboot_enabled', True)
self.server = self.load_item(seed_data, 'server', '<<inherit>>')
# backwards compat, these settings are now part of the interfaces data structure
@@ -126,6 +126,9 @@ class System(item.Item):
# explicitly re-call the set_name function to possibily populate MAC/IP.
self.set_name(self.name)
+ # coerce this into a boolean
+ self.set_netboot_enabled(self.netboot_enabled)
+
return self
def get_parent(self):
@@ -291,11 +294,11 @@ class System(item.Item):
Use of this option does not affect the ability to use PXE menus. If an admin has machines
set up to PXE only after local boot fails, this option isn't even relevant.
"""
- if netboot_enabled in [ True, "True", "true", 1, "1", "on", "yes", "y", "ON", "YES", "Y" ]:
+ if str(netboot_enabled).lower() in [ "true", "1", "on", "yes", "y" ]:
# this is a bit lame, though we don't know what the user will enter YAML wise...
- self.netboot_enabled = 1
+ self.netboot_enabled = True
else:
- self.netboot_enabled = 0
+ self.netboot_enabled = False
return True
def is_valid(self):
diff --git a/cobbler/utils.py b/cobbler/utils.py
index ad72feb..f9f73b1 100644
--- a/cobbler/utils.py
+++ b/cobbler/utils.py
@@ -280,8 +280,10 @@ def blender(api_handle,remove_hashes, root_obj, blend_cache=None):
consolidated data.
"""
+ cache_enabled = False
+
blend_key = "%s/%s/%s" % (root_obj.TYPE_NAME, root_obj.name, remove_hashes)
- if blend_cache is not None:
+ if cache_enabled and blend_cache is not None:
if blend_cache.has_key(blend_key):
return blend_cache[blend_key]
@@ -323,7 +325,7 @@ def blender(api_handle,remove_hashes, root_obj, blend_cache=None):
if remove_hashes:
results = flatten(results)
- if blend_cache is not None:
+ if cache_enabled and blend_cache is not None:
blend_cache[blend_key] = results
return results
diff --git a/cobbler/webui/CobblerWeb.py b/cobbler/webui/CobblerWeb.py
index 169cd99..ac3b732 100644
--- a/cobbler/webui/CobblerWeb.py
+++ b/cobbler/webui/CobblerWeb.py
@@ -20,7 +20,7 @@ from cobbler.utils import *
import logging
import sys
-LOGGING_ENABLED = True
+LOGGING_ENABLED = False
if LOGGING_ENABLED:
# set up logging
@@ -113,31 +113,6 @@ class CobblerWeb(object):
tmpl = Template( file=filepath, searchList=[data] )
return str(tmpl)
- def __truth(self,value):
- """
- Convert 0/1, True/False, "true"/"false", etc. to Python booleans.
- """
-
- if value is None:
- return False
-
- if type(value) == type(bool()):
- return value
-
- if type(value) == type(int()):
- if value > 0:
- return True
- else:
- return False
-
- # from item_repo.py
- if not str(value).lower() in ["yes","y","yup","yeah","true"]:
- return False
- else:
- return True
-
- raise Exception("Could not determine truth of value %s" % str(value))
-
def cookies(self):
"""
Returns a Cookie.SimpleCookie object with all of CobblerWeb's cookies.
@@ -262,7 +237,6 @@ class CobblerWeb(object):
'distro': input_distro,
} )
- # FIXME: deletes and renames
def distro_save(self,name=None,oldname=None,new_or_edit=None,editmode='edit',kernel=None,
initrd=None,kopts=None,ksmeta=None,arch=None,breed=None,
delete1=None,delete2=None,**args):
@@ -374,7 +348,6 @@ class CobblerWeb(object):
else:
return self.__render('empty.tmpl',{})
- # FIXME: implement handling of delete1, delete2 + renames
def system_save(self,name=None,oldname=None,editmode="edit",profile=None,
new_or_edit=None,
kopts=None, ksmeta=None, server_override=None, netboot='n',
@@ -469,7 +442,6 @@ class CobblerWeb(object):
self.remote.save_system( system, self.token)
except Exception, e:
- # FIXME: get the exact error message and display to the user.
log_exc()
return self.error_page("Error while saving system: %s" % str(e))
@@ -492,7 +464,6 @@ class CobblerWeb(object):
input_system = None
if name is not None:
input_system = self.remote.get_system(name,True)
- input_system['netboot_enabled'] = self.__truth(input_system['netboot_enabled'])
return self.__render( 'system_edit.tmpl', {
'edit' : True,
@@ -664,7 +635,6 @@ class CobblerWeb(object):
input_repo = None
if name is not None:
input_repo = self.remote.get_repo(name, True)
- input_repo['keep_updated'] = self.__truth(input_repo['keep_updated'])
return self.__render( 'repo_edit.tmpl', {
'repo': input_repo,
@@ -708,8 +678,6 @@ class CobblerWeb(object):
try:
self.remote.modify_repo(repo, 'name', name, self.token)
self.remote.modify_repo(repo, 'mirror', mirror, self.token)
-
- keep_updated = self.__truth( keep_updated )
self.remote.modify_repo(repo, 'keep-updated', keep_updated, self.token)
if rpm_list: