Casey Dahlin posted an idea on my blog that I thought was a good one...
What if we had an ORM for systems? When he first posted it, my
initial thought was "Func already does this", though there are some
subtle changes:
His example was more complicated, but what if we could do something like:
Client("*.example.org").filter_by(arch==i386).services.start("httpd") ?
(I'll admit the critera syntax could be much better)
The only new thing here is the concept of filtering. The goal here
would be that instead of getting back the inventory for each system, we
instead find a way to send the conditional "run this if" critera down to
each node.
This may be better served as a library a level up from Func, so we could
also work on having more "objecty" returns for it if we wanted to do
this -- ultimately this might mean it's our higher level Func API after all.
It does seem to want or require something like a facter, but I need to
evaluate whether that would meet the needs for what I want to do -- I
suspect it's not sufficiently Pythonic and we may want to do something
different.
Anyway, doing something higher level and primarily using Func for
(secure, audited) transport may not be such a bad idea.
Here was the post: http://www.michaeldehaan.net/?p=821
Either way, I think the above could be done by outsourcing the decision
making to the nodes, so we don't have to keep an updated database of all
the nodes properties.
--Michael
_______________________________________________
Func-list mailing list
Func-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/func-list