[Ovirt-devel] provisioning broken with rubygem-cobbler-0.0.2-1 and cobbler-1.1.1-2

Perry N. Myers pmyers at redhat.com
Fri Aug 22 02:25:00 UTC 2008

Went through some testing tonight to make sure things were looking halfway 
decent and ran into some problems provisioning new VMs with the Fedora 
cobbler profile.

Error in taskomatic (after removing the rescue block) was:
> create_vm
> Task action processing failed: TypeError: can't convert String into Integer
> /usr/lib/ruby/gems/1.8/gems/cobbler-0.0.2/lib/cobbler/base.rb:127:in `[]'
> /usr/lib/ruby/gems/1.8/gems/cobbler-0.0.2/lib/cobbler/base.rb:127:in `definition'
> (eval):2:in `mac_address'
> /usr/lib/ruby/gems/1.8/gems/cobbler-0.0.2/lib/cobbler/network_interface.rb:42:in `bundle_for_saving'
> /usr/lib/ruby/gems/1.8/gems/cobbler-0.0.2/lib/cobbler/system.rb:71:in `save'
> /usr/lib/ruby/gems/1.8/gems/cobbler-0.0.2/lib/cobbler/system.rb:69:in `each'
> /usr/lib/ruby/gems/1.8/gems/cobbler-0.0.2/lib/cobbler/system.rb:69:in `save'
> /usr/share/ovirt-wui/task-omatic/./task_vm.rb:169:in `create_vm'
> /usr/share/ovirt-wui/task-omatic/taskomatic.rb:97
> /usr/share/ovirt-wui/task-omatic/taskomatic.rb:88:in `each'
> /usr/share/ovirt-wui/task-omatic/taskomatic.rb:88
> /usr/share/ovirt-wui/task-omatic/taskomatic.rb:68:in `loop'
> /usr/share/ovirt-wui/task-omatic/taskomatic.rb:68

It looks like code in network_interface.rb is trying to convert the MAC 
(which is a string) into an int for some reason and an exception is being 

Since I don't know the details of what this is trying to do (and we're 
trying to get things wrapped up to bundle up a new release soon) I tried 
removing the 0.0.2-1 version of the bindings and replacing with the older 
0.0.1-2 version.  This solved the problem for now.

Darryl, can you debug this and rebuild the RPM?  Make sure you run a full 
regression test to make sure there are no problems before putting the RPM 
up on ovirt.org.

In addition, provisioning was also broken due to addition of cobbler 
1.1.1-2.  Log in /root/cobbler-import.log on appliance shows:
> Could not find files matching /usr/share/syslinux/memdisk

Looks like we're missing syslinux package on appliance.  New version of 
cobbler must use files from syslinux for something, because missing 
memdisk was preventing cobbler sync from working which caused the Fedora 
profile to not be created in /var/lib/tftp/images.

So added syslinux to wui packages list and committed and this fixed it.

These errors bring up an important point...

For packages that folks on our team maintain (like a lot of the ruby gems, 
custom ovirt builds of libvirt/kvm, etc...) we need to treat changes to 
these packages the same as we treat patches to the ovirt.org git repo. 
i.e. before putting new RPMs into the ovirt.org repos, make sure you run 
regression tests for basic functionality in the areas that your RPM affect.

Other packages in Fedora that we don't own can also cause problems 
occasionally (as we saw in cobbler here) but hopefully that will be less 
frequent.  In that case we'll have to live with the pain of dealing with 
the Fedora package release cycle and fixing things as they break.


|=-        Red Hat, Engineering, Emerging Technologies, Boston        -=|
|=-                     Email: pmyers at redhat.com                      -=|
|=-         Office: +1 412 474 3552   Mobile: +1 703 362 9622         -=|
|=- GnuPG: E65E4F3D 88F9 F1C9 C2F3 1303 01FE 817C C5D2 8B91 E65E 4F3D -=|

More information about the ovirt-devel mailing list