Hi,
I've just built a new cobbler machine this evening and have a problem
with snippets that is probably very obvious but I can't work out.
If I create a completly blank per_profile snippet, suddenly cheetah
throws a wobbly. The relevant line in the .ks file is
$SNIPPET('partition')
With this line commented, all works well. With this line in the file
however as soon as I create the correct file in the per_profile
directory it all falls apart:
[root@cobbler ~]# cobbler system getks --name=test
# Works fine
[root@cobbler partition]# pwd
/var/lib/cobbler/snippets/per_profile/partition
[root@cobbler partition]# touch centos5-xen-x86_64
[root@cobbler ~]# cobbler system getks --name=test
# *** ERROR ***
#
# There is a templating error preventing this file from rendering correctly.
#
# This is most likely not due to a bug in Cobbler and is something you can fix.
#
# Look at the message below to see what things are causing problems.
#
# (1) Does the template file reference a $variable that is not defined?
# (2) is there a formatting error in a Cheetah directive?
# (3) Should dollar signs ($) be escaped that are not being escaped?
#
# Try fixing the problem and then investigate to see if this message goes
# away or changes.
#
#
# module.__init__() argument 1 must be string, not unicode
# File "/usr/lib/python2.4/site-packages/cobbler/templar.py", line
115, in render
# data_out = str(t)
#
# File "/usr/lib64/python2.4/site-packages/Cheetah/Template.py",
line 982, in __str__
# def __str__(self): return getattr(self, mainMethName)()
#
# File "cheetah_DynamicallyCompiledCheetahTemplate_1241128756_44_46288.py",
line 146, in respond
#
# File "cheetah_DynamicallyCompiledCheetahTemplate_1241128756_44_46288.py",
line 92, in __errorCatcher4
#
# File "<string>", line 0, in ?
#
# File "/usr/lib/python2.4/site-packages/cobbler/template_api.py",
line 156, in SNIPPET
# result = BuiltinTemplate.SNIPPET(self, file)
#
# File "DynamicallyCompiledCheetahTemplate.py", line 89, in SNIPPET
#
# File "/usr/lib64/python2.4/site-packages/Cheetah/Template.py",
line 1512, in _handleCheetahInclude
# nestedTemplateClass = compiler.compile(source=source,file=file)
#
# File "/usr/lib/python2.4/site-packages/cobbler/template_api.py",
line 124, in compile
# return Cheetah.Template.Template.compile(*args, **kwargs)
#
# File "/usr/lib64/python2.4/site-packages/Cheetah/Template.py",
line 754, in compile
# mod = new.module(uniqueModuleName)
#
I'm running cobbler 1.6.3 on CentOS 5.3 (epel testing RPM).
I know that the output tells me that this probably isnt a bug and
almost certainly me being thick, I would love someone to point me in
the right direction!
Many thanks,
Alex