summaryrefslogtreecommitdiffstats
path: root/lib/puppet/client
Commit message (Collapse)AuthorAgeFilesLines
* Almost all tests now pass. I have basically reached the point where I was ↵luke2006-12-111-11/+26
| | | | | | before I integrated graphing, except that all of the relationship handling is now inside the transaction, and any kind of recursion (including file) is *tons* easier to model and manage. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1905 980ebf18-57e1-0310-9a29-db15c13687c0
* Fixing #291 -- the problem was that instead of throwing an error on a ↵luke2006-10-161-2/+2
| | | | | | missing server, puppet was just exiting. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1785 980ebf18-57e1-0310-9a29-db15c13687c0
* Fixing the problem reported by Adnet Ghislain where facts do not load on ↵luke2006-10-091-12/+7
| | | | | | later runs. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1757 980ebf18-57e1-0310-9a29-db15c13687c0
* Many, many, many performance improvements in the compiler (I hope). I did ↵luke2006-10-061-1/+1
| | | | | | not change functionality anywhere, but I did some profiling and significantly reduced the runtime of many methods, and especially focused on some key methods that run many times. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1739 980ebf18-57e1-0310-9a29-db15c13687c0
* Fixing #283, opened by luke.luke2006-09-211-1/+2
| | | | | | | | | I now always set the owner and group to Process.uid and Process.gid, respectively. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1643 980ebf18-57e1-0310-9a29-db15c13687c0
* Using the "trace" configuration parameter to determine whether a stack trace ↵luke2006-09-151-1/+1
| | | | | | should be printed, rather than just using "debug". I added the param a little while ago and was using it internally in Puppet::DevError, but I just now went through the whole configuration and switched to using it. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1613 980ebf18-57e1-0310-9a29-db15c13687c0
* Modifying the provider base class so that it defines a method for every used ↵luke2006-09-061-1/+8
| | | | | | command (e.g., you call "commands :rpm => 'rpm'", and it defines an "rpm" method. I then pushed this throughout the package providers, which are the heaviest users of commands. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1571 980ebf18-57e1-0310-9a29-db15c13687c0
* Adding an "ignoretags" attribute to transaction, and setting it for ↵luke2006-09-051-4/+12
| | | | | | downloading plugins or facts, and for creating config directories git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1562 980ebf18-57e1-0310-9a29-db15c13687c0
* Adding the ability to download facts from the central server. This allows ↵luke2006-09-051-26/+111
| | | | | | facts to be available before the configuration is compiled. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1561 980ebf18-57e1-0310-9a29-db15c13687c0
* disabling reporting until i can find a way to make reporting only work with ↵luke2006-08-311-1/+1
| | | | | | puppetd, not puppet -- clearly puppet should not try to report git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1522 980ebf18-57e1-0310-9a29-db15c13687c0
* Setting both "report" to true by default; I am going to enable pluginsync by ↵luke2006-08-301-1/+1
| | | | | | default once I have plugins well-documented git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1520 980ebf18-57e1-0310-9a29-db15c13687c0
* Merging r1468 from the implementations branch with r1438 from when the ↵luke2006-08-141-1/+1
| | | | | | branch was first created. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1469 980ebf18-57e1-0310-9a29-db15c13687c0
* Another batch of bug fixes, this time focused on OS X patches. Looks like I ↵luke2006-07-222-2/+4
| | | | | | did not test on os x last time. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1422 980ebf18-57e1-0310-9a29-db15c13687c0
* moving plugin evaluation into a begin/rescue blockluke2006-07-211-1/+1
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1411 980ebf18-57e1-0310-9a29-db15c13687c0
* Fixing reports server so it refers to the main serverluke2006-07-111-1/+1
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1381 980ebf18-57e1-0310-9a29-db15c13687c0
* changing plugin owner to rootluke2006-07-101-1/+2
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1379 980ebf18-57e1-0310-9a29-db15c13687c0
* changing default plugin host to be $serverluke2006-07-101-1/+1
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1378 980ebf18-57e1-0310-9a29-db15c13687c0
* Accepting the patch from #190.luke2006-07-051-7/+26
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1368 980ebf18-57e1-0310-9a29-db15c13687c0
* More report and metrics manipulations. This should be the last of it.luke2006-07-011-5/+8
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1351 980ebf18-57e1-0310-9a29-db15c13687c0
* Trying to merge metrics and reports. There is now a separate transaction ↵luke2006-06-302-20/+11
| | | | | | report class, and it works throughout the previously existing system. I will next go through trying to make a metric report that graphs the metrics in rrd. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1347 980ebf18-57e1-0310-9a29-db15c13687c0
* First commit of complete reporting support. The only existing report at ↵luke2006-06-292-2/+35
| | | | | | this point is the tagmail report. I expect reporting to get significantly modified from here, but it is a good start. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1339 980ebf18-57e1-0310-9a29-db15c13687c0
* Adding reporting client, server, and tests. At this point, the server just ↵luke2006-06-291-0/+31
| | | | | | stores the report in a file as YAML. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1337 980ebf18-57e1-0310-9a29-db15c13687c0
* Cleaning up plugin handling a bit -- they can now be colon-separated paths, ↵luke2006-06-281-2/+5
| | | | | | and I added a separate "plugindest" setting for determining where plugins are synchronized to. The major feature I added, though, is that Puppet::Type now knows how to load plugins, and treats :pluginpath as a search path for plugins. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1330 980ebf18-57e1-0310-9a29-db15c13687c0
* adding message about retrieving pluginsluke2006-06-281-0/+2
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1328 980ebf18-57e1-0310-9a29-db15c13687c0
* adding hooks for ignoring files in the plugins directory, and defaulting to ↵luke2006-06-271-2/+6
| | | | | | ignoring cvs and svn files git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1320 980ebf18-57e1-0310-9a29-db15c13687c0
* Largely refactored how log destinations are handled, although it is not ↵luke2006-06-271-20/+25
| | | | | | exposed externally. Most of this work is related to handling a large number of small problems related to threading. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1315 980ebf18-57e1-0310-9a29-db15c13687c0
* Adding HUP and USR1 hooksluke2006-06-261-0/+30
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1308 980ebf18-57e1-0310-9a29-db15c13687c0
* Setting pluginsync default to false, and (hopefully) fixing autosign problem ↵luke2006-06-201-1/+1
| | | | | | when the file exists and autosign is set to true (#180). The problem was that the puppetmasterd script was redundantly setting autosign in the CA, when the CA already knows how to deal with autosigning, which meant that autosign was being set before the config was parsed. Thus, there was no bug when autosign was set on the command line but there was when it was set in the config. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1304 980ebf18-57e1-0310-9a29-db15c13687c0
* Adding plugins and plugin management. The Master Client will now ↵luke2006-06-201-1/+58
| | | | | | automatically download plugins if pluginsync is enabled, and they will be automatically sourced. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1302 980ebf18-57e1-0310-9a29-db15c13687c0
* Fixing #154. Basically just accepted the patch that fixes master.rb and ↵luke2006-06-081-1/+1
| | | | | | added a test case for it. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1242 980ebf18-57e1-0310-9a29-db15c13687c0
* Did some work on making sure object removal actually works, thus stopping ↵luke2006-05-252-8/+10
| | | | | | some potential memory leaks. Also explicitly removed objects in more places, again hopefully forestalling memory leaks. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1224 980ebf18-57e1-0310-9a29-db15c13687c0
* Adding a lot of structure to puppet.rb to make it easier to manage multiple ↵luke2006-05-182-3/+41
| | | | | | | | objects in a single process, including making it easy to add threads. Added some testing for all of that. Also added a "runner" server, meant to be started within puppetd, so that clients can have runs triggered from a central host git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1212 980ebf18-57e1-0310-9a29-db15c13687c0
* Fixing #132, which involved creating a separate CA client and using it to ↵luke2006-05-021-1/+1
| | | | | | retrieve the certificates. There was more work to do because of the weird client/daemon/server heirarchy. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1160 980ebf18-57e1-0310-9a29-db15c13687c0
* Adding in all of the patches necessary to make a prototype rails interface ↵luke2006-04-284-9/+59
| | | | | | to puppet nodes work. The biggest change is that there is now a separate NetworkClient class for every Client subclass, because otherwise you get namespace collisions. Most everything other change is a relatively minor patch. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1145 980ebf18-57e1-0310-9a29-db15c13687c0
* Trying to track down the bugs reported this morning, so I added some more ↵luke2006-04-271-1/+1
| | | | | | test cases. I did find a bug in the filebuckets, fixed it, and added a test case. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1143 980ebf18-57e1-0310-9a29-db15c13687c0
* Creating a simplistic, generic function framework in the parser, so it is ↵luke2006-04-261-1/+3
| | | | | | now very easy to add new functions. There is a pretty crappy, hardwired distinction between functions that return values and those that do not, but I do not see a good way around it right now. Functions are also currently responsible for handling their own arity, although I have plans for fixing that. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1134 980ebf18-57e1-0310-9a29-db15c13687c0
* Final commit before 0.16.0luke2006-04-211-11/+4
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1129 980ebf18-57e1-0310-9a29-db15c13687c0
* A simple first version of an object (called "pelement") server is now in ↵luke2006-04-201-0/+20
| | | | | | place. There is not yet a client, and the tests are pretty simple so far -- only files have been tested yet. I had to make a significant number of modifications to the file object in order to get this all to work, and one of the big changes I made is to the internals of the checksum state. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1123 980ebf18-57e1-0310-9a29-db15c13687c0
* Fixing a bunch of small bugs, mostly found by testing on solaris, and added ↵luke2006-04-171-9/+9
| | | | | | a check to the test system that points out memory growth git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1113 980ebf18-57e1-0310-9a29-db15c13687c0
* Oops, typo in client/master.rbluke2006-04-111-1/+1
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1109 980ebf18-57e1-0310-9a29-db15c13687c0
* Adding locking to the master client, so that only one copy of puppetd will ↵luke2006-04-111-19/+67
| | | | | | be running. This should make it safe to run puppetd manually while it is also running normally. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1107 980ebf18-57e1-0310-9a29-db15c13687c0
* Adding the puppet client version to the fact list as "clientversion"luke2006-04-111-0/+6
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1100 980ebf18-57e1-0310-9a29-db15c13687c0
* Adding simple benchmarking, and using it in a few of the more obvious ↵luke2006-04-101-17/+18
| | | | | | places. Also, fixed a bug in Scope#gennode. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1098 980ebf18-57e1-0310-9a29-db15c13687c0
* adding -e ability to puppet executableluke2006-04-041-7/+15
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1065 980ebf18-57e1-0310-9a29-db15c13687c0
* Fixing #98. Filebuckets now work throughout the system, and the ↵luke2006-03-121-0/+2
| | | | | | puppetmasterd creates one by default. I have also updated the :backup docs, adding an example. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1012 980ebf18-57e1-0310-9a29-db15c13687c0
* Adding enhancement #92. Unfortunately, I was not able to write test code to ↵luke2006-03-121-3/+19
| | | | | | consistently verify that this works, because there is too much caching internally. I verified it personally using my own configurations, but that is as good as I could do. This indicates that caching should probably be rethought, so that there is some kind of global "do not cache anything" mechanism. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1009 980ebf18-57e1-0310-9a29-db15c13687c0
* upgrading to warning the message about using a cached copyluke2006-03-021-1/+1
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@971 980ebf18-57e1-0310-9a29-db15c13687c0
* Okay, Puppet is now almost entirely capable of configuring itself. I have ↵luke2006-03-022-8/+14
| | | | | | not yet added the extra tests to puppetmasterd to make sure it can start as a normal user, and the executables still fail some simple tests because they are producing output when they start (I will get rid of the output), but overall things look pretty good. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@965 980ebf18-57e1-0310-9a29-db15c13687c0
* Changing the setdefaults input format somewhat. It is always a hash of some ↵luke2006-03-011-1/+1
| | | | | | kind now. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@962 980ebf18-57e1-0310-9a29-db15c13687c0
* Adding --enable/--disable locking for puppetd. You can now disable puppetd ↵luke2006-02-141-2/+33
| | | | | | from running by creating a lock file, which is useful if you are testing a configuration and want puppetd not to run for a bit. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@908 980ebf18-57e1-0310-9a29-db15c13687c0