According to func-inventory (yay!) I was running 'cobbler 0 1.2.5
1.el5
noarch'
I've synced regularly over the past few days as we've been installing a
few systems.
I'm using serializers_yaml and can see the profile listed in
/var/lib/cobbler/profiles:
I can see the profiles in there.
Should I erase and re-install cobbler? b/c I don't think that I'll be
able to just do a rpm -Uvh if the versions are the same.
Cheers,
Harry
Michael DeHaan wrote:
> Harry Hoffman wrote:
>
>> Just upgraded to the latest cobbler from epel-testing... the
>> post-install script fails :-(
>>
>> Updating : cobbler ####################### [ 5/10]
>> profile CentOS-5.2-x86_64 not found, inheritance not possible
>>
>> Stopping cobbler daemon: [ OK ]
>> Starting cobbler daemon: Traceback (most recent call last):
>> File "/usr/bin/cobblerd", line 32, in ?
>> api = bootapi.BootAPI()
>> File "/usr/lib/python2.4/site-packages/cobbler/api.py", line 90, in
>> __init__
>> self.deserialize()
>> File "/usr/lib/python2.4/site-packages/cobbler/api.py", line 448, in
>> deserialize
>> return self._config.deserialize()
>> File "/usr/lib/python2.4/site-packages/cobbler/config.py", line 186,
>> in deserialize
>> serializer.deserialize(self._profiles)
>> File "/usr/lib/python2.4/site-packages/cobbler/serializer.py", line
>> 125, in deserialize
>> rc = storage_module.deserialize(obj,topological)
>> File
>> "/usr/lib/python2.4/site-packages/cobbler/modules/serializer_yaml.py",
>> line 136, in deserialize
>> obj.from_datastruct(datastruct)
>> File "/usr/lib/python2.4/site-packages/cobbler/collection.py", line
>> 144, in from_datastruct
>> item = self.factory_produce(self.config,seed_data)
>> File
>> "/usr/lib/python2.4/site-packages/cobbler/collection_profiles.py", line
>> 41, in factory_produce
>> return profile.Profile(config).from_datastruct(seed_data)
>> File "/usr/lib/python2.4/site-packages/cobbler/item_profile.py",
line
>> 87, in from_datastruct
>> self.set_parent(self.parent)
>> File "/usr/lib/python2.4/site-packages/cobbler/item_profile.py",
line
>> 131, in set_parent
>> raise CX(_("profile %s not found, inheritance not possible") %
>> parent_name)
>> cobbler.cexceptions.CX: 'profile CentOS-5.2-x86_64 not found,
>> inheritance not possible'
>> [FAILED]
>> error: %post(cobbler-1.2.6-1.el5.noarch) scriptlet failed, exit status 1
>>
>> Any ideas?
>>
>> Cheers,
>> Harry
>> _______________________________________________
>> cobbler mailing list
>> cobbler(a)lists.fedorahosted.org
>>
https://fedorahosted.org/mailman/listinfo/cobbler
>>
>>
> What version were you running previously? Could it be that the profile
> just didn't exist before and now the problem with the subprofile lacking
> a parent was caught?
>
> Since cobbler no longer requires cobbler sync to be run frequently, that
> kind of error detection might not occur until an event that requires the
> object to be re-processed. Removal of the parent object should not be
> possible without the API getting in the way, though it might have been
> removed manually.
>
> You can do a "rpm -Uvh --noscripts" to skip the call to "cobbler
> reserialize" and /sbin/services cobblerd restart in the bottom. This may
> help you look at the problem.
>
> Depending on whether you are using serializers_yaml or
> serializer_catalog in /etc/cobbler/modules.conf, check
> /var/lib/cobbler/profiles or /var/lib/cobbler/config/profiles.d and see
> what you have in there.
>
> --Michael
>
> _______________________________________________
> cobbler mailing list
> cobbler(a)lists.fedorahosted.org
>
https://fedorahosted.org/mailman/listinfo/cobbler
>
_______________________________________________
cobbler mailing list
cobbler(a)lists.fedorahosted.org
https://fedorahosted.org/mailman/listinfo/cobbler
The solution (and I'll admit the serializer's depth sorting should have
avoided this to begin with), seems to be that we should not be enforcing
the parent assignment rules at the time when we create the objects in
memory, only when we change the parentage of the subprofile. Apologies
if that sounds too complicated (it is complicated), but it's just a one
line patch:
I'd be interested to know if others are seeing similar or not. I
reviewed the diffs between 1.2.5 and 1.2.6 and there's nothing that
would cause this, but somehow if the depth numbers got out of line it's
possible.
I tried your config files and "cobbler list" prints the right tree. I
think this possiblity was always there but it's not serious, if anyone
hits this error they can apply the above patch.
If we get anyone else saying they hit this we can think about doing an
update later.
--Michael