On Feb 23, 2011, at 7:08 AM, Trevor Vaughan wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > Dan's follow up e-mail made the programmatic interface usage a bit clearer. > > The rest inline.... > > On 02/22/2011 08:22 PM, Luke Kanies wrote: >> On Feb 22, 2011, at 1:44 PM, Trevor Vaughan wrote: >> >>> -----BEGIN PGP SIGNED MESSAGE----- >>> Hash: SHA1 >>> > <snip/> >>> 2) puppet catalog - doesn't seem to do anything gives the message "Could >>> not prepare for execution: Action select already defined for >>> Puppet::Interface::Catalog" >> >> >> Hmm. I definitely don't get this behavior. I either get a failure >> describing what I should be doing (if I've passed no args) or I get the >> expected results. Can you send a stack trace. > > - - Attached. The same result happened via irb.
Can you try it again with the current code? I did a bunch of refactoring it yesterday, and I think I quashed a lot of these. >>> 3) Overall, this interface is too slow. I'm thinking this is due to having >>> it run the entire puppet codebase startup before delving into things. >>> Perhaps this can't be avoided. >> >> What target should we be shooting for? I was expecting that as long as >> simple things ran in ~ 1s it'd be fine, which is about what I'm seeing. > > I think that ~1s would be OK. Here's what I'm getting: > > $ time ./puppet --version > 2.6.5 > > real 0m3.369s > user 0m0.881s > sys 0m0.839s > > It's on a "small" system with only 1G RAM and a 2.3GHz processor, but still, > 3 seconds just for the version is a bit much. This seems to be consistent > with anything that doesn't load facts. Those, of course, take longer. This > may be directly related to the size of my catalog, of course. Urgh: luke@syringe $ time puppet --version 2.6.5 real 0m0.849s user 0m0.389s sys 0m0.259s luke@syringe $ time puppet facts find localhost > /dev/null real 0m1.292s user 0m0.598s sys 0m0.514s luke@syringe $ >>> One of the things that I would like to see is a fast way of digging into >>> the catalog and running system configuration. I'm thinking that fact parsing >>> could be avoided for many of these calls and this may provide the reaction >>> time that I'm looking for. >> >> What kinds of digging do you want to do? > > - - Well, one thing is to be able to see what services are running on the > system that are not defined in my catalog. I know you've been working on some > audit functionality, and this is information that almost all of the major > system security guides seem to want to know. > >> >>> I think that the tool does have potential but, for now, the wait time to >>> get information out of it is just too high compared with hacking something >>> together that can run multiple commands in the same instance and manipulate >>> the results. >> >> One of the specific goals of this is to make it easy to hack something >> together in an instance. Note that we're not just providing CLI >> applications, we're also providing ruby Interfaces that provide their >> back-end. >> >> E.g., the goal is to be able to replace the current Agent class with >> something that looks more like this: >> >> # Set our constant search path >> class Puppet::Interface >> Agent.action :run do >> Plugin.download >> Facts.upload >> catalog = Catalog.download >> report = Catalog.apply(catalog) >> Report.upload(report) >> end >> end >> >> This kind of thing is already possible, it's just not that not all of the >> methods exist, nor does this actually fully capture the complexity of the >> current Agent's behavior (for better or worse). >> >> In other words, even if your goals are to hack something up in a single >> process, this should make that much, much easier. > > - - I'm seeing this now and definitely understand the potential. > >> > > - -- > Trevor Vaughan > Vice President, Onyx Point, Inc. > email: [email protected] > phone: 410-541-ONYX (6699) > pgp: 0x6C701E94 > > - -- This account not approved for unencrypted sensitive information -- > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v1.4.11 (GNU/Linux) > > iQEcBAEBAgAGBQJNZSLmAAoJECNCGV1OLcypKLcIAIxFeSYOVsuseB2prNPcIDxD > vxB2dzXCJ4qv/jMP9yfOk/RNUUGk0xQ38mN+A4AzJIij1acHEDP0fl4lOa/yD2cb > ti7ihBpBwdM7pmbTsyDLXAq3IIydu0DZ3fVUbqOR/Rrk6vbF/OX9GEO/lGwM4Ma9 > 6brON819jMosHXGLunAvHnM/VzJPr63ST6Q2t3ioDVeAR/llzWISEyJxzu9tdM/d > EsDDbd5LJ9jzLYX8jqn5B1zG4562csTk9IZCKhkYyPUgIscFgrW+e3D+CZlR8AYb > vKS0D2j3JwJxGrJGhIX+rTJp/IUOgiJGgpa3Ipm3ECAMCGM034YMNUpfiYCSARI= > =qQEl > -----END PGP SIGNATURE----- > <puppet_catalog.trace><puppet_catalog.trace.sig><tvaughan.vcf> -- The difference between scientists and engineers is that when engineers screw up, people die. -- Professor Orthlieb --------------------------------------------------------------------- Luke Kanies -|- http://puppetlabs.com -|- +1(615)594-8199 -- You received this message because you are subscribed to the Google Groups "Puppet Developers" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/puppet-dev?hl=en.
