[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