[Pacemaker] python bindings

Nikola Ciprich extmaillist at linuxbox.cz
Thu Jul 9 09:46:13 EDT 2009


OK guys, thanks a lot to both of You for the answers.
I'll dive into the code a bit more and report later.
BR
nik

On Wed, Jul 08, 2009 at 12:59:33PM +0800, Yan Gao wrote:
> Hi,
> On Tue, 2009-07-07 at 18:28 +0200, Dejan Muhamedagic wrote:
> > Hi,
> > 
> > On Tue, Jul 07, 2009 at 02:39:31PM +0200, Nikola Ciprich wrote:
> > > Hello,
> > > I would like to do some extensive scripting with python and pacemaker. 
> > > According to what I've discovered so far, it seems that there are at least
> > > two implemented python "bindings" - one in Dejan's crm shell and one in
> > > Yan's mgmt package. I'm wandering if it maybe might make sense to start
> > > project on creating separate set of python bindings which could be usable
> > > by both those projects as well as others.
> > 
> > That would be great, of course. I talked to Yan about it a bit,
> > but we didn't get further than agreeing that it would be of
> > benefit to have common python library (or bindings, as you put
> > it).
> Yes, we do believe we could find something that could be reused, even
> the two tools have different mechanisms
> 
> > 
> > The GUI is quite a bit older than the crm shell and it supports
> > the older Heartbeat v2 CIB format. 
> The GUI now supports any format of CIB. Since it queries the CIB and
> determines the version of it, then retrieves the corresponding version
> of Relax-NG/DTD schema from the back-end, and renders the UI according
> to the schema.
> 
> > Though there was a lot of new
> > development in the GUI as well. Now, the two have different
> > access patterns: the crm talks to the cib (the daemon) using
> > cibadmin whereas the GUI accesses the CIB over the network
> > through mgmtd. 
> Yes, the GUI was designed to be assumed to run remotely.
> 
> > I don't know the protocol details.
> Basically, after the front-end renders the UI according to the
> corresponding schema and the current CIB XML, users can do any
> modification on it. Then the front-end will process the new XML and do
> validating. If the new XML is valid, the front-end will transfer the XML
> to the back-end (mgmtd), and mgmtd will update it to cib.
> 
> >  BTW, the cib
> > also has network capabilities, so it's possible to use the crm
> > shell or cibadmin or crm_resource from a remote host (but I never
> > tried that).
> Interesting:-)
> 
> > 
> > > In such case, what would be the best way of creating those bindings? 
> > 
> > I guess first by identifying the needs, then to devise the
> > interface, finally to analyze the existing code and see how the
> > interface fits, then to redesign interface :)
> > 
> > > I'm considering either reusing the existing code (either from crm, or mgmt)
> > > or creating it from scratch...
> > 
> > Probably some parts can be reused.
> Indeed
> 
> > 
> > > And is it better to use mgmt interface, or rather parse commands output? (I 
> > > don'r really like the latter variant)
> > 
> > The mgmtd should sometimes in future be converted to use the crm
> > shell interface. 
> Or at least supports crm shell syntax I think:-)
> 
> > When you say "parse output" to which output do
> > you refer?
> > 
> > > Anyways, any suggestion would be appreciated!
> > 
> > Not a python expert here, so I'm all ears to hear about possible
> > improvements.
> Me either:-)
> Thanks!
> 
> -- 
> Regards,
> Yan Gao
> China R&D Software Engineer
> ygao at novell.com
> 
> Novell, Inc.
> Making IT Work As One™
> 
> 
> _______________________________________________
> Pacemaker mailing list
> Pacemaker at oss.clusterlabs.org
> http://oss.clusterlabs.org/mailman/listinfo/pacemaker
> 

-- 
-------------------------------------
Nikola CIPRICH
LinuxBox.cz, s.r.o.
28. rijna 168, 709 01 Ostrava

tel.:   +420 596 603 142
fax:    +420 596 621 273
mobil:  +420 777 093 799
www.linuxbox.cz

mobil servis: +420 737 238 656
email servis: servis at linuxbox.cz
-------------------------------------




More information about the Pacemaker mailing list