R.I.Pienaar
2010-Oct-25 18:24 UTC
Re: MCollective Client Languages (WAS Re: [Puppet Users] Re: Accessing Facter in other languages than Ruby?)
----- lists@truthisfreedom.org.uk wrote:> We have a team of system administrators within our organisation who love the > look and power of MCollective but are currently "unable" to utilise it fully > as they don''t know ruby (for some reason Python is the language of > choice here!). > > I''m writing a new web interface for our change management system that will be > written in DJango, it would be really nice to be able to trigger mcollective > actions as part of a change request, but without Python bindings we need to > run the SIMPLERPC sinatra client (and we need to make adjustments to it!) so > we can use a web interface to send a request to a second API that is running > on the same server as the original web interface (more on this at a later date > as I''m also planning on releasing it under a BSD-style license).OK, yeah the REST thing is nice and all but its more a demo of what you can do in a specific use case, writing a truely generic REST bridge might have value I am not sure but it will be a PITA. Ideally we''ll get other languages to be clients directly obviously thats the biggest win. Are you using the SSL security plugin? It uses YAML and there''s some sample Perl code that speaks to mcollective - at least mc-ping - in ext, it should be easy to make any language that has a syck YAML library to work with mcollective. Eventually I hope to have some nice libraries in the usual suspects like Perl, Python and PHP but really I dont know or dont care enough for those languages to bother doing it. I''d gladly help someone who is keen to write such a library though. We should probably also consider making JSON based serialization an option for this kind of thing though I quite like that the Marshal and YAML based plugins preserve data types 100% but that also risk making the thing ruby specific so it''s probably high time to make it so that we only support the primitives that JSON supports.> As I''m currently the only SysAd that has even a vague idea about Ruby > within my organisation (and my idea of Ruby is very vague as those of you who > have seen my code will know!) I''m also the only person who can extend > MCollective and write new agents. I''m also therefore the only one who can write > new clients for our support teams to use, where as if I could write > clients in another language, I could hand out the work across the team - infact, > some of our support guys could even write their own tools!The roadmap [1] covers some of what I have in mind for different languages, essentially you''ll be able to write a small ruby wrapper that defines the interface of an agent but you can then provide the actions of an agent in any language and even use different languages to build up one agent. The ruby wrapper could be made using a generator so you might not even need to know much of ruby. Some way off still but thats the plan, [1] http://marionette-collective.org/roadmap/actions_in_other_languages.html -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.