Re: Cobbler API - Mac registration problem

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Just realised I'm actually talking about, Read - Write XMLRPC

On Wed, Apr 30, 2008 at 1:54 PM, Eamonn Walsh <eamonn.walsh@xxxxxxxxx> wrote:
Just a question actually, has anyone had any success using the api to register systems with cobbler?




On Wed, Apr 30, 2008 at 12:46 PM, Eamonn Walsh <eamonn.walsh@xxxxxxxxx> 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..


On Wed, Apr 30, 2008 at 12:41 PM, Michael DeHaan <mdehaan@xxxxxxxxxx> 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@xxxxxxxxxx <mailto:Pablo.Iranzo@xxxxxxxxxx>> 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@xxxxxxxxxx <mailto:et-mgmt-tools@xxxxxxxxxx>
   > https://www.redhat.com/mailman/listinfo/et-mgmt-tools
   --

   Pablo Iranzo Gómez (Pablo.Iranzo@xxxxxxxxxx
   <mailto:Pablo.Iranzo@xxxxxxxxxx>)
   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@xxxxxxxxxx <mailto:et-mgmt-tools@xxxxxxxxxx>
   https://www.redhat.com/mailman/listinfo/et-mgmt-tools


------------------------------------------------------------------------

_______________________________________________
et-mgmt-tools mailing list
et-mgmt-tools@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/et-mgmt-tools

_______________________________________________
et-mgmt-tools mailing list
et-mgmt-tools@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/et-mgmt-tools

_______________________________________________
et-mgmt-tools mailing list
et-mgmt-tools@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/et-mgmt-tools



_______________________________________________
et-mgmt-tools mailing list
et-mgmt-tools@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/et-mgmt-tools

[Index of Archives]     [Fedora Users]     [Fedora Legacy List]     [Fedora Maintainers]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux