[et-mgmt-tools] Cobbler API - Mac registration problem

Michael DeHaan mdehaan at redhat.com
Wed Apr 30 13:47:23 UTC 2008


Eamonn Walsh wrote:
> What I'm hoping to achieve here, is to register the system with 
> cobbler on first boot, I'm planning on plugging it into a script that 
> runs at first boot anyway. Since auto reg isn't part of cobbler 
> 0.8.3-3.el5, I'm hoping to use this as a work around.
>
> It works fine registering the system name and profile, but falls over 
> when I try and register the mac. Will have a snoop around in the code..

You have to do auto registration via the kickstart fetcher -- as 
Anaconda doesn't send the MAC for all %pre/%post requests (like I 
previously thought...). Another thing that had to be done was to make 
some changes to allow those kind of URLs to be tolerated by the virt 
code -- so all in all, your best bet is 0.9.X.


>
> On Wed, Apr 30, 2008 at 12:41 PM, Michael DeHaan <mdehaan at redhat.com 
> <mailto:mdehaan at redhat.com>> wrote:
>
>     Michael DeHaan wrote:
>
>         Eamonn Walsh wrote:
>
>             Its just a test script at the moment, I want to see what
>             it can do
>
>             system_id = remote.new_system(token)
>             remote.modify_system(system_id,'name', 'Imatest2',token)
>             remote.modify_system(system_id,'profile', 'Testing',token)
>             remote.modify_system(system_id, 'mac',
>             'FF:EE:DD:CC:BB:AA',token)
>             remote.save_system(system_id,token)
>
>             I think the problem is because the 'mac' key is in a
>             nested list, not sure though.
>
>
>         Ah, this is your script? Glad to see more interest in API hacking!
>         Yes, I did some work to add this recently. Definitely check
>         out the devel branch. If you are interested in the code, see
>         'remote.py' and 'services.py'.
>         The idea was to consolidate all of the cgi-bin stuff on
>         mod_python to simplify things. All of the mod_python code
>         ('services.py') effectively sends requests
>         down to cobblerd via XMLRPC ('remote.py'). Since this relies
>         on kssendmac in the kernel options line, you won't see results
>         from running "wget", but if you request those kickstart URLs
>         from Anaconda registration (if enabled in settings via the new
>         option) will occur.
>
>         It has some security features in that it will not add a system
>         if mac is already in the "database" and works by detecting the
>         mac of the system
>         when they request the kickstart file from the mod python
>         kickstart generator (kickstarts are no longer statically
>         generated on the filesystem).
>
>         --Michael
>
>
>     In the interest of completeness, the issue is that cobbler now
>     suppports multiple network interfaces. So your script has to use
>     the API to modify network interfaces, which is slightly varied
>     from the above. See remote.py on the devel branch for how that is
>     done. The WebUI, which is written against the same XMLRPC
>     interface, is also a good reference. (cobbler/web/CobblerWeb.py)
>
>
>
>
>             On Wed, Apr 30, 2008 at 12:10 PM, Pablo Iranzo Gómez
>             <Pablo.Iranzo at redhat.com <mailto:Pablo.Iranzo at redhat.com>
>             <mailto:Pablo.Iranzo at redhat.com
>             <mailto:Pablo.Iranzo at redhat.com>>> wrote:
>
>
>             Is it possible to have the script to play with it?
>
>             Will try to check how this works and possible usages :)
>
>             Thanks!
>             Pablo
>
>             El mié, 30-04-2008 a las 09:42 +0100, Eamonn Walsh escribió:
>             > Hi Guys,
>             >
>             > Doing some work with the cobbler api and getting the
>             fallowing error
>             >
>             > Traceback (most recent call last):
>             > File "rpc-cobbler-test", line 20, in ?
>             > remote.modify_system(system_id, 'interfaces : mac_address',
>             > 'FF:EE:DD:CC:BB:AA', token)
>             > File "/usr/lib/python2.4/xmlrpclib
>             > .py", line 1096, in __call__
>             > return self.__send(self.__name, args)
>             > File "/usr/lib/python2.4/xmlrpclib.py", line 1383, in
>             __request
>             > verbose=self.__verbose
>             > File "/usr/lib/python2.4/xmlrpclib.py", line 1147, in
>             request
>             > return self._parse_response(h.getfile(), sock)
>             > File "/usr/lib/python2.4/xmlrpclib.py", line 1286, in
>             > _parse_response
>             > return u.close()
>             > File "/usr/lib/python2.4/xmlrpclib.py", line 744, in close
>             > raise Fault(**self._stack[0])
>             > xmlrpclib.Fault: <Fault 1:
>             "cobbler.cexceptions.CX:'object has no
>             > method: mac'">
>             >
>             > Line of code causing this problem:
>             >
>             > remote.modify_system(sys_id, 'mac', 'AA:BB:CC:DD:EE:FF',
>             token)
>             >
>             > Any ideas? Using cobbler 0.8.3-3.el5
>             >
>             > Thanks,
>             >
>             > Eamonn
>             > _______________________________________________
>             > et-mgmt-tools mailing list
>             > et-mgmt-tools at redhat.com
>             <mailto:et-mgmt-tools at redhat.com>
>             <mailto:et-mgmt-tools at redhat.com
>             <mailto:et-mgmt-tools at redhat.com>>
>             > https://www.redhat.com/mailman/listinfo/et-mgmt-tools
>             --
>
>             Pablo Iranzo Gómez (Pablo.Iranzo at redhat.com
>             <mailto:Pablo.Iranzo at redhat.com>
>             <mailto:Pablo.Iranzo at redhat.com
>             <mailto:Pablo.Iranzo at redhat.com>>)
>             RHCE/Global Profesional Services Consultant Spain
>             Phone: +34 645 01 01 49 (CET/CEST)
>             GnuPG KeyID: 0xFAD3CF0D
>             ---
>             Dirección Comercial: C/Jose Bardasano Baos, 9, Edif. Gorbea 3,
>             planta 3ºD, 28016 Madrid, Spain
>             Dirección Registrada: Red Hat S.L., C/ Velazquez 63,
>             Madrid 28001,
>             Spain
>             Inscrita en el Reg. Mercantil de Madrid – C.I.F. B82657941
>
>             _______________________________________________
>             et-mgmt-tools mailing list
>             et-mgmt-tools at redhat.com <mailto:et-mgmt-tools at redhat.com>
>             <mailto:et-mgmt-tools at redhat.com
>             <mailto:et-mgmt-tools at redhat.com>>
>             https://www.redhat.com/mailman/listinfo/et-mgmt-tools
>
>
>             ------------------------------------------------------------------------
>
>             _______________________________________________
>             et-mgmt-tools mailing list
>             et-mgmt-tools at redhat.com <mailto:et-mgmt-tools at redhat.com>
>             https://www.redhat.com/mailman/listinfo/et-mgmt-tools
>
>
>         _______________________________________________
>         et-mgmt-tools mailing list
>         et-mgmt-tools at redhat.com <mailto:et-mgmt-tools at redhat.com>
>         https://www.redhat.com/mailman/listinfo/et-mgmt-tools
>
>
>     _______________________________________________
>     et-mgmt-tools mailing list
>     et-mgmt-tools at redhat.com <mailto:et-mgmt-tools at redhat.com>
>     https://www.redhat.com/mailman/listinfo/et-mgmt-tools
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> et-mgmt-tools mailing list
> et-mgmt-tools at redhat.com
> https://www.redhat.com/mailman/listinfo/et-mgmt-tools




More information about the et-mgmt-tools mailing list