2.6.4 ===== 76890a5 Revert "(#5304) Use internal_name rather than real_name for maillist provider" 19f3879 Disable remote ralsh by default eee1a9c (#5424) Ship auth.conf as part of installing from source 779fea8 (#5304) Use internal_name rather than real_name for maillist provider 83f878e Renamed Reductive to Puppet 2.6.3 ===== 53bb805 Incremented CHANGELOG for 2.6.3 184733c [#5322] (#5322) Remove spec file that adds little value and causes failures 178c2a6 Fix test failures that fixing #4726 exposed. 74b6c09 (#4726) Fix RRD legacy support 8662056 Fix for #4279 -- mount detection on HP-UX fbb096a Fix for #5055 -- adding to_sym to Puppet::Node::Environment b2ff6a5 Fix for #5298 -- Collections need to do type lookup 1ce00dc Step towards [5298] -- cleanup indentation, etc. in AST::Collection 722608b Fixed #5287 - Schedule documentation is incorrect c8b6fb5 Fixed #5296 - test warnings messages d221c05 (#5297) Fix schedule tests that were missing stubs for Time.now f2fd0d1 Fix for #5273 -- user resource constantly resetting password age 544dcf8 Fix #5289 -- Bad copy/paste changes message on test failure 2.6.3rc3 ======== 126681f Updated CHANGELOG for 2.6.3rc3 b15231d Fix for #4299 -- Don't require which ea435a4 Fix #5020 - Prefer finding node name from REST uri over certname a097b93 Fix for #4894 -- retry tests if port is in use ee61b4e Fix for #4955 -- Race condition & memory leak in Puppet::Util f57425d Fix #4921 - race condition in Parser Functions creation 9604f1c Fix #5252 - line number mis-attribution during parsing cc5224c Maint. fix for test broken by 00eedac5 5f7d0fb Fix for #2568 -- Add a dbconnections option to set AR pool size ba4d22b Maint. Removing code for which no CLA has been signed 4a3d5d7 Reimplementation of functionality removed by prior commit 235d641 Refactor for CLA 9ba0c8a Fix #4923 - close process race when truncating existing file cb16d3d Puppet-load: better and safer error reporting 1d26742 Fix #5023 - puppet-load multiple nodes support 00eedac capture stderr from exec resources 4cbceab (#4573) FreeBSD service provider now supports versions <7 and >8 06c8748 Fix #3808 - puppetdoc should use --force-update only if RDoc supports it 6e6712b [#4813] Remove dead code from puppet/rails/host.rb 956296a Fix #4911 - Do not generate doc for standard RDoc parser generated object 4fa24bb Fix #5127 - error when accessing array elements abb8c66 (#5242) Fix schedule specs that fail near daylight savings ec667fd Kludge for #5206 -- port of fix for #3536 to yaml 9a3b584 (#5062) Add envpuppet helper script to ext/ aad7008 [#5225] Fix spec failure that depended on time change 21db472 (#5233) Randomize tmp dir paths 2.6.3rc2 ======== 244213c Updated CHANGELOG for 2.6.3rc2 76ac1f8 Fixed #5112 - Launchd Service broke in 2.6.2 with OS X 10.4 Clients. 776ea2a Fixed #5137 - Removed no longer required TOC references 31118fe Kludge for #5048 -- serialization compatibility with 0.25.x 65ef24e (#4534/#4778) -- Normalize parameterized classes 3b53bfc Fix for #5022 -- Escaped newlines should be elided 2.6.3rc1 ======== e3fc5b9 Updated CHANGELOG and version for 2.6.3rc1 3c56705 Fix for #4832 -- Making PSON handle arbitrary binary data e232770 Minimal fix for #4975 -- only call chage when managing password age rules a090e86 Fix for #4963 -- Use correct commands for password expiry on solaris 2.6.2 ===== 295c3be Updated CHANGELOG for 2.6.2 1d719be Fix for #4945 -- explicitly check os to supress man page installation 55417bc Reversion of 021d534482dd8edb863cb77d668ac3525362a0a6 a6e2bea Fixed #4919 - added parenths to fix error message: 2.6.2rc1 ======== 917c520 Incremented version to 2.6.2 900eae4 Updated CHANGELOG for 2.6.2rc1 1b6094d Fixed documentation typo bdf12fe Fix for #4896 -- stray newline left over from removed diagnostic e7424c6 (#4772) Update SuSE .spec file 0aaa742 Fixes #4792 (Duplicate definition since 2.6.1 upgrade) ea49d13 Improvement to #4025: made spec tests work on all platforms 0b4ce08 Adds #3046 - support for password min/max age e9f9d26 [#4783] (#4783) Fix RRDGraph report generation 34f87cf Add user account expiry to the useradd type and provider a7fb9b1 Fixed #4025 (failure in launchd if certain plists are binary). 2573872 Fix for #4649 -- avoid unsupported features on non-posix systems eb9279c Fix for 4273 -- revert b7e2580ab49ecdb67fc9b522829c005fc3750fbe 53a2bea Fix for #4804 -- escaped backslashes in interpolated strings d12e477 Fixes #4863 (Missing "require 'webrick'" causes nondeterministic spec failures) 574812e (#4860) Add regression tests that would have caught bad params method 68947e7 (#4860) Fix wrong method name.. params seems to be renamed to parameters 021359b Fix for #4644: install.rb works properly on Windows d057b90 Fix #4726 Update puppet rrdtool metric code to support modern rrd ruby bindings 66cf3a9 Fix #4226 - Prepend 'Puppet CA: ' to fqdn for default root ca_name d54352a Port Puppet::SSLCertificates::CA test to rspec effc6b8 Fixes #4852 - error messages involving Whits now mention Classes instead 3f99bd7 Fix #4267 - Create a backup before dropping permissions 6468f4e (#4763) Don't call a method that was removed in Rails 3 activerecord 79d5fde Fixed #4763 - Hardcoded ActiveRecord version 4798df3 Fixes #4822 -- Puppet doc -o option broken 99c1019 [#4798] Puppet doc manifests documentation mode broken 8cd1540 [#4692] undefined variables cause :undef to be passed to functions 06bf566 [#4787] Missing require causing failure bba04e0 Fix for #4746 -- Newline goes at the _end_ of the line 9e17c25 Fix #4743: Allow the audit meta-parameter to accept both 'all', and :all f950061 [#4716] ResourceTypeAPI exposes implementation details that are likely to change 8ff4b9a Fixed #4819 - corrected cron documentation 2b50f30 [#4771] Import of manifests with the same name only happens once 7b8cb74 Fix for #4708 - tagmail should allow . in tagname 6f229ee Minimal fix for #4631 -- set implicit classes as in 0.25.x 021d534 Fixed #3707 - rpm, like dpkg-query exits 1 if the package is not installed. Returning nil in this provider had the effect that on every run, puppet would end up calling yum erase . Returning the correct data structure resolves this. 216f663 Fixed Puppet Doc TOC generation c3cb57c Fixed versioncmp function typo 898a170 Fixed Reductive references in LICENSE file 996f14e Documentation updates for Markdown conversion 2.6.1 ===== cad1e0f Updated CHANGELOG for 2.6.1 14f871d [#4756] addendum for #4756 9bdfe69 Fix for Bug #4756 - Providers no longer respect missing features Restored deleted lines from type.rb and reinstated unit tests 14b3340 Fix for #4736 -- preserve case of defined resources bd973a2 Fix for #4637 --use of namevar missed in refactor 2.6.1rc4 ======== efa834a Updated CHANGELOG for 2.6.1rc4 763e7cb Minimal fix for #4691 -- class name uppercased in $name 4a9c857 Fix for #4693 -- implicit stages should never be serialized fa4d32c Fix for #4646 -- Missing stub 4d55c6e Fix for tests broken by fix for #4489 -- stub standalone b397b69 Fix for #4489 -- apply was using the rest terminus e91a8cc [#4462] uncaught Timeout::Error 4d36a51 Fixed alias metaparam docs error b063635 Skip apt-listbugs and apt-listchanges when installing from puppet e860907 [#4660] Avoid passing rake and autotest args to puppet tests 419e007 Fixed #4706 - logcheck patterns f6c0265 Fixed queue require for #4555 07d0be4 [#4308] Remove puppettest from specs 9e69616 Fixed RSpec warning messages 8d24861 Fixed #4100 - Added http_caching to yumrepo type 8cd266e Added cost parameter to the yumrepo type 0056d41 Fixed extlookup documentation and spacing e783a16 Fix for #4506 -- too much data being serialized f59cfc8 Fixed terminus example documentation 690465e Fix #4615 - vim highlighting fails on slashes and colons. 078e4fd Updated man pages 7548c65 Updated Man page generation since move to Markdown 2.6.1rc3 ======== 8be1929 Updated CHANGELOG for 2.6.1rc3 81a2725 Fix for #4456 -- need to accept some mime-type aliases c318558 Fix for #4489 -- apply was using the rest terminus 491c31d Fix for #4542 -- included classes weren't assigned proper stages 302d657 Fix for #4501 -- reports not generated in standalone 1ea4ccf Start server before agent 4c28079 [#4555] puppet queue tries to call code it hasn't required d1150e0 fix #4528 - treat * as absent 20f4b90 Fix for #4518 -- classes not getting added to compiler.classes 57bb06b [#4545] Remove obsolete 'trac' specs 82b4f04 Maint. -- Fix test failures broken by previous commit 0c30754 Maint. Removing code at the request of the original author 3df0490 [#4298] Puppet apply prints an error if the file to apply doesn't exist 5d4f222 Fixed #4527 correctly for 2.6.1 1b3d782 Updated config.ru example for 2.6.1 2.6.1rc2 ======== 0aa27b5 Updated for 2.6.1rc2 252c9b8 Further RST to Markdown fixes for types, values, tests 1157e8d Updated all types to Markdown output fef8800 Updated reference output to generate valid Markdown 79e0a2e Reformatting documentation from RST to MarkDown (#4509) Signed-off-by: Jes Fraser 62435e5 Rewrote functions documentation to Markdown e4b2aa6 Removed legacy Trac code 8ddea2a Maint. Passenger fix broke a test f43e87b Fix for #4476 -- rails calling yaml internals a23d80a Fixes #4485 -- single quoted strings should not treat \n as new line 8e31b52 Passenger needs HTTP headers values to be string 037bb32 [#4404] Remove requirement for source on Parser::Resource::Param 0e4bc62 [#4364] Fix failing spec due to incorrect loglevel 3a6ca54 Fix #4458 - Do not dump the whole environment when instances can't be found d909827 Fix for #4465 -- earlier "feature" patch broke ldap 47005aa Maint -- tests need to respect RFC-952 6aac8f0 [#4467] Make Puppet Master respect facts_terminus settings 1cba9a7 added md5 support as requested in http://serverfault.com/questions/166199/puppet-md5-sum-of-string 1dfd2b6 [#4381] extlookup shouldn't trigger reparses of .pp files be2b1f3 [#4370] Fixes extlookup precedence getting overwritten between runs 03808fd Fixed #4364 - Reduced audit msg from info to debug 539b57c [#4347] run_mode was colliding with --mode for "puppet doc" 1faebdd [#4423] repair parameterized class instantiation 37568bd [#4423] class { shouldn't get stored on the namespace stack 449315a [#4397]+[#4344] Move type-name resolution out of Puppet::Resource into the AST resources. daa801b [#4344] Temporary fix to stop agent from importing modules 00ebf01 [#4344] Fix for failing templates when module name matches file in local dir. e32320e [#4336] "reportdir" was in the wrong section 0f9672a Fixed #4311 - Typo in defaults.rb f54d843 Fix #4461 - attempt to fix another performance issue 2c21fae Fix for #4300 Solaris svc files need new pid filenames 83c2419 [#4284] Fix failing specs run as root due to missing puppet group 8237f68 [#4242] Fixed (removed) a broken unit test d5ad0fb Removed eventual documentation line ... eventually came 871e6fd Fixed #4368 - Updated clean stored configs ext script for new config sections cb64477 Updated version to 2.6.1 2.6.1rc1 ======== ecf44e4 Updated CHANGELOG for 2.6.1rc1 bdfcac5 Update Red Hat spec file for 2.6.0 9f08e7c Feature: puppet-load - a tool to stress-test master compilation ef9a4a6 Fix #4245 - default insertion of ACL is not thread safe 4065e81 Fix race condition in rack autoloading of request/response 3163932 Fix #4244 - Cached Attributes is not thread safe 7d42f77 JRuby doesn't implement Process.maxgroups 760e418 Fix #4349 - Parsing with ignoreimport=true was always loading site.pp 67bdf89 Fix #4348 - Puppet doc single manifest broken 13c71b9 extlookup() is a builtin d38e522 [#4333] old optparse doesn't support default_argv= 86b0882 Fixed #4326 - Updated SUSE packaging 03313b8 Fix #4319 - source file url sent to the master is invalid ac3a0d2 vim: highlight default parameters in definition/classes be2141a vim: match collected resources. c047c8d vim: added elsif 9569136 Fix for 4314 -- Need to allow '-' in class name for refs 636079f Fixed #4304 - Changed logging level for auto import message 000fd1e Fix for #4303 -- reverting to old escaping in '-strings 1d494a3 Tweak to fix for #4302--dangling ref to known_resource_types 2383050 Fix #4302 - Compilation speed regression compared to 2.6 63ec207 Minimal fix for #4297, with notes for follow-up 7ad7eb1 Fix #4286 - rename puppetdoc global module to __site__ 28bb195 Fixed yumrepo type deprecation wanring ` 067a46d Temporary tweak to tests for #4242 9778f2a [#4242] Fixed recursion due to parents including their children 59a23d6 Fix for #3382 -- Empty classes as graph placeholders 865282a Fixed example config.ru a0a63c3 Fixed network and indirection reference 64386cf Fixed Indirection reference 2.6.0 ===== db0b30d Updated CHANGELOG for 2.6.0 42a475e Fixing #4268 - manifests always imported 06fc40c [#4269] Undef variables interpolate to empty string 1288f8c [#4270] Force inherited classes to load into the correct environment 539d716 [#4287] Fix the undefined evaluate_match error when comparing functions d2da1d4 Tweak to tweak to fix for #4233 -- ":" is valid in type names bbc07f2 Bandaid for #4285 -- :name vs 40e6f02 Tweak to fix for #4233 -- only accept word chars in types 2.6.0rc4 ======== d87a2e3 Updated CHANGELOG for 2.6.0RC4 cf597d7 [#4233] Ruby regexps are not multiline by default, but Resource titles can be multiline d6cbb21 Fix for #4234 -- ruby DSL fails on second resource 4822de3 Fix for #4236 -- Only interpolate $ if followed by a variable b509032 Fix #4238 - if should match undef as '' 8c8c146 Minimal fix for #4243 -- import isn't thread safe d319da4 [#4247] storeconfigs was calling Puppet::Parser::Resource.new with the wrong arguments 9f91540 [#4256] External nodes parameters can now be assigned to nodes 680dd1a Fix for #4257 -- problems resolving ::-prefixed classes 6e07a19 Fix #4262 - Puppetmaster used to log compilation time 5b68afe Fix for #4255 -- misleading diagnostic message dd03ac9 Partial fix for #4278 -- the performance aspects 4ce33fd Fixed #4249 - Updated SUSE packaging specifications 91185c6 New man pages for 2.6.0 1cda7c5 Fixes errant Trac references in documentation 2.6.0rc3 ======== f60b6a0 Updated CHANGELOG for 2.6.0rc3 9df87e9 [#4219] Install misses command_line dir, puppet $app --help fails 0422852 conf/redhat: Consistently pass pidfile option to daemon, killproc, and status 63bf037 conf/redhat: Update conf/init files for single binary f72741f conf/redhat: Rebase rundir-perms patch 793d7b7 [#4213] -o option for setting onetime now works properly 2edf7fe [#3656] Serializing arrays of references 27d5a47 [#4215] Have rundir depend on vardir 06cc552 Fix for #4220 -- modules not implicitly loading their init files 2.6.0rc2 ======== 8747479 Updated CHANGELOG for 2.6.0rc2 fa74020 [#4209] catalog.resources should return resources f5f9a38 Fix for #4210 -- missing require in CA 1c3e844 Minimal fix for #4205 -- incorrect Import loop messages 99d8323 Fix #4206 - import "path/*" tries to import files twice a2115af Alt fix for #4207 -- serialize environments as their names fe4dcd8 [#4208] Missing parameter breaks multithread compilation 2.6.0rc1 ======== e028310 Updated CHANGELOG for 2.6.0rc1 3180b9d Code smell: Two space indentation 5432259 Code smell: Avoid needless decorations 8f15707 Code smell: Don't restate results directly after assignment c3e2353 Code smell: Use &&= for dependent initialization 42a5390 Code smell: Use ||= for conditional initialization a07bbe2 Code smell: Omit needless checks on defined 07b15bf Code smell: Avoid unneeded blocks 8d1fbe4 Code smell: Avoid explicit returns 889158a Code smell: Booleans are first class values. 81e283b Code smell: Line modifiers are preferred to one-line blocks. e8cf063 Code smell: Use string interpolation eefccf2 Code smell: English names for special globals rather than line-noise 184132e Code smell: Use {} for % notation delimiters wherever practical 9ee56f2 Code smell: Inconsistent indentation and related formatting issues 051bd98 Code smell: Miscellaneous oddity removal 77f8599 Code smell: Win32 --> MS_windows 3fbc1d5 Updated GPG rake signing task for new Puppet Labs key 94fa5d5 [#4182] show_diff was broken for streamed file contents 7009704 Fix for #4117 "Storing newly-audited value" messages 9cf9788 Manifests with variables were broken when read from STDIN to puppet apply 835f73c Use the name in the search path for looking for metadata 5bab997 maint:rename resource_type to define in internal dsl 654b564 [#4198] Require 'fileutils' everywhere FileUtils is used a07af2b [#4196] Move the docs into the source directory structure 3c00591 Fix for #4178 - generalize autoloading to include .rb cea2e5b [#3582] Remove assumption that Puppet.settings would return values of a consistent type c58e420 [#4180] Support legacy module structure b4593f2 Update RDoc parser to reflect change of custom plugin and fact locations dda165a Fixed #4180 - Updated old module structure to match correct default 1715f3a [#2730] mount ensure present shouldn't unmount a282cc3 Fixed subscribe example 2353115 Fix for environments in startup script. - Dropped the forced --manifest switch in the suse startup script to allow for environments to re-define this. Otherwise, environments will not work as puppet override configuration with command line arguments. cfca62b Redmine: 2474 - Fix for mount fstype documentation 3ff38df Fix for #4137 -- Oracle needs text for strings > 255 62dbae5 Fix for #2807 Puppet settings available as variables a5fc364 [#4161] RDoc fails to parse some of our ruby syntax b7e2580 [#3169] Adds more debugging to SSL cert verification 70af43f Fix for #4167 -- overriding file permissions in conf file 2c88884 [#4114] Fixes test failures caused by previous 4114 fixes 4a6428b saving work for my unit tests. The redhat one still fails... 1e0d922 [4123] - allows self.instances to correctly report state of services. 8d3ced5 created init provider method self.get_services which accepts an array of filenames to exclude when processing defpath. cdd4382 [#4114] Fix failures in the unit tests e419293 [#4114] Added queueing to the log 4b00c6a [#4110] Wrap Type#retrieve calls for backwards compatibility 5f8a242 Fix for #4120 No namevar running puppet doc -r type 6ac36eb [#2370] Allow OpenBSD to add packages with versions and flavors 45a9f37 [#4108] Changed missing Application constant error a0ea74b [#4149] Don't create two Resource::TypeCollections 7978be5 [#3906] Fixed missing constant Puppet::Rails when using storeconfigs fb6f2aa [#4136] Specs should listen on localhost 6d4be90 [#3961] Part two: --destroy should also be local 0598f35 Fix for #4148 (2.6 is greater than 0.25.x) 5971898 Fix for #4142 stray use of JSON instead of PSON 74e5bdc [#3172] Fix the arguments to Application::Kick.new, which I had broken 4f06e9e Maint: Explicitly put test sqlite files in a temp directory 84a9412 maint: fix stub failure in report_spec.rb 1f48d68 maint: fix stub failures in report_spec.rb bee843a maint: fix stubbing in package_spec.rb 528b915 maint: fix stubs in transaction_spec.rb 37277a5 maint: fix stubbing in catalog_spec.rb ea55e83 Maint: Improve the speed of setting settings. 7c7f6da maint: file_spec heisenbugs d6d726b Heisenbug: settings as catalog trying to create directories e579aab maint: spec_helper should reset settings directories on *every* test 298a764 maint: Remove a heisentest that wasn't testing what it claimed b389392 maint: spec_helper should only get loaded once 3304068 maint: :mutable_defaults to improve spec consistency 08b49c6 [#4090] Fix the run_mode for certs and put tests on the applications to assert their run_mode e318db6 [#4059] fix the specs to correctly mock the Puppet::Resource.new call signature ab3d27c [#4059] Minor errors preventing ralsh from running 59bf5e4 [#2713] Enable ELSIF ebd0311 [#3172] puppet kick can take hostnames as bare arguments 697508d [#4108] Missing constants fail deliberately and with a message 2639a56 [#4092] Changed notify message to defined instead of changed 223157d Fix for #4091 -- require loop in executables 174e02a [#4090] Change how RunMode instances are created so that an object for each RunMode is only created once instead of every time it's called 62e3b61 [#4090] Fix last few tests and renames of mode to run_mode 2a25883 [#4090] Git rid of the idea that run_mode is a configurable option with defaults 75e0662 [#4090] Rename mode (:master, :agent, :user) to run_mode 3cd48d8 [#4089] Replace internal usage of :check with :audit e848d41 [#3961] puppet cert --generate implies ca_location = :local 255628e [#3961] Rename cert's @mode to @cert_mode to reduce confusion b2bd05d maint: Confine a test that depends on sqlite fdc8c35 [#3994-part 3] rename spec tests from *_spec_spec to *_spec.rb 9a94ee2 Fix for test ordering sporadic failure 9ceb454 [#3994-part 2] rename integration tests to *_spec.rb 06dffc1 maint: A test specified that a file wasn't writeable, but was writeable when run as root, which caused the test to fail. Changing the test so that a directory is in place of the writeable file so not even root can write to it. 2baf74e maint: Fixes some noisy specs 0aae5a7 maint: Fixing tests that fail when run as root 0fa10a6 Cleaning up various warnings in specs 2ab123f Removing obsolete nodescope concept 153d7cd Fix #3665 - part 2, node inheritance fixes dd4fa66 Fix failing tests in spec/unit/resources/type.rb 770a8ea Fix #3665 - main class shouldn't be a subscope of itself 76953d8 maint: Fixes broken order-dependent Tidy specs 9afc67a Fix for pre 1.8.7 compatibility in namvar patch d62a391 Breaking require-loop b4af238 Fix for #3985 typo causing warning 9169ef0 Fix: puppet apply trying to use XMLRPC constant af41beb Remove an old test that had been unintentionally reintroduced by a mistake in a conflict resolution 6a8e6fe Tweak an old test due to new error handling. 5f53bfa Restore error handling for value= e817ad1 Fix tests broken by level-violation fix e5478d4 Simplify the newattr method by removing a level violation 4ef40b8 maint: Rework testing of Reports http processor to be self contained edfcbf9 [#3139] Fixed a problem with the value method for parameters 61e978b [#3139] Fixed a broken integration spec in type tidy cf9bcad maint: Fixing test to reflect that host environment assignment now takes an object instead of a string c70c96b Fix some tests broken by changing the call to newattr a72fb14 Fixing oversensitive test 15004f3 maint: Fix failing test that needed more methods stubbed 60932e1 Fixed require warning documentation 6fcb87d Fixed mcx documentation error 15ae389 Documentation fixes f95169b [#4006] Fix test failures caused by reverting ticket 2890 b5572ae Bug 3731. Applied Fix suggested by Doug Warner to always flatten out the array 117e6b6 maint: Have 'rake spec' output in color a7e4fe8 [#3810] Do not create a reports settings block db44a32 Tweak for fix for #1175 to fix test failures 3bd6f11 maint: Fixing a test typo s/stub/stubs/ ebc3e78 maint: Fixing a failing spec by stubbing a method on a stubbed object that should have been stubbed. 3b4d33c remove tests for removed code c8089f1 [#2646] Fixes the change to onetime made in b96cd6c 4bf6950 [#3139] Make newattr idempotent 51b70c0 [#3994] rename the specs to have _spec.rb at the end 9958c80 [#4064] Modify the Rails spec to use the block form of confine af8bd77 [#4064] Modify confine to also allow a message and a block containing the test. 182c003 Fixing #3988 - adding support for watchr 3a44f0e Fix #3932 - Add --charset to puppetdoc for RDoc mode fb5c1d7 Fix #3907 - Hash couldn't be initialized with an empty hash 9592dd8 Fix #3871 - Add the 'in' operator 3696d95 [#3865] External subcommands 0fc41ae [#3802] Replace rug with zypper dc1a977 [#3766] Remove YAML fixups e0e6b64 Provides #3723. Add ability for execs to have several attempts at a successful execution and fix minor bug with logoutput and returns as an array.. c8ca19a [#3674] Make sure that failing to load a feature isn't fatal 2a73b5d [#3674] Part 2: Autoloader load method should propagate failures 7952af5 [#3674] Autoloader should propagate failures f35c59f Fix #3667 - Fix class namespace 938fbe9 Removing obsolete nodescope concept 49cf2f2 Fixing #3651 failing to pop comment stack for some constructs 0dd4201 Fixing #3072 - Resource generation is recursive b96cd6c Fixes #2646. Move onetime option from the agent to global defaults so we can specify it in the config file. 0a21e1b [#2522] authorized keys owner is verified 738802e Fixing #2337 - Adding 'freeze_main' setting 50a626d Fixing #1545 - Adding 'caller_module_name' variable 5d1934b Fixing #1545 - module_name is now a variable bba45f1 [#4055] Confine CouchDB-related specs to the couchdb feature 1c5b67d [#4055] Refactor of abstract Couch terminus, more specs 432db25 [#4055] Add CouchDB terminus for facts 35636e9 [#3921] Fix typo "fact_terminus" -> "facts_terminus" 45ca669 Targeted fix for #3851 c00285c [#3810] Add http reports processor and `reporturl` setting 1d49def [#3804] Fixed one failing spec for RackREST 1e89bff Fixes #3514 - CR/LF line ending in puppet.conf cause silent failure e6709da [#3409] fix test failures from ldap environment patch a7884b4 [#3409] environment is not checked when nodes are in ldap c75b219 Fixes #3395 - CR+LF line endings in manifests cause syntax error 8b127b1 [#3388] Setting host_aliases from [] to [] no longer results in any changes be7112a Fixing #3139 - all properties can now be audited 986298b Working #3139 - Adding Settings.clear Spec#after 32f6a9d Working #3139 - Removing Property#checkable 58cf8d9 Working #3139 - Catalogs default to host_config 8f3e8bb Working #3139 - ResourceHarness does caching d6407f4 Working #3139 - removing obsolete checking in Storage 0b95a85 Working #3139 - scheduling moved to resource harness 4627b8f Improving fix for #1175; tightening thread safety ccc869e Part 2 of fix for #1175 (functions in environments) 7c6b883 [#1621] Composite keys for resources 2396eba Use the 'root' feature rather than directly checking the uid 8128311 fix tests to reflect methods moved from type/file/owner to provider/file/posix 28702a4 variable name error in refactor 19c70b5 Remove over-eager error branch in a complicated If 09881cf Confine out a lib that puppet was failing to load on non-win32 d72fd9d Confine out tests that fail on unix d1b86ec Behavior change for //UNC_Paths broke an old test ba506c1 Resolving conflicts with jes5199:ticket/master/2935-settings-mode f15a324 Fix Exec type 86bd838 Move syslog into a feature fc92408 Adapt Util::Storage specs and avoid trying to lock on directories 58100ed Relax path qualification check on FileServing::Fileset 1c016a1 Implement quoting on the exec commands and repair specs 6a92894 Avoid trying to symlink() on windows 47c9dd1 Implement "forking" for Windows c59d864 Avoid non-win32 signals on win32 runtime bbba9f9 Avoid trying to set uid/gid on windows a90bcb0 Start extracting the owner managment for files into providers b51be28 Expand file type to be able to handle Win32 and UNC paths 17a9ad1 Updated version to 2.6.0 a2e809b Fixed RSpec deprecation notice in lexer tests f054d5b Make specs work on win32 54c4538 Delete tempfiles on win32 97c043f Fix path handling f80b4c7 Print stacktraces if requested 1d98e67 Adapt defaults to Win32 environment ea9bb49 More win32? feature def 1645d8e Define posix and win32 features b3aa3ec Improve error message d67f60f Fix ProviderDpkg specs to avoid any real executions e119b04 Avoid setting the timeout before we know which timeout we should set. d40e6d4 Bug: tidy specs need FileBucket::Dipper a6b52bb Avoid trying to lock on non-files 533ef68 Removing obsolete FCollection stub from Functions bc90df6 Functions are added to a module instead of Scope 17e40e7 Slightly restructuring "Functions" file 9d0a38e [#3921] Add facts_terminus setting to Puppet settings 2874729 [#3921] Remove unnecessary require 'puppet/resource' 58a3d27 Fix for #3949 and related b755f7f Fixed #3912 - Added client certificate name as an internal fact called "clientcert" b5f14c6 {#3866] Rename the method metaclass to singleton_class to avoid the deprecation warnings from Rails ActiveSupport 2b5bd49 Fixing #3822 - checksums will be loaded from filebuckets 94390de foo 3b7aac5 For #3822 - Reducing checksum code duplication ca7b166 Fixed unsupported perlstyle regex and few other minor bugs 85f2565 Signed-off-by: Ross West a4eb5d5 Signed-off-by: Ross West 970fd87 Fixing #3791 - client environment is used cce63d8 Bug #3748 LDAP group membership 4ba3dc2 Fixing #2655 - Adding default parameter values to resources 20a74bc Refactoring tests - replacing stubs with instances b5db33b Fix for 3664: interpolating qualified variables. 9ddee72 Fix #3664 - qualified variable parsing in string interpolation a32381e Feature #2935 remove misleading comment 5937af4 Feature #2935 Unify the codepaths for setting settings b7d387e Feature #2935 Puppet[:mode] and Puppet[:name] are read-only 342298c Bug: Broken codepath in util/settings 6d5566a Feature #2935 settings are in Mode sections instead of executable names 9536723 Feature #2935: method extract require_application c338fef Feature #2935: Test for if we're "puppet cert" cbb2802 Code cleanup: remove "self." from setdefaults 37a5530 Feature #2935 Modes: root? predicate ac7efc8 Feature #2935 Puppet::Mode#master? 5665e39 Feature #2276 Single Executable: Update docstrings fc29049 feature #2276 Single Executable: use new names for settings sections 631552c Feature #2935: Applications should declare modes 8f4d644 Feature #2935: lazify require graph for applications 6b26a7c Feature #2935: Puppet::Mode b65d1af Feature #2276 Single Executable: usage message 76304f8 feature #2276 Single Executable: move CommandLine methods e9627a0 Fixing #2658 - adding backward compatibility for 0.24 61a719f Adding #2658 - Adding support for run stages d13f8ac Fixing #3671 - --compile Catalogs are pretty-printed 89e8745 Fixing #2655 - Adding default parameter values to resources edcf429 Refactoring tests - replacing stubs with instances 3dfb762 Fixing Catalog conversion 0d4fd60 Fixing #1903 - metaparam inheritance is much faster 047ebfe Fixing Parser::Resource param validation 2fae0bd Fixes #1999 - Allows the 'apt' provider to downgrade packages. b10d35d Fixes #3745 Catch unhandled exception in ssh_authorized_key provider 584961a Fixed #3721 - Removed -u option from crontab on HP-UX a15a70c Fixing tests broken by conceptual merge conflicts 5988f76 Fixes #3663 - It should be possible to list signed hosts only 2c153b1 Fixing #448 - relationships have their own syntax 052f98f Fix #3408 - enable puppetd http compression 3eaf69c Fix for conflict between fileserving streams and none-checksums 2cf7222 Fix #3373 - Client side file streaming ee5d7f1 Add master side file content streaming 63c122f Fixing tests broken by Luke's CRL flag patch. 91e6022 Fixes incorrect line in partial CRL fix 379bda0 WIP - trying to fix #3460 3947574 Updated Template documentation link 5fd6e54 Change the main spec to an apply spec 009629f Feature #2276 Single Executable: usage message 5b64d3b feature #2276 Single Executable: optparser should get CommandLine#args instead of ARGV 5683fd9 Feature #2276 Single Executable: Pass a commandline object to the application d038a1d Refactor #3706 Reify eigenclasses of Applications 7656ba7 feature #2276 Single Executable: CommandLine can be instantiated 63e2e56 feature #2276 Single Executable: subcommand method b6e2ce6 feature #2276 Single Executable: help info b073722 feature #2276 Single Executable: help for apply bfad735 feature #2276 Single Executable: rdoc paths on ubuntu 7103378 feature #2276 Single Executable: legacy settings 54c1cc5 feature #2276 Single Executable: "puppet describe" c79b228 feature #2276 Single Executable: "puppet kick" 6bdda8c feature #2276 Single Executable: "puppet cert" f9783fc feature #2276 Single Executable: "puppet master" 1d8bd0d Fix #3552 single executable should display usage 722a27f Fixes #3702: the 'log' report now sends the host name as the log source again. ddd40bb Fix for #3690 failing to calculate error codes d61a69a Fixing #3668 - fixed autoloading classes from modules f66095d Fix #3656 JSON serialization of dependencies f0a0084 Fixes #3582 - Adds dbport configuration option for specifying database port 8b99367 Adding indirector support to Resource Types 748aed9 Fix #3552 single executable should display usage eafde5c Added support for flat packages in the pkgdmg package provider. Added a test in: ./spec/unit/provider/package/pkgdmg.rb c9e3d75 Fix: the rcvar name is not necessarily the same as the service name. (More and more I get the feeling that FreeBSD's rc system is totally unsuitable for Puppet. What about porting Upstart or SMF to FreeBSD ... ?) 861c177 Added proper status command 5f72eb9 Re-included old BSD service provider, made new one default for FreeBSD c3cd24b Rewrote FreeBSD service provider 1250f80 Fixed documentation issues exposed in #3772 211782f Updated CHANGELOG for 0.25.5rc3 7c59acf Renamed all references to Reductive Labs to Puppet Labs e82f5de Fix for #3107 Changing users on AIX 44f1465 Fixing #2864 Added support for AIX System Resource Controller (SRC) - service start stop 02ed8db Fixes #2836. Add hold support to dpkg provider 0f2d3ce Fixes #1223 Add Zypper support for SuSE machines a166d50 Fix for #3399 zone type should handle exclusive IP stacks af521fa Adding #3518 - basic dot format support 9b2b0ec Fix #3551 rake spec fails to run integration specs 6a66d5e Update Red Hat spec file for 0.25.5 46c72bb Updated CHANGELOG for 0.25.5rc2 ee0cc07 Fixing #3533 - Removing all transaction cleanup 11189fb Fix for #2910 -- Tidy/matches is too tricky to use 913b63c Bug #3451: Don't leak the terminus class setting from Puppet::Resource::Catalog's spec a228399 Fix to the fix for #3295 ae52005 Write ssh_authorized_keys as user 8c5e80e Fixing bad test 088c801 Fix for #3558 -- source file reading speedup cd06b87 Fix for #3556 Plussignment value melding 2de7da4 Fixed #3655 - Puppet doesn't find installed packages with portage provider d20d5de Fixed #3672 - Error message on duplicate fileserver mounts incorrect 6ae6821 conf/redhat: Add notifempty to logrotate config 7fc66d5 Fixed stored configuration documentation 14456b4 Fixes #3653 - Changed default factpath value to better reflect plugins in modules f3e466b Partial fix to #2837 - changed warning message to debug 686239f Fix #3555 - fix state of purged lists 6f8a1e9 Updated Rake tasks to no longer load puppet.rb 83a8c68 Fix #3540 - name methods correctly 3d395e8 Fixes #3295 - generate() now sets the working directory to the directory containing the specified command. 0f077c7 Added YARD task b49c60b Update man pages and partial doc fix to #3491 115f37d Fixed #3532 - Typo in lib/puppet/ssl/host.rb 784dd26 Updated version and CHANGELOG to 0.25.5rc1 4a6474c Modify SuSE spec file for 0.25.x and correct shebang lines for puppetd/puppetmasterd 385506f Fixes #3460 - Makes Puppet FHS compliant by moving /var/puppet to /var/lib/puppet b494427 Fix for #3101 (bug in MRI 1.8.7) 966b269 Fixes #3419. OS X 10.6 Ruby doesn't set supplementary groups 49be54e Revert the guts of #2890 e69b7db Fail gracefully on packages that don't have the HOMEPAGE variable set (e.g. dev-lang/php). 83ac6b8 Fixed #3443 - Typo in mount type dfe5c3a Fixes #3135 - darwin doesn't support 'mount -o remount' 2a60e1e Adding :catalog_terminus setting 626945b fixing obsolete comment in puppetd 9fbb69f Adding support for only using cached catalogs 7e1e76e Refactoring Configurer to enable the next feature b28e21a Fixed changelog Rake task e93eab8 Fix #3155 - prevent error when using two matching regex in cascade b883272 Fixed puppetlast typo 67bf142 Fixed README contents to reflect Puppet Labs and docs and wiki changes e35e142 Fixed link typo d40e24c Fixed #3384 - Updated broken link da00f68 Making a Puppet::Module test more resilient 9792915 Fixing yumrepo type to use 'flush' 9ee4c2d Only trying to retrieve passwords on OS X when root 8c31ebe Removing obsolete tests aee9c29 Fixing a warning in the aix package provider 232ad8f Removing tests for code that was removed in the REST refactor 94fddbc Fixing and porting Transaction Report tests 13d141a Fixing Property#change_to_s in rare case failures 66858ef Fix test in parser.rb due to API change 0f254be Fixing Hash functionality with non-constant keys 41aeba4 Removing vistigial method in ASTHash 1821187 Porting/removing group test/unit tests 03532e0 Porting a simple set of tests from test/unit 006e6af Removing obsolete test 1a6e08f Fixing Transaction integration test 410b71c Removing invalid File integration test effa719 Cleaning up content/source code 456447c Protecting spec_helper chmod from failure fa64774 Redeleting puppetmasterd integration test 797f412 Making SshAuthorizedKeys tests less brittle 622bb70 Markus's patch concerning string interpolation 23adec5 Fix tests that use or stub find_by_checksum, which I just changed the signature of. 4ac8e2c The pure-ruby YAML lib doesn't accept parameters e31fe8c Fix a failure in new FileBucket where it was impossible to read from a bucket with a non-default path. 3797c7a Update YAML dir test to match behavior 83d8bda Fix heisenbug in spec/unit/provider/mount/parsed.rb dde69c3 Remove test for old RDoc work-around c5ce824 Fixing various broken Resource::Type tests 6cd6c47 Renaming and fixing puppetrun tests. a27013a Fixing calls to "class_scope" in Scope tests 84d6892 Fixing all 'require' function tests b643413 Removing any mentions of :casesensitive setting fe140a2 Migrating "puppet" executable integration test edef647 Fixing 'puppet' to directly run manifests fff8d04 Fixing syntax warning 7c25317 Moving puppet back to bin a4d1ba0 Puppet::Parser::AST::Leaf#evaluate_match "insensitive" renamed to "sensitive" 404bdfa Repair validate_checksum codepath, even though it is disabled. e895494 Puppet::Parser::Resource.new parameters have changed 94651df Add stub to Puppet::Parser::Collector test to prevent runaway stub failures 40c1fb0 Resolving conflicts with ??? 1059370 Fixing a typo from a regex 3eeebf5 Fixing change printing for content/ensure 47c3ca1 Converted File[checksum] to a parameter not property 44cba9c Adding "checksum?" helper method to Checksums module d05d25c Refactoring File[source] tests somewhat aab2374 Resolving conflicts with luke:tickets/testing/2954 86cf226 Adding virtual and exported resource support to the DSL 9d5ba41 Cleaning up ResourceAPI tests 9060766 s/DSL::ResourceHelper/DSL::ResourceAPI/g 6d2a10b Adding simplistic pure ruby interface e515513 Adding environment support to parser resources 30f49bb Resolving conflicts with ??? b7015d7 Moving the string interpolation parsing to the parser/lexer 07cfdd0 Resolving conflicts with jesse:feature/master/3394 ad148d6 Resolving conflicts with luke:tickets/master/2759 922cf1a Resolving conflicts with ??? 0d70468 Finishing renaming :params to :parameters internally ad93d0e Forcing parent evaluation in resource types 6e4db82 Fixing type/title resource resolution aa659f2 Converging the Resource classes further 5401a7c Adding strictness checking to resources 9c867e6 Fixing most of the broken tests in test/ 274d1c5 Adding tmpfile cleanup to tests 7089446 Removing Resource::Reference classes 4871c90 Adding support for class parameters 4709e9b Removing :paramcheck and :typecheck settings 744295d Allowing Environment.new to take an environment 4f907c6 TypeCollection now supports namespace arrays 2fa0a48 Adding parameter validation to Puppet::Resource aff5992 Fixing failing Environment unit tests 61636e4 Tuning file load order 7a99a1d Removing obsolete Settings comments and require af9a920 Adding an environment helper c8e89cc Changing the interface of Puppet::Resource b7ea180 Partially fixing #2954 - Adding class parameters cbe2c49 Fixing test structure 4bff506 Indirector/FileBucketFile warnings 0917248 REST: Fix a state leak causing test failures 8f9fc30 REST FileBucket: REST barfs on relative paths 23ccefe REST: hide Request object d8e1b27 Feature #3394 REST runner, execution 1603f73 Feature #3394 REST Runner, preparation 16658a0 Feature #3383 Part 2: Remove RAL XMLRPC eda649b Feature #3383 RAL over REST 09b1412 Fix tests on #3347 e5a7800 Feature #3347 REST-ified FileBucket f838389 Fix a failing test in #3115 9acd0b2 Feature #3115 REST-ified status() b581c23 Fix #3229 - use original value in case/selector regex matching 490a03d Cleaning up a test. 576accd Removing unused Checksum::File terminus 58920a0 Converting File terminus to use formats. 37fd6ae Fixing datadir defaults to match new standards bf3359e Adding client and server data dirs b41d535 Adding filename extension support to formats. 7504f1e Resolving conflicts with ??? d0389f4 Renaming Parser::ResourceType to Resource::Type 67ef78d Removing Interpreter class b82b4ef All non-transient parser references are gone 644ad7e Fixing callers to Parser to only pass environment 9f8e0c0 Using the RTC helper to find the known resource types 1705366 Always warning if autoloading a file fails 7bef2e0 Adding helper module for finding known resource types 804105d Moving Rails initialization to Compiler terminus 26b272b Parser now uses Environment resource type collection cb16908 Adding 'known_resource_types' to Environment 201889b Renaming LoadedCode to ResourceTypeCollection 2c2b3c2 Storing per-environment LoadedCode instances 6bf1953 Removing old, never-used DSL code df2d392 Adding support for parsing ruby files b938edf Fixing test structure 847233f Adding []/[]= support to Parser::Resource 6e04fba Fix for #3366 - --tags '' treated as boolean 'true' 33b565a Fix for #3424 and tests to prove it. 4820a1b Fix for #2604 Pure Ruby yaml generation 1c5b3d7 Fixes #3113 - When importing a manifest puppet needs to chill e6a720b Fix for #3412 install.rb should not put "." first in the tmp_dirs b1b3bcf Resolving conflicts with testing ba2a3af Fix 2239 (step five): introduce new Puppet::Transaction#stop_processing? flag and associated check thereof within the resource evaluation code. This should allow for the transaction to bail out of its processing if it finds that a stop has been requested, based on the state of Puppet::Application.stop_requested?. 9cb6841 Fix 2239 (step four): Refactored Puppet::Daemon's stop/restart methods to set status flags appropriately in Puppet::Application, and removed call to now-deprecated @agent.configure_delayed_restart. This should get the restart and stop behavior for daemons and their agents working nicely with the new global process status interface of Puppet::Application. 82f852a Fix 2239 (step three): Refactored Puppet::Agent to base starting/restarting behaviors and predicates on new run-status interface of Puppet::Application. edbe9b6 Fix 2239 (step two): introduce Puppet::Application.controlled_run method to provide simple status-restricted execution of a passed in block; this can replace the process status checks and properly handle delayed restart behavior for Puppet::Agent. 2cf647c Fix 2239 (step one): introduce global settings represeting application run state with methods for setting the state and appropriately-named predicates for querying state, all in the Puppet::Application class itself. To be used by Puppet::Daemon and Puppet::Agent and Puppet::Transaction for better response to TERM, INT, HUP. ce944a5 Fix unit tests in file/target.rb 481ddb8 Name change of event in ral/type/exec.rb 1ebc91e Use a helper function to evaluate a resource since the API has changed bfb1fa5 Allow skipped resources to process events a18b05d Actually invoke the allow_changes? method in ResourceHarness bf2f088 Generated resources' events are actually bound to the resource that generated them. 50ed75b Remove test that tests internal class structures which have changed. 1779079 Remove stale set_trigger 9154aca Since the types stored in resource's @parameters have changed, we need to also change include? method to be more robust. 2a2ab75 Fix test failures due to name changes of event symbols 0a72a98 Remove rollback test, since rollback was removed. 010907b Mark resource/status as failed if they are associated with a failing event. 17bccb0 Restore noop non-behaviours 8465cd0 Resolving conflicts with reinh:feature/master/single_executable 0f768ed Removing now-obsolete user tests 7627441 Fixing most failing test/ tests. 9d9b20f Fixing Configurer interface to transaction report eb0a4b5 Fixing fingerprint tests to work with new log validation f4ef039 Changing REST report integration test to use new interface fdefb64 Fixing "require" function to use new class interface 266bc08 Removing now-obsolete "retrieve" method on package type 67a75db Fixing broken selinux tests 2777e1f Fixing feature validation when passed one item 5aa26d0 Changing method profile for other event queueing ec7ea27 Refactoring event queueing for performance 68ce086 Changing the method profile of EventManager#queue_event 9919b14 Moving Metric management to the reports a9fc134 Removing mention of @changes in Transaction a18769d Cleaning up the report tests a bit 386b3e5 Fixing #2759 - reports now have complete change info fbd5b0a ResourceHarness now doesn't check params with no 'should' 3f6c948 Changing Transaction to use the new ResourceHarness 6051599 Fixing log message when changes fail 149d5ef Fixing some compatibility and old tests c30494f Renaming some methods in Transaction::Change 8d5f052 Adding Transaction::ResourceHarness class 6651aa4 Adding first version of Resource::Status class 4bb35a7 Fixing File type indentation 796d882 Removing last event collection transaction code e838bcc Solidifying the RAL/Event integration. 977595b Refactoring the Change/Event/Property interface 5776fe4 Cleaning up the Log initialization code. 2292b76 Refactoring the RAL interface to logging d93d80a Using Logging module in main Puppet module c6dd180 Adding tests for "Logging" module 242209d Correcting comments and making report timestamp internal a4b77f6 Failing in app/puppet if facts are not found f925475 Fixing file content logs 73f57f2 removing extraneous comment 4be8601 Adding Transaction events to Transaction reports 2aa579b Removing a redundant method in Report 5a8b460 Removing unused code and adding a couple of tests 9a78bee Adding tests for the 'report' log destination f2ed655 Extracting event management into a separate class 329527f Changing SimpleGraph.matching_edges to expect one event f8d7c44 Moving event creation to the resource ee9cff9 Reorganizing Property class to match current style 4212f1c Cleaning up Event creation 8280987 Adding "type" instance method to enhance Demeterness ad90900 Random code cleanup 32d34e9 Moving Ensure property into separate file 3c86666 Moving Parameter utility classes into separate files 2cbd9e8 Switching transactions to callback-based events 6a450c5 removing never-used code 379ac8f Moving log destination code into separate files b2d1728 fixed a couple of typos 7ab29c4 Unit tests for path changes a8245d8 Handle path elements with ticks and spaces 98581ad Fix builtins glob in single executable b4b07f5 Fix failing specs e7bc19a Rename puppet application spec to main c014c29 Renaming the old puppet executable deff92d Find both bin and sbin usage docs, fail gracefully 3c8d012 Fix application name in bin/ralsh be0ecf8 Initial puppet single executable 7a32777 Renaming applications, mostly removing 'puppet' b19a044 Some tests were leaking state when the test failed 5b2802c Typo in method call in test. 6a148e2 Supressing warnings (not really failures) in test/unit 06deee7 Fix test using wrong Puppet util filesetting group 74f5167 Mock user in SUIDManager tests 000d37a Removing resources generate tests 11379c0 Removing old test for service/debian provider 2b8125c Replace test/unit file write test with spec 164f1ce Allow adding single key to hashes fd427a5 Raise an error when appending not a hash to a hash 75c32f9 Fix #2389 - Enhance Puppet DSL with Hashes 9122ac5 Fix #2929 - Allow checksum to be "none" 73c8d0d Fix #3186 - require function set relationship only on the last class c5a4de2 Fixing #3185 Rakefile is loading puppet.rb twice c694c4d Fix #3150 - require function doesn't like ::class syntax 075f3c8 Added time module to tagmail report dfb8082 Fixed the return types were valid, and removed the copy paste error with the exception logic 6e16ea1 Resolving conflicts with ??? bca7e2c Add AIX package management support (installp&nim) b2c9455 Fixing #3148 Settings#without_noop when run with no noop setting 8bafc37 Move scope parenting & class_scope from Compiler to Scope 7403c6e [#3392] Better Rakefile, remove puppetmasterd spec de94f68 Fixing tests in pkg provider 4b55fb0 bug #3407 Part 2 f891ba2 Fixing #3407 Failing tests in spec/unit/node/environment.rb af9c19a Bug #3406 augeas spec fails if there is not a default provider 718a87a Bug #3402 Stub returning invalid type for :noop 88d6cd5 Bug #3401 Spec failed due to missing manditory setting in mock d9920bc Bug #3400 Bad mocks causing failing tests c6f02f2 Fix #3167 Duplicate constant warnings in dpkg.rb 70c71c5 Fixed Rails database tests 46f9d00 Fix #3117 - cert fingerprinting uses a method not available in ruby <= 1.8.6 04842ef Fixed test error message. fcce222 First shot at the OpenSolaris pkg(5) provider 3e9677f Feature #2839 - fingerprint certificate 91c44b4 Fix a few puppetd specs tests d77c9ac Revert "Feature #2839 - fingerprint certificate" 58a81ba Fixing #1054 - transaction reports are always sent 282b4b3 Removing some unneeded validation code from Transaction.new 66a3e6a Removing unused configurer code 2044550 Fix #2894 - exclude .pp files under modules files directories d31ff7e Adapt to method name change since 8971d8 a9fb82b Feature #2839 - fingerprint certificate a967b93 Feature #2395 - revoke when cleaning a certificate with puppetca e26e831 Updated test series 53869e9 Fix #2818 - scope variable assigned with undef are not "undef" 4226e01 Fix for #2959 (calling exit status on a nil report) 8971d8b Fixing #2596 - Node, Class, Definition are not AST 39d4a93 Adding a context method to the Errors module 22c642d Extracting language doc support into a module adc211a Adding module metadata bf40f4f Upgrading rspec for tests to 1.2.9 61d1911 Fix 2841 - Puppetdoc/RDoc parses realize function e63d23e Added tickets/master/2596 to the testing branch 41da962 Feature 2827 Option to disable managing internal files c9f40be Fixed #2568 - Add database option 'dbconnections' 2d137e2 Fixing #1507 - Adding a :ca_name setting 089ac3e Fixing #2617 - using the searched-for REST name 28e1bc6 Always using the CA_name constant instead of "ca" 2d4b795 Fix #1934 - detailed-exitcodes for puppetd 0f61816 Fix #2649 Allow ssl dir creation in --noop mode 53be6f8 Fix #2796 - Fix puppetdoc rdoc selector parsing 391786f Fix #2795 - puppetdoc rdoc reports a better error message b832d81 Fix #2784 - puppetdoc/rdoc didn't parse mono-instruction class content b1deb89 Covers the RDoc Puppet Parser with specs ced5a78 Fix #2376 - Display class/node inheritance in puppetdoc 8d9fbbd Fix #2703 - add 'require' to puppetdoc 41b7c3c Adding an example yaml node script 66a44dd type augeas: add 'incl' and 'lens' parameters c61335f Patch to address feature #2571 to add Oracle support to Puppet 0.25.5 ====== d71bd68 Updated CHANGELOG for 0.25.5 d88b357 Fixes incorrect line in partial CRL fix dec84e5 Fixed documentation issues exposed in #3772 0.25.5rc3 ========= 4daf8c3 Updated CHANGELOG for 0.25.5rc3 9214400 WIP - trying to fix #3460 9d3e98b Minimal footprint fix for #3751 (serialization 0.25.5 <-> 0.24.8) d481340 Updated Template documentation link 5a1a45c Update Red Hat spec file for 0.25.5 0.25.5rc2 ========= 2257605 Updated CHANGELOG for 0.25.5rc2 5258a0a Fixing #3533 - Removing all transaction cleanup bcde541 Fix for #2910 -- Tidy/matches is too tricky to use 5abe571 Bug #3451: Don't leak the terminus class setting from Puppet::Resource::Catalog's spec ebd924c Fix to the fix for #3295 ce233aa Write ssh_authorized_keys as user 6739bab Fix for #3558 -- source file reading speedup b0e3c61 Fix for #3556 Plussignment value melding 8a30495 Fixed #3655 - Puppet doesn't find installed packages with portage provider e4130af Fixed #3672 - Error message on duplicate fileserver mounts incorrect 1275a47 conf/redhat: Add notifempty to logrotate config 134204d Fixed stored configuration documentation 1aa98a6 Fixes #3653 - Changed default factpath value to better reflect plugins in modules 44f6d64 Partial fix to #2837 - changed warning message to debug 3a1b178 Fix #3555 - fix state of purged lists f6046ab Fix for #3577 -- to_yaml parameter in 0.25.5rc1 f351e2d Renamed all references to Reductive Labs to Puppet Labs cf7e696 Updated Rake tasks to no longer load puppet.rb b93924e Fix #3540 - name methods correctly 9bc2f28 Fixes #3295 - generate() now sets the working directory to the directory containing the specified command. 3ee6834 Added YARD task 99818ef Update man pages and partial doc fix to #3491 f988af3 Fixed #3532 - Typo in lib/puppet/ssl/host.rb f0e12e5 Fix #3496 - suppress transaction debug message 0.25.5rc1 ========= 0eea2f5 Updated version and CHANGELOG to 0.25.5rc1 57ae381 Modify SuSE spec file for 0.25.x and correct shebang lines for puppetd/puppetmasterd d90ec79 Fixes #3460 - Makes Puppet FHS compliant by moving /var/puppet to /var/lib/puppet ae0b0bf Fix for #3101 (bug in MRI 1.8.7) 9db066b Fixes #3419. OS X 10.6 Ruby doesn't set supplementary groups 306d082 Revert the guts of #2890 4eea77a Fail gracefully on packages that don't have the HOMEPAGE variable set (e.g. dev-lang/php). f5b8494 Fixed #3443 - Typo in mount type b0ef2c6 Fixes #3135 - darwin doesn't support 'mount -o remount' 7018cf5 Adding :catalog_terminus setting 978ab8a fixing obsolete comment in puppetd 6d13d0d Adding support for only using cached catalogs bc28715 Refactoring Configurer to enable the next feature ba43d7b Fix for #3366 - --tags '' treated as boolean 'true' 5ab5e8a Supressing warnings (not really failures) in test/unit e4df0b0 Fix test using wrong Puppet util filesetting group eeb3d74 Mock user in SUIDManager tests 9ea27db Removing resources generate tests 218e3e9 Removing old test for service/debian provider 1556938 Replace test/unit file write test with spec 2defc00 Fix for #3424 and tests to prove it. 44798b9 Fixed changelog Rake task 5d10f65 Fix #3155 - prevent error when using two matching regex in cascade fbedb99 Fixing #3148 Settings#without_noop when run with no noop setting 389c77b Another trivial follow-up fix for #2604: invalid path to zaml.rb 56b5753 Fix inefficient SimpleGraph#matching_edge 4b2b9eb Fix #3229 - use original value in case/selector regex matching 19863c0 Fix #2929 - Allow checksum to be "none" fd76142 Fixed puppetlast typo 3b4e782 Follow up for #2604, debug msg left behind. e44430b Fix for #2604 Pure Ruby yaml generation 74cd55f Fixes #3113 - When importing a manifest puppet needs to chill 7ec50a7 Fixes #3387 - Handle path elements with ticks and spaces d561a98 Fix for #3412 install.rb should not put "." first in the tmp_dirs 751df45 Fix #3186 - require function set relationship only on the last class a1d216c Fixed the return types were valid, and removed the copy paste error with the exception logic d532e6d Fixing #3185 Rakefile is loading puppet.rb twice 5aa596c Fix #3150 - require function doesn't like ::class syntax 3457b87 Added time module to tagmail report 71653a7 Fixed #3162 - tidy does not remove empty files when "size => 0" is set efd0f76 Fixed #3128 - Updated man pages and moved puppet.conf.8 to puppet.conf.5 ad4f94a Add version number to puppetlast display. 0533cea Forgot fakedata called in spec 6416f91 Fixing #2669 puppetmasterd integration has leaky state 8a3a205 Fix for #2327, check the return types from augeas and fail where appropriate 2ae7516 2047: Add a not_include into match 55f6239 Minor unit test fixes b7b7a1c vim: Improve function matching when functions contain ')' b3c363c vim: puppetDefArguments is contained by puppetDefine f9e05a8 Fix for #3094 (libdir should take ":" delimited path) b473264 Fix #1842 Net::HTTP#enable_post_connection_check doesn't work anymore 9419c2b Fix for #3035 (redhat services use init for source) 10becce Fix for #3077 (unit tests broken in 0.25.1-->0.25.4) 49a7185 Fix for #3085 (user_role_add pulls from same source as useradd) 1f086c2 Fix for #3114 (ruby's arbitrary limit on process groups too low) 0.25.4 ====== c5eef04 Updated CHANGELOG for 0.25.4 0025e13 Partial reversion of patch for #3088 to fix #3104 (Exception misreported) bfc9e45 Updated CHANGELOG for 0.25.4rc3 0.25.4rc3 ========= a91c476 Fix for #3088 (catching Exception also traps SystemExit) 1a263e2 Fix for #3089 (timestamp may now be a time object, not a string) 75634b7 Fix for #3093 (also need to be able to call pkgget_with_cat on class) 94e269c Uncommeniting the fix for #3001 9636b93 Updated CHANGELOG for 0.24.5rc2 0.25.4rc2 ========= d4319a5 Minimal fix for #3001 (failing to fetch metadata on dangling symlink) cdcbdc7 Fixing #2914 - pre/post hooks now work for transactions 67216aa Fix for #3075 (sshkey host_aliases ignored) e4462c0 Updated version and CHANGELOG for 0.25.4 0.25.4rc1 ========= 441879f Revert "Fix #2845 Cron entries using "special" parameter lose their title when changed" f7e1435 Updated rake task to fix gem build issue 49013f0 Updated version and CHANGELOG for 0.25.3 0.25.3 ====== f8c1b08 Reversion of pipe IO patch for testing on #3025 7f25805 Fix #1464 Mount complains about missing fields c99f394 Fix #2845 Cron entries using "special" parameter lose their title when changed 0a7e212 Fix #2887 'service' tests paths too early dd22b71 Replaced ugly gem creation task with slightly less ugly task d0efcc6 Added tasks directory to Rakefile and gem task file lists 8a6d66e Added puppetpackages task description eada68a Updated CHANGELOG for 0.25.2 0.25.2 ====== 6111ba8 Fix for temporary file security whole e7d98cc Fix for #2999 (absent package handling on solaris) 87136b4 Fix typo in documentation: wheter vs. whether. cbc2ef0 Partial rollback of refinements to fix for #2994 fd631b9 Do not close stdout or stderr in execute. f878fe8 Update Red Hat spec file for 0.25.2 4394c48 Updated CHANGELOG for 0.25.2rc3 0.25.2rc3 ========= 13cbf04 ReFix 2675 ending slash in directory should get stripped off 5c6f07b Use a pipe instead of a temp file for command output. 7e64393 Additional fix for #2994 (followed symlinks do not have checksums) 7e2e12b Fix for #2995 (don't fail to load PSON when UTF-8 missing) c84186a Revert "Fix for #2731 (problem communicating with processes in SELinux)" 74d9693 Updated man pages for 0.25.2 7e2b1e9 Fix for #2995 (don't fail to load PSON when UTF-8 missing) d1ff4b3 Fix for #2994 (undefined method "_file" message) 4d81511 fix #2987 - check correct hash entry 0.25.2rc2 ========= 682000b Updated CHANGELOG for 0.25.2rc2 e4bb529 Fix for #2967 (RFC-1123 problem and regression on wildcarded domains) 776be7c Updated CHANGELOG 0.25.2rc1 ========= a73f799 Updated version 26e7486 Fixing failing tests 05e897e Fix for #2881 (ralsh doesn't find individual parsed resources) e04f9e4 Code smell reductions 24654a2 Making provider/host/parser.rb compatible with host_aliases 49530ad Fixing #2964 updated resources cannot be collected until they are exported twice 6ab2453 Fix for #2731 (problem communicating with processes in SELinux) 0e5d264 Fix for #2940 (propogating nil rather than reporting the error) d60ea0e A slide down the RFC-1123 slope towards MS Windows compatibility and chaos b185801 Fixing #2960 Test Failed: 'Puppet::Type::Mount::ProviderParsed when modifying the filesystem tab should write the mount to disk when :flush is called 5e5c8b5 Fixing tests 0cb5e7d Fix for #2943 (Make puppet --apply respect --preferred_serialization_format) 0884035 Fix #2970 spec/unit/provider/ssh_authorized_key/parsed.rb has order dependencies b86decc Fix #2816 MySQL server has gone away 854c065 Fix for #2813 (alias propety v. alias metapram) 813cb58 Fix for #2765 (--no-fqdn regression in puppetrun) e9a0cb7 Fix for #2657 (retain old setting if config has syntax error) 727ee72 Fix #2966 spec/unit/util/queue.rb can't be run twice 8c8e921 Fixing #2963 spec/unit/util/autoload.rb depends on global state ea90daa Fix for #2965 (Chatty SELinux message) fc221ff Fixed RSpec deprecation error 037b99a Fixing #2958 inconsistent errors in spec/integration/bin/puppetmasterd.rb d11c750 Fix for #2951 (SELinux test errors on OS X) 0dc2dba Fix for #2890 (the cached certificates that would not die) 03f37ac Fix for #2950 (parens needed warning) 61fd460 Fix #2924 Test Failed: Puppet::Indirector::FileContent::FileServer when finding files should find plugin file content in the environment specified in the request 2432b23 Fixed test typo f5960ce Closed #2937 - Migrated a number of requires to features 2d88926 Fix for #2869 (SELinux tests failing under some load orderings) 18c5165 Adds partial IPv6 support to authstore 857047d Fix for #2567 (Authstore does unintended/pointless DNS lookups) dddbd28 Enabling steps for #2567 (Authstore does unintended/pointless DNS lookups) ea0a43f Fix 2948 Failing rests in spec/unit/rails.rb b6f4291 Fix #2923 failing tests in spec/unit/ssl/host.rb bf7c108 Fix #2677 Proper OIDs on puppet.schema for LDAP e0488b2 Fix #2808 puppetqd doesn't give an error when no config is given 7b2e2ba Fixing 2851 spec/unit/network/rest_authconfig.rb test descriptions change 1c69af2 Fixing 2855 Inadvertent zlib dependency 3528a7b 2850 spec/unit/application/puppetd.rb generates warnings if run with certain other tests d343af0 2876 spec/unit/indirector/catalog/compiler.rb changes behaviour a7fae47 Fix 2936 Insufficient mocks for webrick in spec/unit/network/http/webrick.rb b96b757 Fix for #887 (safely setting pager to cat for blastwave) d685f44 2633 file and line info on bad params in type/file 4326eb2 Fix for #2817 (links created even when links property set to follow) 118adc1 2875 spurious test failure in spec/integration/file_serving/content.rb 0f63a54 2877 race condition in webrick 4895329 Fix for #2921 (test not checking for what it really wanted) f47fa40 Fix for #2925 (accept higher versions of rspec) c261721 Fix for #2911 (Allow capital letters in selinux contexts) bf7d650 Fix for #2900 (rug output parsing too specific) cccbca4 Fix for #2786 (failed trying to backup directory in recursive purge) 6dfac97 Fixing 2907 rspec crash when spec/unit/application/puppetrun.rb is run after spec/unit/util/ldap/connection.rb 1c8d272 Fixing 2870 Spurious failures in spec/integration/ssl/certificate_request.rb 979440f Fixing 2862 spec/integration/file_serving/metadata.rb fails unless run with other tests e04d299 Fixing 2858 spec/unit/application/puppetmasterd.rb fails if run twice 53a9805 Minimal fix for #2822 9ac1ed6 Fix for #2863 (calling each on uninitialized tag list) bd9e06f Feature 2827 Option to disable managing internal files 8b66998 Fixing 2849 puppet changes sshkey alias every run if it is blank 7136c85 Fixed spellquote function documentation de16fd3 Updated yumrepo type documentation d1fa7cf Fixed --no-ca option in Gentoo also 8b5b4b6 Fixed incorrect command line in Red Hat sysconfig file 623d9c7 Fixing 2886: Failing specs in format_handler feb021f Avoiding rspec bug which causes 'be_all' tests to always pass 228f105 Removed some extraneous files from ext 01c98f6 Fixed #2798 - Correct issue with crontab provider on AIX f7c5ceb Fixing 2725 Error message when permissions incorrect on file server directory 07b94b4 2842 Format debugging should be removed 3abcc89 Fix #2783, take2 - puppetdoc should use environment to get modulepath/manifestdir f5dd6c8 Fix #2831 - puppetdoc doesn't cope with regex node 4a06379 Fixing #2857 (quote nesting error) 9a41c35 Fixing #2791 fs_find should follow symlinks 5629092 Added additional documentation to file mode attribute. dc8812c Fixing 2792 selinux tries to set properties on unsupported filesystes 57632a0 fix #2854 - parse timestamps cb6bc27 fix regex for non-installed packages 9cfe390 Fixing 2812 authorized_keys without comments fail 53b3b86 Fix for ticket #2844 (file recursion generated vs. explicit prefix) 8129caa Fix for ticket #2700 -- check for @explicit_waitforcert in puppetd --test e32f980 Fixed #1806 - supplementary groups are not reset be7ff82 Fix 2768 maillist resource is broken 48beaba simplify and fix portage provider 0ac0ce9 Implement tasks for git-based workflow. bd5dc64 Possible workaround for #2824 (MRI GC bug) c1e47a4 Fixing #2789 puppetrun fails without --tag 106c9a9 Fixing 904 RDoc::usage incompatible with rubygems 5ed2e26 rack: SSL Env vars can only be in Request.env 7f2e5fc Fix #2671, preferred_serialization_format does not complain about invalid values f0eaf20 Fixing #2764 ActiveRecord 2.1 support eaab789 Fix failing tests introduced by #2797 55d8ffa Fix #2810 - adapt tidy to new FileSet api 236bacc conf/redhat: Prevent killproc from removing /usr/sbin/puppetmasterd 41f025c Fixed ldap typo again 6c2daa3 Fix #2783 - Puppetdoc rdoc should use environment to get modulepath/manifestdir 5648666 Add Environment#manifestdir and small refactoring 74a877e Minimal fix for #2821 ("rake spec" is needlessly slow) cd10e6d Added package signing task ca56aa7 Least kludgy patch for #2675 adc0a4e Fix for #2661 and related issues 65f601a Fixing 2806 Specifying multiple tags fails to apply any of them e2c675e Updated generate function documentation to make it clear it runs on the master 53f40bd Fix #2681 Incorrectly duplicating resources 3fdc8ef Ticket #2770 (deserializing Exec[...]s with "\n"s) b172287 Fixing #2767 invoke-rc.d warnings 4013560 Fix #2797 - tags are not inherited by recursed file sub child f05a04e Fix #2784 - puppetdoc/rdoc didn't parse mono-instruction class content 38ec9fc Fix #2796 - Fix puppetdoc rdoc selector parsing 5f7177e Fix #2795 - puppetdoc rdoc reports a better error message 136949d Fixing #2631 show_diff sometimes doesn't happen cb3e5e1 Fix #2787 - Storeconfig doesn't store/update node ip and environment anymore ff23b57 Fix for #2670, Puppet silently ignores catalog_format ee13efa Add docs to Mac OS X package creation script and clean out old docs in the preflight b8470b8 Fix #2757 & CSR 92 (symlinks in recursively managed dirs) 5b750c2 Fix #2769 - default schedule are not defined eca338c Fix for #2772 (webrick test failures) b1c57e9 Al Hoang's patch for #2781, removing obsolete when/: syntax 50e9c98 Follow-on for #2724 - Adding an external node classifier 0.25.1 ====== 2f0b1e5 Updated CHANGELOG 20e5222 Fixing #2689 - file owner warnings are reduced 09fb3f7 Fixing #2752 - "require" loads "include" 6846c32 Fixing some recently broken Scope tests 0043392 Fixed typo in lib/puppet/indirector/ldap.rb 6b254eb Fix #2753 - Do not "global allow" plugins/modules mount if some rules have been parsed ff3a7bc Re-fixed #2750 - Stop disabling the CRL or checking for a disabled CRL 594c774 Revised partial fix for #2661 and related issues 73d04c6 Bug #2534 Raise error if property appears twice 7517572 Bug #1908 cron environment should allow empty vals febe707 Bug #1742 Invalid params to --color outputs 'nil' d383ab8 Use notice() in the versioncmp() docs 9dff716 conf/redhat/*.init: Use -p option to killproc f47a70f Ticket #2665: Regexp exception on ++ in package names b6e4ef3 Fixed #2750 - Set :cacrl to nil instead of 'false' in puppetd 2b57e06 Fix #2691 - Collection AR request should not include params if querying with tags e8bce7a Workaround #2668 - Compress facts so that the request size limit triggers less often e2ce790 Fixed #2737 - The zone provider needs to get acquainted with OpenSolaris aea1e5f Update Red Hat spec file for 0.25.1 fbdded7 Ticket #2685 (Type error in ssh_authorized_keys) 4d9f76a Fix for #2745 fakedata tests not working b4bcfe9 Fix for #2736, target doesn't work for ssh_authorized_keys ae528f6 Ticket #2734 PSON/JSON not serializing classes of a catalog f59f805 Bug #1900 Parsing of quoted $ in stdin 6ba122f Fixing #2735 - node classes are immed. added to classlist 0.25.1rc2 ========= bca3b70 Bundling of pure ruby json lib as "pson" ce46be5 Proposed alternative solution for #2664 (REGEX / DIV lexing) b0518c3 Fix for #2681 (duplicate resource) 8a73082 Fix #2707 config_version fails more helpfully 54ded1b Fixes #1719, this avoids calling the external binary *which* everytime we are looking for a binary 4c3c279 Updated required Facter version in README fcce46a Fixed #2702 - Set :outputdir to "doc" if not specified 3940dfb Fixed #2674 - createpackage.sh: problem finding install.rb 3b548f4 Fix #2699 - Use --masterport for PUPPET_PORT variable a75bf50 This updates the portage provider in three ways: ad86e9e Fixes #2688. Macauthorization provider now handles booleans internally correctly. d891f7a Ticket #2676 (a typo) bfba2cd Fix #2672 - Make sure nodenames keep their underscores when used as classname db67e5f Added rcov exclusion to Rakefile 0.25.1rc1 ========= 6912a7e Incremented version to 0.25.1 fd322da Fixes #1538 - Fixes the yumrepo backtrace in noop mode. 6551e86 Fix #2664 - Mathematic expressions mis-lexed as Regex a595033 Fix for #2654 (error generating error message) a951163 Fix #2642 - Runit provider rework 96b5087 Fix for ticket #2639 (Puppet[:user]/Puppet[:group] vs. 'service') af57483 Fixing #2632 - 'require' works for 0.25 clients d42bda1 Fixing relationship metaparam backward compatibility d53bc16 Adding version information to the catalog for compat 5f25589 Ticket #2626 (unhelpfull error messages) a1d3b04 Fixing #2617 - use the cert name as specified 8987509 Refactored Puppet packaging and gem creation 5c2ba47 FIXES 2616: Remove sync.syncronize and Puppet.info a53a77c Renamed test branch to testing in rake task d054fd9 Fixing #2656 - puppet parseonly tests don't hang cde70cf Fixes #2648. Spurious macauthorization parameter changes dcf0d0d Fix #2652 - Fix SELinux syntax error ba269f2 Fixed #2651 - Corrected install permissions on man page directories. 361c502 Fix #2638 - Allow creating several nodes with matching names 2283605 Added automatically constructed test branch task and file fd2a190 Fix for #2621 (JSON serialization of exec) 577a45b Fix #2622 - Puppetdoc in single manifest to console is broken d2d7070 Fix #2640 - Daemontools and Runit were not creating the enable symlink d21b266 Fix #2627 - regex node name could lead to invalid tag cb90528 Merged fix for #2601 b1554a1 Updated changelog task and CHANGELOG to version aware f5a106d Fix for #2637 (Webrick accpting connections on dead sockets) 19e98f9 Fixed #2608 - install.rb will not run on ruby 1.9.1 due to ftools being deprecated 40cd6d4 Fix for #2605 by falling back to alternative solution to #1963 630407d Make regsubst() function operate on arrays (feature #2491). a45c435 Fix for #2600 (wrong number of arguments under older mongrel) f2bc8aa Fixed #2634 - Added servicegroup_name parameter to serviceescalation type 7404e31 Fixs #2620 authconf interpolation, #2570 0-9 in domain names 4344339 Fix for ticket #2618 (stubbing so redhat tests run under debian) c2e26b9 vim: match regexp language features 1494bd7 Require active_record/version to support ActiveRecord < 2.3 a5c56fc Fixed #2607 - Added Facter dependency for Puppet Gem 0.25.0 ====== b1eddbb Updated and created new CHANGELOG format 994d6e0 Adding tests for the #2599 fix 42ab73f Ticket #2525 don't fail find_manifest on invalid module names a0f0dcc Updated permissions on test files d45812b Refactoring tests to reduce code size, increase coverage, and make Luke happy. aba2f66 This further normalizes the handling of init-style services (including the redhat "service" wrapper script). Removes special case handling of non-zero exit code in redhat (base already did this) and centralizes scattered @resource[:has_____] checks. Tests that proper versions of each are called and one level of fallbacks. fb236a0 Combined fix for #2525, #2552 -- RedHat service issues d40b942 Fixed #2589 - Renamed zfs delete to destroy and added tests 4aa7fce Monkey patch to improve yaml compatibility between ruby versions 1f6c74d Fixed typo in parser test 2e9b706 Updated Red Hat spec file and RH patches for 0.25.0. 19815dd Fixing #2592 - you can escape slashes in regexes ea58478 Fixing #2590 - modulepath is not cached inappropriately 1a3d0c8 Fixed #2593: puppet init script status command not returning proper exit code 8dabc72 Update documentation string to reflect actual intent of Puppet::Node::Facts::Rest b30a3c7 Fixes #2581. Use new 10.6 global launchd overrides file for service status/enabled 7f05469 Fixed Naginator link e589cd3 Fixing #2582 - / no longer autorequires / 3342b73 Fixing #2577 - clarifying and demoting the deprecation notice d397f8d Fixing #2574 - autoloading finds plugins in modules 800a78b The first regex node now matches first 6750aeb Fixing #2563 - multiple regex nodes now work together b728b93 Fixes #724 - false is equivalent to 'ruby -W1' a9d5863 Fix parser error output ee4f6ba Fixing #2551 - fixing content changed logs c8f859e Fix for test isolation portion of Ticket #2511 6fa9271 Fixing #2549 - autoloading of top-level classes works again c752680 Fixing a heisenbug resulting from a race condition ea417d6 Fixing #2460 - puppetmasterd can now read the cert and key a49915a Not using the service user in settings when it's unavailable 14ec838 Explicitly loading all facts in the directory service provider 5ee6602 Adding an 'exists?' delegator from user type to provider 06fcece Switching the owner/group settings to use symbolic values 4eb325a Fixing the yamldir group to be a group instead of user 058514a Moving Setting classes into separate files b0f219a Removing chuser on darwin restriction 7f749cb Fixing a ruby warning in the authstore test c0da3bf Fixing #2558 - propagating recent fileserving changes ff39bc7 Fixes #2550 Handles case where metadata is nil 47dee83 Ticket 2559 -- parseonly ignored specified file a4f6896 Fixed #2562 - Recognize the usecacheonfailure option again Signed-off-by: John A. Barbuto e408d6c Refactoring the Module/Environment co-interface 796ba5c Fixing #1544 - plugins in modules now works again 6bd3627 Adding a global cleanup to the spec_helper 0ef5f22 Removed misguided case sensitivity tests c1967bb Fixes #2513. debian service provider now uses invoke-rc.d to determine enabled? status 7e09247 Fixing fact-missing problem when puppet.conf is reparsed a35e9bf Fix for #2531; adds tests to confirm problem and related cases, notes fixes specific issue by eliminating the specal case for opaque strings which caused them to be strings when everything else was arrays; adds nots and pending tests where FQDN support could be added but stops short of a full refactor. 299eadb Fixed #2530 - Fixed status setting in the SMF provider e6a7e82 Fixed spec typo 75c6e4a Fixes #2493 b62d966 conf/redhat/*.init: Fix condrestart/try-restart e9fbd4c conf/redhat/client.init: Fix #2123, status options on older RHEL 0461a02 Updates to Solaris smf files to reflect new binary locations 55a9cdb Fix #2517 - Stack overflow when CA cert missing 601a2e5 Fix #2516 - Fix format detection when content-type contains charset d86bc88 Fix #2507 - Add missing integration tests aad3b76 Fix #2507 - Exported resources were not correctly collected. 63cb1ad Fixes #2503 c129f2a Fixes #2360 - Removed annoying log message b1ffffa Fixed #2525 - Wrong method being overridden in Red Hat services a88fc4d Fixing more tests broken from missing libraries 9a356ab Fixing ActiveRecord Indirector tests to skip w/out Rails acc5a96 Fixing #2489 - queue integration tests are skipped w/out json 1a5c5b3 Fixing #2508 - removing mention of ActiveRecord 2.3 0cb9072 Fixing #2541 - file cache is more resilient to failure 23948d0 vim: Mark puppetFunction values as contained 79a4339 Add shellquote() function. 79d705f Fixes #2499. Allows execs to specify an array for the returns parameter b611c34 Updated fix for #2481 f385072 Revert "Fxied #2481 - Added status and restart overrides for Red Hat service provider." cc379b6 Fixed #2498 - logcheck update 85a3633 Removed extraneous debugging 0.25.0rc1 ========= bf94de9 Updated two more tests 5b87dba Logs now assume resource params have metadata 1410bed Adding metadata delegation from param to resource 3ab3a5c Removing unnecessary debug output 488e368 Adding integration tests for #2371 (backup refactor) f1406bf Adding many tests for #2371, and slightly refactoring 8f60f0c Fixes for Redmine 2371. cd224c6 Fixes #2464, #2457. Deprecate reportserver for report_server. Add report_port setting. Add tests. 401a9ec Fixing #2484 - "format missing" messages are better f6cc598 Fixes #2483 - Log only copies metadata from RAL objects 7c4c00f Fixed #2486 - Missing require 'monitor' in parser_support.rb ea34ee6 Added R.I.Pienaar's extlookup.rb to the ext directory 36d3f58 Added example conf/puppet-queue.conf 967eb9f Fxied #2481 - Added status and restart overrides for Red Hat service provider. c702f76 rack: SSL Env vars can be in Request.env or ENV ca17b3c rack: don't directly use the forbidden HTTP_CONTENT_TYPE env var (fixes rack specification conformance) a002e58 Removing old filebucket test d8de446 Cleaning up tests for #2469 266aafa default server in remote filebuckets 1f8ef60 Fixes #2444 - Various JSON test failures 11c0fb7 Fixed #2294 - Classes sometimes cannot be found 7e5b562 Adding #2477 - puppet can apply provided catalogs 97274ad Fixing problems my Feature refactor caused 6fb8bf6 Fixing ruby warning in definition test b3545fc Fixed global deprecation error in useradd Unit tests dc24472 Adding a test for the Exec type 58d9587 Speeding a test up through stubbing d4d8372 Fixing a small test by stubbing instead of mocking f7e1c36 Fixing a test broken by the regex features 54a225d Fixing tests broken by caching autoload results 1ce31b4 Migrating Handler base tests from test/ to spec/ cc3f56a Migrating Feature tests to spec 21d1d25 Fixing cron test to match new behaviour 849fa67 Migrating tests to spec and removing an obsolete test 6f458cc Logging the configuration version we're applying ac58e27 Configuration version information is now in logs 6ed0103 Adding support for an external catalog version 39320b8 Cleaning up duplication in another test file 25fae5f Removing duplication in the test structure 36c0662 Simplified Rakefile and moved tasks to tasks/rake directorya b45ccf8 Implement node matching with regexes 58a73b5 Make sure node are referenced by their names 3ebf148 Enhance selector and case statements to match with regexp ef68967 Fix #2033 - Allow regexp in if expression 17e62b1 Add AST::Regex, an AST leaf node representing a regex 4f9545f Add regexes and regex match operators to the parser 0ccd259 Add regex, match and not match token to the lexer 201ae59 Allow variable $0 to $9 to be interpolated, if ephemeral f357a91 Implement ephemeral scope variables d40ef29 Signed-off-by: Eric Sorenson 6d22afb Modifying the REST client error to make server errors more clear 21f477a Fixes #2472. Load Facter facts when ralsh is invoked, plus test. 2e41edb Update CHANGELOG.git ebb5a1f Fixed ci_spec task for RubyGems 1.3.5 b6b903e Fixes #2461. Provide new and old code paths for macosx_productversion_major with deprecation warning 26b0c70 Fixing typo in two tests which caused them to always pass 76fc2b1 Fixing #2440 - catalogs can now be compiled on demand 832b6ff Exiting from app failures instead of raising 4ea3f17 Minimal patch to fix #2290 (/tmp permissions) 08ff9e8 Fix #2467 - rack: suggest putting puppet/lib at beginning of RUBYLIB search path fb60f90 Fix #2465 - Default auth information is confusing with no auth.conf 0ca9b53 Fix #2459 - puppetdoc added namespace classes as RDoc modules instead of classes 18b5d61 Fix #2429 - vim: class/define/node should only be followed by whitespace da828a4 Fix #2448 - fix the broken runit provider and tests 3898436 Fixed #2405 - Mount parameter "dump" doesn't accept all valid values on FreeBSD 9825bec Fixes #2362. Do not validate users/groups when supplied with numeric uid/gids 450a19c Fix #2454 - Definition named after a module don't show in puppetdoc 8551ece Fix #2453 - puppetdoc mixes long class names that look alike e3ee594 Fix #2422 & #2433 - make sure puppetdoc transform AST::Leaf boolean correctly b3b76df Fixing #2296 - overlapping recursions work again 9120712 Fixing mocks to remove warnings eeec8e9 Fixing #2423 - no more strange dependency cycles 7d40f9e Fixing #2443: Adding debugging guidance to dep cycle errors b4facb0 Fixing a test broken by changing the default os x package type b418921 Fixing selinux tests broken in the fix for #1963 719e76b Fixing #2445 - fixing the mount test mock f13f08d Minor fix to URL for LDAP nodes documentation 7c859a7 Fixing #2399 - removing client-side rrd graphs f6d6145 Fixing #2421 - file renaming errors now propagate db82523 Fixes #2438, get major OS X version from Facter and replace Puppet::Error invocations with fail builtin 22145e7 Update install.rb to cope with all OS X versions, not just 10.5 935c463 Fixing #2403 - provider specificity is richer and better d95b687 Fix #2439 - let puppetdoc use loaded_code ef5c4ae Fixed #2436 - Changed ralsh to use Puppet::Type.new and avoid deprecation notice 0c18013 Fixes #2430 - Stock apache2.conf for passenger incorrect c383ceb Make pkgdmg default Darwin provider, make confines consistent on Darwin package providers. 98599c4 Convert to using sbindir for OS X packages, clean out previous executables in bindir c659743 Fix #2425 - make sure client can contact CA server with REST 17205bb Fix #2424 - take 2, make sure default mounts allow every clients f2c55cc Fix #2378 and #2391 tests 8bbd8b4 Fix #2424 - File server can't find module in environment effaf80 Fix small typo in the fix for #2394 a06094e Feature #2378 - Implement "thin_storeconfigs" b2a008e Fix #2391 - Exported resources never make to the storeconfigs db 8f82407 Fix #2261 - Make sure query string parameters are properly escaped c86d44e Fixed #579 - puppet should try to clear solaris 10 services in maintenance state 910a5e2 Fix #1963 - Failing to read /proc/mounts for selinux kills file downloads ba824e9 Fixing #2245 - provider lists are not lost on type reload eb40966 Ruby no longer clobbers puppet autoloading a42e878 deprecate NetInfo providers and examples, remove all NetInfo references and tests. 22f5632 Fixed #2410 - default acl logs as info instead of warn. 65b0137 Adding test for current auth config warning. 74f5ad4 Fixed #2394 - warn once on module mount deprecation. f46a52a Add test for current module mount deprec warning. 858d333 Fixes #2258,#2257,#2256. Maintain correct type for integers/booleans, allow correct values, and fix rule array handling 44f127f Added Markdown mode to puppetdoc to output Markdown. 8a8ce9d Excluded directories from rcov coverage report d152c5e Allow boolean value for boolean cli parameter 911b490 Fix #2364 - Associates the correct comment to the right statement faefd92 Make sure the parser sees the correct line number 869ec27 Fix #2366 - puppetdoc was parsing classes in the wrong order 4c659b7 Added rcov coverage to Spec tests 1fd98b1 Fixes #2367 - Mongrel::HTTPRequest returns a StringIO object 8b09b83 Fix #2082 - puppetca shouldn't list revoked certificates ea66cf6 Fix #2348 - Allow authstore (and REST auth) to match allow/deny against opaque strings 1e83aad Fix #2392 - use Content-Type for REST communication aaca17a Fixed #2293 - Added cron syntax X-Y/Z and '7' for sunday cddc365 Switching to LoadedCode from ASTSet fc1f8cd Adding a special class to handle loaded classes/defines/nodes 325b8e4 Fix #2383, an incompatibility with early ruby 1.8 versions 46112da Fixing #2238 In some cases blank? is not available on String. cdd1662 Fixing #2238 - Deal with nil hash keys from mongrel params 769c8aa Final fix to CI test rakes a6816ff Set ENV['PATH'] to an empty string if non-existent 64a4720 Fix to CI rake tasks 5680cd5 Fixing #2197 - daemontools tests now pass 603b9cf Change the diff default output to "unified" 9bc9b5c Added missing colon to suntab 0f2d70d Fixed #2087 and refactored the code that gets the smf service state 0.25.0beta2 =========== 3f070c1 Using the logging utilities to clean up module warnings feb7f89 Fixing #1064 - Deprecating module 'plugins' directories ccf4e69 Removing deprecated :pluginpath setting 4036de9 Fixing #2094 - filebucket failures are clearer now ed876e0 Refactoring part of the file/filebucket integration bd81c25 Adding tests for file/backup behaviour c45ebfa Fixed pi binary so --meta option works and updated documentation d2080a5 Fixing #2323 - Modules use environments correctly b9e632f Fixed #2102 - Rails feature update fixed for Debian and Ubuntu 1c4ef61 Fixed #2052 - Added -e option to puppet --help output d332333 Fix #2333 - Make sure lexer skip whitespace on non-token 5fbf63c Updated split function and add split function unit tests (courtesy of Thomas Bellman) a585bdd * provider/augeas: strip whitespace and ignore blank lines a94d2de Fixed pi tests 5f7455e Fixed #2222 - Cleanup pi binary options and --help output 134ae3e Fixing #2329 - puppetqd tests now pass de55e19 Cleaning up scope tests a bit e4ae870 Fixing #2336 - qualified variables only throw warnings 607b01e Fix #2246 - take2: make sure we run the rails tag query only when needed 06b919d Fix collector specs which were not working 2945f8d Make sure overriding a tag also produces a tag e142ca6 Removed a unit test which tested munging which is no longer done in the type d8ee6cf Clearn up a parsing error reported by the tests 446557f vim: several improvements + cleanup 9152678 Fixed #2229 - Red Hat init script error b5a8c4d Fix #1907 (or sort) - 'require' puppet function 74730df #2332: Remove trailing slashes from path commands in the plugin 1a89455 Changing the preferred serialization format to json 0de70b7 Switching Queueing to using JSON instead of YAML 7b33b6d Adding JSON support to Catalogs c0bd0aa Providing JSON support to the Resource class c16fd1b Adding a JSON utility module for providing Ruby compat f059c51 Adding JSON support to Puppet::Relationship 7f322b3 Adding a JSON format 7666597 Allowing formats to specify the individual method names to use d40068f Allowing formats to specify the methods they require 024ccf5 Adding a "json" feature c8b382d Fix some tests who were missing some actions f9516d4 Make sure virtual and rails query use tags when tag are searched b5855ec Make sure resources are tagged with the user tag on the server d69fffb Fix #2246 - Array tagged resources can't be collected or exported 6ce0d1e Partial fix for #2329 4f2c066 Removed extra whitespace from end of lines 97e6975 Changed indentation to be more consistent with style guide (4 spaces per level) 41ce18c Changed tabs to spaces without interfering with indentation or alignment f3b4092 Fix #2308 - Mongrel should use X-Forwarded-For 7b0413e Fixes Bug #2324 - Puppetd fails to start without rails 48d5e8c Enhance versioncmp documentation ef56ba5 * provider/augeas: minor spec test cleanup d322329 * provider/augeas: allow escaped whitespace and brackets in paths 9735c50 * provider/augeas: match comparison uses '==' and '!=' again dbfa61b * provider/augeas (process_match): no match results in empty array 386923e * provider/augeas: remove useless checks for nil 171669a * provider/augeas: simplify evaluation in process_get/match 51cc752 * provider/augeas (open_augeas): use Augeas flag names, not ints 4951cdf * provider/augeas: ensure Augeas connection is always closed 0d5a24d * provider/augeas: minor code cleanup cea7bb5 * provider/augeas (parse_commands): use split to split string into lines 95bd826 * provider/augeas: remove trailing whitespace (no functional change) 7c5125b Brought in lutters parse_commands patch and integrated it into the type. This includes reworking the get and match commands as well. This change introduces a few small changes. These are: 6ce8154 Removed --no-chain-reply-to in rake mail_patches task 4ef7bba Removing --no-thread from the mail_patches rake target 508934b Fixing a bunch of warnings fb0ed7a Fixing tests broken by a recent fix to Cacher 650029e Always providing a value for 'exported' on Rails resources f1dba91 Fixing #2230 - exported resources work again 5522eb8 Disabling the catalog cache, so puppetqd is compatible with storeconfigs abbb282 Fixing the rails feature to be compatible with 2.1+ 907b39b Using Message acknowledgement in queueing 42247f0 Fixing #2315 - ca --generate works again d7be033 Fix #2220 - Make sure stat is refreshed while managing Files e4d5966 Added puppet branding to format patch command 00d5139 vim: Remove another mention of 'site' from syntax 9067abd vim: Highlight parameters with 'plusignment' operator 736b0e4 vim: Highlight strings in single quotes ce01c95 vim: Clean up syntax spacing 3af2dbf JRuby OpenSSL implementation is more strict than real ruby one and requires certificate serial number to be strictly positive. 62534a1 Logging when a cached catalog is used. ff5c44f Changing Puppet::Cacher::Expirer#expired? method name e3d4c8e Fixing #2240 - external node failures now log output bc1445b Fixing #2237 - client_yaml dir is always created by puppetd e0c19f9 Fixing #2228 - --logdest works again in puppetd and puppetmasterd ab34cf6 Fixing puppetmasterd tests when missing rack 9d5d0a0 Fixing the Agent so puppetrun actually works server-side b0ef08b Fixing #2248 - --no-client correctly leaves off client b83b159 Fixing #2243 - puppetrun works again 3d2189f Fixed #2304 - Added naggen script to directly generate nagios configuration files from a StoreConfigs Rails database 700ad5b Sync conf/redhat/puppet.spec with Fedora/EPEL 3ec3f91 Fixed #2280 - Detailed exit codes fix f98d49f Fixing #2253 - pluginsync failures propagate correctly d860a2f Fixing a transaction test that had some broken plumbing a728757 Refactoring resource generation slightly 6e824d8 Adding a Spec lib directory and moving tmpfile to it 1d69dbf Extracting a method from eval_resource in Transaction 7650fb2 Not trying to load files that get removed in pluginsyncing 3995e70 Fix #2300 - Update ssh_authorized_key documentation cb4a4d3 Changed version to allow Rake to work. Minor edit to Rakefile 99f666f enable maillist on centos, redhat, fedora e13befa Fixing #2288 - fixing the tests broken by my attr_ttl code a406d58 Fix for #2234: test fails with old Rack version c189b46 Fixing #2273 - file purging works more intuitively 138f19f Caching whether named autoloaded files are missing 415553e Adding caching of file metadata to the autoloader d489a2b Adding modulepath caching to the Autoloader 5f1c228 Adding caching to the Environment class 047ab78 Adding TTL support to attribute caching 6a413d2 Fixed #2666 - Broken docstring formatting 469604f Deprecating factsync - pluginsync should be used instead d39c485 Added spec and unit tests to the Rakefile files list and fixed CI rake tasks e1a7f84 Added install.rb to Rakefile package task e180a91 Fixed #2271 - Fix to puppetd documentation 4bf2980 Protecting Stomp client against internal failures f4cb8f3 Adding some usability bits to puppetqd a18298a Refactoring the stomp client and tests a bit 2771918 Relying on threads rather than sleeping for puppetqd 07ff4be Fixing #2250 - Missing templates throw a helpful error 7ce42da Fixing #2273 - CA location is set correctly in puppetca e1779c7 RackXMLRPC: buffer request contents in memory, as a real string. fb957cc Modules now can find their own paths c608409 Moving file-searching code out of Puppet::Module 83ba0e5 Fixing #2234 - fixing all of the tests broken by my bindaddress fix 4f3a67f Fixing #2221 - pluginsignore should work again 2d580c2 Fix snippets tests failing because of activated storeconfigs 8c718c9 Fix failing test: file.close! and file.path ordering fix 17f2c7d Confine stomp tests to Stomp enabled systems 6a80b76 Fix some master failing tests 172422f Fix bug #2124 - ssh_authorized_key always changes target if target is not defined f945b66 Fixing #2265 - rack is loaded with features rather than manually 5aef915 Added .git to pluginsignore default list of ignores 6db5e8d Cleanup of the Puppet Rakefile and removal of the requirement for the Reductive Build Library 5cc4910 Fix #1409 once again, including test a6af5bf Added split function 0.25.0beta1 =========== 2dd55fc Fixing #2200 - puppetqd expects Daemon to be a class c016062 Removing unneeded test stubs 1a2e1bc Fixing #2195 - the Server class handles bindaddress df3a8f6 Minor fixes to function RST documentation 305fa80 Remove the old 0.24.x rack support, which is now useless cruft d85d73c puppetmasterd can now run as a standard Rack application (config.ru-style) d6be4e1 Add XMLRPC compatibility for Rack 6e01e7a Puppet as a Rack application cc09c1a Use FileCollection to store the pathname part of files d51d87e Add an unmunge capability to type parameters and properties a1c0ae0 Fix #2218 - Ruby YAML bug prevents reloading catalog in puppetd bf054e1 Fixes #2209 - Spec is failing due to a missing require 1c46205 Fix #2207 - type was doing its own tag management leading to subtile bugs 929130b Moved puppetqd binary 36d0418 Fixed #2188 - Added set require to simple_graph.rb 51af239 Fixed puppetqd require and tweaked stomp library error message dc0a997 Fixes #2196 - Add sharedscripts directive to logrotate 4d3b54e Added puppetqd binary to Rakefile 1fee506 Updated version to 0.25.0beta1 0fbff61 Updates to CI tasks aa6dcef Fixing #2183 - checksum buffer size is now 4096b c0b119a Fixing #2187 - Puppet::Resource is expected by Rails support 5ec4f66 Adding an 'Exported' attribute to Puppet::Resource adff2c5 Removing a non-functional and horrible test 606a689 Making sure the cert name is searched first f489c30 Removing an "inspect" method that often failed in testing 93c3892 Removing deprecated concurrency setting usage in rails 6f8900d Always making sure graph edges appear first 3f7cd18 Reverting part of the switch to sets in SimpleGraph bf46db7 Fixing rails feature test 5f6b5c0 Failing to enable storeconfigs if ActiveRecord isn't available 8ed7ae3 Fixing the Rails feature test to require 2.3.x a0c1ede Modifying the Settings#handlearg prototype 284cbeb Fixes #2172 - service provider for gentoo fails with ambiguous suffixes 68ba1f1 SMF import support working and documentation update f1f0a57 Fixes #2145 and #2146 ec478da Fix configurer to retrieve catalog with client certname e623f8a Unify auth/unauthenticated request authorization system 037a4ac Allow REST auth system to restrict an ACL to authenticated or unauthenticated request 3ad7960 Fill REST request node with reverse lookup of IP address c0c8245 Refactor rest authorization to raise exceptions deeper aac996e Add environment support in the REST authorization layer 72e28ae Fix some indirector failing tests dc1cd6f Fix #1875 - Add a REST authorization system 8523376 Enhance authconfig format to support uri paths and regex 22b82ab Add dynamic authorization to authstore 15abe17 Add RSpec unit tests for network rights 86c7977 Add RSpec unit tests for authconfig f04a938 Adding support for specifying a preferred serialization format 6a51f6f Fixing the FormatHandler test to use symbols for format names b249f87 Fixing #2149 - Facts are passed as part of the catalog request 1cde0ae Adding better logging when cached indirection resources are used 828b1ea Fixing #2182 - SimpleGraph#walk is now iterative 9f32172 Fixing #2181 - Using Sets instead of Arrays in SimpleGraph 7a98459 Removing code that was backported and is now not needed d06bd3e Finishing class renames b694b3c Fixing tests that apparently only worked sometimes 93246c0 Removing the old rails tests. 5cb0f76 Fixing some rails tests that sometimes failed bdbf9db Added class_name tags to has_many relationships 2e62507 Adding time debugging for catalog storage to active_record a705809 Adding defaults necessary for queueing 8a67a5c Adding daemonization to puppetqd fcd1390 Adding Queueing README 9b90f34 Using a setting for configuring queueing 444ae9f Adding puppetqd executable. 22ae661 Adding "rubygems" and "stomp" features efe6816 Removing unnecessary parser variables when yaml-dumping a3b1e8c Add queue indirection as an option for catalog storage. bccfcc9 Introduce abstract queue terminus within the indirection system. 7947f10 Introduce queue client "plugin" namespace and interface, with a Stomp client implementation. 80dc837 renaming a method f7ccaaa Adjusted parameter name and puppet tag classes to use new cache accumulator behavior for storeconfigs. 75f1923 Initial implementation of a "cache accumulator" behavior. bab45c4 Saving rails resources as I create them, which saves about 10% 7a91e1f Changing rails value serialization to deal with booleans c30ede5 Adding equality to ResourceReference 589f40f Adding some more fine-grained benchmarks to Rails support 042689e Adding a Rails-specific benchmarking module 89d9139 Adding simplistic param_name/puppet_tag caching ea4e3b2 Adding more time debugging to Rails code, and refactoring a bit 6314745 Refactoring the Rails integration be30a61 Adding a common Settings method for setting values 863c50b Switching to Indirected ActiveRecord a137146 Adding ActiveRecord terminus classes for Catalog b9c95eb Adding ActiveRecord terminus classes for Node and Facts. 8d0e997 Fixing #2180 - Catalogs yaml dump the resource table first 4e0de38 Partially fixing #1765 - node searching supports strict hostname checking c1f562d Removing unused Node code e6b4200 Fixing #1885 - Relationships metaparams do not cascade 50e0f3d Fix #2142 - Convert pkgdmg provider to use plists instead of string scanning for future proofing c1be887 Fixing #2171 - All certificate files are written with default perms e2201d6 Fix #2173 - fix running RSpec test by hand 424c87b Fix #2174 - Fix RSpec rake targets 7ab7d9f Fixing #2112 - Transactions handle conflicting generated resources 84e6c1b Adding another stacktrace for debugging 4793334 Fixing puppet -e; it got broken in the move to Application 7398fa1 Partially fixing #2029 - failed caches doesn't throw an exception 88ff9c6 Fixing #2111 - SimpleGraph only creates valid adjacencies 36594fe Switching to new() in the Puppet::Type.instances() class method edcbab5 Removing duplicate method definition from SimpleGraph d8eaca8 mini daemon to trigger puppetrun on clients without puppet listen mode d2c417e Fix #2113 - Make temp directory 173b5f0 Adding #2122 - you can specify the node to test with puppet-test a677e26 Fixing all tests that were apparently broken in the 0.24.x merge. e016307 Fixing Rakefile; apparently there was a rake or gem incompatibility 62dad7a Fix #2107 - flatten resource references arrays properly cbee426 Fix #2101 - Return to recurse=0 == no recursion behavior 3b4816b Fix #2101 - fix failing test f089e11 Fix #2101 - fix recurselimit == 0 bad behaviour 1b4eae7 Added rake ci:all task 3f61df8 Fixed #2110 - versioncmp broken 830e1b1 CHANGELOG updates 3e0a9cd Moved of puppetd, puppetca, puppetmasterd, puppetrun binary from bin to sbin 6ddebf4 Fixed #2086 - Fixes to make building tarballs easier 33d3624 Fix #1469 - Add an option to recurse only on remote side 77ade43 Forbidding REST clients to set the node or IP 0179e94 Fixing #1557 - Environments are now in REST URIs a497263 Adding explicit optional attribute to indirection requests 3e95499 Removing an unused source file 97975e1 Adding a model accessor to the Request class b6116fe Requests now use default environment when none is specified 15740fe Moving the REST API functions into a module ef4fa68 Using the Handler for the REST api on both sides of the connection 8b13390 Adding REST::Handler methods for converting between indirection and uris edf00db Adding environment support to the REST URI a064ed1 Moving the query_string method to Request ff9c3ca Adding tests for the REST query string usage 87ec08e Fixing #2108 - pi should work again af4455e Fix #1088 - part2 - Add rspec tests b15028f Fix #1088 - Collections overrides b24b9f5 Fixed #2071 - Updated LDAP schema 88aa1bc Fixing tests broken in previous commits f8dea98 Fixing #1949 - relationships now use attributes instead of a label d0fc2f5 Correctly handling numerical REST arguments 90afd48 Not passing file sources on to child files 858480b Correctly handling non-string checksums 27aa210 Removing unnecessary calls to expire() 5329b8a Passing checksums around instead of file contents 71e4919 Moving default fileserving mount creation to the Configuration class 09bee91 Fixing #2028 - Better failures when a cert is found with no key cf1cb14 Moving the clientyamldir setting into the puppetd section 5f73eb5 Fixed #1849 - Ruby 1.9 portability: `when' doesn't like colons, replace with semicolons e40aea3 Fixed metaparameter reference to return str 5df9bad Fixed #2016 - Split metaparameters from types in reference documentation 7e207a1 Fixed #2017 - incorrect require 417b5a5 Fixing #1904 - aliases are no longer inherited by child files c0d5037 Removing or fixing old tests 262937f Correctly handling URI escaping throughout the REST process b800bde Refactoring how the Settings file is parsed d7864be Relying on 'should_parse_config' in the 'puppet' application bd8d097 Providing better indirection authorization errors d3bc1e8 Adding pluginsyncing support to the Indirector 00726ba Moving Request and Fileset integration into Fileset. 058266f Switching the ModuleFiles Indirection terminus to the new Module/Env api 19b8534 Migrating the old FileServer to the new Module/Environment code 1be7c76 Using the Environments to handle a lot of Module searching 2b4469d Environments now use their own modulepath method. 94de526 The 'Environment' class can now calculate its modulepath. 2573ef1 Added support for finding modules from an environment 9c18d5a Adding support for finding all modules in a given path. 4b5ec82 reformatting the environment tests 458642b Supporting multiple paths for searching for files. eec1cad Adding support for merging multiple filesets. bdf3a80 Adding new methods to Puppet::Module. a7be174 Refactoring Puppet::Module a bit. 7ceb437 Only using the checksum cache when we're using a host_config catalog 5fd182d Fixing fileserving to support strings or symbols 7bc41ce Adding clarity to query string handling in REST calls 992231a Some small fixes to provide better debugging and load a library 0304a78 Providing better information when an exception is encountered during network communication 4a7cba3 Stubbing tests that were affecting other tests 3105b5b Fixing a warning in a test c854c59 Fixing a syntactically invalid application test 0f43fd6 Move --version handling to Puppet::Application 156fb81 Move puppetd to the Application Controller paradigm 0c71c5c Move puppetdoc to the Application Controller paradigm e317fa9 Move ralsh to the Application Controller paradigm 81f5438 Move puppetrun to Application Controller paradigm 3390d8d Move pi to the Application Controller paradigm 8265d6e Move puppetmasterd to Puppet::Application af219bf Move puppet to the Application Controller paradigm d51398c Move filebucket to the Application Controller paradigm 9b9e5e8 Move puppetca to the Application Controller paradigm 97e716a Introducing the Application Controller 495ad66 Fixing broken filetype tests resulting from the loss of Type[] 21a714a Fixing some tests that somehow broke in the merge to master 327ee17 Removing a test that was too dependant on order. 487b9b1 Failure to find node facts is now a failure. 610c838 Fixing #1527 - Failing Facter does not hurt Puppet a2eca6c Removing some unused code cb0a083 Using Puppet::Type.new instead of create 84bd528 Actualling syncing facts and plugins d5abdfb Fix #1933 - Inconsistent resource evaluation order in subsequent evaluation runs 9bac833 Adding README.rst file 916abc2 Changing how the Configurer interacts with the cache 5335788 Fixing tests broken during the #1405 fix. 08a5d49 Adding an Agent::Runner class. c7d178d The Agent now uses its lockfile to determine running state c0fcb21 Creating and using a new Puppet::Daemon class 700e823 Not using 'master' client for testing 4b7023e Fixing (and testing) the return of Indirection#save 8dc0005 Adding a 'close_all' method to the Log class. 37d1a7c Removing restart-handling from Configurer bf3c72e Adding temporary class EventManager fc14b81 Splitting the Agent class into Agent and Configurer e8be6dc Removing the Hash default proc from SimpleGraph. 6bb804f Removing the Catalog's @aliases hash default value 502e062 Removing an erroneous configuration call in puppetmasterd 337057a Removing obsolete code and tests for the agent. d53ad31 Converting the catalog as needed f38277f Adding REST support for facts and catalogs. c48525b Adding better error-handling to format rendering b93a642 Resetting SSL cache terminii to nil when only using the ca 212b3e3 Allowing the Indirection cache to be reset to nil 5a83531 Moving the Agent locking code to a module. b672790 Cleaning up SSL instances that can't be saved f78a565 Only caching saved resources when the main save works 5434459 Moving classfile-writing to the Catalog e65d7f1 Refactoring how the Facter integration works 6b4e5f4 Reformatting tests for facts 54faf78 Moving fact and plugin handling into modules 9d76b70 Removing the Agent code that added client-side facts a5c2d7a Adding Puppet client facts to Facter facts. b99c6b5 Clarifying how node names are used during catalog compilation 8b44d6f Reformatting Indirector catalog compiler tests e770e7a Removing ConfigStore code that was never actually used. 37692e5 Renmaing Puppet::Network::Client::Master to Puppet::Agent 15d8768 Revert "Adding the first bits of an Agent class." 63fb514 Revert "This is work that I've decided not to keep" 8f5cbc3 This is work that I've decided not to keep so I'm just applying it here so it continues to show up in the history in case I ever want to look at it again. 25b28c5 Adding a new Agent::Downloader class for downloading files. 1afb821 Adding the first bits of an Agent class. 2afff60 Adding support for skipping cached indirection instances. 361db45 Change the way the tags and params are handled in rails 62cdeaa Add methods to return hash instead of objects to params and tags 3acea41 Rails serialization module to help serialize/unserialize some Puppet Objects 10bf151 Fixing #1913 - 'undef' resource values do not get copied to the db 500ea20 Fixing #1914 - 'undef' relationship metaparameters do not stack 1407865 Revert "Fixed #1916 - Added environment option to puppetd" 8d0086b Fixed #1916 - Added environment option to puppetd a065aeb Fixed #1910 - Updated logcheck regex fa9dc73 Typo fix 7c8094c Fixed #1879 - Added to tidy documentation f40a6b1 Fixed #1881 - Added md5lite explanation 6af3179 Fixed #1877 - Tidy type reference update for use of 0 a5b0a75 Fix autotest on win32 234a035 Fix #1560 fb8f8cd In order for ReST formatting to work properly, newlines and indentation of doc strings must be retained. 69432d6 Fix Bug #1629 1f6dce5 Fix #1835 : Add whitespace/quote parsing to 8142981 Fix #1847 - Force re-examination of all files to generate correct indices d2d3de5 Fix #1829 - Add puppet function versioncmp to compare versions bdee116 Fix #1828 - Scope.number? wasn't strict enough and could produce wrong results d69abfe Fix #1807 - make Puppet::Util::Package.versioncmp a module function 34335b7 Fixed #1840 - Bug fixes and improvements for Emacs puppet-mode.el 3b8a77d Fix #1834 part2 - Fix tests when no rails b6e34b7 Fix #1834 part1 - Fix tempfile failing tests 566bf78 Fixing #1729 - puppetmasterd can now read certs at startup 0cf9dec Canonicalizing Setting section names to symbols. 0fc0674 Fixing all of the test/ tests I broke in previous dev. e4ba3db Deprecating the Puppet::Type.create. b6db545 Deprecating 'Puppet.type'; replacing all instances with Puppet::Type.type 89c25ad Finishing the work to use Puppet::Resource instead of TransObject 1c7f8f6 Adding name/namevar abstraction to Puppet::Resource. e601bab Supporting a nil expirer on cacher objects. f69ac9f Setting resource defaults immediately. 352d7be Refactoring the Settings class to use Puppet::Resource 91ff7c1 TransObject is nearly deprecated now. fae3075 Simplifying the initialization interface for References 14c3c54 Replacing TransObject usage with Puppet::Resource 60062e4 Renaming the "Catalog#to_type" method to "Catalog#to_ral" 6b14000 Using Puppet::Resource to convert parser resources to RAL resources e3b1590 Adding resource convertion to the parser resources c306a17 Adding equality testing to Puppet::Resource::Reference 48a9949 Correcting whitespace and nested describes in Puppet::Resource::Catalog d48fff6 Renaming Puppet::Node::Catalog to Puppet::Resource::Catalog c927ce0 Renaming Puppet::ResourceReference to Puppet::Resource::Reference e88746b Adding Trans{Object,Bucket} backward compatibility to Puppet::Resource 832198f Starting on #1808 - Added a base resource class. 820ff2e Removing the "clear" from the macauthorization tests 89e9ef7 Fix #1483 - protect report terminus_class when testing for REST 435f1e9 Fix #1483 - use REST to transmit reports over the wire 6b30171 Fixing all broken tests. Most of them were broken by fileserving changes. f73e13e Adding more file tests and fixing conflicting tests cc12970 Completely refactoring the tidy type. 720dcbe Cleaning up the tidy type a bit 053d7bf These changes are all about making sure file data is expired when appropriate. a8d9976 Catalogs always consider resource data to be expired if not mid-transaction. 8b08439 Properly cleaning up ssl ca configuration during testing 73fa397 Adding caching support to parameters, and using cached attributes for file source and metadata. 0ecbf79 Adding cached attribute support to resources. 29b9794 Allowing a nil expirer for caching classes. cd09d6b Refactoring the Cacher interface to always require attribute declaration. 14af971 Changing the Cacher.invalidate method to Cacher.expire. 99a0770 Fixing a critical bug in the Cacher module. fe0b818 Fixing tests broken by fileserving and other refactoring. eed37f7 Fixing a test broken by previous refactoring 45c6382 Finishing the refactoring of the resource generation interface. 0840719 Refactoring and clarifying the resource generation methods. cc04646 Refactoring Catalog#add_resource to correctly handle implicit resources. a73cad9 Adding SimpleGraph#leaves, which I apparently did not migrate from PGraph 2a685f9 Removing mention of obsolete edgelist_class from GRATR. 7e20f06 Changing the catalog's relationship graph into a normal graph. 2ba0336 Removing the PGraph class and subsuming it into SimpleGraph. e92c1cc Moving Catalog#write_graph to SimpleGraph, where it belongs. 0149e2e Converting the file 'source' property to a parameter. 35c623e Removing mid-transaction resources from the catalog. f4800e8 Adding a method to Checksums to extract the sum type 44fadd1 Aliasing "must_not" just like we alias "must" a9dbb5d Deduplicating slashes in the fileserving code bb6619a Fixing the augeas type tests to work when augeas is missing e728873 Reducing the number of calls to terminus() to reduce interference with caching aa8d091 Switched all value management in props/params to internal classes. e5b5033 Fixing #1677 - fixing the selinux tests in master. 77d73e0 Changing the meaning of the unused Puppet::Type#parameter method to return an instance rather than a value. 05e1325 Moving a file purging test to rspec 6f7ccff Fixing #1641 - file recursion now only passes original parameters to child resources. a4d4444 Removing obsolete methods and tests: Removing obsolete handleignore method Removing obsolete FileSource class Removing a now-obsolete test/unit test Removing a now-obsolete recursive filebucket test b4f4866 Making it so (once again) files with sources set can still be deleted (which I think is kinda stupid, but apparently people want it). caf15c2 Fixing and migrating more file tests. cccd838 Adding a starting point for spec tests for tidy. 255c9fb Setting puppetmasterd up to serve all indirected classes. 7fdf2bb Retrieving the CA certificate before the client certificate. a00c1f2 Handling the case where a symbol (e.g., :ca) is used for a certificate name. cf3a11c Fixing :bindaddress setting to work with the new server subsystem. a78c971 Fixing CertificateRequest#save to accept arguments. e70c1a0 Fixing forward-compatibility issues resulting from no global resources 4596d2d Fixing a test I broke when fixing a reporting bug 9742c26 Fixing resource aliasing to not use global resource aliasing. I'm not really sure why the 0.24.x-style code got merged in, since master's changes should be more recent. 1b517d2 Adding comments to Puppet::Util::Cacher 7a6d9b1 Removing obselete code from the file type. 1b512a9 Merged fsweetser's selinux patch against HEAD e31df2f Removing files that git wasn't smart enough to remote during a merge. ac5db5e Removing the old, obsolete recursion methods. a9b7f08 As far as I can tell, recursion is working entirely. b69c50c Removing insanely stupid default property behaviour. 45f465b Source recursion is nearly working. 93fc113 Files now use the Indirector to recurse locally. bd1163a Fixing filesets to allow nil ignore values. 5da2606 Recursion using REST seems to almost work. ee1a85d Mostly finishing refactoring file recursion to use REST. 7c68fdb Fixing FileServing::Base so that it can recurse on a single file. ac41987 Fixing the terminus helper so it correctly catches options passed from clients via REST. be4c0e7 The file source is now refactored and uses REST. 44c6a52 Removing mention of an obselete class. 8271424 One third done refactoring file[:source] -- retrieve() is done. 98ac24a Adding a "source" attribute to fileserving instances. 6e43c2d Aliasing RSpec's :should method to :must. 8b45d13 Adding automatic attribute collection to the new fileserving code. 6ed8dfa Adding the content writer to the content class. 92e144b Fixing a test in the module_files terminus 151a54f Causing format selection to fail intelligently if no suitable format can be picked. deda646 Removing the last vestiges of the 'puppetmounts' protocol marker. 30dea68 Adding a 'plural?' method to the Indirection::Request class. 40e76fb Fixing the rest backends for webrick and mongrel so the get the whole request key. 8ea25ef Refactoring how files in FileServing are named. 550e3d6 Finishing the rename of FileBase => Base. 90e7022 Adding weights to network formats, and sorting them based on the weight. 5a195e0 Renaming FileServing::FileBase to FileServing::Base. 3101ea2 Adding a hackish raw format. 89a3738 Adding suitability as a requirement for a format being supported. a0bda85 Removing the yaml conversion code from FileContent. 6335b14 Causing the Indirection to fail if a terminus selection hook does not return a value. 1104edb Correcting whitespace in a test 2f224c9 Spell-correcting a comment bcd40fb Cleaning up an exception. 0a05720 FileServing Configurations now expect unqualified files. 237b7b2 Fixing whitespace in docs of some tests. 91b8252 Fixing the fileserving terminus selection hook. f5ba99f Special-casing 'file' URIs in the indirection requests. a215aba Dividing server/port configuration responsibility between the REST terminus and the indirection request. d174605 Fixing a test that relied on hash ordering. 7034882 Adding parameter and URL support to the REST terminus. c819042 Fixing the String format (fixes #1522). 78bc32d Removing dead-end file work as promised. a5ab52c Adding files temporarily, since I've decided this work is a dead-end. 4f275b6 Fixing #1514 - format tests now work again. 025edc5 puppetd now uses the Indirected SSL. 62202bf Adding 'require' statements as necessary for Puppet::SSL to work. 86a7188 Fixing the SSL::Host#waitforcert method. a31c578 Adding logging when files are removed. 09ee814 Removing now-obsolete the wait-for-cert module. cd314fa Documenting a bit of a test 113d74a Certificates now work over REST. 2cad30a Caching the SSL store for the SSL Host. 93fd55f Enhancing formatting errors with class and format. 6c80e0f Making all certificates only support the plaintext format. c464bf2 Adding wait_for_cert functionality to the ssl host class. c854dbe Adding a plaintext network format. 818599d lazy load latest package definitions with yumhelper 2.2 8457856 Fixing a group test that failed after merging 0.24.x c2c8941 Correctly handling when REST searches return nothing. 186f3cd Removing an obsolete method from the rest indirector 29d704c The REST formats are now fully functional, with yaml and marshal support. c55acee Adding some support for case insensivity in format names. 8033bd4 Moving validation from FormatHandler to Format. 3405841 Moving functionality out of the FormatHandler into the Format class. 43a6911 Searching again works over REST, including full content-type translation. 1064b5b Fixing the format_handler tests so that they clean up after themselves. 167831e Fixing a test I broke while rebasing e78b1a6 Fixing a test to be order-independent. 352e2d0 Adding rudimentary support for directly managing formats. 55e2944 Adding support for rendering and converting multiple instances. 4632cfd All error and format handling works over REST except searching. e3350ca Drastically simplifying the REST implementation tests. b3914c3 Removing an apparently-obsolete hook from the handler 739a871 Adding explicit tests for the HTTP::Handler module. 0ce92f1 The REST terminus now uses the content-type and http result codes. a4170ba Removing a now-obsolete pending test. bf5b086 The REST terminus now provides an Accept header with supported formats. 1f15725 Using the FormatHandler in indirected classes automatically. 0e7e16d Adding a FormatHandler module for managing format conversions. 93eeff5 Fixing the user ldap provider tests 00b7da3 Fixing the new-form version of #1382. c542dc0 Fixing #1168 for REST -- all ssl classes downcase their names. This is a much cleaner fix than the xmlrpc version, thankfully. :) eaa6eab Fixing #1258 -- Removing a Rails idiom. eb5e422 Fixing #1256 -- CA tests now work with no ~/.puppet. 66c36f0 Fixing another failing test -- the new CA tests correctly clear the cache. 447507c Fixing #1245 -- ssh_authorized_keys tests work in master. 6f533d1 Fixing #1247 -- no more clear_cache failures. 3cb0d60 Fixing how the mongrel server sets up xmlrpc handlers. 6efe400 Using the new Cacher class for handling cached data. 68d8d0a Adding a module for handling caching information. e936ef2 Fixing some broken tests. 1cfb021 The CRL is now automatically used or ignored. 0365184 Removing obsolete tests 3303590 The master and client now successfully speak xmlrpc using the new system. 8fd68e3 Adding pidfile management and daemonization to the Server class. dd4d868 Fixing the HttpPool module to get rid of an infinite loop. 57c7534 Adding REST terminuses for the SSL-related indirections. d78b4ba Adding autosigning to the new CA. a822ef9 Moving the CA Interface class to a separate file. 38e2dcf The master is now functionally serving REST and xmlrpc. 6e0d6dd The REST infrastructure now correctly the SSL certificates. 51ce674 Fixing the webrick integration tests to use the newly-functional SSL code. 62f1f5e The Certificate Authority now automatically creates a CRL when appropriate. e57436f The Settings class now clears the 'used' sections when a value is changed. 137e29f Moving some http configuration values to the main defaults section, rather than the puppetd section. a3b8804 The http pool manager now uses new-style certificate management. e596bc5 Fixing some tests that were insufficiently mocking their configurations. 160f9d9 Fixing a critical problem in how CRLs were saved and moving SSL Store responsibilities to the SSL::Host class. ce6d578 The SSL::Host class now uses the CA to generate its certificate when appropriate. 67dc268 The CA now initializes itself. 6356c04 Switched puppetmasterd to use the new-style server plumbing. 4c590df Adding xmlrpc backward compatibility to the new Mongrel code. 31b79fa Adding xmlrpc support to webrick. 7a876ed Fixing some whitespace 7267341 Adding configuration support for XMLRPC handlers. 8c9b04d I think I've now got the Webrick SSL support working. Now I just need to get xmlrpc working alongside REST in both mongrel and webrick. 83519f4 Interim commit, since I want to work but have no network available. 58fb416 Changing the File certificate terminus so that it saves to the :localcacert instead of :cacert. 79ca444 Renaming the 'ca_file' ssl terminus type to 'ca'. a116d10 Temporarily disabling the revoke/verify test in the CA. d87e018 Fixing how the CRL is used for certificate verification. 6c539c0 Fixing puppetca so it uses the :local ca setting. ebdbe48 Added an Interface class to the CA to model puppetca's usage. 934fbba Making the SSL::Host's destroy method a class method, rather than an instance method. d4813f1 Adding the last functionality needed for puppetca to use the Indirector. 809fc77 Finishing the interface between the CA and the CRL. 16056a2 Adding inventory support to the new certificate authority. d498c4a Adding support within the inventory for real certs or Puppet cert wrappers. 67f9d69 Changing the Inventory class to rebuild when the first cert is added, so it's easier to test. 7cca669 Adding a comment to the inventory class. 98db985 Adding an SSl::Inventory class for managing the ssl inventory. 92a7d76 All SSL terminus classes now force the CA information into the right place. fb56dea Switching the SSL::Host class to return Puppet instances. f7e0990 Setting the expiration date of certificate objects to the expiry of the actual cert. 71db9b5 Adding integration tests for a lot of the SSL code. e5c4687 Moving the password file handling into the SSL::Key class. d8bb81e Moving all of the ca-specific settings to the ca_file terminus classes, rather than the normal :file classes. cbe5221 Adding SSL::Host-level support for managing the terminus and cache classes. Also, defaulting to the :file terminus for all of the SSL classes. c5f0eff Fixing the CA so it actually automatically generates its certificate. 3d24b12 The certificate authority now uses a Host instance named 'ca'. daa8cd5 Changing all of the SSL terminus classes to treat CA files specially. 7d2c05e The 'destroy' method for the ssl_file terminus base class now returns false on missing files, rather than failing. 7555af6 Marking a test as pending, because it's not ready yet. c19c9d4 Removing all the cases where the ssl host specifies a terminus. Also, getting rid of some metaprogramming that wasn't really helping. 054e4e4 Making the first pass at using requests instead of specifying the terminus class. The individual ssl classes now work, but the ssl host class doesn't yet. 6900f97 Adding a :to_text method that will convert the contained thing to readable human text. 174b9c9 Actually signing the certificates in the CA. 546ac97 Adding the first attempt at managing the certificate revocation list. c98ad25 Adding a :search method to the ssl_file terminus type and the SSL::Host class. d184b35 Fixing a failing test that had not been updated from previous coding b9d6479 We have a basically functional CA -- it can sign requests and return certificates. There's still plenty more work to do, but I'm probably not much more than a day away from redoing puppetca to use this code. 1efed03 Adding tests for the easy bits of the CertificateFactory. I probably am going to skip the tests for the rest, since the code is unlikely to ever change, and it's going to be a royal pain to test. ee07d0b Adding tests for the certificate serial numbers dc5c73b The certificate authority is now functional and tested. a776a12 refactoring the cert request test a bit 7641bd4 This is a first pass at the certificate authority. The tests are basically entirely absent still, but the structure is all there. 0f46815 It looks like all of the new ssl classes for managing keys, certificates, and requests now work, including talking to the certificate authority. Now we just need the authority itself, along with the necessary REST terminii. 00e35bc Adding he last of the indirection classes for the ssl classes, finally including the certificate requests. 8347b06 The certificate and key are now correctly interacting with the existing cert/key store. Certificate requests are not yet handled, nor are the ca-specific collections. 50f3c18 Removing obsolete indirection classes ec5bdf3 The basics for the certificate and certificate request indirection terminii are done. I need to move most of the test code to a shared behaviour now. bb87464 Fixing a couple of broken tests. b0811ad The new SSL classes basically work, but they're not functionally connected to any kind of indirection. 3970818 Finished the certificate request wrapper class. 4ca6fd3 First stage of cert refactoring: Private keys kind of work. ef7d914 Oops; final fix on the integration test failures resulting from my partial support for ssl in webrick. 0ca0ef6 Fixing whitespace problems. 4640a3d Fixing an integration test of the rest terminus; it was broken by my incomplete cert support in webrick. I just stubbed out the cert usage for now; once all the cert stuff is done we'll need to go back and unstub it. d738f31 Adding the necessary tests for webrick to have logging and ssl. The tests can't be completed until the certificate work is all done. b49fb68 Fixing the tests in test/ that were broken as a result of the move to no global resources. 5e78151 Fixing tests that were failing as a result of the merge, including removing some now-obsolete code and tests from the Settings class. bee9aba Environments are now available as variables in manifests, and specs can be directly executed again. b225e86 Fixing #1017 -- environment-specific modulepath is no longer ignored. 4ede432 Tidied the man page creation function and created "master" branch man pages f335dc3 Updated defaults.rb to fix foru error stopping man page creation - links are not as neat as before but puppet.conf.man file will create neatly now. c751058 Removed remaining elements of old_parse - closing Ticket #990 31e0850 Removed old configuration file behaviour and deprecation warning - closes ticket #990 4165eda More fixes to the testing. cfda651 Another round of test-fixes toward eliminating global resource references. This should have gotten rid of all of them, and now it's just a question of fixing a few hopefully unrelated failing tests. 488c437 Fixing automatic relationships. I was previously looking them up in the relationship graph, which only stores the vertices, not the resource table. d8991ab Updated install.rb to product puppet.conf.man page - updating ticket #198 5a0388f Disabled new man page creation support e5888af Added support for man page creation - requires rst2man.py and writer - closed ticket #198 5bef4a5 Another round of fixes toward making global resources work. 3cc3e0f Lots o' bug-fixes toward getting rid of global resources. We still have about 60 failing tests, but some of them are the failing directory service tests (probably 20 or so), and most are simple fixes to the tests themselves. b7b11bd Fixing a couple of failing tests aed51b4 Fixed puppet logcheck issues 7aa79e2 Revert "Fixed documentation for code option in defaults.rb" f2991a2 Revert "Fixed indentation error in pkgdmg.rb documentation" 754129e Revert "Fixed issue where permissions are incorrectly set on Debian for /var/puppet/run directory" 20628ea Added patch to ext/logcheck/puppet to fix ticket #978 badf977 Fixed indentation error in pkgdmg.rb documentation e6547f0 Fixed documentation for code option in defaults.rb 594a5a3 Fixed issue where permissions are incorrectly set on Debian for /var/puppet/run directory 9736b3c Updated for 0.24.0 99f9047 tweaking spec language; require Puppet::Network::HTTP class since it is referenced by Puppet::Network::Server b38f538 Moving $PUPPET/spec/lib/autotest up to $PUPPET/autotest as something has changed and it can't be found otherwise. e1abfac moving autotest directory to make it possible to run autotest again 0.24.9 ====== 0dee418 Fixed typo in util.rb df33cb0 Updated CHANGELOG a22a088 Updated version to 0.24.9 0aae57f Backport of tmpfile patch from 0.25.2 9a26421 Brought in lutters parse_commands patch and integrated it into the type. This includes reworking the get and match commands as well. This change introduces a few small changes. These are: 916dd60 Fixed rspec gem at version 1.2.2 57b37e5 Add @options to test run call, for compatibility with more recent rspec versions. 0863a79 Adding #2122 - you can specify the node to test with puppet-test a43137c More RST fixes 843cc6e Fixed RST for functions 6160aaf In order for ReST formatting to work properly, newlines and indentation of doc strings must be retained. d125937 Added rake ci:all task c62c193 Updated to version 0.24.8 aa00bde Fixing #1631 - adding /sbin and /usr/sbin to PATH 39deaf3 Fixed #2004 - ssh_authorized_key fails if no target is defined dcf2bf2 Changelog entries for #1629 and #2004 bbcda1d Fix Bug #1629 69a0f7d Fix #1807 - make Puppet::Util::Package.versioncmp a module function 081021a Fix #1829 - Add puppet function versioncmp to compare versions 2b33f80 Fixed install.rb typo 5ab63cd Updated lib install permissions to 0644 0.24.8 ====== 02a503f Updated to version 0.24.8 cbc46de Fixing #1631 - adding /sbin and /usr/sbin to PATH 9eb377a Fixed #2004 - ssh_authorized_key fails if no target is defined 1b3fe82 Changelog entries for #1629 and #2004 8a671e5 Fix Bug #1629 ff5b13a Fix #1807 - make Puppet::Util::Package.versioncmp a module function 991f82c Fix #1829 - Add puppet function versioncmp to compare versions d0bf26e Fixed install.rb typo 4cf7a89 Updated lib install permissions to 0644 2c7e189 Fixes incorrect detail variable in OS X version check, re-patches ralsh to work with Facter values and adds error check for missing password hash files. 73a0757 Fix #1828 - Scope.number? wasn't strict enough and could produce wrong results 0.24.8rc1 ========= 84d6637 Fixed #2000 - No default specified for checksum a3bb201 Fixing change printing when list properties are absent 67fc394 Fixed #2026 - Red Hat ignoring stop method cf64827 Bring in the documentation changes from the master branch 01bc88c Added a force option to ensure the change is always applied, and call augeas twice to reduce the chance that data is lost cedeb79 Backport the fix for #1835 cf48ec0 First cut at the not running if augeas does not change any of the underlieing files 9d36b58 Bug 1948: Added patch by jab to support the correct ins syntax. Updated the test cases as well 61661b1 Fixing #1991 - ldap booleans get converted to booleans d5850dc Refactored a method: extracted about five other methods 1c7c8fe dbfix - fix typo and close another possible inconsistency c55ac3f Fix #2010 - add protection code for some storeconfig corruption a790ee3 Further fix to #1910 9577d3a Fixing #2013 - prefetching had a mismatch between type and title 719a8df Fixed to rake tests for reductivelabs build ac87600 Fixed report reference page 0c16426 Fixing broken 0.24.x tests in test/. 23066c1 Fixing every failing test I can find on the build server. ec56ddf This script fixes the most common issues with inconsistent storeconfigs database (including duplicate resources record, duplicate param_values records, dangling records...). c052ff8 Make puppetd --waitforcert option behave as documented: e2b4062 Adding a performance optimization to the FileCollection. fa6494b Using the FileCollection where appropriate. 373d505 Adding a FileCollection and a lookup module for it. 0e46786 Fixed #1963 - Failing to read /proc/mounts for selinux kills file downloads 4170238 Fixed #2025 - gentoo service provider handle only default init level 8c010e0 Fixed #1910 - updated logcheck 7504b04 Updated useradd.rb managehome confine to include other RH-like distributions f07d928 Use Puppet.debug instead of own debug flag 25a3f59 Fixing #558 - File checksums no longer refer to 'nosum' d758f45 Fixing #1871 once and for all - contents are never printed c0f4943 Minor fix to launchd tests 24d48e6 Fix #1972 - ActiveRecord fixes resulted in broken tests 446989b Fix spec test for launchd service provider to work with new service status method and add two new status tests. 3ef5849 Fixing a test I broke in commit:"897539e857b0da9145f15648b6aa2ef124ec1a19". 72bd378 Removing a no-longer-valid test. 682dd8b Fixing password validation to support symbols. 44f97aa Only backing up within parsedfile when managing files 04af7b4 Fixing a syntax error in the up2date provider 1070b3c Fixing a test broken by a log demotion ab84756 Cleaned up variable names to be more sane, clarified error messages and fixed incorrect use of 'value' variable rather than 'member'. 7f41857 Provide dscl -url output support for OS X 10.4 clients using the directoryservice provider. 0bc3c07 Fix launchd service provider so it is backwards compatible with OS X 10.4 as well 2561c8e Updated Augeas type code 7d72186 Removed site from Puppet VIM syntax 1bc7404 Fixed #1831 - Added sprintf function 336b645 Fixed #1830 - Added regsubst function 2a85551 Bug 1948: Add logic and testing for the command parsing logic 2218611 Updated up2date and service confines to add support for Oracle EL and VM 39a8b28 Fixing #1964 - Facts get loaded from plugins 7cf085c Adding tests for Puppet::Indirector::Facts::Facter.loadfacts 70ea39a Adding a post-processor for Nagios names. 4dfa034 Revert "Refixing #1420 - _naginator_name is only used for services" d5a193a Fixing #1541 - ParsedFile only backs up files once per transaction 53f15b9 Removing the apparently obsolete netinfo filetype. 4e89156 Migrated FileType tests to spec, and fleshed them out a bit. cc4d658 Bug #1948: Added patch by jab to support the correct ins syntax. Updated the test cases as well 5e35166 Fixing #961 - closing the http connection after every xmlrpc call af3f3ae Refactoring the XMLRPC::Client error-handling f0ac3ae Fixed #1959 - Added column protection for environment schema migration 319822a Fixing #1869 - autoloaded files should never leak exceptions 6b0c1b9 Fixing #1543 - Nagios parse errors no longer kill Puppet 7fd5c7e Moving the transaction specs to the right path efb5cc5 Refixing #1420 - _naginator_name is only used for services 32c2be9 Fixed #1884 - exported defines are collected by the exporting host 0e49159 Cleaning up the AST::Resource code a bit b22d148 Fix #1691 - Realize fails with array of Resource References 6331bfc Fix #1682 - Resource titles are not flattened as they should 7e036eb Fix #1922 - Functions squash all arguments into a single hash 535fa89 Fixed #1538 - Yumrepo sets permissions wrongly on files in /etc/yum.repos.d f7b04df Fixed #1936 - Added /* */ support to the vim file 671d73c Prefetching, and thus purging, Nagios resources now works *only* if you use the default configuration file locations. 063871f Adding some basic tests for the Naginator provider base class 897539e Removing a redundant instance prefect call. 012efe3 Fixing #1912 - gid still works with no 'should' value. a9f34af Fixing the Rakefile to use 'git format-patch'. db05c00 Fixing #1920 - user passwords no longer allow ':' aa219e7 Adding README.rst file 1d3f117 Added Reductive Labs build library f01882d Change the way the tags and params are handled in rails b7ab54c Add methods to return hash instead of objects to params and tags 5c64435 Rails serialization module to help serialize/unserialize some Puppet Objects b27fccd Fixed #1852 - Correct behaviour when no SELinux bindings 7403330 Updated Red Hat spec file 0.24.7 0.24.7rc1 ========= 84d6637 Fixed #2000 - No default specified for checksum a3bb201 Fixing change printing when list properties are absent 67fc394 Fixed #2026 - Red Hat ignoring stop method cf64827 Bring in the documentation changes from the master branch 01bc88c Added a force option to ensure the change is always applied, and call augeas twice to reduce the chance that data is lost cedeb79 Backport the fix for #1835 cf48ec0 First cut at the not running if augeas does not change any of the underlieing files 9d36b58 Bug 1948: Added patch by jab to support the correct ins syntax. Updated the test cases as well 61661b1 Fixing #1991 - ldap booleans get converted to booleans d5850dc Refactored a method: extracted about five other methods 1c7c8fe dbfix - fix typo and close another possible inconsistency c55ac3f Fix #2010 - add protection code for some storeconfig corruption a790ee3 Further fix to #1910 9577d3a Fixing #2013 - prefetching had a mismatch between type and title 719a8df Fixed to rake tests for reductivelabs build ac87600 Fixed report reference page 0c16426 Fixing broken 0.24.x tests in test/. 23066c1 Fixing every failing test I can find on the build server. ec56ddf This script fixes the most common issues with inconsistent storeconfigs database (including duplicate resources record, duplicate param_values records, dangling records...). c052ff8 Make puppetd --waitforcert option behave as documented: e2b4062 Adding a performance optimization to the FileCollection. fa6494b Using the FileCollection where appropriate. 373d505 Adding a FileCollection and a lookup module for it. 0e46786 Fixed #1963 - Failing to read /proc/mounts for selinux kills file downloads 4170238 Fixed #2025 - gentoo service provider handle only default init level 8c010e0 Fixed #1910 - updated logcheck 7504b04 Updated useradd.rb managehome confine to include other RH-like distributions f07d928 Use Puppet.debug instead of own debug flag 25a3f59 Fixing #558 - File checksums no longer refer to 'nosum' d758f45 Fixing #1871 once and for all - contents are never printed c0f4943 Minor fix to launchd tests 24d48e6 Fix #1972 - ActiveRecord fixes resulted in broken tests 446989b Fix spec test for launchd service provider to work with new service status method and add two new status tests. 3ef5849 Fixing a test I broke in commit:"897539e857b0da9145f15648b6aa2ef124ec1a19". 72bd378 Removing a no-longer-valid test. 682dd8b Fixing password validation to support symbols. 44f97aa Only backing up within parsedfile when managing files 04af7b4 Fixing a syntax error in the up2date provider 1070b3c Fixing a test broken by a log demotion ab84756 Cleaned up variable names to be more sane, clarified error messages and fixed incorrect use of 'value' variable rather than 'member'. 7f41857 Provide dscl -url output support for OS X 10.4 clients using the directoryservice provider. 0bc3c07 Fix launchd service provider so it is backwards compatible with OS X 10.4 as well 2561c8e Updated Augeas type code 7d72186 Removed site from Puppet VIM syntax 1bc7404 Fixed #1831 - Added sprintf function 336b645 Fixed #1830 - Added regsubst function 2a85551 Bug 1948: Add logic and testing for the command parsing logic 2218611 Updated up2date and service confines to add support for Oracle EL and VM 39a8b28 Fixing #1964 - Facts get loaded from plugins 7cf085c Adding tests for Puppet::Indirector::Facts::Facter.loadfacts 70ea39a Adding a post-processor for Nagios names. 4dfa034 Revert "Refixing #1420 - _naginator_name is only used for services" d5a193a Fixing #1541 - ParsedFile only backs up files once per transaction 53f15b9 Removing the apparently obsolete netinfo filetype. 4e89156 Migrated FileType tests to spec, and fleshed them out a bit. cc4d658 Bug #1948: Added patch by jab to support the correct ins syntax. Updated the test cases as well 5e35166 Fixing #961 - closing the http connection after every xmlrpc call af3f3ae Refactoring the XMLRPC::Client error-handling f0ac3ae Fixed #1959 - Added column protection for environment schema migration 319822a Fixing #1869 - autoloaded files should never leak exceptions 6b0c1b9 Fixing #1543 - Nagios parse errors no longer kill Puppet 7fd5c7e Moving the transaction specs to the right path efb5cc5 Refixing #1420 - _naginator_name is only used for services 32c2be9 Fixed #1884 - exported defines are collected by the exporting host 0e49159 Cleaning up the AST::Resource code a bit b22d148 Fix #1691 - Realize fails with array of Resource References 6331bfc Fix #1682 - Resource titles are not flattened as they should 7e036eb Fix #1922 - Functions squash all arguments into a single hash 535fa89 Fixed #1538 - Yumrepo sets permissions wrongly on files in /etc/yum.repos.d f7b04df Fixed #1936 - Added /* */ support to the vim file 671d73c Prefetching, and thus purging, Nagios resources now works *only* if you use the default configuration file locations. 063871f Adding some basic tests for the Naginator provider base class 897539e Removing a redundant instance prefect call. 012efe3 Fixing #1912 - gid still works with no 'should' value. a9f34af Fixing the Rakefile to use 'git format-patch'. db05c00 Fixing #1920 - user passwords no longer allow ':' aa219e7 Adding README.rst file 1d3f117 Added Reductive Labs build library f01882d Change the way the tags and params are handled in rails b7ab54c Add methods to return hash instead of objects to params and tags 5c64435 Rails serialization module to help serialize/unserialize some Puppet Objects b27fccd Fixed #1852 - Correct behaviour when no SELinux bindings 7403330 Updated Red Hat spec file 0.24.7 8befc18 Updated to version 0.24.7 cf19bd8 Not using a temporary file when locking files for writing. b966ea0 Modifying the corruption-checking test. 1f34bca Issue 1804 VDev with the same devices should be in sync 6d5a129 Documentation fixes 45144a1 Fixing #1812 (hopefully) - adding read and write locks to yaml. 2385a78 Preparing to fix #1812 - Moving locking code to a module 2961b83 Fix #1815 - puppetdoc --all crash on resource override e5c36fd Fix ZFS autorequire test da71ad5 Add a unique name to objects so we can determine uniqueness when read back in 4418b34 Fix launchd service test on non-OSX platforms 4b2bdf9 Fix the spec tests to work on other platforms, do the confine around OS X versions more sanely 544a3e1 remove unnecessary mk_resource_methods call 50ac03a CHANGELOG updates a0a6d2c Add a unique name to objects so we can determine uniqueness when read back in 68ffd46 Bug #1803 Zfs should auto require the ancestor file systems 7e2da7e Refactor #1802 Use 'zfs get -H -o value' instead of parsing output for value 8616d74 Fixing #1800 - tidy now correctly ignores missing files and directories 6075d10 Fixing #1794 - returning sync when it is already initialized 18fe5c3 Fixing #1750 again - All of the properties and now :ensure check replace? b22303e Fix rake abort when there is a matching confine 0caa9c5 spec tests for type and provider and some code cleanup to adhere to DRY 0f2fc88 Finished work on rules creation and deletion ed49153 new better way of doing stdin 05e05bb finished rights flush, working on rules 1e37230 macauthorization type 4ed73ef reset macauthorization tree. Initial checkin of new type/provider 5d32cd9 add NetInfo deprecation notice to user and group providers, make the directoryservice user provider the default, remove default for darwin from NetInfo providers 99ab940 Warn that the NetInfo nameservice provider is deprecated. Use directoryservice instead c4412ec add some more sanity checks around stdin 7de82c3 add support for stdin to Puppet::Util.execute edef064 Make ralsh behave more sanely for non-existent objects and property values 9384a4a Added git changelog task c398db1 Bug #1780 Fixing meaningless test 278bfe8 Fixing mcx test failures (only happened sometimes). c4812b8 Need to stub out the defaultprovider call for non Mac platforms b444e43 remove extraneous comments 49d4d01 Trim down the after block clears to try to make the tests work for the build servers 65d6b49 Updated mcx type and provider with comprehensive spec tests. fd128d6 Fixing a package test to be *much* faster cdcbc5b Fixing splaytime tests 6a4c0d5 Removing debugging from the "resources" type 0c6a151 Fixing a test that fails depending on test execution order 968f5cc Relicense under GPLv2+ 9ab3afb Hopefully fixing #1703 - using a mutex around the sending of the tagmails 3fe9cc7 Fix #1741 - fix some failing tests on some ruby versions. 3570c71 Fix #1788 - allow rspec rake to run only some tests 1b3a7d8 Fixing the AST constant warnings, using a variable instead of a constant 091b8bf Fixing #1785 - selinux tests no longer break other tests c005dcf Ticket 1780 - Solaris RBAC roles should be autorequired 3eff225 Feature 1696 Add support for branded zones fa9820b Bug #1778 - Solaris RBAC profiles should maintain order f6fa4f7 Bug # 1680 Now you can set the hashed passwords on solaris 0a40668 Feature #1783 - Add ZFS support 047e5d0 Handle password when user is created 88edf66 == is not = a219c88 Solaris doesn't have a native tool to set hashed passwords 9329c95 type/mcx.rb Feature #1026 - MCX Type 83b3a1e Simplify launchd service provider and add tests 65a6074 Fixed #1695 - Solaris 10 zone provider doesn't properly handle unknown zone attributes in newer releases 0171e25 Fixing #1749 - Splay now hopefully behaves "better" for small values. 607958c Fix #1741 - Add inline_template function cc45c43 Fix #1741 - refactor TemplateWrapper, test for template function d8c741f Fix #1741 - Puppet::Parser::Functions rmfunctions and unit test 3c4efa7 Fixes #1773 - no longer check for absolute paths 3a39509 make sure only types that have passwords search for the password a45c6b1 fix bug with numeric uid/gid in directoryservice provider. doc string cleanups 1f52795 Documentation fix for runit provider 81a91a7 Documentation fix for daemontools provider 4f67a7c Fixed #1776 - Trivial fix for gentoo service provider 2764ab4 Rename migration so it's still applied 965c08d Slight denormalisation to store a host's environment as a first class object in the database Fixes: #1392 5742966 Fixing #1743 - defined types get catalogs too. 31ec3e6 Adjusted CI tasks exit codes 3421954 Fixing #1755 - handling fully qualified classes correctly. a1ac9a5 Added Rake :ci namespace and CI tasks d978668 Lots of DirectoryService work. New Computer Type. Users now use password hashes. Groups now support setting members as attributes of the group for OS X. 86ce934 launchd service provider 97a8177 Refactoring the thread-safety in Puppet::Util a bit. 78bced1 Fixing #1683 - accessing and changing settings is now thread-safe. 83cebb5 Partially fixing #1772 - fixing selinux tests broken by removal of extraneous 'stat' in :file. a839fe2 Partially fixing #1772 - fixing tidy code I broke. 5bd27c8 Partially fixing #1772 - broken 'resources' tests. a3140b2 Manually setting an env var to mark autotest enabled so we see color bbad983 Removing the included testing gems; you must now install them yourself. b415848 Fixing #1708 - user groups specified as names are now detected correctly. 9ed382d Fixed #1767 - Minor fix to emacs mode 27a750d Revert "Fixing #1755 - File modes (and other strange properties) will now display correctly" eb0d32a Fixing #1764 - a property's 'sync' method is never considered a no-op. e9f858a Refactoring the file/owner property to be simpler and cleaner. ed4c405 Fixing #1755 - File modes (and other strange properties) will now display correctly in ralsh and generated manifests. c65f2b5 Fixed #1668 - puppetca can't clean unsigned certs 1ad33cc Fix #1759 - Comparison operator was using string comparison for numbers c96d250 Fixed #1711 - fileserver test fails due to incorrect mocking 8523a48 Fixed #1751 - Mac OS X DirectoryService nameservice provider support for plist output and password hash fil d32d7f3 Fixed #1752 - Add an optional argument to Puppet::Util.execute to determine whether stderr and stdout are combined in the output 4396740 Fix the init service type to cope with an array for defpath and if defpath does not exist 3c870d8 Added versionable feature to the RPM provider f62d04d Fixing broken tests resulting from the fix to #1747 030c791 Moved RRD feature from util/metric.rb to feature/base.rb dc192b0 Manifest documentation generation 2c05a0a Move function existance test to parser evaluation 064fb00 Add a doc attribute to AST nodes and fill it with the last seen comments 724a6f6 RSpec tests for the doc system (covers AST.doc, lexer and parser) b8ed667 Fixed #1735 and #1747 - Fixes to confine system 6be5ac8 CHANGELOG updates 0ca5025 Fixed #1718 - Added preseed to apt uninstall and purge 01976ca Include spec directory in packages c98f7a5 Fixing the provider's confine subsystem so the logs are more useful. 6426a29 Removed extra 'end' from yum.rb 1e81739 Fix bug #1746: Sync SELinux file attributes after file contents created/modified cebadd9 Fix bug #1681: Add filesystem type check to test for per-file SELinux context support 60455e7 Quiet debug when no default SELinux context found for one of the components 71a9e60 Fixes relating to transition to native SELinux bindings 3a5dcab Refactoring of SELinux functions to use native Ruby SELinux interface d5e19f1 Fixed #1739 - Added uninstall functionality to yum provider bf5be00 Fix #1737 - part2 - Fix display of "options" e032034 Fix #1737 - ssh_authorized_keys should be able to parse options containing commas e33d087 Fix #1740 - Daemontools and Runit is not ReST compliant dfc0554 Fixed #1730 - Edited file/ensure.rb docs for clarity 6d7b5ef Fixes #1672 - unsafe crontab handling in Solaris Signed-off-by: Martin Englund 083077d Fixing the augeas type tests to work when augeas is missing 0a3d34d Fixes #1714 - yumhelper handling with yum 2.2.x is broken 7b70e85 Fixed #1721 - puppet.conf documentation incorrectly lists signals that affect the daemons 781a685 Fixing a test I broke when fixing a reporting bug f063517 Added unit tests for the augeas type and provider 2d37f09 Fix #1402 - Allow multiline comments 9f30306 Fix #857 - Multiple class of the same name don't append code 649a9e0 Fixed augeas examples in type 56f3be6 Fixed #1710 - Spurious output in test run 4806c51 Fixing #1669 - The dump parameter can now be changed on mounts. c7ccc4b Fix #1682 - ASTArray should flatten product of evaluation of its children c906afd Fixing #1667 - regex automatic value documentation is now readable. 9fd1756 Split Augeas up into a provider and a type. e542f8c Fixed #1692 - k5login fails to set mode when file is created 57e791b Fixing #1660 - Adding specifically supported values for tidy recursion. 42cac73 Fixing #1698 - all logs again show up in the report. 6ab4f1b Fixed #1661 - Type reference: tidy should specify manditory parameters 2459106 Removing all mention of EPM, RPM, or Sun packages. 9ecbd63 Fixed #1104 - Classes and nodes should set $name variables bc8cdb1 Beginning provider split, need help on the voodoo 6539f55 Updated Red Hat spec file for 0.24.6 and removed conf/debian directory. cacafeb Added augeas type and feature 0.24.6 ====== b2c1149 Updated to version 0.24.6 5ba54d2 Updated to version 0.24.6 22024bc Improve the inline documentation for SELinux types and parameters f216237 Fixes #1663 - added Symbol check and additional test 81c3b72 Fix SELinux test to succeed when Puppet debug mode is enabled f7516a7 Fix regression caused by switch to Puppet's execute() functions c09d0cc Solaris RBAC Attributes 6d05cbc Fix #936 - Allow trailing comma in array definition ec2b461 Fix #1115 - part2 - fix tests and add all_tags 356d8ca Fixed #1662 - Configuration Reference still references 'section' b53509b Fixed #1460 - enhance redhat puppetmaster init.d script to easy start puppetmaster as a mongrel cluster 8a4e2e9 Fixed #1663 - Regression relating to facter fact naming from 0.24.5 e6f99f9 Fix #636 - Allow extraneous comma in function argument list a74ec60 Fixing tests I broke when trying to fix the Providers reference. d4df361 Use fully qualified paths when calling binaries, adjust chcon call to use Puppet's execute() function. dedf0cd Setting SELinux contexts with chcon should not dereference symbolic links 7f5ded1 Fixed #1646 - service puppet status does not work as non-root on redhat system 00d5fe4 Fix #1115 - Allow checking tags/classes from ERb templates f5fb2d3 Fixed #1649 - OS X package creation script should be more selective about cleaning out prior versions b0fd2e0 Fixing #1647 - puppetdoc's 'providers' report works again. 157c0dd Fix 1642 (always warning) and improve unit tests to cover when to warn and not 65eafb7 lazy load latest package definitions with yumhelper 2.2 eff6ce0 Revert "Added last part of #1633 patch - update to util/metrics.rb" c5d1a4f Added last part of #1633 patch - update to util/metrics.rb 0fff7d7 Fixing some tests that were broken in 2fba85af 2afbd0d Fixing a test that was failing as a result of the fix to #1491 b0c01da Adding an additional option for the fix in ff36832e, skipping missing cert dirs aea5582 Removing a gid test for users, since it is a bad test and has mostly been replaced in rspec 65d3040 Fixing a test that was broken in ee579641 b08002e Fixing some tests that were broken in the fix for #1633 2bf0ba5 Fixing a test that was failing because i-have-no-idea 952ebb8 Fixing a test that was failing because of the change to retrieve() in ee579641 a5fe87f Fixing a file source test that was failing because missing sources is now a failure 53b7d42 Fixing the broken tests resulting from the fix for #1551. 5ec6b07 Adding warnings when example groups are skipped. 54abe70 Moving some test/ package tests to rspec integration tests and disabling a gem test that hangs forever for me. 85d3ae0 Cleanup selboolean and selmodule unit tests to pass on non-SELinux systems a562ce5 Add unit test coverage for Puppet::Util::SELinux and fix problems found by tests 2b4aa0c Fixed #1639 - uninitialized constant Puppet::Type::User::ProviderUseradd 4265825 Fix #1636 - part2 - correct some client errors. 9c31db9 Add failing test for plugin with file and recurse 2853447 Fix several small regressions in plugins mount 2153bae Fixing #1640 - file groups now no longer get set on every run (this was a regression caused by other work I did). 80e5c11 Incremented CHANGELOG to 0.24.6 996ac46 Fix scenario when SELinux support tools exist, but SELinux is disabled d803096 Add new set of unit tests for selmodule type a3f34f9 Removal of redundant lines from unit test 307260f Remove old selboolean unit tests and fix permissions on new tests 2ebd34e Rewrote seboolean unit tests to provide better coverage 4df51ea New and improved tests for file type SELinux contexts 253d4df Fix regression when templatedir doesn't exist. c7a6ef2 Fix #1202 - Collection attribute matching doesn't parse arrays 3281f2b Fixed #1633 - Added support for --detailed-exits to bin/puppet which causes puppet to produce different exit codes depending on whether there were changes or failures in the transaction. 0b1e60f Adding an array indexer method to Puppet::Util::Metric as requested in #1633. 765db30 Adding partial spec tests for Puppet::Util::Metric. fb14e91 Fixed #1473 - Rescue Timeout::Error in xmlrpc clients 7275d7c Fxied #1354 - yum provider problems with RHEL 3 0c297be Fix #1109 - allow empty if or else branches 5268487 Fixed documentation, typo and added CHANGELOG entry 990e8e3 Fix #1530: Correctly parse ssh type 1 keys 06edac4 Fixed additional environments tests 79bb1f2 Rspec Tests for #381. Moved part of the old resource reference tests to rspec. 750e9ab Fix #381 - Allow multiple resource overrides or references 782181e Minor test fix for #1614 614326a Fixing #1098 - Multiline strings now correctly increment the line count 1c6d57e Doing some simple refactorings on Puppet::Log a774443 Fixing #1089 - Log messages are now tagged with the log level, making it easier to match messages in the 'tagmail' report. db7f108 Adding rspec tests for the Puppet::Util::Log class. d2c8998 Fixed #981 - Removed 'Adding aliases' info message d098a90 Fix failing tests dependent on /etc/user_attr file existing 6bcfd9f Fixing #947 - pluginsync no longer fails poorly when no plugins exist 67136f1 Fixing the Node class to no longer validate environments since #1614 removed that validation. a4110a3 Add SELinux context reset after file writes in Puppet::Util::FileType 250239e Add new support for :selrange SELinux file property c831482 Add detected defaults for existing SELinux file properties 772e9b2 Refactor SELinux commands to utility module 8153181 Clean up of SELinux rspec tests so all pass e77ddc1 Merged fsweetser's selinux patch against HEAD 7272d49 Fixed #1613 - The client environment will be substituted when looking up settings. 1a9b567 Fixing #1614 - Environments no longer have to be listed out. 397c841 Fixed #1628 - Changed node search to use certname rather than Facter hostname 9d174c4 Updated puppet binary documentation 6a0b334 Fixed error message typo 655f378 Adding a rake task for sending emails to the dev list d39bab9 Fixing package provider tests to use the new Transaction::Change interface e32256a Migrating the apt and dpkg tests to rspec. ddda80a Update change log with RBAC roles d1abb86 Add role support to user type and an implemention 2fba85a Some small clarifying refactors and change to objectadd to allow subclasses of with a uid not need to be a single class us use modify 4a863c3 Adding user_attr util to parse attributes on solaris 93f952a Fixed #1586 - Specifying "fully qualified" package names in Gentoo 8620775 Fixed #791 - You should now be able to create and find a user/group in one transaction. 63ad845 Refactoring and adding tests to the file group property. 7da4152 Modified the group and zone resource types to no longer call 'currentpropvalues' as a means of setting all values to absent. There should be no behaviour change from this change. ee57964 Modified the behaviour of resource-level 'retrieve' -- it only calls 'retrieve' on each property if the resource exists. 0fb4693 Updating changelog for #1622 2afc4f5 Adding tests for the user retrieve method 679fede Removing commented code from the user type from about 2005 2480654 The Netinfo and DirectoryService providers can now create user and group simultaneously. 4c998fe Fixing #1622 - The user type only looks up groups when necessary. 6bc56ae Aliasing the rspec 'should' method to 'must' so it does not conflict with the RAL 'should' method. b9c75cd Rewriting the user tests, in preparation for enhancing them 99de920 Fixed #1620 - Add 'sles' to Puppet confines when 'suse' is used 4cf9710 Add parser for arbitrary expressions cfa230a Add arithmetic operators to AST 850e0ba Add not operator to AST 9cdecfe Add comparison operators (< > == != <= >=) to AST 8372dc4 Add boolean operators to AST e6698c2 Add warning and forcibly set to :md5 fixing #1564 af8c706 Fix metadata class for cases when checksum_type set 860bdb1 Fixed #1603 - Added support for running Puppet inside a Rack application b2f0d87 Fix ticket 1596 in new fileset code, use tmpdir in fileserver tests. a30ecf2 Make fileserver use fileset for recursion and handle dangling links by ignoring them fixing #1544 3b80763 Add tests for FileServer::Mount list for #1544 3749267 Fixed #1610 - Raise "Filebucketed" messages to Notice priority f792b64 Added a number of confines to package providers 074abd4 Fixed #1609 - Added confines for the Gentoo, FreeBSD and SMF (Solaris) service providers 2da6d19 Fixed #1608 - Added ubuntu to defaultfor for apt provider aa629ec Fixed #1607 - Added ubuntu to defaultfor for Debian service provider 774c0f9 Fixed #1588 - Fixed puppetca --clean --all 98e79f8 Fixed #1472 -- defined, exported resources in the current compile now get expanded correctly. 0040bc8 Fixed #1045 - Multiple metaparams all get added to resources. 8d5ded0 Removing some code in Parameter that is unnecessary. 5fbdc49 Fixed #1595 - Internally, Property#retrieve is no longer called when no 'should' value is available for a resource. c16a5ae Only apply splay the first run 27f0c7d fix failing hpux user specs 7a3a38f Add rspec unit test for the append operator 16793d2 Add an append (+=) variable operator: 7f8abbd Bug #1550 - Rework to avoid regressing rspec tests, add new rspec tests for templatedir as a path 0905734 Allow a templatedir to be colon separated. 11b0848 Fixed #1500 - puppetrun host regression 3b1d6e2 Fixed #1579 and #1580 - errors in the Puppet RPM spec file 77f4fb6 Fixed #1521 -- ldap user and group are now used with the default connection when available. a1a670b Fixed #1572 -- file purging now fails if remote sources do not exist. dd4f654 Fixing #1576 - moving all of the Puppet::Type code back into type.rb. 923fd89 Fixed issues with file descriptors leaking into subprocesses cab5d85 Fixed #1571 - Puppet::Util::binary returns incorrect results a7306e1 Fixed #1553 - Puppet and Facter cannot both install the plist module into two different locations 758505b Fixed #1568 - createpackage.sh 7ce902d Adjusted hpuxuseradd user provider to confine to HP-UX and fixed HP-UX user provider path regression 8f1336f Fixed #1566 - changed password property of the user type d4d3213 Fixed debug messages in package type - thanks to Todd Zullinger for this fix b88df5a Sync with latest Fedora/EPEL specfile 0705dfb Fixes #1455 - Adds HP-UX support for user type e15d316 Fixes #1551 puppetmaster.freshness xmlrpc call returns incorrect type 8fe0338 Fixes #1554 - Fix exception for undefined hostname 81cc9bf Fixed #1533 - changed permissions for man directory 41dc1fa Runit service provider aae0793 Daemontools service provider 29ae879 Fixes tests broken by 95aa085 b50e718 Fixed #1488 - Moved individual functions out of functions.rb into the lib/puppet/parser/functions directory. New functions should be created in this directory. 5fb5091 Fixed #1457 - case insensitive match for error ded94f7 Removed spec color option for buildbot 415663b Added simple rake task for running unit tests 557be9d Added spec Rake task 0d118a5 Fix leaking LoadedFile when adding templates to be watched 67387e2 Fixed #1506 - Removed storeconfig duplicate indexes 7accb89 id column is autogenerated by rails as a primary key, there is no need to create an additional index on this column. This changeset contains the new schema and a migration. c5fb092 Removed reference to namespaces from --genconfig documentation 1729de1 Updates to ext/puppetlast to support multiple hosts b6609ee Fixed #1508 - Add HP-UX package provider. 3e482a2 Updating the authors list for the gem spec 2ec4e29 Fix #1502 - abysmal storeconfig performance - part2 9272df4 Fix #1052 - abysmal storeconfig performance - part1 f48a0ae Fix #1510 - storeconfig fails with rails 2.1 b1ad596 Add the -P/--ping option to puppetrun, fixes #1501 6676b6b Fixes #1274 - allow class names to start with numbers d02f95c Fixed #1394 - Added stored configuration clearing script to /ext fb8cc53 Fixed #1442 - replaced use of Facter for report titling with certname 18dda20 Fixed $1456 - add proxy configuration to yum repo ab4cb6a Fixing #1447 -- Replacing Puppet::PackageError with Puppet::Error. 8a0cb16 Added tests for TemplateWrapper's use of Scope#to_hash. 3ae7eca Fixing an ldap connectivity test d3393b4 Added CHANEGLOG entry for removal of interface type bfcdfe8 fix terrible error with overwriting permissions 0147570 Fixed #1457 - removed confine warning fecdfbc A working script to create an OS X pkg out of the Puppet repository 6a2e71d Fixed #1441 - Updated console colours 404450a Add testing for the changes to resolve redmine #1427, where Kernel methods shadow variables that the puppet template should otherwise see. Specific changes: 03c76de Expose all puppet variables as instance member variables of the template wrapper. This helps resolve redmine #1427, by providing a safe mechanism to access variables. 13069ec Ensure that we consistently use either string #{} interpolation or String.% interpolation, not both, to avoid issues where a #{} interpolated value contains a % character. 469c5fe Feature #1476: Allow specification of --bindir --sbindir --sitelibdir --mandir --destdir in install.rb 2a3d195 Specs for yaml indirector .search - I'm still learning! c97389d Made puppetlast work on 0.24.5 by using the YAML indirector 5c53617 Added a search method to the YAML indirector. 482489a Revert "Fixing puppetlast to make it work with 0.24.5 / 0.25." 0bbac8d Fixes #1417 - whitespace in ssh_auth_key provider a772110 Sync with latest Fedora/EPEL specfile 97987a7 Feature #1241 : Improve performance of group lookups fe99828 Bug #1448: Puppet CA incorrectly writes out all certs to inventory .txt on each certificate signing 971af69 Fixing puppetlast to make it work with 0.24.5 / 0.25. d91d806 Updating the authors list for the gem spec 0.24.5 ====== ce964ec Updated to version 0.24.5 a7df4eb Updated to version 0.24.5 4dffaf3 Reverting the version so my release process works aac7dd1 Incremented versions bfcd626 Fixes #1445 and #1426 8f5800f Fixes #1445 and #1426 ff36832 Fixing the renaming code to skip missing directories. 8c2478b Fixing puppet_module -- it needed the same node interface change. d9aa5ab Fixing a cert test to pass on Darwin. 686ba4d Revert "Merging fsweetser's selinux patch against 0.24.4" f16da42 Merging fsweetser's selinux patch against 0.24.4 a47fed4 'Fix' broken tests related to missing source raising Issue 1437 In two cases, I removed the assertion that caused the failure. In one case, I changed the assertion to expect an exception. 238b8d7 Fixing #1438 -- mongrel and module tests now pass. ebb219e Fixed all of the fileserving termini so they use indirection requests. d8937ac You can now select the encoding format when transferring the catalog, with 'yaml' still being the default but 'marshal' being an option. This is because testing has shown drastic performance differences between the two, with up to 70% of compile time being spent in YAML code. Use the 'catalog_format' setting to choose your format, and the setting must be set on the client. a0fa09f Revert "Fixed #1201 - all external node attributes are converted to strings." 8f8ce60 Fixed #1431 - Provider confines must now specify similar tests in one call. 7fa7251 The mongrel-related tests now run without mongrel. bdbd992 Updated /spec/unit/rails.rb test de6aec6 Fix Ticket 1426 - services on redhat are restarted again 0a0fcaf Fixed #1414 - Return code from waitpid now right shifted 8 bits 61b9bcd Added Changelog entry for new auth_key type 65b9869 Further moves from the examples directory and ext directory 4ce7159 Fail instead of log when rescuing remote file connections 4c5293b Fix #1409, Move path expansion from the type into the provider 8043655 Fixing #1408 - --loadclasses works again. 605d760 Moved debian to conf and updated examples directory d25c2b2 Fixed #1407 - allowdupe is now a boolean group parameter. 9eb9aff Fixed #1368 - updated Red Hat init scripts c7dc73f Fixing the user ldap provider tests edf99c5 Added message referencing ReductveLabs build library 6ff9246 Fixed #1396 - Added sha1 function from DavidS to core 19b76c7 Fixing #1401 - integration tests now work regardless of the yamldir. 667fac1 Fixed #1226 - Gems can now specify source repositories. 21d4957 Correct whitespace 4762b52 Moving the gem test to the non-ral directory 71f4b02 Importing Sam Quigley's work to enhance gem support for sources. c751e4e Fixed #1272 - ldap group names will be converted to GIDs. 0922c3b Fixed #1399 - the ldap user provider knows it can manage passwords. 196494a Fixed #1231 - Exceptions during startup should now be clear. 9d69b3f Testing and simplifying the Transaction::Change#backward method. 61ec332 Removing the Transaction::Change#transaction accessor. 2863df2 Refactoring the Transaction::Event class. a37a784 Adding tests for the Transaction::Event class 31ffeab Adding tests to the Transaction::Change class. 8865bdf file object creation should fail if source is not present 73c06c0 Renaming Puppet::Event to Puppet::Transaction::Event 84b5665 Updated test/ral/type/sshkey.rb test 5ef8979 Removed debugging from lib/puppet/util/ldap/connection.rb 6124c69 Renaming the Puppet::PropertyChange class to Puppet::Transaction::Change. ba12d30 Fixed #1232 - the rundir no longer specifies a user/group, and there are now client- and server-specific yaml directories. be169da Removing all of the code related to the interface type. 04ecb74 Doing what I can to fix #1128, but just in preparation for removing 'interface'. 2279acd Adding changes to config print that were missed in fix for 1183 a87885a Fixing the "describe" in the redhat interface specs bd3f8e3 Fixed 1240 - puppet will function more like puppetd if graphing or reporting are enabled. 7a6ae29 Add a missing test for exercising the last untested line of lib/puppet/type/ssh_authorized_key.rb 731d0f2 Minor documentation updates for ssh_authorized_key type c825c99 Fixing the ldap node terminus to merge facts with the right name. 4b6b22e Adding logging when a node's facts can't be found daf0d9d Backporting a test that was failing in master, and fixing it 38540d5 Fixing the ldap node integration test so it cleans up e03c1be Fixing #1382 - existing uppercase certs, keys, et al will be renamed. 5156230 Use generate instead of autorequire in the ssh_authorized_key type based on Luke's comments d3a8125 Fixed #1006 - puppetrun --class works again. I added the class membership testing to the Ldap node terminus, and added tests, c1e010f Fixing the Node::Ldap.search method to use an indirection request. 4d22a95 Switching the ldap terminus to use Util::Ldap::Connection. b47d4e1 Added a 'search' method to the ldap node terminus. a1d1abd Adding an 'instance' class method to ldap connections. ee9d002 Fixed #1114 - Facts in plugin directories should now be autoloaded, as long as you're using Facter 1.5. f1d5903 Fixing #1388 - the package test no longer uses 'require'. 8c5c949 ssh_authorized_key: autorequire, default permissions and cleanup 5a283d6 Fixing #1374 - Using Puppet::Type.type() in tests 17afb8a Fixes #1195 - Updated Gentoo init scripts 00182ff Fixed #707 - special '@reboot'-style cron jobs work again. c83b23d Updated CHANGELOG for two missed commits 2380fcd Fixed #1012 - templates in the templatedir are preferred to module templates. 4d95364 Fixed #1221 - aliases to titles now work for resources. 24ca81f Fixed #1360 -- allowdupe works with groups again. 955a8ff Removed test/util/loadedfile.rb tests which fixes #1370 9c1ab14 Fixed #1371 - Updated bin/puppet to use Node.find aedfa2b Fixed #1369 - the init service provider now supports HP-UX. 422dea0 issue 1183 d3a4d9a Updated Rakefile fixes #1367 5f600dd Fixing #1168 (for 0.24.x) -- automatically downcasing the fqdn. Also requiring that passed in certnames be downcased; the setting system isn't currently flexible enough to automatically downcase it for the user. ac7f596 Fixed #1201 - all external node attributes are converted to strings. 6658463 Updating the changelog for the changes to node lookups. 1f19453 Removing the Node.find_by_name method. 51e1ba8 The LDAP Node terminus now searches for the fqdn, short name, and default. fb4e843 Refactoring the 'find' method a bit in the LDAP Node terminus. 317af36 Removing the now-obsolete Node.node_facts method. b7bd427 Converting the Node.node_names class method into an instance method. 75c94e3 Removing an obsolete, unimplemented test 98e38a6 Adds support for keepconfig for the dpkg provider fixes #234 4d70449 Fix bug in test, add more specs and small refactor 86f8ff4 Removed the unless condition in query, because the issue is a stale cached value and added comments that query will now always do so. 4539b1c Issue 1215 7b2c310 Adding another note about the save_object stub. d816614 Fixing #1362 -- I had previously removed a stub point needed for testing. 9b1301c Removing a duplicate call left over from debugging 087480b Replacing all two-space indents with four-space 3980323 Adding ruby interpreter lines to the tests missing them. 9fe2b03 Adding execute bits to every test currently missing them. fb5f09b Fixing how the Indirector::Request sets its options. 4b29a5e Fixing how the indirection tests for whether the request has node info. 6764af3 Change description of spec to make baby jesus happy 946081b Try again bdc578a Applying the fixes recommended by David Schmitt to the inline documentation of the ResourceTemplate class. 886c984 Updating the docs for ResourceTemplate. 29c840a Adding a class for using templates directly within resources (i.e., client-side templates). This would really only be used for composite resources that pass the results of the template on to generated resources. 1205881 The mongrel and webrick REST handlers now extract certificate information. e8044f9 Adding to the indirection request support for authentication information. dbd9b40 Updated fix for ticket #1271 cf3b98e Applied patch for ticket #1271 9943da6 Further Emacs puppet-mode fixes 3c2e69f Fixed Rakefile to install non-.rb files to fix #1266 ad3803f Fixes for install.rb running of tests that fixes #1267 65c1889 Fixing #1242 -- lack of storeconfigs only produces warning, not exception. 8a22b59 Fixing #1265 -- the ca/client tests now all pass again. 02411f5 Always using the cert name to store yaml files, which fixes #1178. 89100c4 Moving the majority of the pkgdmg docs to the wiki, fixing #1264. 9decf35 Put function in ticket #311 in correct location 6c3e7e1 Reverted function - "Added cron random function fixing ticket #311" c173264 Refactoring warnings.rb for tests. e6837a4 Fixing an inaccurate test so the tests will run correctly in all branches. 054a811 Removing extra debugging bdcf5db Fixing tests that are broken when running as root under OSX 10.5 d55a755 Added warnings test and cleaning up trailing whitespace. c0f78b4 Fixed a bug in my tests which caused them to fail when run against the master branch. d54338f Added cron random function fixing ticket #311 6ea494f Pushed patch fixing #1235 c370104 Fixing the node/catalog so that it can convert from parser catalogs to RAL catalogs. bd51a53 Fixing transaction support for prefetching generated resources. 4434072 The ldap user/group providers now work when no users/groups are in ldap yet. 419f244 Adding support for settings within the existing Facter provider confines. 3e13bd5 Intermediate commit so I can move on to other things. ee4be4f Removing an unused file. Closes #1229. b8ce6a1 Mocking Facter in an integration test, so it works with no networking 77ee4ec Refactoring how the provider confine tests work, again. 0820819 Minor cosmetic changes to cleanup some style elements and get rid of some cruft. 6a6a1d9 Another refactor based on feedback from Luke. This includes adding an accessor for @@state to make testing a bit cleaner. ee04129 Refactored tests based on feedback from Luke. d7f25ff Rewritten tests for Puppet::Util::Storage. c5da401 Add unit tests for Puppet::Util::Storage 8008bbc Modified the 'factpath' setting to automatically configure Facter to load facts there if a new enough version of Facter is used. a02c6bb Fixing a mock in the redhat interface test. 390db80 Updated puppetd documentation which fixes ticket #1227 2d6a914 Fix for latest method in rpm provider (fixes #1224) 38545d9 Crontab provider: fix a parse error when a line begins with a space character a1409d7 Moving all confine code out of the Provider class, and fixing #1197. 995991d Switching the Provider class to use the new Confiner class. c9757a6 Moving the 'confine' handling to separate classes. ac79a79 Duh, fixing all of the paths being loaded for spec in the moved tests. d02334f Moving all tests that are in 'ral' up a level. e7bef08 Fixing the user test. 158d3df Added the ability to add arbitrary attributes to ldap. 83ef1b0 Fix for #1219 b500689 adding more autotest docs c61fc02 Adding autotest info to the ext/ directory. 59b9958 Correcting whitespace in the templatewrapper code. 49dde11 Adding has_variable? support, fixing ticket #1177 d8cc1c5 adding execute bits to tests 5e2a4b5 updating the changelog for the ldap providers 17e8158 Adding ldap providers for the user and group type. c56e9a6 Fixing another test that wrote to ~ 954aad4 Fix Emacs mode indentation of multiple nested blocks f52e343 Enhancements to syntax highlighting and indentation for Emacs 9bf21a6 Use our own count-matches for Emacs 21 compatibility 20e60b1 Applying patch by martin to fix #1207. 270c007 Clarifying the exception when there's a syntax error but a valid parser. f3fa589 Fixing a test that wrote to ~. ae842ea Fix for urpmi provider that fixes #1217 da4cdd2 Fix for ticket #1218 - changed to appropriate variable name 88ec3d8 Cosmetic fix 67dc261 Removed "none" as a valid type attribute value, it was useless anyway db8a46c New native ssh_authorized_key type 2b185af Add values for dump parameter for the mount type closing #1212 69fc802 Update to man pages, fix to ralsh help text and fix for #1211 c57e194 Fixing an error message to be more clear 5a2bbad fix bindir/sbindir defaults on OS X 10.5 fff6ad9 Fix for ticket #1209 b2a3db9 Fixed #1196 - added /sbin/service support for the redhat service provider + some doco fixes 62ca726 Fixed some tests broken by #1176 82b9f61 Added puppetlast script to ext directory a35450b Pushed patch for #1176 - configtimeout fix 57fd88b Pushed patch for ticket #1191 - adding globbing support to ports provider b5640a1 Pushed patch for ticket #1187 - freebsd pkg_add support 0a5d8a6 Fixed #1195 - support for gentoo openrc 4599791 Pushed schema patch for #1193 eac14f6 Fixed #1189 and added support for --all to puppetca --clean d9846fc Fixishing some pending tests, including filling in the connection information. cb617f2 Making the changes necessary to get the REST support to work with the current state of the indirection work, including using a request object and an expiration date. a6a397b The 'destroy' method in the indirection now returns the results of destroying, so they can return true or false. 04aba52 fill out specs for network_* methods; refactor lowest-level network hooks a0804ae adding rest_connection_details helper to Indirector::REST -- will need to be overridden to lookup the real connection details aed1375 make sure unit indirector specs are working with #save; fill out network_put pending specs 75bf05d removed a debugging helper from the Indirector::Rest#save method 9187a34 updating mongrel/webrick unit tests to match integration-tested version of REST save functionality 93bc1a9 adding REST save support, with integration tests. A handful of unit tests in that area now need to be updated. 99b295b disabling caching for Puppet::Indirector::Indirection as it was causing hella problems with testing save without caching; judging my luke's blog this is going to be rewritten somehow anyway 1befd1d work-in-progress; playing with refactoring network_* methods inside Indirector::REST f28f20b Added support for destroy/DELETE over REST (including units & integrations on both webrick & mongrel). 0797440 updating search integration specs to include webrick e8caf13 making search work over REST, w/ unit & integration specs b750482 unit specs and implementation for Indirector::REST#search method a7f2dd4 placeholders for integration specs on final REST methods cebb677 ensure that we only run the mongrel specs when mongrel is available as a feature dab9deb bringing Indirector::REST specs to mongrel-land as well. 1e0f19b Make mongrel happy like WEBrick. d24c03c exceptions on remote end now properly passed to local end via REST and re-raised (integration-tested) 7a73434 Much larger commit than I would like to land at once. This is all REST-related code. Two specs are failing related to how Mongrel is initialized for REST; will fix those shortly. a1c4579 a trivial integration test to test whether the RESTful indirection terminus has a remote shot at working; will need to be upgraded to actually be useful 7d51146 fixing Puppet::Node::REST class name to work with autoloader inflection (Puppet::Node::Rest), so we can do Puppet::Node.terminus_class = :rest e86fde2 This is the first version where mongrel and webrick are reliably startable and stoppable via Puppet::Network::Server. c2f8c69 the indirector will not serve xmlrpc (this is the responsibility of the legacy networking code; it was a mistake to include stubbed support for it in the new code); removing 13c40e9 removing obsolete TODO comment 2cdd0f8 puppet-compliant indentation b49fd49 Resources now return the 'should' value for properties from the [] accessor method (they previously threw an exception when this method was used with properties). This shouldn't have any affect functionally; it just makes the method equivalent to 'should' for properties, but it works for all attribute types now. 4aaad26 Modified the 'master' handler to use the Catalog class to compile node configurations, rather than using the Configuration handler, which was never used directly. I removed the Configuration handler as a result. 2925ad1 Fixed #1184 -- definitions now autoload correctly all of the time. 376628d Removed the code from the client that tries to avoid recompiling the catalog. The client will now always recompile, assuming it can reach the server. It will still use the cached config if there's a failure. 3718b64 Fixing #1173 -- classes and definitions can now have the same name as a directory with no failures. d91b6d8 Fixing #1173 -- classes and definitions can now have the same name as a directory with no failures. 738889b Fixing the expire method (it wasn't using a request internally), and fixing the Facts class so it auto-expires any associated cached nodes when facts are saved. f285f1a Moved the request creation into the Indirection class instead of the Indirector module. Also, added an 'expire' method to the indirector, so there's an easy way to expire cached instances. d420701 Making the log messages around caching better. d82ac98 Fixing the executables to use the new indirection api. 7774d9c Ported the rest of the indirection terminuses over to expecting requests instead of having a random interface. bf728d2 Intermediate commit. 644d6ba Fixing some tests that were failing because new base types were added to Naginator, but no new related resource types were added. 768315b Adding the ability for indirection requests to be created with instances instead of just keys. 38f0f48 Fixing an errant comment 69a321f Fixing the tests that were failing because of the use of the indirection request object. f9881ed Adding a Request class to the Indirection layer. This class is currently only used internally by the Indirection instances, but I expect that I will soon be pushing it to all of the terminus types. 4032a27 Fixing the integration tests related to the destroy fix. Yay. 0bd5799 Fixing one other test that was failing because of the change to Indirection#destroy. 941177a Changing how destroy works, just a bit -- it now accepts the name of the instance to be destroyed, rather than the instance itself. c6729d1 Reworking the caching layer to use TTLs instead of versions based on timestamps. This just modifies the indirection class itself, there is still some work to do to remove version code from other classes. 8e1e06f Removing unused code from the file_serving/metadata class. 1458123 Adding an envelope module to handle indirected instance expiration. bd858df Changing the default environment to production. 80f8b80 Adding validation to the user type to confirm that the group list does not contain any commas. This seems to be a common problem. 92765ea Making a test executable 7295626 Used stubs to decouple our code behavior from the behavior of the underlying filesystem, as well as removing the need to sleep (which caused the tests to take a long time). 911c7fb Additional fix for emacs syntax for ticket #1160 c13486e Revert "Additional fix to emacs for ticket #1160" bb65226 Additional fix to emacs for ticket #1160 6f1c469 Extend workaround from 56aad69f8cdf8b0b08fdb7985014986223fa4455 to not only fix UIDs but also GIDs e621985 Changed some non-standard Ruby locations to env ruby shebangs 2036d22 Fixes debian service enabled/disable issue as detailed in #1161. 1c02749 Committed patch from #1160 335972e Pushed patch to fix #1174 6f32e95 Adding the report reference back; I don't really know why I removed it, since the information in it isn't anywhere else. f927b97 Updates to rrdgraph documentation e51d05c Better fix for #1020 4a39d64 Revert "Added updated fix for #1020" 2cac600 Fixed duplicate oid for parentnode and environment in schema - addresses #1170 eae5cee Fixing a duplicate word in the mount docs 4f8df98 Added updated fix for #1020 aa830b9 Adding 0.24.4 header to the changelog 4c63b69 Add a bunch of directives, allows a full parse of stanford's huge nagios config Also reformatted a bit 9d30b26 Fixes #1148 - replaces #!/usr/bin/ruby with #!/usr/bin/env ruby. 874a02f Added check_puppet.rb Nagios check plugin (See #1162) 491a696 I think this will include the man pages in the build but overall the Rakefile needs a rewrite 9cf7150 Added some more tests for loadedfile, based off the old unit tests. 077312a Added rspec tests for loadedfile 0.24.4 ====== 3a8053a Updated to version 0.24.4 d3e4ed7 Updated to version 0.24.4 55a9009 Pass source to pkg_add via the PKG_PATH environment variable if 6a53519 Fixing #571 -- provider suitability is now checked at resource evaluation time, rather than resource instantiation time. This means that you don't catch your "errors" as early, but it also means you should be able to realistically configure a whole host in one run. 528bbf1 Fixing a couple of tests. 017f673 Moved the configuration of the Node cache to the puppetmasterd executable, since it otherwise causes caches to be used in all cases, which we don't want (e.g., bin/puppet was using them). bd3f6ec Disabled man page creation by default and updated CHANGELOG 4bfc4ef Modifying the way ensure is handled so that it supports having it be a parameter. This is only useful if you want a composite resource that just generates other resources and passes the value on. d93e1b4 Fixing #1138 -- the yamldir is automatically created by the server now that it's in the :puppetmasterd section rather than a separate :yaml section. 273c7ec Disabling http keep-alive as a means of preventing #1010. There is now a constant in Puppet::Network::HttpPool that will disable or enable this feature, but note that we determined that it can cause corruption, especially in file serving (but it's client-side corruption). 6aa6fdb Applying patch by Ryan McBride to fix OpenBSD package matching. The actual problem was caused by the fix to #1001. 5a31959 Added man pages and man page creation logic to install.rb e5b16b2 Ported #198 man page creation functionality to 0.24.x branch 18320b8 Found all instances of methods where split() is used without any local variables and added a local variable -- see http://snurl.com/21zf8. My own testing showed that this caused memory growth to level off at a reasonable level. Note that the link above says the problem is only with class methods, but my own testing showed that it's any method that meets these criteria. This is not a functional change, but should hopefully be the last nail in the coffin of #1131. f6325dc Found an array that leaked pretty quickly between reparsing files, thanks to work by Adam Jacob and Arjuna Christenson (the finding, not the leak). I'm going to act like this fixes #1131, at least for now, but I doubt it does, since that shows general memory growth over time, whereas the leak here should go away as soon as files are reparsed (because the parser is holding the reference to the leaking array). 25b81b3 Fixing a test I broke with my fix to #1147 4f400d4 Fixed #1147: Cached nodes are correctly considered out of date if the node facts have been updated (thus causing node facts to again be available in manifests, for those cases where they were not). 54bedb2 tweak the (already applied) patch in 388cf7c3df7ce26e953949ed6fe63d76cbbb3691 to resolve #1137; also, add tests which detect the problem. a240969 Applying patch by wyvern to fix #1142. e00065a * puppet/ext/emacs/puppet-mode.el (puppet-indent-line): Clean up the code somewhat after commit 738d275f41f3eaf015800021dd2dfe6c42a1ae79, as promised. 5f3ed8d * puppet/ext/emacs/puppet-mode.el (puppet-indent-line): Be more sophisticated about what we do at the beginning of the buffer, so that the first expression after an block-opening statement that happens to begin at the beginning of the buffer gets indented correctly. This may need some cleanup, but I wanted to get the correct behavior committed first. d1d408c Fix bug mentioned in commit f814e23eab140ad01df4a4a3b187fcbf20da02be: 7514057 * ext/emacs/puppet-mode.el (puppet-comment-line-p, puppet-in-array): New helper functions. (puppet-indent-line): Rewrite to handle three more situations: indent elements in an array, indent single-line blocks, and ignore previous comment content when indenting non-comment lines. 40a389a * ext/emacs/puppet-mode.el: Untabify, in preparation for substantive changes. 0c45a5a Adding another commit for #1136 -- Consolidated the setting of the loglevel and destination to just one call, rather than the multiple calls that remained. 4ce1d37 Fixed ports documentation error c75cc42 Added more detail about the requirement for ruby-libshadow for useradd password management 1dc6dc2 Final fix to #1136 - further changes to --test setting e714156 Second fix to #1136 - fixed --test problem 2155fe1 Fix for ticket #1136 --verbose cancels out --debug 4cc18ed Applied patch in #1134 2795ba4 fixing another failing test a40e9b7 Fixing some tests that only failed under certain circumstances (mostly, when loaded with other files, or when loaded from rake or autotest rather than separately). 7d35ae8 Refactoring how the catalog creation handles errors. Previously, if there were an error creating a resource, the error would propagate leaving any previously created resources still in memory. 1b3c85b Removing extra debugging 2d90468 Fixing a unit test for node integration e81fc58 Settings now (again?) do not use a section more than once, which should make the system a bit more efficient. fca467d Removing explicit requires of types and providers, because they were conflicting with Puppet's autoloading. This is clearly a sign that our autoloading is silly, if Ruby's own loading easily makes it unhappy. 34129d9 Removing obsolete code from the fileserving handler. This was obsoleted in 0.24.2. f62eec8 updating resource references in the docs d0554db Hopefully *finally* fixed the "already being managed" problem (#1036). The problem only cropped up if there was a failure when trying to manage the system -- this would cause the setting-based resources not to get cleaned up. 13c6de3 Adding a rake taks for updating the trac docs 0.24.3 ====== 0e26a07 Updated to version 0.24.3 990638c Updated to version 0.24.3 18ed28b Updating changelog for 0.24.3 ab72048 Removing a Settings.use that is unnecessary bba0b43 Downgrading the "Using cache" message from the indirection to debug 1dc0e24 Modified the ldap node terminus to also use the facts version as the version for a node, which should similarly encourage the use of the yaml cache. (Related to #1130) 4a45a1d Caching node information in yaml (I figured caching in memory will cause ever-larger memory growth), and changing the external node terminus to use the version of the facts as their version. This will usually result in the cached node information being used, instead of always hitting the external node app during file serving. Note that if the facts aren't changed by the client, then this will result in the cached node being used, but at this point, the client always updates its facts. (#1130) f3a304c Modifying the yaml terminus base class to use the timestamp of the yaml file as the version of the object. 8b29368 Adding a filebucket test to puppet-test da77cb6 Adding a test for local compiling 405802e Using the indirected facts rather than master.getfacts, so no factsync is used 388cf7c Regression in :node_name functionality 872ced7 Flat file now does writing to a tempfile. 4956323 Fixing #1132 -- host names can now have dashes anywhere. (Patch by freiheit.) ecb873d Fixing #1118 -- downloading plugins and facts now ignores noop. Note that this changes the behaviour a bit -- the resource's noop setting always beats the global setting (previously, whichever was true would win). e2370b3 Fixing the service-stop on debian, using the patch provided by DavidS e8029cc Fixing the "tidy" type to use an option hash for specifying its parent class c955f61 updating changelog for already-closed tickets eecc22c Cache the same type we check for, hopefully fixes #1116 f1216f8 Revert "Cache the same type we check for, hopefully fixes #1116" ca0b62a Cache the same type we check for, hopefully fixes #1116 35214eb Fixing the rest of #1113: External node commands can specify an environment and Puppet will now use it. 2261032 Partially fixing #1113: LDAP nodes now support environments, and the schema has been updated accordingly. 4c0f6c8 Fix for 1094 647f5b4 Always duplicating resource defaults in the parser, so that stacked metaparameter values do not result in all resources that receive a given default also getting those stacked values. ee8fac6 Changed name of method for clarity per code review 8192475 Ticket #1041 The CA serial file was getting owned by root because it was using a different method to write to file 4c47656 Applies patches from #1111 and #1112 443db20 Fix tests depending on the Puppet[:localcert] file existing using stubs 8627139 Updating version number 3b5daf7 Revert "Fixes #1099 - use of -m option with -d option for home directories" 0ae58a9 Fixes #1099 - use of -m option with -d option for home directories 0.24.2 ====== f019cac Updated to version 0.24.2 bfdac69 Updated to version 0.24.2 6faed12 updating changelog for 0.24.2 ee88c58 Applying patch by DavidS to fix #1083. a7339ec Fixing a few tests e008b02 Fixing #1110 -- transactions now always make sure their tags are arrays. 65b7267 Fixing the fact that resources that model defined resources were getting finished multiple times, which meant they got multiple copies of metaparams. 4c3fa78 Fixing a few more loading order issues. 857814a Fixing tests that did not work with Rails 2. 7ca0ad6 Fixing a test that changed the environment for all later tests, thus breaking some of them. 9b07758 * Tweaks for puppetshow UI cleanup 0139889 * Add migration for "created_at" (hobo expects it) * Tweaks for puppetshow interface cleanup * Delete unused tagging lib and puppet_class model 43aea83 renaming ral/types to ral/type in the tests 879ee22 Fixing #1062 by moving the yamldir setting to its own yaml section. This should keep the yamldir from being created on clients. fd1573f Fixed #1047 -- Puppet's parser no longer changes the order in which statements are evaluated, which means that case statements can now set variables that are used by other variables. 9d6e926 Fixed #1063 -- the master correctly logs syntax errors when reparsing during a single run. abd688e Fixing #1092 by no longer using the resource reference to look resources up, which means there's no concern about not finding the resource, which is where the nil was coming from. We now just iterate over the vertices. 29aafb4 Fixing an integration test so it cleans up after itself 82b02b9 Fixing #1101 -- puppetrun works again. dd17d4c Fixing #1093 -- 0.23.2 clients are again compatible with 0.24.x servers. :ignore links is now equivalent to :manage links. c0b5352 testing automatic commit emails 614ab9f Adding a 'control' parameter to services, for those service types that need a control variable to enable/disable. bb8051b Removed the loglevels from the valid values for 'logoutput' in the Exec resource type -- the log levels are specified using the 'loglevel' parameter, not 'logoutput'. This never worked, or at least hasn't for ages, and now the docs are just correct. ff4f65a replacing tabs with spaces in the redhat interface provider f3db79e Fixing a typo in the mailalias resource type 4e55999 Removing the validation on package sources, since some platforms (e.g., hpux) do not have a well-formed requirement for the source. 42bfdf2 Fixing #1085, I think -- I was not returning a resource if the class had already been evaluated, but this was only being run into in corner cases -- mostly where one class included another class, I assume. 1258512 Fixing #1084 -- the node catalog asks the individual resources whether they're isomorphic, and they in turn ask the resource types (or default to true for defined resource types). 9a33487 adding a comment to the namespaceauth.conf file 04892ee Adding an example namespaceauth.conf f0975df Trac #1038: not a fix, just an attempt at improving the situation. c8b320e Corrected #1040 fix - this should now be right - trace was after raise 07cd482 Making a couple of other small fixes, requiring classes that were not being required in the right order. ff97059 Somewhat refactored fileserving so that it no longer caches any objects, nor does it use Puppet's RAL resources. In the process, I fixed #894 (you can now copy links) and refactored other classes as necessary. Mostly it was fixing tests. 939c952 Fixes ticket #1080 f184228 Fixes ticket #1079 - added . support for tags 9b6e501 Fixing a test that was failing when a user-specific fileserver.conf actually exists. 5d35bc5 Fixes #1078 and includes new test 7976015 Removing a test I never migrated from test/unit. 279a0c5 Fixing a test that was actually reading in keys from the filesystem and failed when those keys were unreadable. 098a69c updating checksum for #1010 fix b06767e Quashed commit of my fixes for #1010. 5e18b8d Hasstatus in the init service provider; it was just doing a boolean check, rather than comparing to :true. 60f18c2 Fixed minor documentation error 39a6756 Fixed #1073 - moved show_diff and other logic post config parse f006e17 Fixed test for #1040 1f0ea5a Second attempt fix address ticket #1040 39f9818 Removing some extraneous debugging from a test. d82bfd8 Attempt to fix #1040 - catching errors in compilation e830f28 Fixed #1018 -- resources now have their namevars added as aliases in the resource catalog, just like they were added in the resource classes. 60dd569 Fixed #1037 -- remote unreadable files no longer have the permission denied exceptions caught, thus forbidding them from being replaced with 'nil'. 2de4654 converting parser ast node specs from setup/teardown to before/after 9927efb converting parser ast host class specs from setup/teardown to before/after c86c1da converting node catalog specs from setup/teardown to before/after 61cdc2b converting indirector yaml specs from setup/teardown to before/after f702096 converting facter indirector specs from setup/teardown to before/after 516e5b6 converting indirector checksum file specs from setup/teardown to before/after d260b7e converting parser compilerspecs from setup/teardown to before/after 1913134 converting mount provider specs from setup/teardown to before/after 6781e10 converting indirector terminus specs from setup/teardown to before/after dba64dd converting file serving configuration specs from setup/teardown to before/after b4c8f99 converting indirector ldap node specs from setup/teardown to before/after 3cb1118 converting indirector direct file server specs from setup/teardown to before/after 9e632bc converting parsed mount provider specs from setup/teardown to before/after becafab converting mount type specs from setup/teardown to before/after 034336b converting indirector file specs from setup/teardown to before/after 12f139c converting package type specs from setup/teardown to before/after b8d5ce0 converting fileserving/configuration/parser specs from setup/teardown to before/after eb0bdcb converting indirector/module_files specs from setup/teardown to before/after 22d6f9f converting ral/types/schedule specs away from setup/teardown d04567a converting indirection specs away from setup/teardown to rspec compatible before/after usage aa14ce7 moving setup() methods to before :each, so that the tests will run with rspec, as opposed to just rake (which calls them directly with ruby, as opposed to any spec binary) f9f32c4 reordering spec binaries to prefer the local vendor/gems/rspec/bin/spec option d11cd39 Fixing a failing test that resulted from a change in how checksums are created. 62d7616 Fixing the directory service provider's behaviour when there's no value for a given attribute. f087df0 Fixed ticket #1072 - Debian directory updates 0eede76 Fixed Ticket 1009 - problem with plist xml parser. We do not need the plist parser for pkgdmg. 458cb23 Fixed ticket #1070 - puppetrun configuration parse problem 2e41803 Fixed ticket #1069 - removed remaining references to multiple configuration files 10d4d0e Fixed ticket #1065 - Solaris SMF manifests 8fa4120 Fixed ticket #1068 - Minor documentation fix 30128bd Really minor change to user creation in Leopard. 6013b25 Refactoring the incremental checksum generation slightly based on the code in type/file/checksum.rb. aebd303 Enhancing the stand-alone checksums utility module with the rest of the checksums we're likely to use, and adding tests, which I somehow missed when I wrote this file. df3fbc7 Fixed #1060 - Debian service removal and addition 5ef8a3e Changing portage to use Puppet::Error instead of Puppet::PackageError, fixing #1059. c4f7c51 Fixing comment -- ticket #1027 instead of #1064 8920557 Fixing #1064 -- providers et al are now autoloaded from modules even when Autoload#loadall is used. 4829711 removing "lib" deprecation notice from autoloader f8afe13 Fixed #1043 -- autoloading now searches the plugins directory in each module, in addition to the lib directory. The 'lib' directory is also deprecated, but supported for now to give people a chance to convert. fe02591 Fixed #1003 -- Applying DavidS's patch to fix searching for tags in sql. 9b1bfc1 Fixed #992 -- Puppet is now compatible with gems 1.0.1. 0cfa1d2 Fixed #968 again, this time with tests -- parseonly works, including not compiling the configurations, and also storeconfigs is no longer required during parse-testing. 8367fdf Renaming the 'pfile' and 'pfilebucket' files to plain 'file' and 'filebucket'. This should have been done years ago. a42c3ae Fixed #1021 -- the problem was that my method of determining the in-degree sometimes resulted in a lower number than the number of in-edges. d406353 Removing the last vestiges of GRATR from the PGraph class 068b61e Removing obsolete references (they're in the indirection reference), and adding error handling to puppetdoc. 98dbfa2 Loading the mocha gem from the puppettest.rb file. 12fa0fa Fixing the Rakefile so all tests run in one task instead of multiple. cb5def4 'rake' within the spec dir works now, anyway, which is a good start. Autotest still doesn't work, though. eb74033 Fixing the puppet_rspec autotest plugin to use the modern interface 1b90f7f Trying to upgrade rspec, but not having much luck. bcb9b56 Copying over Rick's work from the master branch supporting autotest and cleaning up the rspec support. 3af6827 Adding an inflection util class. 7e45553 Fixed #997 -- virtual defined types are no longer evaluated. NOTE: This introduces a behaviour change, in that you previously could realize a resource within a virtual defined resource, and now you must realize the entire defined resource, rather than just the contained resource. c8da318 Moving the ast node tests to rspec (which I could have *sworn* I did this weekend). In the process, I fixed a couple of bugs related to differentiating between nodes and classes, and then cleaned up quite a few error messages. 8b2fae0 Removing the last remaining vestiges of GRATR -- removing the bangs from 'add_vertex!' and 'add_edge!'. cf21ade Switching the Node catalog to use the Tagging module instead of its own tag methods. 744cd45 Added a 'tagged?' method to the Tagging module. d21416b Switching the Node Catalog to using a separate method for validating that a given resource is unique within the catalog. This no longer allows any duplication, even with Execs. fd0c5cb Changing the name of the Compile class to Compiler, since it's stupid to have a class named after a verb. 5ebaa89 Refactoring the interface between the Compile class and the AST::Node class to match that to the definitions and AST classes. e247b56 Changing some methods in the Compile class to be more internally consistent (switched store_resource to add_resource, and store_override to add_override). 6a4cf6c Fixed #1030 - class and definition evaluation has been significantly refactored, fixing this problem and making the whole interplay between the classes, definitions, and nodes, and the Compile class much cleaner. 3b740ff Converting the Compile class to use a Node::Catalog instance as its resource container, instead of having its own behaviour around resource uniqueness. 194e730 Moving all of the tests for Puppet::Parser::Compile to rspec, so I can refactor the class to more heavily rely on a Node::Catalog instead of doing its own resource container management. fb4bdc0 More AST refactoring -- each of the code wrapping classes just returns a resource from its evaluate() method, and all of the work is done in the evaluate_code method. This makes the code cleaner, because it means 1) evaluate() has the same prototype as all of the other AST classes, 2) evaluate() is no longer called indirectly through the Parser Resource class, and 3) the classes themselves are responsible for creating the resources, rather than it being done in the Compile class. 5a0e34b Refactoring the AST classes just a bit. I realized that all of the evaluate() methods only ever accepted a scope, and sometimes one other option, so I switched them all to use named arguments instead of a hash. 82720d5 Removing some obsolete code from the AST base class dbaffae Ceasing autoloading ast files; loading them manually instead 7c500da Stubbing Facter during the snippet tests, so they are faster and work with no network 084d0fb Adding more information to dependencies that do not resolve b293763 Applying patch by Jay to fix #989 -- missing crl files are correctly ignored, and you now use 'false' instead of 'none' to explicitly ignore them. 2931723 Fixing the Settings class so that it correctly handles file values that are false. f7b0ca9 Fixed #1052 - fixed gentoo service management b3f67ec Fix ticket 974. My original "fix" wasn't. This actually fixes the problem by using a regular expression that matches only up to the first square bracket. 8f0d87d Added :env parameter for backwards-compatibility, with warning about deprecation. :env parameter sets new :environment parameter. Changed instances of :env to :environment for consistency with other types. Added tests for new parameters. This cimmit fixes ticket 1007. 139ff33 Fujin's patch for ticket #1007 - consistent use of 'environment' instead of 'env' aedd59c fix bug 974 - filenames with opening bracket characters generate exceptions b8036a9 Updating the docs for the cron type 28a8577 Added hostname test for hosts type 16df87c Updated fix for ticket #151 and added a test ed0c745 Fixing #1017 -- environment-specific modulepath is no longer ignored. (Cherry-picked from master.) ade9f3c Store a resource before adding relations to it otherwise activerecord will complain. This fixes #933 047ec54 Fixed tickt #1034 - doco typo 6ff9423 Significantly refactoring the lexer, including adding Token and TokenList classes for managing how the tokens work. 11799b3 Fixed #1001 348aa3e Fixed #1028 - examples incorrect for 0.24.x 974fcdb Removed womble-specific Debian build section 321b8fd Fixed #1006 - changed ldapnodes to node_terminus ee6ddc9 Removing tons of unnecessary calls to "nil?" from the lexer. 7a4935f Fixing a couple of tests, one related to recent tagging changes and one that somehow slipped through when I removed the GRATR code. 9a290bb Second attempt to fix ticket #151 - host type now validates IP addresses and hostnames/FQDNs 4a7fcfc Revert "Fixes ticket #151 - host type now validates IP addresses and hostnames/FQDNs - the regex for the latter is quite complex but I have found it bullet-proof in the past" b561ae6 Fix bug #997, only evaluate non-virtual definitions 1ccc9c3 Fixes ticket #151 - host type now validates IP addresses and hostnames/FQDNs - the regex for the latter is quite complex but I have found it bullet-proof in the past d7a89b4 Fixed #1019 - made libshadow available for non-Linux users 8a649ff I think I've finally fixed #959, by having the Settings class skip any resources that are already in memory. 52eba77 Fixing #794 -- consolidating the gentoo configuration files. f43be56 Removing the line that marked fink as the default package manager on darwin. f98be4a Fixing #976 -- both the full name of qualified classes and the class parts are now added as tags. I've also created a Tagging module that we should push throughout the rest of the system that uses tags. 2cbab2c Fixing #1008 -- Puppet no longer throws an exception when you've pointed a file at a source that doesn't exist and you specify 'ensure'. f5674cd Fixing #995 -- puppetd no longer dies at startup if the server is not running. 7a9aae8 Wrapping the Resolv call in the mongrel server so if it fails it doesn't kill the server. 9161ae8 Applying a fix for #998 -- I used a patch equivalent to bartv's, although I could not use his commit because it was against the 'master' branch instead of 0.24.x. 046a326 Fixing #977 -- rundir is again set to 1777. 4618140 Updating docs for ssh. 7ee4746 Adding a parse test to puppet-test. 35145f3 Fixed ticket #1005 - added additional logcheck lines b24ac77 Fixes ticket #1004 - documentation fixes for ralsh and puppetrun 1ff9d65 Updated documentation for builtin cron type; added information about range and step syntaxes. f15696c Updated tagmail documentation fixing ticket #996 e3d4ea8 Fixes ticket #993 - tagmail with smtpserver specified does not add To/From/Subject header 40addcd Fixing #982 -- I have completely removed the GRATR graph library from the system, and implemented my own topsort method. 927dff4 Fixing #971 -- classes can once again be included multiple times. 117926c Fixing the unit tests for nagios_maker; I could swear I'd already done this but I must not have committed it. a7bca7e Removing the requirement in the parsed mount provider that the fstab file exist. 1bdf3f8 Fixed #984 - Added Debian to reponsefile doco b1f13af Fixed #980 - minor wiki formatting error in nagios_maker.rb 2f9c13b Fixed ticket #979 - code configuration option doco 039dc8d Fixed ticket #979 - pkgdmg.rb documentation 1154c42 Fixed ticket #978 - logcheck/puppet 33e319a Added builtin support for all Nagios resource types. I use Naginator to parse and generate the files, with ParsedFile to handle record management and the like. 68cde4f Removing the one-off naginator provider for nagios_command. 348f257 Adding the metaprogramming to create the Nagios types and Naginator providers. This is basically all of the code that's necessary to create all of the needed Nagios types. 4e8bc40 Fixing the inability to manage '/' directly. It was a result of stripping extra and trailing slashes. 9b1d036 Adding the first round of Nagios code. There are no tests here, but at least a single Nagios type is functional. Now I need to do some metaprogramming so this works for all nagios types, and add tests for the whole thing. 20367c6 Updated for 0.24.1 20d430d Adding 0.24.1 tag to the changelog. 0.24.1 ====== 4fa6546 Updated to version 0.24.1 d17fb7a Updated to version 0.24.1 40439da Updating an exception message a bit. e2fc425 Attempting to fix #952 -- catching any exceptions thrown during a run. c59ff62 Further fixes toward #965. Turned out that the previous fix caused other problems. 4d28b10 Updating the failure when the CRL is missing, so it's clear how to solve the problem. e4446b6 Fixing parseonly with a modified version of jay's patch from #968. bc0616e Updating filetype detection for vim, and changing the filestructure for vim files. (#900 and #963) 927cb24 Fixing #967 -- default resources no longer conflict with managed resources. c998a25 Adding a --print option to puppetca that just prints the full-text version of a certificate, and --verify, which uses the external openssl command to verify the cert against the CA cert (I could not find an option to the builtin Ruby libraries to do this). 9c32c9c Removing the ability to disable http-keep alive, since it didn't work and is now unnecessary. 553b2ad Entirely refactoring http keep-alive. There's now a central module responsible for managing the http pool (Puppet::Network::HttpPool), and it also handles setting certificate information. This gets rid of what were otherwise long chains of method calls, and it makes the code paths much clearer. 92b0ebc Fixing #967 -- relationships now work when running 0.23.x clients against 0.24.0 servers. 1ada24d Fixing some tests that were failing with the recent ruby that has ssl issues. c22a584 Uninstalling packages through 'ensure => absent' works again for the rpm and yum providers. 8f5989a Updated for 0.24.0-2 cc2d532 Updated for 0.24.0 933b1df Fixing #961 -- closing existing, open connections when a new connection is requested, and closing all connections at the end of each run. e0dab9a Updating changelog to reflect the fact that we no longer warn about explicit plugin mounts. 4d3a368 Remove the warning about an explicit plugins mount. 178093f Fixing the Rakefile to include the yumhelper.py file in the file list. 0.24.0 ====== 6b02bd5 Updated to version 0.24.0 e92f1cc Updated to version 0.24.0 22daebe Adding changelog update for misspiggy/0.24.0 e0f5444 Fixing the webrick test to provide a correct host name so the stupid ssl checks pass during the test. 106f319 Changing the statefile to only being managed by clients, not by puppetmasterd. 4ebb8d0 Hopefully finally fixing #959. Loading the stored cache resulted in the resource duplication, based on how the settings are used, so I added a test to only use those settings if the directories do not exist. 690e287 This should be the last fix for exported resources. Hosts were keeping the export bit on all resources, even when they'd collected another host's resources, which caused a duplicate copy that was still exported. f1169ee Not using the main section when running the store report, since it is unneeded and can cause conflicts within puppetmasterd ce5cab1 Removing extraneous debugging from the schedule resource type. cb0c4ee Renaming 'configuration' to 'catalog', fixing #954. 7ac3bd7 Renaming the 'null' terminus type to 'plain', as requested in #960. a21ee00 Copying the fact-loading code from the network client to the Facter terminus until I have a better solution. This problem was discovered becomes of #958. 1bbaf18 Applying patch by whaymond to fix #955. d9200a0 Adding what is hopefully the last commit for #896. Here's the changelog: 74db777 Removing the 'addpath' commands from the freebsd service provider, since it's no longer needed or even valid. b19a0c9 Removing the recently-commited paludis provider, because it breaks autoloading as indicated in #956. 02b64ab Applying patch by josb in #884 to provide pattern matching in the tidy type. 584127c Applying patch by raj in #881. 4ee5ab8 Applying patch for portage package support from thansen in #895. ed642ac Replacing freebsd service provider with the one provided by raj in #880. 117f005 Adding paludis package support as provided by KillerFox in #741. 3248c93 Fixing #937 -- I had not ported the dot methods at all, and I had to make a few small changes to make them work. a8bf74b Fixing #946. b70f00a Fixing some further failing tests resulting from the fix for 862d1f7 Adding an Indirection reference, along with the work necessary to support it. da77e4a Updating the changelog with external node info. f127d04 Fixing #951 -- external nodes work again, but you have to set the 'node_terminus' setting to 'exec'. 7a4ae08 Fixing the rest of #948. My previous work was sufficient, except that I was not passing the interpolated value in to the hook, which meant the libdir was set to something like $vardir/lib. 3790ce1 Fixing part of #948 -- per-setting hooks are now called when the configuration file is parsed. The bug is still there, but I'm getting closer. b852c2f Fixing #941 -- calling pkg_info instead of info in the openbsd package provider. ae33e57 Fixing #923 (again). The host storage method was not correctly searching for the host, so it was creating a new host on each run, which is what was causing the conflict. 9ad7d1a Adding basic unit tests for type/user by DavidS from #948. 038b9c8 Fixing #923. Resources that are collected on the local host are no longer marked as not exported. 5886d37 Applying patch by whaymond_home to further fix part of #896. 072b03e simplify PluginsMount a012849 Updated tests for http_enable_post_connection_check configuration setting. 4d4abd3 Better test to match the behavior of the code. 24cacdb Fixed test case for http_enable_post_connection_check f94d6d3 As per lutter; augmented fix for #896 to be configurable and defaulting to validate the server certificate, honoring CVE-2007-5162. 8eecbe5 Fixing another failing test I somehow missed in my last big commit 88304cc Renaming @model to @resource in a provider 75647ee Fixing a couple of tests that were failing on a different platform or with a different version of ruby 811fefa Fixing #892 -- filesystem mounts are no longer remounted. dedc56a Fixing #527 (rewrote service tests), #766 (services only restart when they are running), and #918 (service tests fail when hddtemp is not installed). 421b3fc Another backward compatibility patch, this time helping with a new server and old client bbf8a8b Making a few changes to the transportable class to enhance backward compatibility 11ae473 Theoretically, this patch is to fix #917 (which it does), but there were enough problems fixing it that I decided something more drastic needed to be done. 8127397 Fixing puppetca so it passes its tests, duh. Apparently wyvern's patch broke things a bit and I was stupid enough not to run the tess right before accepting. 2282046 Adding a top-level ResourceReference class that everything else can use to canonize how we refer to resources. Finally. c6d1746 Fixing the first half of #917 -- the ResourcReference AST code now correctly finds the resource. It's getting lost in the configuration translation, though, so I need to fix that, too. 6c1d8d3 Applying fix to xmlrpc client tests by Matt Palmer 6b2c0d8 Fixing the error message as requested in #893. 1b2142b Applying patches from #823 by wyvern c7cd7ec Fixing the markup on the pkgdmg provider so it is a bit better 1e6ba6f Fixing #781, from what I can tell. I'm leaving it with no tests for now, since it's a very small chunk of code and it's *insanely* difficult to test this kind problem. 5d30ea9 Fixing #810 -- I catch the error and prefix it with something a bit more useful. 4e52ffc Fixing #796 -- the fileserver can now start with no configuration file (it creates both default mount points if it does) and puppetmasterd no longer requires the configuration file to exist. 168fa5f Fixing the asuser method in Puppet::Util::SUIDManager so that it correctly just yields if you're not root. It also no longer tries to set :uid or :gid; just :euid and :egid, and it once again sets :egid before it sets :euid, which is important because you usually can't change your group after you've changed your user id. 0ef6b95 Fixing #931 by keeping track in configurations of what transportable resources get converted to, so different names don't throw it off. a38b415 Fixing #927 -- rewriting the test to actually test what it's supposed to be doing and to skip the whole network connect thing. 7ff8ea5 Fixing the persistent and periodic schedule test failures by rewriting the schedule tests entirely. 18b4c3a Fixing #924 -- clearing the configuration cache before and after the test. 2cb1199 Fixing the breakage that I caused when I added the 'declared_feature?' method to provider features. 2d19ee2 Fixing #920 -- I have replaced the existing mount test with an rspec version. It's not perfect, in that it only tests the :ensure state, but that's where 90% of the behaviour is. c3dde68 Fixing #919 -- installed packages used for testing are just ignored, rather than throwing a failure. 47890f9 Fixing a test that was erroneously testing for the wrong feature 12ebbe2 Rewriting the tests for the package resource type, fixing #930. fc7f1b4 Fixing #921, mostly by just deleting the existing test. I had already migrated all of the tests into rspec but forgot about these tests -- they were only in the rails/ subdir because people kept not running the parser/ tests after modifying the Rails code. 9311bdd Applying patch by trombik from #756. b575d15 Integrating Matt Palmer's patch to provide a 'plugins' mount, fixing #891. The patch was ported to the current code by David Schmitt, I applied the rest of Matt's patches, and I then fixed all of the code so that the tests passed. 36c947e Fix #896 - Always disable DNS checking of certificate when making https connections. 3fb8e2e Applying the rest of Matt Palmer's patches related to providing a plugin mount. 7eb09ab Implementing the test for setting the Rails log level. 676efa7 Incorporating patch 20071030034736-6856b-6004090b3968cdbf7d366a03ee1c44e2160a3fe0.patch from womble, and rewriting and significantly enhancing the unit tests for the Puppet::Parser::Collector class; it should have full coverage now. There are no integration tests for it, so there's still no guarantee that it works at all, but hey, we're a lot better off than we were. 7f1b2d6 change up rails specs again with Luke's help 8de1412 Integrating most of Matt Palmer's from http://theshed.hezmatt.org/mattshacks/puppet/_patches/puppet-0.23.2/. a88891a Fixed #906 - Augmented Cert DN regexp check to work with Pound and Apache. c19d08a mock all use of Puppet[] in Puppet::Rails.database_arguments e69e0c3 fix spacing b435f04 fix socket argument to AR and add rails spec e53693e Hopefully fixing #698 -- fixing the markup for the pkgdmg package provider 7c36ae9 Adding patch 20071030035457-6856b-bd1c45ed5ecd753b2cb4f05347061f7245cc175a.patch from womble -- Force removal of directories during pluginsync 880a8e2 Adding patch 20071020020745-6856b-dbc63ff3f137a4039fb997b9978202d52f621e8c.patch from womble -- Fix some residual instances of /var/run fever 696f1fb Adding patch 20071020015958-6856b-69efa7868cf3df3f2a2da6fcfc3b794bbb532c7f.patch from womble -- Remove rundir from puppet.conf, and add a NEWS entry to document these changes 7a95017 Adding part of patch 20071020011907-6856b-05b59120fdb90ab4a5842f91613247b07206a4ba.patch from womble -- Fix for Debian#447314, by fiddling with /var/run/puppet. This does not accept the whole patch, because the change needs to be tested around other platforms. 38b970a Adding patch 20070927050018-6856b-7fa134180aceb9cee2e667630345f5f8467a9d0c.patch from womble -- Catch more retryable errors in the XMLRPC call wrapper 276034f Adding patch 20070927042000-6856b-38a0c82fd0a0d950937e7fe5a38b9901743402b3.patch from womble -- Recycle the connection more aggressively, to stop problems with clients that are newly requesting certificates 3bf7031 Adding patch 20070926235454-6856b-079fc12a9b63d59afd59aa205bc8bfeb350b097a.patch from womble -- Recycle the connection if we're presented with an EPIPE 0ebd99e Adding patch 20070926214630-6856b-edd313b08555033710c90a94d9d8beaf889d6cf4.patch from womble -- Fix spelling mistake in debian control files 7ed1c17 Adding patch 20070913032650-6856b-b1cca1c249415c6076ffcecb9df1525a728457c7.patch from womble -- Fix annoying database deletion error for ParamValue objects. 28430c4 Adding patch 20070913032546-6856b-0de200e8450920e7f712c54bf287ae43c7fda8af.patch from womble -- Only set dbuser if explicitly asked for d7b381b Adding patch 20070913011122-6856b-98bf03f09c8e19679390d73fdddc2e4d1273f698.patch from womble -- Add changelog entries for the pulled pgsql patches a7d75d3 Adding patch 20070913010926-6856b-eb64be3b5169b7af674388124b406a1db7470880.patch from womble -- More restrictive permissions on some puppet-related directories 407734f Adding patch 20070913005414-6856b-db5ea77e10ec6869ad01a4bd6483912c337f3a70.patch from womble -- NEWS for the ssldir transition 1486d39 Applying patch 20070913004017-6856b-cdbbba99de0b33b64874205a27833b5114fcc6b9.patch by womble -- Allow empty config settings 03c8ffd Adding patch 20070913003810-6856b-cdc8b2e8c6c46eb8d6d073f86291a0fc5a59f429.patch from womble -- Only set the hostname and password if we want them; this allows pgsql ident auth to work it's magic 035fa38 Adding patch 20070905004837-6856b-2e7b8d8595ee0883537620c46424a4bf6174dc6a.patch from womble -- Add an attr_accessor for @http#ca_file, since older versions of libopenssl-ruby only provides ca_file=, not ca_file 63b205a Adding patch 20070831053637-6856b-dd0fddab681485ce7cea0b57336d0c48fa33f7f8.patch from womble; updates changelog 72c0e7b Adding the debian directory via patch 20070831052721-6856b-b90bb56a4ed37ea420f10352a0a366068cddc7e4.patch from womble 7efe24f Fixing #882 -- I just added a quick hook to the Master handler again; we need a better long-term solution, though. 56aad69 Patching a bit for #804 by making the maximum much higher UID and making it tunable, but it has not gone away yet. a525ab5 Fixing a couple of tests that were failing because of the environment changes. 6d74ddd Accepting a modified form of the patch from #885 by immerda. b745f04 Fixing #886 -- the problem was the I had changed the base class for Parameter, which apparently lost the 'nodoc' method for that class. dbe70a1 Added calls to endgrent/endpwent in util/posix.rb to fix #791. 7f504b0 Applying patch from #896 by whaymond_home, adding more certname aliases. 1cb40ec Obviating targets in interfaces; they now just generate a warning. eee9f5e Adding more tests to the redhat interface provider. It no longer uses the :target parameter (which I'll be removing in the next commit). 1a4e4fb Rewriting the sunos interface provider to manually parse and generate, rather than using ParsedFile. This should fix #777, and has from what I can tell. 8cbe8bd Adding unit tests for the sunos interface provider. 3d2e1a5 Adding some unit tests for the interface type before i go messing around with it cca613d Fixing the first part of #787. Not all collections were being evaluated on the first pass because they were being deleted from the collections list during evaluation, which caused some to get skipped. This commit fixes that problem, which helps in the trivial cases where the collections are in the same scope. I expect it's still broken for more complicated usages. 96b3cde Applying patch from #834, apparently fixing a problem with bringing up alias interfaces. 9472eef Removing the bootproto and broadcast attributes from the redhat interface provider, since they are not needed a7a46af fixing the path to the spec helper in the exec test 3d31dc8 Fixing #762. The main problem was that I accepted the patch in #744 which broke the templates. In the process, I also added test code for the redhat interface provider and rewrote how parsing worked to make it more testable. 8ecdfc2 Moving the exec test into the types/ directory 94e63ad Fixing the last failing test relating to the environment changes 7fe5bfc Fixing the exec spec so it works when non-root and is a bit cleaner 8cc07ad Using the Environment class to determine the default environment, rather than plenty of different places having the logic of how to determine the default environment. 53008e5 The Puppet settings instance now validates environments when you set an environment. 9e5fc76 Fixing #911 and #912 -- there's a default environment (development) and you have to specify the valid environments for your site. cc88441 Removing the manual ssldir setting by David in 59626cb3907d36e4fd762277daa76f523faf0908 1bf3999 Fixing a failing test from my fix for #446 -- I had changed the behaviour of Resource#override_parameter unintentionally. I've corrected the comments so it's clear why the original behaviour was there. 3f0b250 Fixing a few test suites that passed when run as part of the suite, but failed when run individually. The problem was that I changed lib/puppettest/support/utils to have a separate module and I didn't test the individual files. 4bd7b6f Fixing #896 by applying DerekW's patches, with slight modifications to fit coding style. 8ad2732 Fixing #446. I ended up largely not using porridge's patch, but only because the code (and my coding style, to some extent) has changed so much in the last few months. Also, added specs. 1b78f57 Add Exec{ logoutput=> on_failure } 2b14f62 Reverting the changes I'd made toward removing the global resources. These are commits: 9cf477b Applying fix by Jeff McCune from #905 edc4b1d Fixing a SimpleGraph unit test so it doesn't depend on hashing. c19835c Fixed most failing tests, but there are still over thirty failing. 4afbaa6 fix #903: add patch from hrvojehr 32d9afc tests for #903: fail when no logoutput is generated on failure 9290cc8 Modifying how default resources are created; they are now added to the configuration by the master client, rather than by the creating types. ffb4c2d This commit is the first run at removing all global references to resources. It deprecates the class-level [] and []= methods, used for so long to provide closure behaviour but now unnecessary with the node configuration's ability to function as a resource container. b65fb83 Fixing a parser test -- really, just removing tests that belong with the AST classes rather than in the parser. 72510bf Fixing #800 by refactoring how configurations are retrieved from the server. The real problem was getting all of the validation done before any caching, which required a good bit more refactoring than I expected. dd7caa7 Moving some compile tests to the spec/ directory, and switching the node scope to no longer be lazy evaluation, just like I switched 'main'. When I made all of these classes and nodes lazy evaluated, I should have decoupled my real goal (using resources to evaluate them) from the idea of lazy-evaluating them, and this basically does that. 47a2605 Changing the 'main' class to no longer be lazy-evaluated. It was getting evaluated after node classes, which caused even stranger ordering issues. a4e8f1c Adding a memory terminus for facts, which is really only used for testing 3851415 fix dependency on $HOME, which causes massive failures when running without environment 59626cb fix failing CA test, when testing with incomplete setup (no ssldir, no DNS) a6ad326 fix the underlying dependency on the environment in the cron type d48ee3e fix crontests depending on ENV[USER] by using Etc.getpwuid(Process.uid) instead 8fe892d fix a testfailure when running spec tests as root 445c29c fix #872: improve property(:content).insync? 5726412 tests for #872: check interaction between "replace" and "content" 61ef289 fix #815: add :main to all use() for :reporting and :metrics 418bc21 remove obsolete runners variable a535cbb Commenting out the time debugging I was using 3f583dc Adding unit tests for the module that handles the logic around mounting and unmounting. This includes a fix for bug #761, which required a different regex for Solaris. 8f04446 Fixing the 'mount' tests so that they no longer modify the local system and they run fine as non-root users. ba19989 Switching the class resource evaluation to only happen when using :include, not (for example) when evaluating node classes. cf75168 Classes once again get evaluated immediately when the 'include' function is used, instead of being lazy-evaluated. 4441052 fix #891: create a plugins mount which collects all modules' plugins/ subdirs dfe774f Switching the base class for the Relationship class. It was previously using the GRATR::Edge class, which had wonky overrides that dramatically slowed down sorting (its hash mechanism hashed the source and target so that edges with the same source/target got the same hash, which we actually don't want any more). 4194526 fix #760: property_fix has to be called after creating a symlink b250416 fix #731: add exported=true to collect_exported 1ffcce0 Splitting the puppetd tests into two tests. It is still not a very good test, but I do not know of a good way to test this, really. 065a1d0 Switching the graph base class from GRATR::Digraph to Puppet::SimpleGraph, which should dramatically enhance performance. It should be largely functionally equivalent, with the only difference being that edges are no longer deduplicated. 3f21e93 Adding a new graphing base class, because the GRATR stuff is just too slow. This class has just about no iteration, and vertex deletation is dramatically (as in, 1000x) faster). Here are the results of some very simplistic graph operations: ef99495 Caching the 'parent' value, which resulted in a drastic performance increase. 826efe8 The configurations should now be functional again -- file recursion was previously not working, because the relationship graph was setting itself as a resource's primary configuration, which caused it to try creating its own relationship graph. db293cf Fixing a bit of indentation and commenting in the xmlrpc/client file 956daa5 This won't be perfect by any stretch, but put in a moderately reasonable autotest config file. c7b36b7 One significant step closer to getting autotest running properly on the Puppet specs. Created a spec/lib/monkey_patches/ directory for holding patches to RSpec functionality. Extraced 'confine' and 'runnable?' support from the local copy of RSpec (spec/lib/spec/) and now load them from the monkey_patches/ directory. Fixed a bad include in one of the specs. Made it possible for the gem-installed spec binary (which autotest calls) to be used with Puppet. Imported the Autotest::Rspec class, created a PuppetRspec autotest class, added a discovery.rb file for autotest to pick these up. 6585835 Adding patch from #879 by tim d03f68e Changing the test/ classes so that they work from the main test/ dir or from their own working dir, like the specs do. This was just a question of changing how their libraries are loaded. c0a07ac File serving should work now, both recursive and single files, across modules, local file system, and the traditional file server. 54fc80d Exceptions on requests are now captured, exceptions are serialized, and exception text is passed back via REST. e7bfe0b Finish serializing successful results (via calls to to_yaml, etc.) for REST handlers. Refactor request building in REST handler specs. d28a904 REST handlers now properly returning 200 status on success. 1746751 Adding post- hooks for :find and :search in the indirection class. 09f9c3c Adding the calls to the authorization hooks in the Indirection. b874751 Renaming the FileServing TerminusSelector module to IndirectionHooks, because I'm going to add some hooks for transforming returned objects. de5d91e Renaming the :local termini for metadata and content to :file. 7fa99b0 Link handling is now in the file serving classes. This was done by putting all of the functionality in the Content and Metadata class (actually, in a new base class for them). 688fcdf Adding searchability to the fileserving termini, using the new Fileset class. 393a3e8 Adding a Fileset class for managing sets of files. This is the new server-side for file recursion, and I'll next be hooking it to the fileserving 'search' methods. This is basically a mechanism for abstracting that search functionality into a single class. b2b8f75 Adding authorization hooks to the file_server and module_files indirection terminus types. Both hooks use the fileserver configuration, but the module_files hook only uses the 'modules' mount. 8f827ff Renaming the 'mounts' terminus to 'file_server', and renaming tests accordingly. 08099b7 File serving now works. I've tested a couple of ways to use it, and added integration tests at the most important hook points. 264331b Partial work done for ssl certificates. ec39672 Adding this test stub that's been sitting around in my repository for a while. fc60751 I've now split the file-serving termini into two separate types (in addition to Rest): A local terminus that just uses direct file paths, and a mounts terminus that uses the file server to figure out what the path should be. 64c6700 Fixing all of the classes that I just renamed, and adding the TerminusSelector module to the File Metadata indirection. 56b83fe Renaming the file serving indirection termini to match the standards I set in the TerminusSelector. 33d7dc0 I'm working on making file serving work in the indirector now, so I added two abilities to the indirections: Models can specify a module to extend the indirection instance with, and indirections will use a :select_terminus method, if it's available, to select the terminus to use for finding. (It's currently only used for finding, not destroying or saving.) 8156185 Renaming the file_serving/{content,metadata} indirections so that they make more sense in the REST API, and creating stub tests for the indirection termini. Now it's on to create the rest of the tests for them. 2718b63 This is the first mostly functional commit of the new file serving structure. The next step is to hook it up to the indirection so we can start writing integration tests to see if we can actually serve up files. e1dd5dd Adding spec stubs for authorization in the indirection e69a50a Fix test which is conditional on mongrel installation. 8bf5196 Oops, forgot this file in my last commit. d0bd48c Adding the first pass at modifying file serving to work with indirection. I've split the fileserver handler into four pieces: Mount (which so far I've just copied wholesale), Configuration (responsible for reading the configuration file and determining what's allowed), Metadata (retrieves information about the files), and Content (retrieves the actual file content). d2b891f More specs, fleshing out the returns from REST e5921c5 getting more fine-grained with the response specs -- the target is always moving. 705f76f Argument passing now supported on {webrick,mongrel}+REST. ce34968 Make the actual runtime be more robust when mongrel is not installed. 6cd0f37 Make it possible to run all tests even if mongrel isn't installed. Shouldn't "confine" produce some output when running spec? Who knows. 216dd8c Refactoring, argument processing for model methods. abbc824 Tweak to move model lookup functionality into the Handler base class where it belongs. Robustifying the request sanitization a bit more. 2a497ff Refactored to use a Handler base class for server+protocol handlers. Finally eliminated dependency on Puppet.start, etc., from WEBrick HTTP server class. {webrick,mongrel}+REST now support request handling uniformly; need encode/decode next. 6ab78f6 Inlined the controller, eliminating a class. Mongrel+REST has the right bits for request handling prior to the encode/decode/exception-handling bits. Refactored to make the common logic extractable to a base class. b8c877c Registration now built for {webrick,mongrel} REST handlers. 3c370b3 Going back to each server+protocol object being responsible for only one indirection, as the REST vs. XMLRPC models are different enough that the object must register itself on initialization and handle the request when it comes in. c06edda First pass through initializers of {mongrel, webrick} REST handlers; hooks into Indirection to look up models from indirected names. ab4c7fa Minor tweaks to make the ::Server initialization a bit more robust. Fail on unknown HTTP Server types; fail fast. 099c546 Finish front end of delegation to server+protocol helper classes ("handlers"). b1d6223 Bringing in initial handlers for server+protocol pairs. a815f78 Reorganizing the file structure for indirection terminus types. ba95202 Partial support for building Handlers for all handler-protocol pairs. ef8ebe0 Implementing address & port support for new webrick server. c34efbc Hooking up address/port support for the various servers w/ specs. Still need to start up a webrick server w/ address + port (this is far too incestuous with Puppet lib & Puppet.start at the moment). 9a179ec trivial: WEBRick -> WEBrick, to be more consistent with how the WEBrick ruby classes are named. e56406f Implementing listening state tracking for webrick and mongrel. ec71e05 More unit specs for mongrel and webrick; more code to make them work, yo. 31384fe Pushing functionality down to webrick/mongrel classes now; cleanup in the base server / http server classes + specs. 694f98b Fixing failing tests, including making the debian service provider test work on non-Debian platforms. 29feac0 Translating the report handler to an indirected model. I've provided backward compatibility with the old handler. 74d77f7 Adding version handling through most of the indirection work. This counts as the first commit where configuration compiling actually uses the caching correctly according to the application model. e90191a more stuff for the interim commit 10039b9 interim checkin of network stuffs 512096a Fixing some small spec failures resulting from test fixes. The problem was in how TransObjects were converted to RAL resources. (Committed while flying over Arkansas.) d24c1cc All tests should now pass again. ec58355 Fixed #819. Applied patch provided by matsuu. 7ac7872 Fixed #822. Applied patch provided by DavidS. fc9c850 Adding support for versions and freshness-checking to the indirection layers. This should hopefully enable the different application models we need in our different executables. 1befcc4 Homing in on a clean separation of concerns for a low-coupling, high-cohesion "server" model that will handle REST and/or XMLRPC on webrick and/or mongrel. 5c32c8e Somewhat better documentation of the :absent field feature in fileparsing. d055cbc Make it apparent that absent fields in a record have a value of :absent, which is different from what appears in a line. b6dc1ae Trivial tweak on HTTPServer module file a7d220b Moving the webrick/mongrel "servers" over to HTTPServer module instead of Server. Using Server as the master class for client connections. Server (former RESTServer) will instantiate the appropriate subclass based upon Puppet configurator setting. There are now tests broken in the network section which I can't seem to figure out yet. Not a happy place to be. cdaad28 Fixing error thrown when the end of the file is encountered unexpectedly 7d7e428 Removing obsolete comment f084d83 Another round of test-fixing around the changes I made to the configuration system. 'puppet' itself still works, even with -e, but I expect that puppetd and puppetmasterd are broken, and there are still quite a few broken tests because the default fact store can't write but that's the default behaviour for a networked configuration master. 9c58c47 Adding a :code setting for specifying code to run instead of a manifest, and removing all of the ambiguity around whether an interpreter gets its own file specified or uses the central setting. d35cd94 Making "null" the default node source, so nodes are at least created easily 0e336bf This commit is focused on getting the 'puppet' executable to work. As a result, it involves a lot of integration-level testing, and a lot of small design changes to make the code actually work. 1fa5912 Adding the integration tests to the Rakefile for spec, fixing the integration tests, and extending the Classmethods for the indirector so that indirected classes can set the terminus class and cache class. a93db87 Adding another test to the ldap node source -- we make sure we throw an appropriate exception if a parent is specified but we cannot find it. 9984a35 Fixing some terminology so some ldap tests are easier to read. 6acde71 Switching the indirection from using settings for configuration to requiring explicit configuration. This means that if you as an application developer want to use a different indirection terminus then you have to specify it; something like: 8ba3a70 Fixed #838. Applied patch provided by DavidS to add more robust update functionality to the dpkg provider. f41c843 Fixed #837. Added freebsd service provider by trombik. 533ce4b Fixed #855, but I didn't add any tests. 19ad238 Fixed #827. Applied a form of the patch provided by porridge and wrote a test. 29accba Minor tweaks. 2412199 Allow for multiple REST servers to be active; some terminology changes in spec; fleshing out more behavior, implementing. 102ad23 Added .listening to REST server, handle listen states and transitions. 187d910 Spec'd a reset() method for clearing out known routes. Uses the unregister method so that any hooks there will be run. Probably a violation of YAGNI, but I'm willing to suffer it :-) fd841b3 Updating first portion of the Network RESTServer spec with example code, getting the added examples to pass. 9236179 Attempting to reproduce and fix #829 by applying patch by Paul. I could not get a test to show the exception, nor could I figure out how the coding bug could have actually had an impact, but it's an innocent-enough fix, so I'm fine applying it. e5c623e Fixing tests for the Configuration object, since I added the any_failed? test to Transactions. 938f051 Fixing #817, mostly using the patch by DavidS. I could not directly use the patch because I have refactored too much. fd11603 Removing the Id tags from all of the files bb3b3ce I finally tracked down the problem that was causing providers to sometimes suddenly disappear and thus tests to fail -- Kernel.require was not loading the normal ruby path (e.g., 'puppet/type/cron'), so if someone else loaded that then it would replace the in-memory type with a new one, but that new one couldn't load its own providers, because the Kernel would ignore the providers, thinking they were already loaded. 782bc4d Fixing the yaml path so that it is correctly created for puppetmasterd. 7c8fc8b Fixed #854. d4afe39 Fixing #813 -- empty configurations again work. 5d50ca7 Fixing #814 -- when files are missing, the exceptions should now be more reasonable. 1be1db9 Updated CHANGELOG. 0b8893b Fixed #832. Added the '--no-daemonize' option to puppetd and puppetmasterd. The default behavior of 'verbose' and 'debug' no longer cause puppetd and puppetmasterd to not daemonize. b45a7ca Adding more behaviours to the Puppet::Module spec, and fixing some bugs in the process. 3f90ddb Interpreting "hidden" class from spec drafts as a REST Controller. This name, functionality, and/or location in the tree is subject to change, but it's down now somewhere so we can move forward on it. 861c21d Added partial spec for the serving of REST information, as well as some client-side REST terminus behavior. 8722e43 Use external helper script to talk to yum; should avoid any more trouble with "yum list". Fixes trac #836 1174d99 Fixed a failing test where we presumed that non-string Fact values would have type preserved across a P::N::Client.master.facts call, which is not true. 7fe18e3 Fixed a test which was secretly sneaking off and pulling certs from ~ if they were there: Added set_mygroup method, removed duplicate setme method. Included PuppetTest in the XMLRPC servlect test. fa643e6 Adding more indirection termini, mostly focused on caching information in yaml. 938b918 Adding cache support to indirection. If you have a '_cache' setting, then the indirection will use the value there as the name of the cache. 06ad6a3 Updated the configuration doc to more clearly explain where puppet.conf is expected to be by default. c8d02bd Fixing ralsh to use a configuration instead of a component ffaa8ce Demoting the "file does not exist" log to debug from notice c3c3e51 Fixing a small problem with the mailman type f8ab62b Renamed princs to principals in the k5login type. 6079348 Added k5login type written by Digant Kasundra. This is for ticket #759. 2e33061 I changed the Terminus class to switch camelcase to underscore-separated words, e.g., FactStore becomes fact_store. d6fd60c Removing obsolete fact stores and node sources. The functionality has been moved into the indirector. cdc8ea6 Taking a first stab at moving configuration compiling into the indirection system. There are still quite a few unanswered questions, the two most notable being embodied in unimplemented tests in the Configuration Code terminus. c40da33 Adding a "memory" node terminus, which will be used by 'puppet' and the Cfengine 'module_puppet', since they need to set up the node specially with classes and other weird things. 1e7c648 Fixing the spec for the checksum terminus to match the changed design in the previous commit. 048464f Adding my first integration test, verifying that checksum interaction behaves as I expect when interacting with the file terminus. 84146d0 Adding the first version of checksum support, which will acquire the behaviour of FileBuckets. 3a18348 Renaming the 'Puppet::Util::Config' class to 'Puppet::Util::Settings'. This is to clear up confusion caused by the fact that we now have a 'Configuration' class to model host configurations, or any set of resources as a "configuration". e552c83 Adding the base file terminus. This will, at the least, be used as the back end for filebuckets and the certificate authority. 86dde63 All tests now pass in this configuration branch, which means it's time to merge it back into the indirection branch. 60cd6a7 The structure for handling resource generation is now in place, which means I'm over the hump in developing this branch. a666995 Adding the last tests for the ldap node terminus. I managed to forget the tests around the main find() method. ebe7290 All indirections are working, and they have all been migrated over to the new organization. Where we would have previously had an 'ldap' node terminus at puppet/indirector/node/ldap.rb, we would not have it at puppet/indirector/ldap/node.rb, and it would be a subclass of puppet/indirector/ldap.rb. b9dc6cb It looks like the new indirection setup is complete. 02275f0 Adding automatic association between terminus subclasses and the indirection they're working with. It looks like I'll be moving terminus registration to the indirection rather than the top-level Indirector. da0555d Adding the first top-level terminus (yaml). It works and is tested, so now it is time to migrate the Facts YAML Terminus to use the / file structure instead of /. 0a48e5f Moving the Puppet::Indirector::Terminus class into its own file and adding a spec for it. 7e2ff4b Adding a couple more tests to the indirector, talking about terminus registration. I am about to change how loading is handled, so that individual termini are declared as normal Ruby classes. 7740cd4 The indirector specs now all pass. I think I need to add a few more specs, though. 4e8b671 The unit tests for the newly-resurrected indirection class now work; all we need do is fix the indirector module tests. 8212f88 Fixing all existing spec tests so that they now pass given the redesign that Rick implemented. This was mostly a question of fixing the method names and the mocks. 944cd0e Whitespace and comment commit. 46d6906 An intermediate commit so I can start working on a different branch. The file recursion code actually works for the first time in a painful while, but there are still some quirks and design issues to resolve, particularly around creating implicit resources that then fail (i.e., the behaviour of the create_implicit_resource method in Configuration). e90a51f More spec and indirector updates. 129cce8 Finally, some progress. Closing the loops and delegating registered class calls out to the actual Terminus. a6c4041 Reworking the Indirector code. Continuing to fight the classgen and instance_loader "utilities". 9fa2628 This is basically another intermediate commit. I feel like I've gone too far down the rabbit hole to turn back now, but the code is clearly getting more centralized around the Configuration class, which is the goal. 19e0493 Updates to indirection stuffs. Making a better spec and migrating to it. b3c8cdb Configurations now set a "configuration" instance variable in resources that are inside a configuration, so the resources can interact with the configuration to get things like relationships. f17f19d The whole system now uses Configuration objects instead of ever converting the Transportable objects into a tree of components and then converting that into a graph. This is a significant step, and drastically simplifies the model of how to use a configuration. The old code might have looked something like this: f014d73 Partial fix for #772. The SIGHUP now produces a EOPNOTSUPP instead of NameError. 3ccf483 Removing the completely obsolete passwd2puppet and the obsolete component.rb 3632926 Moving the resource container behaviour to the Configuration object, rather than the base PGraph class. I expect I will just do away with PGraph, but for now, I am at least going to keep configuration-related code in that class. 43f22a2 Adding a to_graph method to TransBuckets, so that the buckets can directly generate a graph, rather than having to first convert to RAL types and then have them convert to a graph. This allows us to make it so components do not need a @children array at all. This was all done because I am having the "already a parent of" problem again, and I have gotten far enough that it is relatively easy to just make this problem go away once and for all. a6fe700 Another intermediate commit. The node and fact classes are now functional and are used instead of the network handlers, which have been removed. There are some failing tests as a result, but I want to get this code committed before I massage the rest of the system to make it work again. 1459c50 Adding setup/teardown hooks to rspec, so we can use test/unit methods 3b3065b Refactoring the feature support so it loads libraries when a feature is asked about, rather than when it is defined. 65c1501 The Node handler is now obsolete. Node searching is handled through the indirector. I have not yet added the tests for the node handlers themselves, which is next. 1638089 Fixed #797. Removed the warning message about specifying 'enable' or 'ensure' when initializing a service. 6f9a444 Fixed #784 by applying patch by vvidic. 5aa4440 Doing an intermediate commit so rick can look at the work I have done so far. bb69a1f Renaming the instance loader method to "instance_load". It was previously autoload, which could class with Kernel.autoload. 6a105c4 Fixed hdiutil syntax for ticket 812 19a748b Removed TYPE token, replacing it with CLASSREF token, in the grammar and lexer. Updated CLASSREF token regex in the lexer. ca9c48d Removing extraneous logging from the node handler 041393d Fixed #774, which fixed fully qualified collection statements 6700adc *Finally* fixing the tests that were failing around users and groups. The problem was that the autoload tests were somehow clearing all loaded classes, including the providers. This is fixed now. 9af79f1 Fixing some failed tests. Mostly cleanup. Next is to make all of the user tests pass again, dammit. 50874b2 Fixing a path test. I have now made the path stuff a lot cleaner, but it apparently broke this test. ca57c79 Fixing #801 -- resources that have changes when running in noop mode do not record that they were checked, so that they will be scheduled on the next run. This is a somewhat murky solution, but considering that no one had submitted this bug before, I expect it will not hit many people. caad11a Fixing some broken tests in the master client, and adding a test for #800 but it is unfortunately disabled because we cannot realistically fix it using the current design. It will be easy after the REST refactor, though. 7abc78a Fixing #795 -- configuration elements now make sure all file paths are fully qualified by prepending the wd to unqualified path names. 4212f9c Fixing #802 -- tags are now applied before parent classes are evaluated, so parent classes can use tagged() to test if a node is a member of a subclass. 4104bd3 Fixing #807. The exception handling should more closely resemble how it used to be done. b7f4244 Renaming some ast resource classes and files so they make a lot more sense. 653c151 Fixing #806. Resources correctly look up their fully qualified definition type, just like resource references do, which causes the resource and reference to again agree on the full name of a given defined type. 40e3b37 A small change to the indirector, moving it to a module instead of a class. I still do not really know how i will use it, though. a5539cd Adding my indirector class before i rewrite it. I am probably not going to keep any of this, but i wanted to store a copy before i got much further. b0a9475 Flipped the switch so that compiles now return a Configuration instance instead of pre-extracting the configuration. 11b127b Successfully modified all tests and code so that all language tests pass again. This is the majority of the work necessary to make the separate "configuration" object work. 3b2efd2 We now have a real configuration object, as a subclass of GRATR::Digraph, that has a resource graph including resources for the container objects like classes and nodes. It is apparently functional, but I have not gone through all of the other tests to fix them yet. That is next. 0faf76e More refactoring. I have removed a few more extraneous methods from Scope, mostly just pointing directly to the compile, and I have begun (but commented out) the move to having resources to model each of the classes and nodes, in addition to the definitions. This will, again, enable a real Configuration object, and it will enable class versioning and similar features. 9d70b97 Removing the Scope#setresource method, since it was essentially redundant. The work is done in either AST::ResourceDef#evaluate or Compile#store_resource. b021587 Doing a small amount of refactoring, toward being able to use Parser resources to evaluate classes and nodes, not just definitions. This will hopefully simplify some of the parsing work, and it will enable the use of a Configuration object that more completely models a configuration. 25f6d7c Deleting old documentation that somehow made it back into the tree in the switch to git, and refactoring the evaluate_classes method on the compile object so I can use resources as intermediaries, thus making classes do late-binding evaluation. 62806bb Renaming the file containing all of the configuration defaults to "defaults.rb", since I am going to create a separate "configuration" top-level directory to contain all of the classes related to managing the configuration for a given node. 6832a4b Fixing some failing unit tests. 2625eb1 Making a couple of small bugfixes in the configuration subsystem 1de5ae0 Adding support for providing a diff when files are being changed. Currently uses a local diff binary, but could easily be changed to use the ruby diff/lcs library. Modified puppet and puppetd to automatically show file diffs when in noop mode, but can otherwise be enabled using --show_diff. This only works when running interactively, because the diffs are printed on stdout. 11081ce Multiple environment support now works, and I have even tested it in real life. This commit is mostly a bug-fix commit, resulting from the difference between real-life testing and unit testing. 9ea8e6c The fileserver now uses an environment-specific module path. I also made various bug fixes around the network tree. 51ff72c Adding a bit of testing for node names. 4e9c631 Moving the node tests to rspec, and cleaning up the spec of the node, especially WRT the environment. a8f2a33 Moving the node tests to rspec, and cleaning up the spec of the node, especially WRT the environment. 9df4fd1 And we have multiple environment support in the parser. The only remaining piece to make this complete is to add multiple environment support to the fileserver. I also renamed Configuration.rb to Compile.rb (that is, I fixed all the classes that used to know it as a configuration). ba3a861 Removing this test for now; I do not have time to port it from test/unit to rspec 37f0eed Renaming the "configuration" object to "compile", because it is only a transitional object and I want the real "configuration" object to be the thing that I pass from the server to the client; it will be a subclass of GRATR::Digraph. deb0107 Oops, created a test directory in the main spec dir, rather than in the unit/ subdir 3030d3e Modules are now tested with spec, and they now can handle environment-specific module paths. ab54183 The config class now has support for add an environment to its search path. Now I just need to go through the whole system and use the search path in addition to the parameter name itself. c6e201c I have added basic support for a search path, altho not yet with any ability to manipulate it. All config tests pass in both the old tests and the new ones, so it is time to add the hooks for manipulating the search path. 520aaaf Adding some rspec tests for Config.rb, because I am planning on significantly changing its internals and the current tests, I think, will be harder to migrate than just writing rspec tests from scratch. 724fef1 Everything up to the parser (and the Modules) is ready to support multiple environments, including the parser having an environment setting. I have also created my first spec-based tests, for the interpreter (and deleted the old test/unit tests). 3d68ed6 Oops, left out the spec rake file from the main spec commit 58494cc Building a stand-alone spec directory for creating the new spec-based tests. d59315a Adding the second half of the rspec upgrade -- apparently the "git add" thing I used did not remove the old files, only add the new ones. 5601ecf Upgrading rspec to version 1.0.8. This only includes the contents of the lib directory, and even then only the spec-related stuff, not the autotest stuff. 7c4d39e Adding environment information to the client fact list. The environment is retrieved from the normal Puppet configuration, so it is set via puppet.conf or the cli, rather than being a normal fact. b599862 Fixing the integration test between interpreter and configuration -- the interpreter was not passing on that the config should use ast nodes a54fa7e Sync to latest specfile in Fedora 8b3361a The last commits before I actually start on the multi-environment support. There are still failing tests, but apparently only those that are also failing in trunk. f1727f1 Adding the topscope metadata to the configuration being returned to the client, just like it expects, and fixing how the resource handler calls the master type. efcd1e8 Fixed CA race condition (#693) 4eb87ed A round of bugfixing. Many more tests now pass -- I think we are largely down to tests that (yay!) fail in trunk. 2a4e101 All language tests now pass. I expect there are other failures elsewhere, but I want to commit this before delving into them. My method for fixing the tests was to do as little as possible, keeping the tests as bad or as good as they were before I started. Mostly this was about changing references to the interpreter into references to the parser (since that is where the new* methods are now for ast containers) and then dealing with the new config object and its relationship to scopes. 6467c21 The first pass where at least all of the snippet tests pass. I have unfortunately had to stop being so assiduous in my rewriting of tests, but I am in too much of a time crunch to do this "right". The basic structure is definitely in place, though, and from here it is a question of making the rest of the tests work and hopefully writing some sufficient new tests, rather than making the code itself work. a846ea9 The new parser configuration object works now, but the rest of the compiling process is hosed (although the parser itself should still be fine). 282ec89 Fixing the spec library so it correctly can see its version 1527f4a Adding node caching, so that node sources are not spammed during file serving and such a953954 Keeping the node names in the node object, so that they are available to the interpreter 297dabb Refactoring a small part of the interface between the configuration handler and the interpreter. 901ae68 Requiring mocha in all cases in the test tree 70dffdd The new configuration handler looks to be ready for usage. Now I just need to convert the interpreter to use SimpleNode objects, then continue with the Configuration object. aabad8e Adding the necessary name/ip fields to the node methods 65559af Adding a "none" node source, which will be the default node source and will just return an empty node. 2ff15c0 Added shortname support to config.rb and refactored addargs 90a9d09 Finalizing the node handler. It now correctly uses the different node sources and knows how to retrieve data from those sources. Now I just need to fix the language stuff to use this handler instead of the existing node stuff. ec50484 Fixing documentation string on the file "ensure" property to remove the confusing mention of "exists" 58e3855 Added optional per-module lib directory. aab419b An intermediate commit in the work towards adding multi-environment support. 40491eb Merge /opt/rl/git/puppet b59d396 Revert "Updating more milestone names" 3e9ac59 Updating more milestone names ab42534 Applying patch by Adam Jacob to make external node tools able to handle command-line arguments 24e7b4d Revert "Updating more milestone names" 61a747f Updating more milestone names b5aefd4 Adding milestone names to changelog 7e4f270 Actually honour :namevar => true on newparam calls 01b21ae Removing extraneous debugging from crontab 6ab30eb Fix for setting global exit code ($?) in SUIDManager tests 0195893 Broaden assert_absent so that it thinks that :purged is equivalent to :absent 6a78648 Change the service name so that it is less likely to trip on a common word and spuriously fail e143cae trac #763: Make redhat provider default for CentOS (patch by jtimberman) d2f2bc0 Trivial mock cleanups ada960b Constants in provider/interface/redhat.rb are getting redifined as they are dynamically assigned, changing them to instance variables 8f05951 Changes to lib/ corresponding to test refactoring from r2759, was unaware that subversion only commited in the CWD 13f358d Highlight what I think is a problem in the test suite that I just can't solve 3de4829 Refactor SUIDManager tests to run without root, change SUIDManager's behavior to not silently fail when it's not root and fix all other tests that broke as a result. 5a25701 Upgrade mocha to 0.5.1, which gives much better error messages 5e8d71d Fix the ral:providers:host:parsed tests so they run successfully 9530df1 Updated to version 0.23.2 0d312a1 Updated to version 0.23.2 b84015a The last set of bug-fixes before the next release. This commit just fixes a couple of problems that resulted when I changed the Provider#initialize method to not duplicate its argument, which was necessary for ParsedFile. aaf5959 Adding test support for the other mongrel configuration header db0ffc7 Copying the "commands" and "confine" statements to the actual dscl providers, since they need to be there to determine where the providers are suitable. Otherwise base classes could unnecessarily affect how subclasses work. 5e419cf Fixing #749 -- environment settings no longer accumulate. Significantly adding to the cron tests at the same time, such that hopefully we will no longer have these recurring bugs. I now do every combinatorial of multi-line cron jobs, including doing them all in one file. There are, unfortunately, still edge cases, but maybe we will have some peace in cron space for a while, anyway. d121b1f Removing the code from #745 until it can pass some basic tests 1e6c2ba Adding syslog support by devdas (#745). 22e7b39 Fixing #751 -- the interface providers now have basic tests, at least to verify that prefetching and listing works. I think these resource types need to be largely rewritten, though, and they currently have no relationship to ifconfig, which seems strange. 7bda32e Fixing #731 - we are now correctly only collecting exported resources 3d629bb Fixing #730 -- mounts now call flush() before trying to mount a8bf96a Adding a file that should have been in a commit from yesterda 40e4d6f Fixing #735 -- gen_config now uses a single heading, matching the name of the process 97cd057 Fixing #314 and #729; here's the changelog: 72f2ac3 Apply fix for typo provided by Toshio Kuratomi (bz250870) 2a37c73 Removed stray debugger method. 5a5d241 DirectoryService provider for users and groups. Alternative to netinfo, as apple has indicated NetInfo may go away at some point in the future. It might happen in October. 08d8945 Fixing #734. The problem was that when I switched how the configs were parsed, I managed to lose the ability to keep values set on the cli from being overridden by values set in config files. 5eacd19 Renaming the linux interface provider to redhat 6841397 Applying patch by stick to the linux interface provider 877282e Undo previous commit, which was an error 81d690a Do not set any options if they aren't set in /etc/sysconfig/puppetmaster - otherwise we clobber settings from puppet.conf 36a3e4a Changes for 0.23.1 52e9fa0 Adding interface implementations, as written by Paul Rose 7547baf Adding a test for rails 1e11a1a Removing test that ended up being redundant 4b25750 Applying patch my emerose to fix #652. 87da172 Adding the requirement that the cert dn have /CN= in it, thus hopefully catching clients without certs 530d290 Applying a modification of the patch from Marcin Owsiany, allowing Mongrel to be a CA 64fba48 Updated to version 0.23.1 d3988cc Updated to version 0.23.1 2229dc1 Fixing #726 -- mounts can now correctly handle mounted but absent filesystems. 47b7058 Adding some code in an attempt to fix #728, but it is all commented out since I could not get it fixed in time for beaker 2e14ea4 Attempting to clean up the mount documentation as in #727. 7401ada Caching whether a given file or module has been loaded, because the loading was greedy and was causing files to get loaded every time a class or module was asked for 3f1b957 Fixing the mail aliases generated by the mailman list provider; it was generating capitalized list names 3f1c865 Fixing #725. I was apparently not deleting the alias I was creating to the components. 55014a2 Hopefully fixing #720 -- I added tests and a lame back-off system to give the child process time to write eacb06c Converting mount test to use mount everywhere instead of df 501e8c8 Adding the ability to specify relationships to classes, using Class[name] resource references. b9dd7ee The first round of bug-fixes in preparation for beaker 5d7c5c9 Adding documentation to the "test" script 4f34fb0 Removing the chdir from util.rb, I forgot that the directory often matters f2a1a10 Hopefully fixing #640, and maybe some warnings at the same time. I added a call to Process.setsid after the fork, and I chdir'd to /. fdd2d49 Fix #696. (patch by Jason Kohles) 90c8b8c Fixing #716 -- the package type was considering anything that was not "absent" to be installed, but that included "purged", thus the problem 0316bed Applying patch by DavidS to fix #711. 48755b1 Fixing #702, hopefully. As suggested, I switched to "mount" instead of "df" to determine whether an fs is mounted. f59ce4e Fixing #695 -- resource references will correctly serialize and unserialize in the db 53a469c Fixing #703, mostly. You still cannot do multi-condition queries, but you can at least query against any parameter, and matching any value is sufficient for a match, so the tags work fine. d5569bc Fixing #719 -- the filebucket docs now only mention filebucket, not pbucket d9a30a6 Trying to get rid of the warning from #724 e618065 Applying a slightly modified patch by Dean Wilson -- puppetca now exits with a non-zero code when it cannot find certs to clean. 49d8ef2 Guard the rpm command suitability confine better so we hopefully stop seeing all of the 'Command not available' errors f104dc5 Updating the docs to mention that you can use the file server with no server name cf25b25 Fixing some logging in cron 60ef578 Fixing the rest of #705, except for the env stuff, which I was not able to reproduce. 53c2f0a Fixing #691 -- I added "refreshable" features to the types that can restart, although exec does not have providers (yet), so I just made the docs a bit clearer 4c1a70c Reordering some of the type docs e0237d1 Removing notice about "import loop", which was happening constantly when autoloading module files 1d261bf Fixing error message when a parameter is getting redefined 554c23c Adding rpm as a specific command to :rug 54a5f77 Fixing #589 2c13d53 Fixing #468 -- fully qualified resources can now be specified as dependencies e88d694 Applying patch from #714 -- aptrpm now loads on RHEL c3290a0 Fixing the mailman provider so it correctly matches case. Apparently mailman helpfully autocapitalizes list names. 2086e07 Removing extraneous debugging 6ddbec3 Fixing the interpreter autoloading so that it correctly loads classes even when being loaded from a namespace f217fbf Fixing the instances method. It now works when there are already managed resources. edb1be2 Fixing the :check metaparam so it does not try to check unsupported parameters f1462cb removing the test for a method I removed yesterday e98edac Applying docs patch by David Schmitt from #713 7580657 Applying a version of the diff to the defined() docs from David Schmitt a4b94cf Fixing the first half of #705 -- matching no longer fails. I think this also fixes #648. d104d4b Having FileType instances automatically back their contents up to a filebucket, so it is much harder to lose content. This does not yet back up crontab contents, though. 17a830d Fixing transactions so that they do not flush resources that are in noop f570a5f Adding a maillist type, with support for mailman. It is not as flexible as I would like, partially because of how mailman is implemented (the "mailman" command is never in the search path), but at least it is working for mailman on debian. 2d3c920 Adding support for a "mailalias" type, with /etc/aliases support initially. I have not yet figured out how to best rebuild the aliases file when necessary. fdfe0a3 Adding line/file info to parsing errors in ParsedFile 9f685e6 Adding support in Property for declarating whether a given property type will match all @should values or just the first. c8801b7 Always setting a to_s value in authstore, so we do not get dumped objects e79828f Cleaning up a log message in the transaction 20b9060 Adding benchmark info to fact retrieval in the config client 7a71db8 Adding patch by Valentin Vidic to add the "+>" syntax for adding values to parameters e662c86 Fixing #621 -- plugins are now downloaded directly into the $libdir, and autoload looks for them there. You can now easily download any reloadable file to your clients. 7befe1b Changing some of the internals of autoloading so that there is a class-level method to query whether a given file has been loaded. eabe0d1 Fixing #710 -- you can now specify the rails_loglevel d36d0cf Fixing a typo in a log message 8807ac2 Changing "element" to "resource" in the documentation, which just aligns with a terminology change we made almost a year ago. f5f8949 Changing the log message when a resource type cannot be found 773f187 Ignore the pkg directory if it exists, and fix up a couple of tests that were erroring out, which also will help the confinement of package types a bit more. 1bcca31 Fixing #687. 8a7fe9f Applying patch by David Schmitt from #701. 4080077 The parser now throws an error when a resource reference is created for an unknown type. Also, resource references look up defined types and translate their type accordingly. 07f0519 Making sure that #686 is fixed -- I specifically included the Daemon module in the Puppet mongrel server, and I call daemonize on the Puppet class, rather than the Mongrel http server e8217ab Hopefully fixing #685 -- I added a wrapper around the call to getconfig(), so any timeouts will just throw an error and skip the run, rather than failing and killing the daemon. This is not the best approach, since really, each method should be wrapped, but it is sufficient. 60e5e10 Applying further tests to double-quoted hostnames by Valentin Vidic 266d37d Applying patch by DavidS from #697 to allow host names to be double quoted aa74135 Fixing #596 -- classes in modules now autoload d0680c8 Fixing the dpkg querying so that it works for packages that are in "config-files" state rather than just missing entirely. Also fixing logging so that the package version is visible, instead of a dumped object 8b14ef8 Fixing logging of module mounts; it was using the module as the name, rather than the module name 32e5bff Removing extraneous debugging 3ae3a4e Fixing #689, although I have not added unit tests. The problem was that a tag name was being removed, rather than the tag object itself. 19e180f Fixed #680 puppet should handle internet enabled image files correctly. c22e667 Applying patch by daikinee from #690. I was not able to reproduce the problems, but it did not seem to hurt anything, either. 50b8f96 Fixing #704 -- Puppet was not failing correctly when schedules were missing, I think c762c19 Removing the long-obsolete Element base class. The Parameter and Type classes no longer have the same base class. 0ff7827 Fixing #620 - class names and node names now throw an error when they conflict a627f46 Adding a reference to the LDAPNodes wiki page in the ldapnodes config item 0f4de4f Fix trac #684 - set exit code for status properly (patch by abnormaliti) 6b7d3aa Create the right puppet.conf; make sure old config files get preserved and stay functional ac36ddd Fix name of main section ec2d469 Rename puppet.conf to puppetd.conf 8013e96 Get rid of using silly macros in %install dc2a0bf Use single config file 3aafa84 Updating reference docs 55a512c Updating trac location for laeg 044968f Updating build files to support laeg ada4355 Updated to version 0.23.0 d8f4c53 Updated to version 0.23.0 049faf8 Updated to version 0.23.0 8844fca Changing the paths to match laeg, instead of culain. d79a788 Modified the fileserver to cache file information, so that each file isn't being read on every connection. Also, added londo's patch from #678 to avoid reading entire files into memory. 944e1f4 More updates to puppet-test 4bb0228 Updating puppet-test with clearer options around describe and retrieve fd15de7 Removing extra debugging from the interpreter 5043ade Updating error message during test failure. e5a9e24 More test fixes. I seem to be getting very close. bd444d8 Refactoring puppet-test -- it now supports specifying a fork level (so you can get multiple tests running in parallel from one host), and tests are modeled explicitly, so it will be easier to add new tests. a57e39d Added documentation for pkgdmg provider in the provider desc accessor as per request in #641 It stil might not be crystal clear, but should be better than the one liner it replaces. 01420ac Adding tracing to prefetch failures, and Fixing the environment support in the cron type (#669). fa39488 The other half of fixing the versionable stuff -- removing "latest" as a requirement. 0b1dbbb Applying patch in #572 by trombik 611e783 Fixing my stupid fix of Matt's work. I conflated :versionable and :upgradeable. I have now added back all of the "has_feature :versionable" lines. 4cb30eb Adding fink package provider. 099bf6c Fixing some failing tests. f96ec6d Updating the has_version work that Matt did -- the only thing he missed was that the :versionable feature depends on the :latest method, and when that is present we can safely assume that a package is versionable. Also, created the :latest method on the dpkg provider, as requested in #647. 3f6c413 Applying patch by trombik to fix #628. eb2326d Applying patch by trombik from #624. 2d07334 Modifying the CA server so that it will not send back a cert whose public key does not match the csr. We have been getting a lot of instances of this, so this should cut down that problem. 6e16d9f Fixing #578 -- Invalid certs are no longer written to disk. bf5d5d5 Fix #657: allow puppet URL's with no server; 'puppet' looks those up on hte local modulepath, whereas 'puppetd' goes to the default server 52f3f83 fixing the appdmg provider to load the package provider base class, and trying to clean up the log-file opening in rails 12adea8 Adding puppetrun as an executable in the gem, along with ralsh (#313). 2ed10d8 updating changelog for #641 bfb3852 Adding appdmg package provider from #641. f05464e Adding the output_file.close, as wyvern recommended 30ebbc9 Applying the patch by wyvern from #662. This should hopefully kill the client hanging problems. ac05442 Updating rrdgraph documentation with a pointer to the new rrd package. 029a191 Reverting the change I just made to the config handler; it was only there for testing. 2b1d478 Adding puppet-test, which is useful for performance testing afc3563 Adding patch by Ghislain from #670, with slight modifications. f6838f5 Fixing #548, and making functions support other rvalues, too, including other functions. f842cef Fixing #643 -- replacing the get_posix_field method with a more degenerate version that works even on broken systems 46252b5 All rails and language tests now pass again. All of the rails tests should now be in the rails/ directory, and I have modified resource translation so that it always converts single-member arrays to singe values, which means the rails collection does not need to worry about it. 6084e1a Fixing #673, but I have not written a test case for it. I moved all rails-related unit tests into the rails/ dir, because they keep getting missed. e8c6cd9 Fixing the yum provider, and fixing the unit tests so the failures people were experiencing will result in failed tests. This fixes #672. 4f7c650 Moving puppetd and puppetmasterd back to bin. Damn. Reverting the fix to #323. 23f986c Move ralsh and filebucket into /usr/bin 659792f Adding ralsh and filebucket to the rpm and the rakefile, and changing the url in the rpm 6be8b21 Modifying the check metaparam so that it just silently ignores metaparams and parameters, since they're uncheckable, and only tries to check properties e039f7b Fixing the type/title index for mysql 9ba878a Removing erroneous debug message b5523ff Trying to load ruby gems, in case needed libraries are installed that way, and fixing a warning in the provider f84ac7d Significantly reworking both external_nodes and ldapnodes support (see changelog). fc9a798 Fixing error about non-puppet protos 45f76c5 Significantly optimizing the database queries -- I am getting about 40% better times now. See http://www.madstop.com/optimizing_the_activerecord_integration.html. e32a1bd adjusting the rrd color stack as requested by thijs 469d999 Updated the CHANGELOG. 51b9fc1 Fixing (hopefully) the last two providers that had "resource.is" calls 77934f4 Fixing sun package provider 270cea8 Fixing #644 -- the install.rb file works again 8003320 Applying metrics patch from #659 by thijs 4910301 Fixing a typo in the docs c67e016 A few small fixes here and there, and the rest of the zones commit 399c37b Fixing #655 -- Solaris zones are again fully functional, from what I can tell 9bc236b Adding indexes for the rails tables 7c53aab Removing the indexes migration, since the indexes are now in the main db schema ef2698c Updating ralsh with more functionality: You can now perform work on the command line, with commands like "sudo ralsh file /etc/passwd ensure=absent". This makes ralsh a bit more interactive. cb5bccc Added to_s to the values to ensure the check versus the database will be consistent and booleans and references will check correctly. d78a7a5 documentation fix 3a2f3d5 Fixing mongrel test so it does not try to load the mongrel server class on machines without mongrel 6aa5d76 Applying patch from #666 by Rainhead and monachus ea190c1 Changed the host to "eager fetch" all the resources and their associated tables. Also removed some unecessary lines from resource.rb that were causng it to re-read information it already loaded from the db. 3003aad Added the teardown of the database back to the tests. 4442a31 Revert unintentional change. 68e37a9 Major rework of the rails feature. Changed the relationship between host and facts (now many-to-many with fact_name through fact_values). Also changed the relationship between resource and params (similarly many-to-many with param_names through param_values). c26f678 Fixing #550 -- I had to list pass and dump as optional fields. f0b5090 Fixing #112 - mounts now default to 0 for dump and pass d396fd5 Fixing #637 -- defined resources can now correctly be virtual or exported ad9c9ce Removing old line from the fix for #660 -- I had strangely just commented it out, rather than removing it ffb7ae0 Fixing #660 by applying patch by freiheit. Looks like this is another problem with yaml on 1.8.1. 79b604d Oops; I forgot to add the base class for package providers. Also, cleaning up the package provider code a touch c826be9 Adding a simple unit test for mongrel, and adding the ability to select the header used to store the client SSL dn. b50c85d Fixing error when commands fail -- the error code is now printed, instead of the inspection of it 3479387 Adding (slightly modified) urpmi support from #592 by Devin 73502a7 Finishing off the type/provider interface work, including adding package prefetch for all packages. The only not-done one is yum -- prefetch is set up for rpm, but not yum. We need to modify prefetching so that it also prefetches latest information, to avoid having to run yum so many times. bf82d51 Fixing the "Server is not a class" problem with mongrel 992636a Applying patches from Valentin Vidic to fix open file discriptor and open port problems 1867d0e Fixing the few test failures that resulted from the changes to provider listing c35d07b Significantly reworked the type => provider interface with respect to listing existing provider instances. The class method on both class heirarchies has been renamed to 'instances', to start. Providers are now expected to return provider instances, instead of creating resources, and the resource's 'instances' method is expected to find the matching resource, if any, and set the resource's provider appropriately. This *significantly* reduces the reliance on effectively global state (resource references in the resource classes). This global state will go away soon. a7b057d Adding a "source" attribute to providers, so eventually types will be able to avoid duplication during listing by only listing one provider for each source (e.g., dpkg and aptitude should not both be listed). 0cfd28e this is a spurious commit to test the trac site e8aef1e Change pi to list properties instead of states f2c524d Add protect and priority properties; patch provided by Matt Hyclak 0a2b438 Fix trac #601: wrong location for client pidfile d467e18 Fixing #532 -- reparsing config files no longer throws an exception. The problem only occurred when reparsing a configuration file that was also being managed (which was common) and only whent the manifest was up to date (the combination was uncommon). Reparsing would find the existing file object and use it to check permissions and such, then it would remove all of the internal data in the object, for cleanup; the problem is, the client still had a reference to the object, so when it went to run its configuration, this broken reference was used. e8097a2 Changing --show-available to --showall, as requisted by Jeremy Dreese on the list e0fbd41 Switch the package type to use a :versionable feature, and convert all providers to use the feature. Hope it doesn't break anything. 37a221c Add a grammatically correct 'has_feature' alias, and switch to using it where appropriate in existing code 0a605e8 Clean up a really hairy code construct in the useradd provider 58be1fd Fixing up2date name matching, as mentioned by Jeremy Dreese on the list 464e688 Changing the resource title to be text instead of a string, because some title are > 255 chars 48ec137 Mark all package providers that don't currently report themselves as being versionable as not supporting versioning; this way we get a more sensible error message when people try to specify a package version. See #647 for some discussion. a9ea3c8 Correct a problem with the dpkg provider's handling of the :purged state, and expand the package type's understanding of what purged actually means. Fixes #644 d1458bd Adding a warning for when no properties are specified on services 1883b8f Adding a debug statement describing why restarts are skipped on services ca255b9 fixing the method to check for hostdir writability in the rrdgraph report ac686e8 Changing the location of the classes.txt to the state dir 25d5ebd Adding more detail to the per-host reports dirs, since it was not setting mode or ownership. 62a4d4c Adding better error reporting on unmatched brackets -- you will now get notification of what was expected in most cases 2b372df Updating the exec docs to specify that the timeout is in seconds 4aef0ba Fixing #323 -- puppetd and puppetmasterd are now in sbin; packages still need to be fixed 6f83d4d Fixing #501 -- there is now a splay option, disabled by default and when running under --test 7d1f760 Adding the execute bit to install.rb and fixing #473 -- there was a /win/ regex that matched darwin but was just supposed to match windows 611f88a fixing a documentation bug df6f41a Changing the notify type so that it always uses the loglevel for logging ef1a4af Fixing #568 e8d560e Fixing #566 -- definitions, tags, and classes can now be single characters eed85f4 Adding #629 -- an undef keyword now exists 8410c4d Fixing #507 (behaviour in cycles) by changing the topsort algorithm. 67ee251 Using the method for retrieving the dipper class, in case it has not been loaded e3b7a54 Making sure there is an editor set for ralsh e95734b Redoing autoload a bit in preparation for adding a plugindir dbedcd7 A round of fixes so unit tests pass; most of the failures were from the merging of the transaction-refactor branch 28f7d6c Fixing #569 - I have added a dynamic facts option to choose which facts will be ignored. d9f6f41 Fixing the "is" related problems in yum and rpm support, but there are still some package providers that use the "is" method (grep for "\.is[^_a-zA-Z]" in the package providers), and the util/posix.rb module has a call to obj.is. I will fix those soon. 1934f2b Removing obsolete parsedtype 61784ed Attempting to fix the fact that the yum package provider calls [] on the ensure property, and making the resulting error more readable 85fef63 fixing some problems with the config timeout -- I am not sure it ever actually worked 27cabf2 Fixing a weird bug that occurred because I was changing @parentclass in the AST stuff the first time it was called, from a string to a the actual instance of the parent. This worked fine as long as the parentclass was only called when parsing was complete, such as during evaluation, but if anything resulted in it being called earlier (e.g., attempting to add to the class during parsing), then things behaved, um, badly. This commit fixes the method so that the variable is not modified; there is now @parentclass and @parentobj. 613c413 Fixing a path problem that resulted from the changes I made to internal variable names -- the pathbuilder method in file referred to @resource instead of @parent aed12c3 Use @http in store, add filterhost 19af1cb First try at the REST config_store 12e5656 Initial configuration storage abstraction layer stuff. 426330c Updated the CHANGELOG with changes for retrieve and acts_as_taggable. 24b11b5 Removed acts_as_taggable from the rails stuff. I haven't removed the tables from the schema nor the indexes yet. ca2b9e6 Not parsing old versions of puppet.conf -- otherwise, puppet parses the whole configuration. eca5510 Fixing the to_trans method and ralsh a bit so ralsh now works with the new lack of "is" method 55666a5 correcting some of the function reference docs 1d23013 Fixing #605 -- providers now refer to @resource or @resource_type. de21226 Fixing #607 -- parameters and properties now refer to a @resource rather than a @parent. The @parent parameter is still set for now, for backward compatibility. 3e7d44e Fixing #606 -- now only components mention @children. 13c7f2f Allow Darwin to remount rather than unmount / mount, as per puppet-users discussion "mount type and ensure => present on OS X" (Message-Id: ) 7f8a903 Getting rid of the last vestiges of the logger tests bfc0c35 The TODO file has never really meant anything, and it hasn't been modified in 2.5 years cdd0dd3 Adding default provider info to the providers report 2fa529e Fixing the ability to fail correctly in the fileserver -- a constant was not defined correctly for it fbfaa0f Removed FIXARB's from the pfile stuff. These have been resolved. 93cbe77 Removed FIXARB's from a file that will be going away. a966606 Removed override of change_to_s since it is the same as the overridden method in EnsureProperty. 8bad074 Removed override of change_to_s since it is the same as the overridden method in EnsureProperty. b0374d8 Removed calls to is. 5b44159 Removed the testing method: checknewinsync. c164360 Merging of refactor-transacton to the trunk. This work removes the :is attribute from properties and relies on the provider to cache or return the current value of the property. 8f18746 Hopefully final version of the providers reference c99e99d Intermediate commit of more reference work, including making provider suitable more introspectable. I am about to significantly change the output format of the providers reference, so i want to get this committed before that change. 73df973 The result of .compact.join("\n") isn't assigned to anything. Fix. 568db0b Fixing configprint so it fails correctly when an invalid parameter is provided, rather than throwing a stack trace 40b3834 Sorting the network handlers in the network reference 7835d29 Adding a dynamic? option for references, so those are not stored in trac 1decfa3 Lots of work related to generating more reference. Moving all of the individual references out of puppetdoc and into an external "reference" class, which itself can autoload, so it is now easy to add new types of references. Also adding a network reference, along with an unfinished provider reference. 69cb721 Removing the obsolete logger network interface a040bd4 First run at moving references to lib/puppet instead of puppetdoc f42a755 Adding a module to abstract using Autoload to load and manage instances 53f1612 Fixing the time-cleaning in the rrdgraph report 494675b Fixing #206 and #422. Executables will still look for the deprecated config files and load them using the old parse method, but they now prefer a single configuration file, and files can set parameters (owner, mode, group) in brackets on the same line. 1f8de9d Consolidating all of the configuration parameter declarations into configuration, at least partially just because then the docs for each parameter have to be a bit better. Also, I have gotten rid of the "puppet" section, replacing it with "main", and changed, added, or removed a couple of other sections. In general, we should now prefer more sections, rather than fewer. f783859 Correcting function reference markup e864eab Applying patch to puppetrun docs from JosB e1438a5 adding --summarize option to the changelog 28254b5 Adding a --summarize option, to get a transaction summary 0c07125 Fixing #615 (subclasses with similar names) by getting rid of the class "type" and "fqname", and instead using "classname" everywhere. You should no longer see unqualified class/definition names anywhere. Also, rewriting how snippet tests work, to avoid creating all of the files, since the point was the parsing tests, not functional tests. 8d7ec14 Adding a fact handler, along with an abstract interface for fact stores and a simple yaml fact store, towards the Node Classification work. 79dcd33 Set LANG/LC_ALL/LC_MESSAGES/LANGUAGE to 'C' whenever we execute things, so that the output that comes back is more easily parsed, without needing to understand all sorts of foreign languages a1d4f35 Update to latest shipped for Fedora/RHEL 4022968 Committing all the work that josb did, plus a couple of small changes bf37676 Applying patch to puppetd from Jos Backus 8d11bb8 Fixing class name for Handler in puppetd 1ccdff5 Adding --serve back in as an option to puppetd, and failing when a handler is specified but missing fb4f04d updating changelog with version number 0f02a54 Updated to version 0.22.4 e049999 Updated to version 0.22.4 4f2b903 Updated to version 0.22.4 3e895b5 Changing the remount stuff back to not repeating the mount options. 6438270 Adding a "supports_parameter?" method to test whether a given provider supports the features required by a given parameter. This is used during attribute instance creation, but its creation was necessicated by test code. c9de332 Fixing the fileserver naming tests after the change to allow "-" in fileserver module names. 80ec494 Fixing #430 (I hope) -- execs now autorequire the specified user 483c25e Switching the simpler features to a single file, so it is easier to add new features c369c6a Fixing cron to correctly match blank lines, fixing #602 f69dcda Working a little bit on rails failures, with no real progress e05392e Fixing a bug in the tests introduced a while back when I switched to using "generate_report" 7fb7146 Updating the changelog for #594 3aafd81 Fixing #594 -- Files on the local machine but not remote machine now purge. Note that this introduces a difference in behaviour between recursing locally and recursing remotely. c2bc848 Adding purge => true to downloading of facts and plugins, and removing some extraneous logging from the provider base class 7e97143 Allowing "-" in fileserver module names, #617 4dbcc5d Changing the resource handler to return the whole object, rather than just type and title 8b60d20 Not stripping domain info from the ldap node, as requested 63e907c Switching the mount command to always add the mount options, so that the parsed provider can be used even in cases where /etc/fstab is ignored, like it is on OS X. dad9373 Fixing the tests for the aptrpm provider. 89ac6d7 Adding "rug" package provider from #609 4296e4e I managed to put those provider tests in the wrong file -- the file meant to test the resource type interactions with providers, rather than the provider file. Fixing that, and the failed test resulting from that silly mistake. 21eab22 Okay, one last try -- the Util#binary command was not returning a path in all true cases, and the provider tests were poorly written and missed it. 94bd3b2 Apparently I messed up providers a bit; binaries were not having their full paths returned, which made most providers suddenly unsuitable. This fixes that, and adds tests to verify behaviour. 96eed99 Closing #585 -- providers can now have optional commands, which only differ from normal commands in that they do not affect a provider's suitability 0a46bb2 Fixing #603 -- I had to add a special case for escaped carriage returns. I am not entirely sure this is the right solution, but so be it. 9a1a88c Fixing #574; puppetmasterd now exits with non-zero error code when there is a failure 3169bfa Adding extra info to the "Parameter already set" error, as requested in #573 86c206b Possibly adding the ability to manage passwords on os x. I expect it does not work, since there is probably no way to set up an encrypted password, but at least it now creates a user that can not log in by default. 0aeda97 Adding the ability to manage passwords with the useradd provider 7fbd3ff Adding the ability for parameters to declare that they require a given feature, and resources will not instantiate that parameter if required features are missing. This is mostly useful for properties. 4aaae62 Adding a note to the references indicating that they are autogenerated. 0681cfa Refactoring puppetdoc so it is a bit cleaner and is actually object-oriented. PDF output still fails miserably (there has to be some kind of markup problem, but I have no idea what), but other output now successfully varies on the pages. 0ff3772 Last modifications to rst conversion before bedtime 1d036bb All conversions to RST are done, but I did not quite succeed at making puppetdoc able to generate a single PDF with all of the references in them. 9526e53 Mostly done with the conversion to restructured text, but there are still some tweaks to perform on the typedocs output. 8d3673d Adding a :block_eval option to FileRecords in FileParsing, so ParsedFile providers can have records just define a bunch of methods at once, rather than using lots of hooks. This is cleaner when custom parse and generate methods are used. a478ed2 Translating all of the docs except the type docs to RST 70ec0cc Removing the naming restrictions on cron names 5afa587 Fixing #588 - the parser correctly ignores directories in globbing now 3c5ba06 Fixing #587 -- just defaulting to root when there is no USER set in the environment. e1b0444 Fixing #591 -- puppetd now correctly restarts itself when it receives a HUP 37ffb63 Removing the stubs for nodevar; I did not mean to commit them 7cc3a2f adding note about the class variables in the change log 5436f96 Enhancing the docs a bit for the apple package provider. 775c72b Adding support for aptrpm from #227 as added by Ian Burrell, the rest of the commit be68411 Adding support for aptrpm from #227 as added by Ian Burrell f1f4c42 Adding patch by apowers from #545. df0cd95 Adding init script by apowerrs from #546. 9828b25 Fixing fileserver doc links f8a0e99 Adding the functionality requested in http://mail.madstop.com/pipermail/puppet-users/2007-April/002398.html . You can now retrieve qualified variables by specifying the full class path. 9946249 Only caching the configuration when it has been successfully turned into Puppet objects b6d0d27 Adding a --version argument to puppetca da4d252 Changing the test package for debian b8b14d3 Forgot to change Puppet::Util::SUIDManager#run_and_capture arguments to execute efe9a83 Fix for #565: Final merge of changes from source:branches/execute-refactor into source:trunk Generated with svn merge -r 2378:HEAD https://reductivelabs.com/svn/puppet/branches/execute-refactor trunk 8ab2722 Hah! Finally fixing the problem where mount tests would fail when run as part of the whole suite. The real problem was that I was changing the filetype of the provider without setting it to change back after the test, but the key change that made it straightforward to fix this problem was that my test loader was not exiting with a non-zero code when there was a failure, which mean that the ./test script never thought anything failed. I fixed the former, then fixed the test script to work fine with -n method_name stuff, and quickly found the problem. *whew* f9d89b5 Changing the date that certs are valid to start one day before the cert is created, so clocks that are off by a little bit can still be used. 4615e3a Fixing Client.read_cert so that it automatically adds the certificate information to the driver when the certificate is correctly read. This makes sure the Net::Http instance has the cert all set up. ca5d068 Updating the docs for the sourceselect parameter 295b357 Renaming some methods so that we can generate a report on a transaction and then retrieve it later 1e8e7ee Fixing #567. I overrode the propertychanges method to only return changes if the file exists or if the file has a property that could create the file. 4863012 Enhancing the report docs a bit 0ecb775 Adding last bits to the change log for 0.22.3 a999752 Updated to version 0.22.3 24ad5ab Updated to version 0.22.3 9ce7c79 Updated to version 0.22.3 e154589 Fixing puppetdoc with the recent changes to the networking code 801d0f7 Fixing a bug I apparently introduced in the testing that would have made user management not work with netinfo. In the process, I am enabling validation on the nameservice subclasses. 2544f75 Fixing the documentation to match reality, as reported in #548. 4358e85 Trying to fix the problem that occurs when noop somehow manages to be nil when downloading files 2ad9469 Changing gems to automatically include dependencies 858cb81 Updating changelog and adding filebucket to the exluded file list in the Rakefile d54b645 Updating changelog and adding filebucket to the exluded file list in the Rakefile fa26552 Fixing #562; I had to fix how the client class was loaded 142d0fa Applying patch by Ian Burrell from #559 2c3abbe Refactoring some of the rails code. The speed is now pretty good, but the tagging stuff does not seem to be working and is certainly working very ineffficiently. Blake says he is going to take a look at that. 33f4a66 Renaming pbucket to filebucket 52df47e Finalizing the filebucket client, with test code. def15e3 Adding filebucket client app c5e1a44 Fixing the "readcert" method after getting the signed cert; the method got refactored, and essentially renamed in the process 60d36e2 Moving the authconfig setting to configuration.rb instead of network/authconfig.rb, as mentioned by Koen Vereeken 5bd0e8c Rails is now significantly faster. I refactored all of the queries; they are mostly reduced to three queries, each of which is relatively fast, although there are still a ton of file- and tag-related queries that I cannot find the source of. Note that this speedup requires indexes, which will only get added if you start puppetmasterd with --dbmigrate (although you cannot always start with that, as there is an error in the init code). I expect that the indexes will not help unless you forcibly reindex your database, but after that you should see significant speed improvements. 4c357d8 Adding a migration to create indexes 5ad9bf4 Fixing #553; -M is no longer added when home directories are managed 804c0f4 Fixing the same bug as the Metric stuff, but for logs this time. 46152c1 Fixing the Metric class old clients can still refer to the Puppet::Metric class. 36feb29 Fixing a small bug in testing whether instance methods are already defined. 45904ca Updated to version 0.22.2 0452878 Updated to version 0.22.2 474b86c Hopefully the last batch of commits before I release 0.22.2. Mostly just get tests to pass. 90d8b2d Remove no-lockdir patch. Clean changelog a68a7c2 Change puppet's homedir to /var/lib/puppet 145c39c Don't clobber an explicitly given waitforcert 41e1285 Reverting changeset [2243]; this apparently causes chkconfig not to work bcc937a Absolutely guaranteeing that the provider is always created before anything else. Previously, it could get created later if it were using a default. 60ea7d2 Fixing #432 - you can now manage home dirs with users. You cannot yet purge home directories, because there is still controversy over how that should be done. Also, allowdupe is now handled like a feature, which is, um, better. 3d17685 Adding a "has_feature" method, so a provider can just declare that it has a given feature 290ad14 Finally fixing #504, I think; I even have tests to prove it. It was a little thing, in the end. 32662cb cleaning up an error message a bit 9b5833a Clarifying the errors a bit when nodes come from external sources. 1f8b768 Apply patch from Ian Burrel (trac #479) 3e2510f Adding the "ralsh" executable (formerly known as x2puppet). 531136e Updating the config generation stuff a bit, mostly just cleanup, but also changing the servername fact to be the fqdn of the server. 0153a06 Changing the config cache location to the state dir f046067 Adding context to the warning message about unknown escapes 0040edf Changing execution to reopen stdin to /dev/null b804573 Changing notify to default to its message being its name e2c5dbb Another round of bug-fixes, prompted by test logs from David Schmitt 92bad78 Fixing the spelling of David Schmitt's name and giving credit to Chris McEniry in the changelog. 547fb64 Adding a provider feature table to the provider feature docs 5b2ffbc Adding provider features. Woot! 80dac92 Following Russ Allbery's advice and using the Candidate field in the apt-cache output. Apparently I'm blind. 3606482 Updating changelog for #487 4dc7233 Fixing #487. I know use "apt-cache policy", instead of apt-cache showpkg, because it clearly shows which version will be installed. This is basically impossible to test well, so I just added a test that verifies we always get a value back, although I cannot really test that it is the "right" value. Also, I modified the logging of packages so if there is a latest version, you will get the new version number, along with the old, in the log. 973f9d0 Taking another crack at #504 -- I was using Pidlock incorrectly. I should have been using "locked?" but was using "lock". cef41c2 A slight fix for #507. This should at least provide better information if this problem crops up, although I cannot reproduce it. 1778883 Changing the "found a bug" message to something a bit more informative. 184266d Fixing #447 - filebuckets now use deeply nested paths b436002 Oops. Fixing the other tests to now past the facts to "fresh?", as required by the fact checking. 61b3490 Fixing the fact caching so that facts are only downloaded and retrieved once, rather than once during fresh checking and once during config compile. 5f7ae35 Fixing #519. The facts are now cached in the state file and changes to them force a recompile. a2a9d93 Fixing #544 -- there is now an --ignoreimport option for commit hooks. a212ea7 Adding #539. Definitions can now have titles, and both $title and $name are guaranteed to be set within any definition. 90bdc33 Adding test to make sure ensure does not conflict with any of the creating types. e952029 Adding #541. There is now a "generate" function. 6654661 Fixing #538. There is now a simple file() function to read in file contents. 5ecfd39 Looks like I already accidentally committed the switch from using system() to exec(). I am hoping this will fix the many problems people are having with processes hanging around (e.g., #509). This change just removes the attempts at closing TCPServer instances, which should now be fixed from using exec instead of system. 6b85962 The first round of fixes for failing tests. 8eddd4b More work on #542 -- services in noop now produce noop events so that they can themselves trigger further changes 2fe9998 Removing bogus log message in file parsing 3b8dc6a Removing the cycle checks from the splice! method in pgraph, which *considerably* speeds up splicing of very large graphs. adedab1 Getting rid of a warning in the rpm provider 40eeadb Adding example cron tab from #492 and making the read/write tests ignore whitespace. This cron now parses successfully, as I thought it would with the move to providers. 2a3f56c Fixing #529 -- specified targets keep their values. The problem was that I was using model[:target] instead of model.should(:target) and model.is(:target). The real problem was that my tests were using a parameter for tests but all of the real code uses properties. fe2f0d9 Fixing #533 -- puppetd now exits in onetime mode. 5257837 Fixing #491 -- the client correctly realizes when the cache file is missing and only considers the config to be in sync if that is not the case. a76afb7 Trying to clean up the error message from #490. It looks like the problem is just a failure in one of the types, and it has nothing to do with the state file. 4a6d705 Fixing #542. Transactions now cause services to warn when they would have gotten restarted by a noop resource. Also fixing #549 -- transactions now only refuse to delete required resources if they are being purged. All other resources can be deleted just fine. 8387d48 Fixing #540. I modified Puppet::Network::Client::Master so that it disables noop during its run, so that facts and plugins will always be downloaded. 86c63ce Fixing cron support (I hope). It now uses providers, and seems to work, at least on my os x box. ba23a5a Adding spec libs, so we can use them some day 8ea6ada Clarifying that the ruby RRD support is provided by a binary library df4595e Significantly reworking the internals of the fileparsing code. It now passes around an instance of a FileRecord, rather than just a hash, which I think makes it much easier to understand. b05ae2a Don't blow up when PUPPETLIB isn't set 0fa3c43 Search manifests first within modules, and if no module is found, search in the directory the current manifest is in. 38975de Introduces a new implicit 'modules' fileserver module, whose allow/deny can be set from the fileserver.conf, but whose path is ignored and can therefore not be used directly in puppet:// URL's. ebcb6b6 The template function now tries to first find a template within a module (if the template path looks like it belongs to a module) and only when that fails looks for it in templatedir ba6257c The basic plumbing for modules: a modulepath config parameter, and a new class Puppet::Module that will contain the module-related functionality. The modulepath can be extended by setting the environment variable PUPPETLIB 10d6891 Adding support for a prefetch hook on individual providers, rather than only supporting it for the whole class. 4fa8008 Fixing a few of the log messages so file content changes always include the md5 sum 6ad8998 Adding a bit more testing to the config stuff 3489bd8 One last try at getting the config and mode stuff working. The tests were passing because "mode" is a valid config option in the tests, but not in the real configuration. So, now the Config class correctly only tries to set the meta params if they are valid options, otherwise they get skipped. b36f9c9 Fixing the config path to use Puppet[:name] rather than Puppet.name 6b92c04 Oops, forgot a file in the commit f59cade Fixing a bug related to link recursion that caused link directories to always be considered out of sync. b6df336 Looks like [2265] was not a complete solution -- it resulted in failures when the config set modes via integers. Everything is working now, and tested more completely. 0925fb0 Adding some more testing on the @should values for :groups on users, and fixing a bug that often made :groups think it was out of sync. 333842b Putting the final touches on #144, most of which I had provided in the mongrel work. fa253b5 Fixing #489. I was unnecessarily converting to octal in config.rb 69338da Adding some changelog info for the next release, which is still a ways away, probably. 205bbb9 Flushing out the ability to have a stand-alone CA server, specified using ca_server and ca_port. This is just a final unit test, since the code was done and lutter fixed the rest in [2261]. 185a003 Fixing #531 and #414. This includes pretty much a complete redesign of the AuthStore class, with (hopefully) all of the edge cases removed, the code is now much cleaner, the tests are (I think) complete, and everything is just generally better. fde8b28 Fix typo in default config and add simple test to check default config sanity 7e41d43 Turning a failure into an error when, for some reason, pfiles do not have paths set. 46d344b Merging the webserver_portability branch from version 2182 to version 2258. 6823370 Sync with latest Fedora specfile 4a73da3 Don't include bin/pi in distributed tarball (and hence fix trac #471) 1808c50 Apparently the include function was not failing when it could not find asked-for classes. Now it does. 521606b Allowing trailing commas in selectors 9080686 Committing patch by Dennis Jacobfeuerborn to only use the domain name if it is set. 17c59f8 Adding "ignorecache" option to always force a recompile of the configuration ebc4dd2 Fixing #464 and #515. ff9ec47 Applying patch in #528 by ask. cc26026 Fixing #467. It is a hackish solution, because I just reordered the definition of the params, but it works for now, anyway. d229d49 Fixing at least part of #514. This does not get rid of all errors, but at least it fixes the spurious warning be8dfd9 Fixing a problem with the splice! method on the graphing. The problem was another issue with hash ordering, where it would usually work but sometimes start failing. The solution was to splice the containers in topological-sort order. 4df0738 Applying a modified form of the patch by cstorey from #523. The modifications were mostly around the fact that Strscan does not set $1 and its ilk. 0f16bf3 Fixing #526. Implemented as a period of "never", rather than adding a new parameter. 07fce23 Fixing #477. setvar() can now accept the file and line info from callers. d5444e0 Fixing #199 and moving service tests (which are completely atrocious) around. 7d965ae Applying patch by cstorey from #521 36ae6a2 Making the package provider tests able to be executed separately, and using "clear" instead of resetting @objects in the types. b7a0fb4 Make up2date the default for RHEL <= 4, and confine it to RHEL; make yum the default for RHEL >= 5. Fixes trac #478 672e281 Fixing #142. As expected, trivial. 87f100a Applying patch by DavidS from #522, along with test code and a small bit of code cleanup. a3f3674 Redoing some aspects of the graphing in hopes of helping hte performance a bit. 1a7d8b6 Fixing file backup defaults to correctly use the puppet filebucket by default. d833c3e Changing the log messages for source and content properties to mention the md5 sum of the new content 789b786 More code related to #517. Oops. 4c885b7 Fixing #517 and more. Classes now support more than one namespace in their search path, parent classes automatically have their namespaces added to subclass namespaces, and (huzzah) there is a "search" function that can be used to add new namespaces into their search path. aad5123 Fixing #524. Functions, both statements and rvalues, now support no arguments as long as you use parens. 3e13e36 Actually commit the changes to lib/puppet that were supposed to be part of [2223] (Fuck svn and it's partial-repository-by-default behaviour) 1d711dc Partially complete #241. Add a 'purged' value for Package.ensure, and add a handler for all of the Debian providers. Also wrote sensible test cases, and so we've now got Mocha running around in our source tree. a752eb2 Fix #516, 'Cached manifests get unescaped twice' db8a23e Print stacktrace in debug mode when catchign a signal - useful for understanding client hangs fa02d67 Fixing #472. Apparently this has been broken since I did the parser redesign. I had to fix the scope trees so that subclass scopes are subscopes of the parent scopes, which used to be the case but was far more complicated. d145aae Fixing #505, #508, and #513. 774415b Allow 'key=' to be the only thing on a line (livna uses this) 4d02823 I believe this fixes the issues in ticket #469 My testing on mysql shows connections being reaped. 7a9e28a Applying patch from #495. 6fbd5fd Removing extraneous debugging 90b1058 Fixing a problem in collecting exported resources. Virtual resources worked fine, but exported resources resulted in an essentially infinite loop. deab3a0 Fixing the default dbadapter back to sqlite3 3d093ae Applying patch from #510 by curzonj. Note that the right solution to this problem is to use the ruby API, but it does not appear to be stable yet. 65599af Re-add the files beb7873 Undo the param_name param_value merge f4f555d Renamed Puppet.name to Puppet.execname so rails 1.2 doesn't freak out 9a672ec Undo the param_names param_values changes 8b18fdf Undo the params & facts stuff 9fe8905 Changing date to datetime in the database 964c805 Trying to fix problem of locks lying around 2418e4a Adding hook to update timestamp when a report is run 0aa3b66 Change Puppet.name to Puppet.execname so rails 1.2 won't freak out. 6555dad Update relationships Remove dynamic class generation for now. Include the fact class 328e576 Revamping collections to get what is hopefully more reasonable behaviour when they are used in combination with defined resource types. You should now be able to combine them in just about any way and get "correct" behaviour, which in this case means that you can have virtual definitions or definitions wrapping virtual resources and the resources will still all get realized. 69d4bfe This works for me. Probably not the most universal fix. 9de665c Apparently using "gem" requires an environment we don't have. 91991f1 Merge fact_names & fact_values, and param_names & param_values. 0b5600a Fixing features to use the new feature location 17a5f4c Applying patch from #502 by Jose 6216ae5 Applying patch from #497 by Jose Gonzalez 258651c Applying patch by Jeff McCune from #496 9cd2636 Applying patch from #474 by David Schmitt. 4effff4 Fixing #482. c3b6232 Fixing #493. 81ae397 Applying doc patch from #494. 1756bec Fixing #484. Moving unit tests at the same time. a216df2 Okay, last file moves for the night. The test code has been moved to match the lib directory, and I have moved a couple of things into network/ instead of network/server, since they did not belong as much. 7e07e3d Moving all of the client and server code into a single network/ directory. In other words, more code structure cleanup. 6d8068e Moving some of the stand-alone classes into the util/ subdirectory, to clean up the top-level namespace a bit. This is a lot of file modifications, but most of them just change class names and file paths. 1626023 Adding a libdir setting for puppet, so you can store your modifications to puppet in a separate directory. This probably will still be somewhat limited because it will always depend somewhat on load order. For instance, if you add a new provider, it might not be available when you expect, since providers are all loaded as soon as a type is loaded, which might happen before the libdir is set. It should always work fine if you do not override it, but if you do override it, things might behave a bit strange. 99c8a54 Adding a parameter to allow you to override how an exec refreshes itself. dd71a51 Changing exec so that the checks apply to whether an exec is refreshed. 31c9a6f Disabling the netinfo mount provider ad359f3 Reorganizing some of the tests. d403131 Merging the state-rename branch. This includes the diff from version 2156 to 2168. All states should now be properties, with backward compatibility for the types that restricted themselves to the methods. f6f72f2 fixing the cookbook link fix 3a024d7 Removing the default value for :ensure on mounts. 71346e9 changing the cookbook link f80bd5e Fixing exec so it actually works when path is specified as an array d117aa8 Updated to version 0.22.1 1e90209 Updated to version 0.22.1 463d3a8 Updated to version 0.22.1 1d059b0 Fixing #470, I think. I basically just threw away the validation and let suidmanager do it all when running commands. 69a07b1 The resolve functionality in "test" is almost working... 42d15fe Adding note about removing mounts netinfo provider 2c79bbf Oops, that last commit seems to have broken the rakefile. Works again. 3836201 Trying to get the functionality I had in previous tests. Mostly I want to be able to load many files but run just a couple of methods, which test/unit supports via -n, selectively enabling -d. I now can do this with the Rakefile, using 'TESTOPTS="-n -d" rake , although I find that a bit kludgy (certainly more so than 'rake -n -d '). fd2982f Fixing executable tests to take new rundir into account a62fd3e Filenames for test must _end_ with '.rb' 12bf816 Fix to make running tests work in ruby 1.8.5 18eebaf Fixing selector tests to get rid of a lame hash ordering bug in the tests. a3a85d8 fixing rails test to take into account the fact that resources now do not always return arrays f1deaa8 Fixing autogen so it passes on non-Darwin systems. 173f5cc Fixing a purging bug introduced by [2138]. I had to move the purge check to the recurse method, rather than the localrecurse method, because the purge check needs to happen after sourcerecurse. 62ab873 Deleting the file even if a source is specified, as mentioned by Robert Nickel. c8f38b7 Renaming "pelement" to "resource". The old name is a holdover from before we had settled on "resource" as a term. ea73cdb Fixing Files to work with the Resource server. Basically I just remove the "target" value if it is a nullop, so that it does not cause a conflict with "contents" on the far side. d7fde42 Adding explicit umasks to these tests. a4de59c Fixing rundir so that it is only set to be in /var if the process is named puppetd or puppetmasterd. Otherwise the unit tests set it to /var/run/puppet, which has the chance to cause hangs. 9dc6cf6 Removing all remnants of the old symlink type 7889b0b Revert 2125, and instead change the way the 'latest' version is selected from the sorted list of versions 97583b4 Updating changelog for 0.22.1, although I am not quite ready to commit yet. 8d90e56 Puppet can now read files on stdin. This means you can put "#!/usr/bin/env puppet" in the first line of a puppet manifest and then execute the manifest normally. Yay! 8821300 Providing a partial fix for #428. Resources can now be deleted as long as all of their dependencies are also being deleted. This, combined with the fix to #433, means that you can now explicitly specify the order of deletion, and everything will work as long as all required objects are being removed, too. 0a62369 Partially fixing #460, take 3 -- fully-qualified classes can now be included. 788a74e Partially fixing #460, take 2 -- fully-qualified definitions can now be used. a7bd786 Partially fixing #460 -- fully-qualified class names can be used as parent classes. c9e7699 Fixing #462. The package sort order was always resulting in the lowest-version package being first, rather than highest, so I inverted the sort order. add6e5d Applying patch in #465. 1f9ede2 fixing #427. Facts now timeout, both in loading and downloading 049d79c splitting the tagmail report into multiple methods and adding test code 727672f Not creating the listening server at all if --onetime is enabled. af3863e Fixing #440, albeit with a slightly hackish fix. 01ec5ba Moving code from external sources into an external/ directory 1374e4e Moving the switch that disables the certificate authority into the main library, so they can be disabled in the configuration file. dc580cf Fixing #433. I basically just added checks to all the places where I add edges, to make sure automatic relationships lose out to explicit ones. e418691 Fixing the warning message related to namespaceauth.conf d3fc49d Fixing a problem that occurs when puppetd starts with an up-to-date configuration -- the default schedules and filebucket were not being created. 6c61f0c Fixing #463. I redid all the autogen stuff so it can handle autogenerating string values for stupid os x. 8198e7e pointing documentation to the wiki now 54c458c Fixing #438. 04017b3 Fixing #444. I was losing the list of sources when creating new children. b7560d5 A couple small bug-fixes 3aff4a0 Doing more work on #113. Mostly, just making sure remounts do not happen spuriously very often. They will still have extra remounts when changing the value of "ensure", but that is not currently avoidable (similar to #199). 1cc8ecb Fixing info around newtype options dd502db Fixing #113. I added support in the transaction for self-refreshing, which just creates a special trigger for resources that have self-refreshing enabled. Logging is a bit different for them, so it is clear why they are refreshing. I still need to verify the remount methods work in the providers. bf46e7d Adding a "self_refresh" option, so resources can refresh themselves if they have changed in the current transaction. 1f41c35 Fixing #454. c07494f Fixing #441. 9924244 Fixing #431. Collection was always returning an array, even when only a single value was passed. 0a9c8da Changing how transactions check whether a resource is being deleted. This is a small step towards fixing #428. f6a3d94 Fixing #455. A simple fix, fortunately. 81025d1 hoo e29ef5c Updating reference docs af4f7d7 Fixing documentation references to refer to the wiki 37acfb9 Fixing #442. You can now do: defined(File[...]) to see if a resource is defined. 2db6878 Fixing #434. 6475487 Fixing #423. Configurations now default to timing out after 30 seconds (tunable with configtimeout). This only happens for remote configurations, not local configs compiled using puppet. a081d41 Fixing #418. The problem was that multiple objects might include Daemon, which means that Daemon#shutdown can be called multiple times. c33d5e4 Using Time instead of Time.to_i for compile time, because some versions of ruby have trouble converting Bignum to yaml 6d791f5 adding client name to processing line 7670df2 Fixing #445. Nodes can now inherit from default. afe77b6 changing selector error message aab3214 reworking the selector case-insensitivity test 9f8a3b1 Removing an extraneous debug message, and fixing the case where the server compile fails in --test mode -- it resulted in an extra warning message. ca1e36b Applying patch from #457, as submitted by Jeff McCune. 81ae09e making yum the default packager for centos 5735d48 Wrapping the resource generation methods in begin/rescue blocks so that failures cannot kill the transaction. e8f3806 Fixing error-catching in resources.rb a3041cd Updating changelog for 0.22, which fixes #429. bda74bc Fixing #415. Configuration parsing now removes trailing whitespace. f8115a7 Fixing #424. The configuration compile time is now cached in the yaml cache file. 53f3b8c Fixing rundir so that it does not throw an error when not running as root c285d7a Fixing #437. Transactions now check whether graphs are cyclic, with a somewhat-useful error message if they are. 9720a97 Fixing #436. Also finally renamed pfile/uid.rb to match the state name. db5494f Fixing #421 by changing the rundir to /var/puppet/run. bfb5506 Fixing #416. There is now an option (downcasefacts) that determines whether facts are downcased by the client. 53c3f5a Make rpm operations much faster by suppressing unneeded verification bcd81bc updating docs with new location for reference info f069418 Moving the reference docs to the top level c03a8c9 updates 42b78a0 Use a specific ActiveRecord subclass to check for the proper existence of AR in the Rails feature test, so that we don't kill everything if the machine has Rails installed, but it's an old version that doesn't support polymorphic associations e64e64d Make the version string optional in the dpkg-query output parsing regex (Fixes: #425) 32bbb3a Clear existing yumrepo instances befoer listing - assumes list should only return "is" instances 3dea961 Enclose values in single, not double quotes; otherwise if values have $ in them, the manifest will be incorrect 5836c23 Allow listing of yumrepos a676e08 Sync with latest in Fedora repo 965a82d Minor cleanup, leave cursor at beginning of indented line, not its end c35b441 Add indentation written by Mario Martelli f7d8350 Updating docs for 0.22.0 4ee6c97 Updated to version 0.22.0 98ed0ae Updated to version 0.22.0 38cfa67 Updated to version 0.22.0 3446dd6 Last round of fixes before the next release 954a285 Fixing puppet test task for older ruby versions 7afa69c Fixing rake test so it works with the new puppet loader 54c387f Adding #408. d0ecc0e Messing around a bit with how tests work 2728f50 Adding a bit more comments to the :template function 704bd76 Fixing a few testing bugs that have crept in, and fixing a self-reference problem when configuring, graphing, and setting graphdir manually. e756711 Fixing #411. 48bbd0b Further work on #407. I forgot to actually connect it to the interpreter internals. f6beef5 Fixing #407. You can use external_node to specify a command to retrieve your node information. f8f7c57 Don't rely on the type to store the actual NVR of the package; breaks in the provider tests since they call the provider slightly differntly 42c13e2 Adding a timeout to execs. This is not really a sufficient solution, since it needs to be added throughout the system, but this is a good start. The default timeout is 5 minutes. 6e10004 Using Puppet.settraps in puppet executable, instead of old ad-hoc code. 903b40b Applying patch by mccune from #409. 5e470b3 Regressing to always creating files/directories as root, rather than trying to do it as the right user. bb72a08 Throwing warnings instead of exceptions when dpkg-query produces info we cannot understand 08a56cb Fixing module_puppet to use the usage? feature. 239727c Re-enabling the dirchmod test and fixing its syntax 2195b76 Trying to fix #364. Somewhat used the patch provided by nslm. 8fd9765 fixing filebuckets so that only the client bucket is created on clients d5651f8 Fixing tests so they now include descriptions with all config options, which is now required. a454dfb Creating two filebuckets by default, one for the client and one for the server 9c1a446 Fixing #403. 2b271f8 #398 is already fixed, but this will fix things so it cannot happen again f4b2e13 Fixing #391. Keeping track of times of compile and freshness checks. 098081d Setting up specific allowed types for sshkey 5292e4e Handle continuation lines in inifiles properly; stick a little closer to how python's ConfigParser parses 2366c95 Explicitly require puppet/filetype; otherwise, tests for this module fail cbd20f0 Simple script to produce type info 3b6bf05 Fix yum update breakage - query should not change the name the user gave us; instead, the fully versioned pacakge name is now stored in the instance parameter 587deea Tone down the debug spewage from yum 9115fef Adding extra connection statements and enabling concurrency support in rails, hopefully fixing #399. 0ef8971 Fixing #394. LoadedFile was not checking to see if files went missing. f58bda2 The package name must match at the beginning of a line; otherwise we might get fooled by other yum spewage caabe9b Not saving tags right away. This seems to cause postgres to explode. 9271142 Adding a check to the rakefile to throw a warning if the test task is missing 651640c Fixing #401. Transactions were trying to trigger every resource, even those that did not respond to the specified callback. c140037 Not setting the graphdir to the puppet user, since it is only used by puppetd 127f0df Using text for parameter values, instead of string, so the fields support larger amounts of text 86e434e Adding postgres as a dbadapter option 2d25816 Fix trac #354, and some other oddities around installing multiple versions of the same package. 50965c7 Changing "sourcematch" to "sourceselect" 373f177 Adding sourcematch parameter to file. cc05e8d Fixing the error thrown when a dependency cannot be retrieved, WRT to #395. 57d0933 Fixing #396. Using the provider command instead of a direct exec, which automatically captures stderr. 0887fcd Modifying the "Resource#set" method to simplifying adding new parameters 56619d5 A couple of small fixes to pass existing tests. 4482691 Fixing some failing tests on fedora. 3e933cc Enabling debugging except when running under rake. 3b2521b Fixing graphing tests, and correctly only using storeconfigs in tests where rails is available 54a838e Fixing #369. I was not flushing changes to disk when ensure was out of sync. This is going to become a common problem, and should probably be addressed by the framework rather than by individual types, but for now, it works. b8f798f Fixing #390. You can now add --graph to produce dot files, and you can then produce pngs or whatever from those. 0a1dd1a Use Puppet::Util.sync instead of MonitorMixin to ensure that only one thread runs the executor at once 23b75e2 Fix a syntax error in lib/puppet/daemon.rb (That'll teach me to not run the test suite before committing) 38244fb Create rundir in a test that needs it 27c1b49 Switch puppet/daemon.rb to use Pidlock 16f7980 Switch the run-lock to use Pidlock instead of the ad-hoc code e4843f1 Make Pidlock#lock return true if we currently hold the lock e252505 Add a Puppet::Util::Pidlock class, for use by locks and PID files c1035cc Add system library directories directly in puppettest.rb, so you don't have to do it by hand in every single underlying directory; also change the debug check slightly so that we actually put debug stuff only when we really want it a333539 Applying patch by rainhead from #392. 7e62bb0 Add updated_at for all tables make sure it's removed from the resource hash that gets returned 6d8b3f3 Removing debugging da3e9d4 Hopefully fixing tagging problem 280f0b4 Still trying to track down the tagging problem 79e9b46 adding a bit better error reporting when tags are bad 419cdf0 exiting sleeper after no more than two minutes fa538bc Moving the tagging stuff to an "external" directory, instead of "lib". 0166004 Adding carriage returns to output of puppetrun f52e2d0 Trying to clean up how rails is loaded 3a313ad Supporting arrays for the backup parameter 17306c0 Features now load dynamically using method_missing, so that undefined features never throw errors. 96f91f6 Adding a bit more testing to mounts, and pulling a bit of the transaction into a separate method to shorten the apply() method. a2b0ee6 Finally writing unit tests for Transaction#trigger, and drastically simplifying the method in the process. 9ff80c0 *whew* Okay, simplified the splice method a bit, and I am actually somewhat confident that the stronger testing is correct. I have had a lot of problems with tests usually passing but sometimes failing, mostly because of ordering problems related to multiple edges. bb9c813 Did a short-cut on the graphing, since we currently only support one type of subscription. This solution still will not scale to all that many edges, but it works, although it will fail if we need to support different types of subcriptions. 7ae62a5 A couple of small bug fixes c4c3d77 Some tweaks to graph splicing, although I do not think it will be enough to handle some of the edge cases. d07570b Looks like providers work again on Solaris. 6529822 I have not yet finished testing, but most of the providers now successfully pass arrays to execute() instead of strings, which means that the vast majority of execution problems are now gone. I will finish testing tomorrow, hopefully, and will also hopefully be able to verify that the execution-related bugs are fixed. 038d6a6 Fixing #387, hopefully. a5cf056 Fixing #388. Paths now look a lot cleaner. 883c64a A couple of small bug-fixes 65e76e8 Fixing #353. It was as simple as exiting with a different error code depending on the results of the call. d3a7c28 Fixing #386. 1d05739 Switching files to use a filebucket named "puppet" by default. Also, set up MasterClient to create that default filebucket. 92ff712 Fixing #365. I am not sure what the problem was in previous versions, because the new graphing stuff changed the solution to this problem, but it all works now. 8ff7e0c Closing #362. Case-insensitivity is handled by downcasing all host names. f1dc103 Hopefully fixing #355. I could not actually reproduce the specific problem, but I found a couple of issues around the problem and they are all gone now. a3ce917 Fixing #348. Overrides now support an extra end-comma. 5e58273 Loading the rails lib early on, so that the rails configuration parameters are accepted on the CLI, as noted in #357. 2742995 Fixing #343. Collections and definition evaluation both now happen on every iterative evaluation, with collections being evaluated first. This way collections can find resources that either are inside defined types or are the types themselves. 85b19c4 Fixing #349. Doing some hackery so defined types can now (again) be used as dependencies. 311aba9 Fixing #66. The "defined" function previously checked for definitions and types, but since types and classes can't have the same name anyway, the function now works for classes. 9bb5c50 Not downcasing facts any longer, closing #210 (although not using the patch from mpalmer, since I had not noticed the patch was there). Also, making all nodes, classes, and definitions case insensitive, closing #344. Finally, I added case insensitivity to the language in general, which should preserve backwards compatibility and probably makes the most sense in the long run anyway. be711d3 Allow execution of bare strings as long as there's no attempt to change uid/gid c616572 Fixing test to work with new style of graphing. 2c2177c *whew* Fixing the vast majority of the graph-related performance problems. I found a simple solution to handling events produced by generated resources, and that basically fixed all of the performance problems. Transaction tests still fail, but I wanted to get the fix in now so I do not forget it. 299bdc1 Fixing #380. The problem was that a method was sometimes returning :absent when I expected it to return nil when the group was not found. All fixed, yay. e605c4a Adding some defaults to users, mostly for darwin because it is kinda stupid when it comes to this info 41562cc Adding test for the fix to #361 a9dd641 Fixing #361, I think. It appears to be a problem with missing a setting for realname. 1bdf379 Applying patch from #384, by jgonzalez 253376a Fixing #385. Puppetca correctly exits with non-zero exit code if there are no certs to sign. 36e8d65 Fixing #372 and #374. All is not perfect, since OS X still cannot set UID, but it is much better. There is still plenty of bug-fixing to do on other platforms, I expect. 115ec09 Re-add support for tags and file/lines f851ca6 Adding :replace aliases, as requested in #366. 9f48706 All rails *and* language tests now pass, with the exception of a language/resource test that passes by itself but fails when run as part of the whole suite. Also, I added deletion where appropriate, so that unspecified resources, parameters, and facts are now deleted, as one would expect. dc5f4dc Fixing most of the rails stuff. I think everything basically works now, and now I am just going through and making sure things get deleted when they are supposed (i.e., you remove a resource and it gets deleted from the host's config). 5a52855 Fix up a problem with initialising an sqlite3 data store, presumably only with older versions of Rails 3c93400 Adding daily snapshot tasks, altho they only work at my site 10dbb17 Some more graph optimizations; I think I am now close enough that I am basically just going to spend a bit more time making sure the modeling is right in the transactions, and then walk away for now. b01ffe6 Adding a simpler and *much* faster tree_from_vertex method, and using it instead of the default one a481f9b Requiring puppet/rails in the interpreter before Rails.init 9df9e4b Getting rid of the db init stdout and reindenting 02cfc44 Simplifying the splitpath method a bit, altho it is still strangely slow 9fa7794 Simplifying the the Puppet::Type[] method 0dbe96d Redoing the benchmarking a little bit f622e18 Go back to restype and remove STI classes, they were more trouble than they were worth. 9ad62d2 Modifying rails test 0dac4ec Changing some of the error output. This gets rid of the duplicated information that occurred when definitions or nodes were duplicately defined, and it tightens the error output a bit. 0f78282 Adding unit test for #364. It passes on OS X. dc96f98 Adding some selectability to host creation for testing. Using find_or_create_by results in lots of saves instead of one big one at the end, which causes initial saving to be much slower. To switch between them, just modify the value of "create" at the top of Host.store. 6b5d001 I like to checkin one-liners a lot. I'm cool. set the type when we create the object, might be a bit faster 7173c1f Don't use find_or_create_by_title since titles aren't unique. e28c604 Remove old files, don't require pp anymore 3d070f7 These are the same versions from changeset 1837 0cd5799 Some rails modifications 6d9ae0c Don't dump out debugging stuff. 342a4a6 Don't symbolize the param names 56098ca Rename some stuff I missed when it was reverted b5fd822 acts_as_taggable plugin 98ebb87 Moving the mount provider tests into a subdir, and fixing the basedir calculation in tests so it does not matter where the test is called from 8714e14 New rails stuff redux. 026ec4f Small changes to the test rakefile. This rakefile still is not completely satisfactory, as I cannot use it to load all libs but only run on test method, which is often important when trying to track down a bug that only occurs when multiple files are loaded. 8be0d33 Fix service.list, in particular for the redhat provider 29ded01 Fixing painfully difficult to find bug in defining exported resources 72f8b32 Reworking the package tests. Now providers are tested individually f5e7915 Rewriting the test rakefile so test directories can be more than one directory deep. This will be particularly useful for providers. 40c0905 Fix up the filelist for gems, so that all of lib/puppet gets put into the gem, not just the top-level .rb files c35988a Another round of bug fixing. Now everything passes except mounts, at least on OS X. ab60452 Fixing the next round of bugs, mostly little things but I had to modify transactions so they are willing to delete implicit resources even if they have dependencies, else we would often not be able to purge files at all. 3937aa3 Never default to rpm provider; use up2date on RedHat. This also works on RHEL5, which does not have up2date, the provider properly fails over to using yum c763346 You can now use the "resources" type to purge resources. I still need to modify transactions so they do not purge resources that have relationships. Also, apparently the noop metaparam was never actually working; now it is, and there is a test for it. 64d96e9 adding a note about facter to the faq e96049f Change the filelist slightly so that the externally-included lib/rake doesn't end up in the gem 8829aa7 Adding a metatype to manage resources of a specified type. For now, this metatype just supports purging unmanaged resources. Also, fixed a few tests here and there 4abbdc1 Working some on the export/collect problem. It actually works now, but there are not yet sufficient tests for it, so I will leave the bug open until we have got the new work in place. I also added a "rails" feature, so I do not have to keep testing whether ActiveRecord is defined. 8fee538 Adding a short note on variable interpolation 8accd80 Adding a bit of clarity about file locations dd1c4b9 Add a task to build Debian packages more-or-less 'directly' out of SVN. 01fecb1 Add external Rake task file as an svn:external, and modify the Rakefile to add lib to the load path b3eb9f1 All tests should now pass, with the possible exception of some tests that might fail when all tests are run in one process. e287d1e Almost all tests now pass. I have basically reached the point where I was 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. 37a059b Most tests now pass in the whole system, but there are still about 8 cases that do not work. I am working on those now. 374c830 Removing the explicit load for most types in type.rb 8aebdfc Removing the reference to the symlink type 2d43580 Most of the graph handling is now done, and all of the recursive types (basically just file, tidy, and component) now correctly use the generation mechanisms in the transactions, instead of sticking them in their @children array. Now I just need to go through the rest of the tests and make sure everything passes. d3b76d6 Removing the symlink type finally. cdd1e6e Another intermediate commit. Most of the graphing work itself is now done, but I am in the middle of converting files to use the graphs and at the same time am writing some actually decent tests for the file recursion stuff. 01e5b69 adding note about --no-client 8ff90ef Fix bug in example code: all resources now must have names f3a0c48 Most of the graphing work is now done. I have also added the generator work in transactions, but I need to migrate files to using it. Until that migration is done, files will not work correctly for many cases. a7354d0 Fixing link to fsconfig reference ccd7b58 Intermediate commit -- I am ready to start pushing the graph stuff into the types and transactions, which will break everything for a little while. c301b1b Make spec file work for Fedora < 5 and RHEL < 5 3e3f70e Adding GRATR and the beginnings of graph integration. 34c89b0 fixing typo b3c3de2 Fixing #342. Classes needed to have their namespaces set to their fully qualified names, so that contained code and definitions looked for definitions starting with that fq name. 4076101 Fixing mount tests after fixing the backward compatibility 185ba8c Fixing backwards compatibility in mounts -- they were not correctly copying the path over to the name 5f5417a Fixing #347 (I hope). Doing a provisional require of rubygems. c369e40 Fixing #346 -- on some scripts I accidentally used "feature" instead of "features" c3c5851 Fixing configuration storage -- there was a check being done that caused false values to get converted to nil values, which failed in the database 25d563b updating syntax matcher to highlight dollar signs in prototypes 60af8e2 Updated to version 0.20.1 e313a26 Updated to version 0.20.1 68d9e78 Updated to version 0.20.1 7d46167 Updating changelog for 0.20.1 7fa96cb Another small fix, just for solaris db5d9d4 Another testing fix 0efa969 Fixing more tests 5d2f954 Fixes to the test system, and a couple of small fixes to the main code. Also, disabled the "port" type, because I cannot seem to model it correctly. f8b9e86 Fixing a small syntax error in the port provider 35de0e3 Temporarily reverting all of the recent rails work so that I can release 0.20.1 26b32b9 adding svn keyword to notify type and reindenting e936fcc Removing the caveat so that the log message is always provided during a run. b2e98b1 Fixing #339 for real this time -- fixing the log message 1bf97cd Fixing #339, and the bigger problem it concealed. Metaparams are now only added to resources that do not explicitly set them. 50d28ef Applying patch from #335 0a35c34 Removing some debugging, and trying to track down a bug where symlinks get recreated for now reason ff06a8d Ported sshkey over, yay. 4e96031 Adding a NetInfo provider for hosts. Yay! 064ddbc Hosts now work again, and it should be straightforward to create a netinfo provider, too. bb80c1b Ports are still broken, but I need to work on something else while I am thinking about how to fix them. Stupid /etc/services. 25b575f adding a comment to namespaceauth.conf b2a49c9 adding up-to-date example configs 4d5f70f Trying to get a netinfo provider for mounts working, but i give up. I am leaving it in place but marked as highly experimental. bd169b4 Mounts work again, at least with the parsedfile provider. I still need to create a netinfo provider, but it should be short and easy. And, painfully, I still need to port the other six or so subclasses to this new provider. 138150d Doing some refactoring in how state values are set. The primary motivation was to provide the ability for the "newvalue" method to specify whether the provider should still be called, and if so, in what order (e.g., before or after). 5685013 Fixing the state class so that blocks are optional for values. This is useful for cases where you want to specify values for validation but you want a method called on the provider instead. 0643113 An intermediate commit. All of the classes that use parsedfile are assuredly broken, since I have basically completely rewritten it. These classes have been a thorn in my side almost since I created them, yet they have been significantly less functional that I wanted. So, I decided to do the rewrite I have been putting off, just to spend all of the maintenance time now so I do not spend 3 days on them every release. 7c8614b Adding module for parsing files. This module is only included into the parsedfile provider base class, but it is cleaner to have it broken out like this. f9d6213 Fix silly regexp mistake where lines with values containing '=' were parsed improperly. b44ebe2 Fixing some warnings 9f8849e Mostly small changes toward 0.20.1 10634d6 Fixing #324. Mkusers was not specifically ignoring the root user, and it is now. 349e2aa Updating docs with correct links for the doc restructuring, as mentioned in #322. 5a4f807 Fixing #326 -- parseonly now just creates a simple Master without opening a port cbb4578 fixing #327; debian packages now correctly register their "latest" status 87fd075 Adding a simple report that just duplicates client logs onto the server 10c860f Slightly more doc updates 114cd8a More doc updates -- I moved the doc headers into separate files, rather than having them in the code b14982a Small fixes here and there. The rails changes needs to be pushed through the collection code, so I am committing so Blake can take a look at that. aa2da58 Updating docs f438bab Refactoring the doc generator a big 1f548f9 Updating documentation 87aea8b Fixing rrdgraph report (as marked in #334); also, expanding the docs on all of the existing reports. 51882d9 The new rails files. cf166c2 Rails stuff part 1 28c283c Fixing some sticky problems with checksums when just using the "check" metaparam. 744ded3 Merging the code over from the oscar branch. I will now be doing all development in the trunk again, except for larger changes, which will still get their own branch. This is a merge of the changes from revision 1826 to revision 1834. dc4d980 Syncing up with FE repo specfile (only mandatory changelog entries) 033de88 Making some documentation changes e741b7b Fixing some Class.to_s handling 0930b5e Mostly rewrote intro doc 71924ad Updated to version 0.20.0 a488dd9 Updated to version 0.20.0 4688d93 Updated to version 0.20.0 f9f939e Updating changelog for 0.20 e3b4f23 Another round of bugfixing, including finding out that the tagmail report was leaving zombie processes lying around 07f616b A round of bug-fixing on OS X ed38ba4 Doing some work on the DSL. It behaves a little more like the real language now, although overrides use the same syntax as normal resources, and there is no facility for specifying defaults 7b34e25 Another round of bug-fixes in preparation for 0.20.0 ead49c6 Applying patch from #318. 7261cbb Applying patch from #319. 3a6683e Changing the realize() function to be just syntactic sugar for a collection -- it literally creates a collector object now. The benefit of this is that it is late-binding, so file order does not affect whether a resource is available. 05080ff adding docs for virtual resources a05b8f5 Adding a "realize" function that can be used to make one or more resource non-virtual. It is just syntactic sugar for a collection by title. 8a4bf1b Hacking cron so that it works even though I have changed ParsedType. The whole stupid thing needs to be rewritten from scratch, but this is the best i can do for 0.20. d77d6d4 Adding prefetch of providers to transactions. Nothing is using it yet. I wrote it for cron jobs, but it is too much work to fix this for cron jobs right now. f1ebef0 Fixing virtual object collection. I apparently broke it when I added rails collection back, and I never created any end-to-end tests. 52105c6 Fixing doc generation for objects w/out their own docs 1d35f28 Fixing a bug that only occurred if a defined resource was already defined in memory. ada7777 sshkey now uses a provider 95f2fe7 Ported mount over to using providers 86dae84 Fixing ports to now use a provider 7e488b2 Working on migrating the parsedtypes to using providers for the parsing aspects. This just converts the hosts; I will convert the others next. This is all work from the sync-retrieve-refactor branch, modified to work with trunk. ce4c494 Fixing puppetmodule to use env to find ruby 0472b24 First batch of fixes from running tests. 5ddbc36 Fixing sbindir path, thus fixing #302. 29ff4f3 Switching from calling "up" on the migration directly to using the "migrate" method. It is still not checking versions or allowing external forcing of migration, but it is a start. b4ebe76 Rewriting nearly all of the tests for the tidy type, and redoing the internals of the testing. 9e5ea8c Fixing the test scripts so that the library path is modified in ruby instead of in the env line 72688e3 Fixing gennode; it was not actually adding the class code to the generated node. 816c5ce Adding a ruby header to all of the tests so that they can now be executed as normal ruby scripts. Using multiple commits because I am having some svn problems. 1d56ca6 Adding a ruby header to all of the tests so that they can now be executed as normal ruby scripts. Using multiple commits because I am having some svn problems. 624eddf Adding a ruby header to all of the tests so that they can now be executed as normal ruby scripts. Using multiple commits because I am having some svn problems. 67704e7 Adding a ruby header to all of the tests so that they can now be executed as normal ruby scripts. Using multiple commits because I am having some svn problems. 0859da9 Adding a ruby header to all of the tests so that they can now be executed as normal ruby scripts. 1020c04 Making all test suites executable, adding some tests for handling changing files from one type to another, and fixing #304. The problem with #304 was only occurring when backing up to a filebucket (I can only think the example code was wrong) dad596e Fixing #291 -- the problem was that instead of throwing an error on a missing server, puppet was just exiting. 9a8636c Moving all of the configuration parameters out of puppet.rb into puppet/configuration.rb, and adding a PATH setting as requested in #307, although it does not include a default. 86b3386 Adding the ability to have hooks for configuration parameters. This will simplify things like setting the shell path. 32deb3f correcting warning about spaces before parens c48f68c Adding patch from Jeff McCune, #317 9bd5593 adding explicit load of ast/branch to its subclasses b9ed053 Format tweak for fact tutorial. 5403a91 Adding a summary of using facter and using imported facter facts with puppet. 90e4c7b Adding some documentation to the programmer's documentation introducing the concept of providers. f545350 Adding some documentation to the programmer's documentation introducing the concept of providers. 7b75590 New documentation hierarchy: fixing indexes. db24e17 New documentation hierarchy: fixing indexes. 628f6c9 New documentation hierarchy: fixing indexes. 9c01560 New documentation hierarchy: adding indexes. ba33249 New documentation hierarchy. da7cb9f New documentation hierarchy. 7b0e528 I was stupidly creating an error but not raising it. 29cce30 Moving methods around so they are alphabetical ed89572 Committing the metatype branch -- this is just splitting the type.rb code into multiple files for readability b4fd8d1 Catching missing ldap correctly in puppetrun b5344f2 Fixing the problem reported by Adnet Ghislain where facts do not load on later runs. 8f9264b Fixing code from [1754] -- I stupidly did not even do a parse check, and I had to refactor the patch because parameters do not have code associated with their values. 94484df Applying patch from #234 from David Schmitt. This is also untested, and the patch is slightly modified. 4a8c5dc Adding modified patch from #256 -- apt now uses "responsefile" for the preseed file. This is untested, though, since I do not know how to test it. a7c88e8 Adding patch from #308. 08900a4 Fixing #298 - refreshonly now correctly deals with specified false values 133c17f Fixing #305 -- logs now reopen when Puppet restarts, and there is also now an autoflush mechanism available so logs will flush to disk immediately. I also now trap USR2 and reopen logs when it is sent, so if you just want to reopen logs you do not have to restart the whole process. c3cc162 Fixing #309 -- files now correctly replace any number of slashes with a single slash. Also, trailing slashes are removed, since that is how Puppet expects to find files internally. c8ea361 Fixing #301 -- s/logfile/logdest/g 1c6cb60 Fixing #310 -- users no longer autorequire their homedirs, and files now autorequire their owner and group. 34f8337 Refactoring reporting. Reports are now modules instead of simple methods. 5b6ee8c Adding a "genmodule" equivalent to classgen, which we will use for reporting 1cdbe52 Added a section about testing. 96aabac adding id tag to tags.page d532ea8 Documentation edit addfe16 Adding a document to outline the use of tags 0716c83 Expanded documentation for rrdgraph report. 675495c Many, many, many performance improvements in the compiler (I hope). I did 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. ab0141a More specific configuration and argument documentation. c7a7381 Documented signals the puppet daemons accept Documented host type to make it clear ipv6 is supported aea6eaf adding id tag to reports 8f058a0 Fixing the rrdgraph report so that it creates a separate rrd directory for each host b892093 Fixing weird case where the default node is in one node source and the real node is in a different one 06a7d34 Fixing ldap nodes -- they were always returning true because i was returning an empty array for missing nodes. 2489764 Changed document priority. c1afdec Another minor formatting fix. c9f6113 Missing tick. d72c970 Adding some documentation on reports. 8a8191f updating install docs with new suse pkgs 1213d60 Removing some left-over debugging 28cee40 Merging the changes from the override-refactor branch. This is a significant rewrite of the parser, but it has little affect on the rest of the code tree. e0e2913 Renaming logfacility to syslogfacility as recommended by lutter. 30fa686 Adding configurability to the syslog facility, using the "logfacility" parameter. da0c862 Do restart as stop + start, since sending HUP to puppetmaster doesn't work (see trac #289) ee76231 adding links to the real deb pkgs dc6d426 Comment out the setting of PUPPET_LOG, so that puppetd uses its default 6e6cb8f Messages will now be at current loglevel, regardless of whether the object path is displayed. 30f9fa3 Added parameter 'withpath' to toggle printing of the object path. 8cc3c8a adding a note about single-quoting node names 5da80db - New type Notify for sending client-side log messages f53b9b0 - New type Notify for sending client-side log messages 04c0c14 Changing warnonce to Puppet::Util::Warnings.warnonce. 8214c48 Fixing suidmanager so it uses warnonce instead of using a variable that only existed in Util de304e5 Rephrased a short section about finalizing the object dependence hierarchy. fee5116 Fixing reported problem of crons rewriting every time when the environment is set 244a11d Fixing what I hope are the last batch of problems caused by the addition of the suidmanager module. Also fixing a couple of other small issues that somehow cropped up. All tests should now pass again. 674841c Just fixed some RCS/CVS id tags. 98028ce Adding flush functionality as requested by Scott Seago fd9b2f6 File types were dying silently on OS X when the group specified in the manifest was not a valid group. db7d784 Fixing SUIDManager#asuser so that it only resets egid and euid if they were changed dfef7e1 Adding a note about another error d888d9e Added some documentation to the security page to offer some example invocations useful for generating/signing certificates for clients and servers. ab225aa regenning configref with the fixed spacing b4970a9 Expanded documentation of command-line arguments for the puppet executables. (Tweak) cc08e2f Expanded documentation of command-line arguments for the puppet executables. 008a138 Expanded documentation of command-line arguments for the puppet executables. f2ac4dc Updating changelog for 0.19.3, and merging the version changes over. 68016a9 ! rename file because rake_test_loader is dumb. 287b18c + New assertion: assert_uid_gid will check that the UID and GID have been changed to the proper values. This uses a fork and a FIFO to achieve it's checking. ! nonrootuser and nonrootgroup now only return users/groups that are less than 255, due to the "Darwin debacle" ! many, many, many fixes for suidmanager. This is rather embarassing. 55f2873 Merging the fix to server/master.rb 3aac2e1 Some small housekeeping things that I saw while doing other bug hunting 48082a1 adding note about the irc channel 515f3cc Harded-coded pathname to OSX's ssh_known_hosts as a work-around until the ssh pathnames are user-configurable. 7b5604b Adding some test reports 6f11dee + Puppet::SUIDManager - This replaces all calls to the built-in ruby 'Process' library for uid/gid/euid/egid operations, including (not surprisingly) Puppet::Util#asuser and a method to run commands and capture output. This is due to many inconsistencies (through bugfixes) between ruby versions in the 1.8.x branch. This is included in the core puppet library and can be used by all puppet types and providers. ! Modified Puppet::Util#uid to check (and warn) if passed a nil value. ! Changes to use Puppet::SUIDManager instead of Process and relevant Puppet::Util calls. ! Removed Puppet::Util#asuser. 320ac38 Updating CHANGELOG for 0.19.2 8f9dcb5 Updated to version 0.19.2 595d5ba Updated to version 0.19.2 6902f2d Updated to version 0.19.2 164c18f As requested by Christian Warden, triggering an object now results in an event, which can result in further triggers. 98004b2 Adding some error handling for when a non-existent report is asked for, and adding a bit more testing. a1e27bc Adding trace information to autoload.rb 0bd3055 Switching Autoload#loadall from using "load" to using "require", so it will not reload already-loaded files. Also updating the checksum docs a bit. eecc7cc Fixing error in tagmail when there are no messages to report a468c15 Disabling a test on solaris, since apparently sh on solaris is different than everywhere else 64a3392 Small test fixes in preparation for 0.19.2 d35d04e Adding class list method to group. Also added a test to verify every type responds to "list", but it does not pass right now so it is disabled. 9afdf1f Adding an Autoload instance to Type.rb so that I can load all known types for documentation purposes. And, of course, loading all types in puppetdoc. Also updating zone.rb to fix markdown's stupidity in trying to interpret the ERB template, and adding some timeouts to puppettest.rb 1ae4344 more fixes to the zone examples c8c3ee9 doc updates 2e17e4a Doc updates 9bd69c4 Typo: As stood had "remove" for "remote" fcf16f7 Fixing #245, opened by marthag. 1ad76d1 Fixing #278, opened by Digant, with patch. 5faa45d Fixing #274. I just set :ensure to be :link when :target is set. 62abbd5 Fixing #283, opened by luke. ea4b9c8 Fixing #285, opened by ericb. c99843a Fixing #288. 2b27289 Fixing #293, I think. The problem was that the groups state was not correctly passing strings in all cases, which caused some very strange problems internally. 0870c5c Fixed a minor typo dc8fb0a Fixing #292 (A bug in tagmail that causes any tag other than 'all' to fail) and #277 (tagmail report missing To: header). afed9a1 adding an extra make target for debugging, rather than defaulting to always creating the debug file e88bf77 Rake::TestTasks were running the test suite inadvertantly against the installed tree instead of the development tree due to a botched "libs" setting. bc15e04 Fixing provider commands and Util#execute so they always include the command output when possible, as mentioned on the list f0a9345 Regenerating docs, and correcting some markup mistakes 62917fc Small update to the fileserver tests; it was apparently not making some test dirs correctly 3891f48 Converting to using the Rakefile for testing. The old 'test' script is now deprecated, and I'll send an email to the dev list and update the docs to reflect that. dcab464 Reworking test/lib structure a bit, and renaming all of the files so that their file names match their module names abe1d3c Fix trac #282 (Change URL to configref, mention --genconfig) 7030aca Small modification so i can make more changes 6a1b43a updating changes from the trunk 6747b6a going through all of the other providers and making sure any reference to a state uses the :should value, not the :is value. 69d4083 Fixing case of silly states on os x, where files are owned by "nobody" and File.stat returns a huge number. I thought i had already fixed this, but apparently not. I added a test, and it is definitely fixed now. 8cbe19f Fixing the same bug in the netinfo provider -- it was retrieving the "is" value instead of the "should" value 6137812 Fixing #280; added a warning and exiting if no hosts are specified to clean 533a022 applying patch from #275. aptitude -q works fine on my testing release, but apparently stable does not support it 94f5865 Removing the no-longer-necessary type/nameservice info -- it is all in the provider tree now 94762e1 Trying to fix a bug where files other than site.pp do not get noticed for reparsing 176d483 Add config option 'node_name' to control what puppetmaster considers the proper name of a client (name in the SSL cert or name uploaded with facter) Default to name from the cert fd4ef3c Better documentation around certificate revocation and mgmt c8a6df0 Updated to version 0.19.1 ee8b8c7 Updated to version 0.19.1 6f85511 Updated to version 0.19.1 0e58f65 Updating changelog for 0.19.1 4a3c8d1 Adding testing for the default? method, and fixing it to support arrays and returning false when no defaults are specified 48992d7 Using the "trace" configuration parameter to determine whether a stack trace 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. cda7253 Adding patch from #235 5219205 Fixing docs, as mentioned in #271. c04cb13 Reverting the work done in [1605] and [1606]. I have added it as a patch in #271. 08499b1 Adding the feature from #259. I had to rework the Scope#lookupvar a bit, but everything now works as expected when variables are either undefined or set to empty strings. 26bf373 Applying patch in #160. e46d007 Fixing #262. I somehow lost the line that only added a given user's jobs to each tab. 0af8ad7 Removing a test in the parser that is no longer necessary because of how imports work now, and fixing a snippet not to interfere with a local fact 5669d1b This commit adds two important features (but which probably were not worth the priority I suddenly placed on them). fbdd6c4 Specifically rescuing Exception, since apparently the default does not rescue LoadErrors and everything else 349bddd collecting output from blastlist, for later use 4cd37ad Merged test framework into trunk - still not ready until tests are converted to use it. 4897995 Fixing the "Adding aliases" message, so it is clear when an alias with spaces in it is used 6bb4814 Fixing #267. The problem was that the user provider was retrieving the @is value instead of the @should value, because it was using [] instead of the should method. I fixed the FakeModel to behave a bit more like real types, so that it keeps track of the is/should values, and also to keep track of which attributes are valid, since I immediately ran into another problem stemming from the use of the fakemodel. e5aa761 Updating changelog for 0.19.0 2c57173 Raising element creation errors up outside the "create" method, so that tests can more easily tell when an object is invalid. 16d9d6f Fixing spelling of retrieve, to fix ##268 3b8c9ff Fixing #269. I was aliasing every case where the title and name were different, where I should only have been aliasing isomorphic types, which does not include exec bf5d0bc Catching all errors encountered during loading, not just LoadError, to fix ongoing problems with rdoc/usage. 64eb1e8 Let puppetd listen (when given --listen) without a CRL 5e2091b Brute force fix for trac #266 37c9633 Fix test_host_specific to not depend on the path of the test directory and reenable it aa56185 Expanding the Fedora/RHEL instructions some 47dc290 adding note about david's yum repo 8ff418c Fixing the problem with fileserver expansions, and doing a bit of refactoring to make things clearer cf5291a Fixing the interpreter to nodesearch across all listed names, just like is done in the manifests. Also fixing a comment in type.rb ca6ac62 fixing typo 0527426 adding gentoo notes 3e1b6bc Adding a :trace config option that prints stack traces of DevErrors, and using that in DevError instead of :debug 95269bf Adding test code for providers that makes sure the default and confine mechanisms work internally. 09f264a Add config parameter ca_ttl and deprecate ca_days; ca_ttl makes it possible to generate certs that are valid for < 1 day 130b245 Use Pupet.warning instead of nonexistant 'warning' a5f4f53 Fixing #261. Applied patch, with small modifications. 0c0936b Adding a module for helping with warnings, starting only with the "warnonce" method af1de89 Sync with FE repo c651b19 Disable the sample fileserver module by default, otherwise users get spurious warnings about nonexisting directories 65bb635 Updated to version 0.19.0 61e42e7 Updated to version 0.19.0 12b219e Updated to version 0.19.0 e309b76 Modifying the provider base class so that it defines a method for every used 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. c5ce953 Adding aptitude support, including a new util::package module that provides a method for package version sorting, and a couple of smaller bug fixes. This fixes #237. 2113eed Adding hasrestart parameter to services fcc5bae Adding an "env" parameter to exec, for providing extra environment settings, as requested in #236. 8310c9d Adding a "withenv" execution util method, and using it in :exec for path handling. Next will be other env handling. f8254c6 Fixing #230. If the first line in the cron tab, before the header, starts with TZ= then the header will be inserted after the TZ line. fa16a92 Fixing small bug in cron where removed fields are not deleted from the file e28250d Adding further gentoo support -- finalized portage support, plus conf and init info for puppetd 41c9081 Adding the Daemon module back into the Client class, which fixes #247. 46fbf95 Adding an "ignoretags" attribute to transaction, and setting it for downloading plugins or facts, and for creating config directories b303e8d Adding the ability to download facts from the central server. This allows facts to be available before the configuration is compiled. b36df18 A small fix to the install/update aspects of packaging. 47c86e5 Fixing the package type so that :ensure is always used for version specification, rather than :version, which is now deprecated. This provides much more consistency. I have not tested on all platforms yet, but I want to enable testing on Gentoo, also. 19992f7 updating documentation for how to specify versions 7eed92e Applying a patch from Jose Gonzalez Gomez; apparently this makes package updating work 40b2ed6 Adding portage support again, since it was added in the branch i reverted 617fe58 Removing all of the changes I made towards refactoring in the last couple of days. They have all been moved into the sync-retrieve-refactor branch. This branch will soon become 0.19.0, and will not include that refactoring. 8f39318 Committing a small amount of work in cron. I have decided that this is too last-minute, and not important enough to hold up the release. I want to get this refactoring done, but it is clearly not the 4 hour job I hoped it was. It will have to be in another release, I think. b43b489 Committing functional mount support. All that's left in this chunk of work is cron. 639ed3d Adding first version of the portage provider, as contributed by Jose Gonzalez Gomez 655881c Ports now work with a provider daa79e2 Intermediate commit; ports are not working yet b657850 Fixing SSHKey support. 270f444 Beginning the process of moving parsedtypes to a provider. Each parsed type will have a parsedfile provider, which will be responsible for all of the file parsing and generation. This should allow us to create a useful DSL for file handling, but it also *drastically* simplifies these types. b9b3384 This is the initial commit of the changes to sync and retrieve. The structure itself is now in place, and a few of the types (the most complicated ones -- file, user, group, plus exec since it was my easy first test) have been converted. 3733034 Renaming parsedfile to loadedfile, which makes much more sense and reduces some naming conflicts a887993 Adding Gentoo support from #224. c626796 Adding eat-last-line support in ERB a115050 Adding pre- and post-hooks, as requested in #233. f797487 Fixing #239 -- missing checks now throw an ArgumentError. This will break if any command purposefully returns 127, but that would be a bug anyway, I suppose. ff18e55 Adding support for file purging, as requested in #250. Any unmanaged files in a purge-enabled directory will be removed. 18320ee Adding a "force" parameter in files to fix #242. Currently only used when replacing directories with links, but should probably be used in other places. 7fd5b6f Specifying true/false allowed values for file[:replace]. 8cbe1d3 Adding logcheck script from #244. 2cb2e03 Applying patch from #251, and switching "confine" to "commands", so we can document the command requirements. 712e157 Adding SuSE files from #252. 42812f8 Applying the patch from #253 plus tests. fd86428 Updating templating docs with more about usage, and adding installation notes about ruby segfaults on Debian f587d88 Adding note about configprint, indicating what versions include it 989716e Adding zone patches 96350b2 Fixing #257, where host aliases were not being retained. The problem was that the "should" method was returning an empty array if it was not set, and it should instead return nil. 114debd batch of small bug fixes 2802b70 Making sure that the svn bin directory is at the beginning of PATH, rather that at the end, so the svn-versions of the exes are being tested. b086280 Removing type/provider references on type removal 053f37c adding notes about the libruby deb package 77783e5 disabling reporting until i can find a way to make reporting only work with puppetd, not puppet -- clearly puppet should not try to report 199f5b0 Fixing the state so it tries to call provider methods and only checks for errors, rather than checking with respond_to? b6b9d0b Setting both "report" to true by default; I am going to enable pluginsync by default once I have plugins well-documented 02b8b13 Fixing array printing in to_manifest 29edb14 Fixing service refreshing -- there was a problem persisting from the provider work 14d64dd downgrading the template interpolation message fa0446b Adding back in the code to change the euid. I removed this yesterday because I thought it was redundant. It is absolutely clear that I need to add tests for running as separate users. 6f175ce Adding automatic stacktrace printing to deverror. I need to go through and remove the redundant puts in the rest of the code, but I need this now for some client debugging a46a620 disabling chuser on os x, since it is broken with < ruby 1.8.5 a53d840 fixing provider commands; I broke them when making them easier to document 0f231b8 Skipping blank lines and comments in autosign.conf 9381d5f Fixing report lookup so it looks up by name, not method 948c96a Changing autosign mode to 644 762599b Fixing tagmail config processing so it fails when appropriate 0674c9a Fixing reports error reporting a6c38b5 Fixing location of ca cert 04b2557 Fixing report autoloading; I was calling the wrong method, and they were never getting loaded 47dbf82 Upgrading Triggering line from info to notice d45d22b Adding a module specifically for making doc generation easier, and adding defaults info to provider docs. e1aff4c Last commit of puppet docs for the night b9ad604 Modifying providers so that docs generate better 9b526ba Adding provider docs for required binaries 6aaeb05 Updating generated docs 5395e23 Adding pointer to templating docs into the file[content] documentation 8dbca3d adding notice that "$" is now required in definition prototypes 333c229 adding first draft of templating doc 628896b Adding a "configprint" option for printing out the local config state 9f7621b Adding a little more validation to the schedule, and documenting the source search-path stuff in files ad32b71 Tracking down some weird bugs that managed to creep into the parser. I expect that the main ones were a result of the If support. db0be8e Committing some changes to the %h expansion in fileserving. This change makes the expansion entirely isolated in the Mount class, which makes it much easier to test. Also, switched the fileserver config to use ParsedFile, which makes it a bit easier to understand and handle reparsing. a44b1dd Committing the other half of the fix for #231; oops ed15471 Fixing #231. 55d3fb8 Support for %h and %H replacement in the path of fileserver modules. 2540cdf Demoting the xmlrpc access logs to debug from info 38a184e Changing permissions on the cert file and the ca cert file, since it is no problem for them to be readable and sometimes it is required b612a15 Try this; seems to work for machines with both ActiveSupport installed and not. MissingSourceFile is an AS thing, though it subclasses LoadError. 8fcec23 Adding up2date support, as submitted by Kostas Georgiou (with some modifications to support providers). 9576d1d Certificate revocation through puppetca. Keep a simple text inventory of all certificates ever issued. 4151fd5 Committing definition inheritance. I have not yet written tests yet, but my last commit pretty seriously broke some things without me realizing it, so I wanted to get this in. 1b2ee4b Adding "if/else" constructs. No operators, no elsif, but it is a good start, anyway. ea32a38 Function autoloading now works as requested in #214. bba972f Adding warnings and error throwing for #218 -- metaparams in prototypes are treated specially. a1d71d9 adding faq item about ipv6 support 6e4d4c9 Accepting patch from #220, thus fixing the bug. e322161 Fixing #225. Normal file copying worked with spaces, but recursive file copying did not. I modified one of the support methods so it works now. bf43c76 Fixing #228. The real problem was that "present" should match any type of file existence, whereas it was just matching files. If the file was a directory, as in this case, Puppet considered it to be out of sync. Now, "present" matches files, links, or directories, but still creates an empty file if the path is missing. aee1c6a adding cookbook into to the docs index page 7ade561 Support for certificate revocation and checking connections on the server against the CRL c6fc6c5 Adding a link to the cookbook b2031aa Making some of the metaprogramming a bit more explicit and a bit easier to manage. In the process, I have created multiple Util modules, only one of which is used for this current commit. beba3e4 Finishing changes to support titles instead of two types of names. This is basically a bug-fix commit. 607d7c6 A first pass of changing one of the types of names to titles. I still have to fix a lot of tests, but the core itself is now working. 12452ee Merging r1468 from the implementations branch with r1438 from when the branch was first created. 4d6120a Committing changes that require dollar signs in prototypes abaeb86 removing classing example, since it involves parameterized classes e684cd3 Adding some documentation for the cfengine module 1eaf1bc Fix problem when --fqdn is used e6aa4ab documentation updates, pointing to the suse yum repository and specifically mentioning package locations 0e862a3 Fix shebang lines in executables 450b495 Added comments to stay in sync with the spec file checked into Fedora Extras CVS d6fc1b7 more ordering info 89b4dfd adding ordering information 7957ce0 fixing puppetdoc to add ordering info f974ffc Fixing the master server so that it always uses the Facter hostname, not the cert or IP hostname. eb8c687 updating links after a link validator 257fb78 fixing faq links 3ef4663 adding DSL class. Sorry, not much in the way of docs. 31b1d0b fixing more doc links b2f1aa0 doc updates b8bf113 Updated to version 0.18.4 94cc68b Updated to version 0.18.4 ce95ee3 Updated to version 0.18.4 f13c451 updating changelog for 0.18.4 cdeccab Another batch of bug fixes, this time focused on OS X patches. Looks like I did not test on os x last time. b42eaee First round of bugfixes in preparation for 0.18.4 9e61510 Fixing #77. As I feared, this was a pretty complicated fix; I had to add a lot of infrastructure to both ParsedFile and Config. All config files now have a timer created for them, and by default they check for file changes every 15 seconds. If there is a change, they get rid of values set by the file (but not set on the cli) and set the new values, then the re-use all of the sections, so that any changed directories or whatever get recreated. 310b3a1 Adding timeout functionality to the ParsedFile class, in preparation to adding config reloading to the Config class. c8537a5 Apparently objects were legal rvalues, which does not make any sense. Fixed this, and added a test verify. 21ae8fb Fixing #185. Added a check for cdrom sources, and added an override parameter. 039abd6 Fixing #176. You can now do duplicate UIDs (or GIDs on most platforms) with :allowdupe. 2091edd Fixing #200. I basically just moved the daemonize statement before most other code. This makes things a little less nice when starting puppetd manually, since it might still fail and the user would not know without checking logs, but it is the only real option at this point. 76aec7c Fixing #202. Just bumped the log level to notice and changed the wording slightly 3cc3f66 Applied patch in #203 7228413 Fixing #201; users now autorequire extra groups ebd28e8 moving plugin evaluation into a begin/rescue block 8e25115 Fixing puppetdoc's output 041c07b adding all mailing lists to index 19e411b removing message about the statefile not existing 09e0792 more doc modifications c9640a7 Updating some docs, and renaming configuration reference page 40e2db3 All docs moved over now, and the real index page exists again 813d1c9 committing docs before i move all of them into a separate subdirectory f02f6f7 Adding Solaris SMF manifests and methods 0b90333 Fixing #191. I was only testing for parsed cron instances, not for created ones. aba3d65 Fixing bug in scope/interpreter where nodes found in ldap must have parent nodes. The problem was that the the scope was using the presence of a parent node to determine whether a node was found. Instead I added a flag in the arguments to "Scope#evaluate" to mark nodes as found. 01c8808 Adding a unit test for plain "nodesearch" 08650c1 fixing html markup e74b8af fixing html markup 8273f21 fixing index page in the docs b23b797 Updated to version 0.18.3 fe8ce26 Updated to version 0.18.3 a984a90 Updated to version 0.18.3 8063ab1 Fixing filebucket server so that paths are not added multiple times 1ab4594 Adding tests for previous config bugfixes, and updating changelog a6cc3e4 Fixing reports so that multiple host report directories can be created. There was a config conflict before. 73556a8 Fixing templating so it immediately fails when a variable is not found, as opposed to passing up the method_missing heirarchy, which was causing a nasty memory leak and some kind of weird, long-running search 1ec1b99 Fixing weird case involving interpolating config params in a URL 8f28c6f Fixing weird cases where configs might think non-files could be files b116ac7 adding sysidcfg param to zones a3849d7 Fixing templating bug that can result in what looks like an infinite loop, and changing default timeout to 2 minutes instead of 30 seconds 86a92de Reducing log level of missing file 7139901 Fixing error when template does not exist 3fbd06a Fixing misstated error name ExecutionError in blastwave packaging support 829c754 Fixing reports server so it refers to the main server 0acebb1 Default the passno to 2, defaulting to 0 is a bad idea since it disables fsck 44c54fc changing plugin owner to root 9be1e0b changing default plugin host to be $server a4a04fe adding rake targets 0c96fc6 Doc change: explain what the values for ensure do 67dab0e adding another state that is equivalent to "stopped" for smf services 8a10b08 Adding the newly generated docs e57f6e7 More documentation updates. I think this is sufficient for replacement of the plone site. 9b7f428 Fixing rakefile so it generates docs from markdown, and adding big-picture.page to the menu 70877fb removing faq.rst file fefe1c5 Updates; remove mention of patches from specfile completely f42666c updating changelog for 0.18.2 eff8d6e Accepting the patch from #190. 6b281ed removing cf2puppet from rpm bd9fd8d Updated to version 0.18.2 71036e7 Updated to version 0.18.2 aa87963 Updated to version 0.18.2 afe84ec small fixes towards 0.18.2 e17f4ed adding host information to reports and tagmail report 1503b42 renaming tagmail config file c3a8d45 Redoing reporting a bit, so that reports are now defined as methods. If they are not methods, then they cannot use return, which makes things a bit uglier. 3c22bc9 fixing some smallish bugs in preparation for 0.18.2 73569d0 fixing a small but important typo, and adding sunfreeware as a dupe of blastwave packages 87ce8ed Adding blastwave packaging, and doing some fixes on gem and sun packaging 2e78526 Some updates resulting from trying to track down a segfault introduced when I upgraded to 1.8.4-5 in Debian. I never found the segfault and had ot downgrade to 1.8.4-1. I expect it will not be encountered in real life, only in testing. e57c513 Adding Ruby Gem support to packaging 25cf31b Adding minimal update checking for templates. It will only check the templates that have been parsed in this process, but it is better than nothing. c899e23 documentation updates c1e0bc6 More report and metrics manipulations. This should be the last of it. 34e779f Significantly redoing metrics. There are now no class variables for metrics, nor no class methods for it. 24f07e0 committing tests for previous changes dea7e24 oops; adding transaction report class 70143d2 Trying to merge metrics and reports. There is now a separate transaction 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. 795ec70 adding a "thinmark" method, which does a simple benchmark with no logging 19b5d30 Accepting patch #189, although I am just putting the environment statement in the main part of the class, since there are two apt commands ff6562f Fixing #133. Added a "notify" and a "before" metaparam; notify is the opposite of subscribe, and before is the opposite of require. 9bb9e10 Fix a small bug in mount where parsing fails if dump and pass are missing (they are optional on Linux) Revamp the tests slightly so that they parse fstabs provided in svn rather than relying on the fstab on the system the test is running on. f792a02 Moving the template handling into a simple wrapper object so templates don't have full access to the scope object without some real hacking. 8b60619 adding some tests for the template function a6dc7f2 Adding initial template support. It is just a function, and a method_missing method on Scope. e47a987 First commit of complete reporting support. The only existing report at this point is the tagmail report. I expect reporting to get significantly modified from here, but it is a good start. ea91896 changing the #!ruby lines to #!env ruby 1677594 Adding reporting client, server, and tests. At this point, the server just stores the report in a file as YAML. 56a2845 Adding report collection to both statechange and transaction. d275489 Updated to version 0.18.1 35ef37b Updated to version 0.18.1 427831c Updated to version 0.18.1 7adafc6 For each type, adding a "new" method to Puppet::Type, so instead of typing Puppet::Type.type(:file).create(...) you can now type Puppet::Type.newfile(...). e8c57ae Cleaning up plugin handling a bit -- they can now be colon-separated paths, 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. d98ab11 Fixing zone tests 4985d8f adding message about retrieving plugins dec4053 updating CHANGELOG for 0.18.1 5471211 Moving the timer monitoring to after the services are created (because they actually create the timers), and adding a sleep statement to give the threads enough time to create the timers. ad1396d Fixing backgrounding in puppetrun; I had the bit flipped between the client and the server, such that setting --foreground caused the clients to go into the background. 5be3c10 Converting Parameter#proxymethods from using eval to using define_method b2304f1 Making sure fail function converts everything to strings c363af0 Adding "fail" function, which will raise a ParseError if it is encountered. 57a5a71 Catching errors thrown during object evaluation and marking the objects as failed. 506269f adding hooks for ignoring files in the plugins directory, and defaulting to ignoring cvs and svn files 7685957 removing that info message, duh; it produces a lot of spurious output during parsing c886194 Adding info messages about errors loading plugins 772ea91 Adding support for special freebsd @schedule crap. Also making sure that cron listing works as expected. 08f113c switching puts to print, so the carriage returns are always included in the messages bdd1761 Largely refactored how log destinations are handled, although it is not exposed externally. Most of this work is related to handling a large number of small problems related to threading. 73a4bcc Changes to make puppet package more LSB compliant. Update specfile for very latest Fedora ruby packaging guidelines. lsb-config.patch only checked in for documentation purposes, since changes are part of this checkin. 0411f74 Fixing some more small problems in puppetrun 31c17e4 Adding more docs to puppetrun, and fixing bug that can cause hosts to get skipped faab17b adding - to HUP in init scripts bb5366f Updating init scripts to use HUP for restarting 3c5b10d Adding a "latest" test for rpms, since I have been told this is not working. It seems to be working fine, but the test cannot hurt. 5cf2a4d Adding HUP and USR1 hooks 4a71706 Fixing #178. I just added URI escaping and unescaping to file names. f9a4d7a Fixing #175. The setpidfile setting was being ignored. d812840 Fixing #182. Added a retry section to try reconnecting to ldap. Only one reconnect is attempted in a given search, and LDAP produces bad enough error messages that we reconnect regardless of the error thrown. 46824cd Setting pluginsync default to false, and (hopefully) fixing autosign problem 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. 15905bd Fixing broken symlink behaviour mentioned on the list 0a1e847 Adding plugins and plugin management. The Master Client will now automatically download plugins if pluginsync is enabled, and they will be automatically sourced. edabf9e documentation updates 4df2583 More documentation changes. 8ad2008 adding id tags to all of the docs 58826ca further work on converting from rst to markdown b6a52b7 further work on converting from rst to markdown 3772aaf further work on converting from rst to markdown e891ffb updating some docs and puppetdoc in preparation for a move to webgen instead of plone 90e8ad8 removing the old rst index file 644fd4e updating docs to work with webgen f090760 Fixing my autorequire fix; oops 084a31d fixing autorequire message to include the object type bdb9110b Delete entries from the config file if their should is 'absent' 883921c Test that setting a state to 'absent' really deletes it from the config e841d8f Adding test and fix for empty execs being ignored 6ef3d88 fixing interpreter to initialize ldap in the nodesearch_ldap method, which really only matters for testing (since it is already being inited in the nodesearch method 662fcaf making links even if the target does not exist 0ab461b Updated to version 0.18.0 daac8cf Updated to version 0.18.0 8779dbe Updated to version 0.18.0 ae3dba9 updating changelog for 0.18.0 ead6b17 updating documentation for sshkey 20b0a6d fixing transaction tests to just warn when the user is not in more than one group, rather than failing. be92c44 Setting options and the facility for syslog 9a1b9ec Fixing some logging issues with puppetmasterd when daemonized with verbose mode on, and fixing ldap support when daemonizing c1dd0a1 Changing statechange noop message so it's a bit clearer 603a53c Just logging host failures, not exiting c1f0fb7 Adding fqdn, an --all flag, and --test mode to puppetrun f86357d adding namespaceauth and --listen docs to puppetrun 97c7342 Adding fixes for solaris zones 02d397c abstracting out ldap connections so that there is a single method responsible for all of them and a single connection can be shared in all classes if necessary 076e888 adding ssl usage to puppetrun 15da00c Fixing ldap usage when ldap libs are not available 4a5b886 removing extraneous debugging 7ed5560 Fixing installer; it somehow got broken with recent DESTDIR fixes fd8e080 Fixing #173. At this point, I am just calling both "--add" and "on", or "--del" and "off". This should probably be broken up into other states, but.... ef163ba fixing parallelization to match the docs 1dfd554 Fixing packaging to deal with the fact that yum exits with 0 exit code even when it is told to install a non-existent package. df340d6 Correcting puppetrun docs and fixing a test so it works with older versions of facter b4b3c27 Adding support for default nodes as requested in #136. ba4071c changing puppetclient schema to descend from top instead of iphost 07e0d59 Fixing #169. Tags are ignored during config. c380bfe Fixing the main bug reported on the list today relating to file sourcing truncating linked-to files. 90762c5 adding noop marker as requested ec0609d A round of bug-fixing in preparation for the next release. 9af5d69 adding nothing test to zone tests a6122e8 Fixing ldap node lookup. The test was set up badly, in that it did not actually provide a way to enable ldap node support, even though there was a config option that should have worked. All works now. 360a405 turning on output flushing edfaf6e Adding support for following referrals 555e1b8 Fixing #135. I was setting the object to the result of an include? test, instead of just "obj = ary[val]", so all but the first bucket-backed files were getting errors. 8ceb1f3 Found a bug where single-value selectors can fail on a second compile. Fixed it, and am now compiling all snippets twice. 4ca7ece modifying rakefile to specify the package hosts; they were previously hard-coded in the build library 09d2cd0 Fixing #168. Reworked the regex to allow matching TLDs. 1fc4ec3 Fixing #167. Started with the submitted patch and made a few more modifications, and added a regression test. c90d0b1 Fixing #157. Objects are no longer allowed to be their own parents, and there are checks in both directions to stop this. 7c358df Fixing #166. Function names are no longer reserved words. e73f2d4 Fixing #158. I did not add a force option, since I always back files up before I replace them. 4266f64 adding faq to docs d6d05d4 Fixing #154. Basically just accepted the patch that fixes master.rb and added a test case for it. 1cef8f5 Applied patch from #153. 2257d6f Fixing #155. It is now valid to have arrays with no values, although you will still likely get erratic behaviour elsewhere in the system, depending on what you do with this. 0e52409 Fixing #159 -- packages now have a default value for ensure (:installed). 3758bdb adding rakefile for the docs 1a93e6d copying all documentation from the plone site d84827e Committing largely complete Solaris zone support. I still need to add static filesystem support, but everything else should work. 73c5c58 removing one of the stack traces from error output 95f273e Fixing #163. Strings can now correctly escape dollar signs. a3ed629 Intermediate commit; most of the core zone functions now work, and some of the configuration functions work. 81ce66a Fixing node tests to handle comma separation 011e811 temporary commit so i can transfer my testing to a faster, sparc box add6b80 Fixing #160. Fixing the error in Puppet::Type#[]= and scope.newobject 76ff83d Fixing #161. Basically, AST::ObjectDef now catches when users specify a name as a parameter instead of the name before the colon and modify the results accordingly. This catches this kind of problem, and the normal name handling picks up everything else. b08816b Fixing #162. Node names must now be comma-separated. 2fcbc7f Adding an "execute" method to Puppet::Util, and including the module in element.rb 354b945 adding zone management stub; switching to my home vm for testing 98ad43a fixing destdir in installer, and adding solaris conf stuff 4cd3019 Did some work on making sure object removal actually works, thus stopping some potential memory leaks. Also explicitly removed objects in more places, again hopefully forestalling memory leaks. 45a9edb Reworking cron; adding many unit tests, and making it much more like a ParsedType (although still not quite the same). Too many of my tests were invalid; I think those are all fixed now, and it appears to work as desired. 3ab4a89 Small fix to include puppetrun in /usr/bin 62a0ff0 adding puppetrun to the red hat spec file fda013a Updated to version 0.17.2 3c15a28 updating changelog for 0.17.2 a08ca93 Fixing #138, all of it, I think. Environment settings are now allowed, although all bets are off in terms of parsing existing environment settings in crontabs. 69cf2fe Adding a small fix to cron tabs; they will at least parse tabs that have env settings in them, although you still cannot, at this point, set them. 0381cc1 slight ldap fixes in puppetrun d55adda First version of puppetrun. It seems to mostly work, but I need to test it with greater parallelization. 5671ce8 Added the last of the tests for the runner, along with the necessary work in puppetd to be able to start it. b3ea53c Adding a lot of structure to puppet.rb to make it easier to manage multiple objects in a single process, including making it easy to add threads. Added some testing for all of that. 93771b7 fixing user[:groups] management when the user is absent 738698c Updated to version 0.17.1 ed9adf5 updating changelog for 0.17.1 and 0.17.0 9b5de11 Allowing empty files 5382118 Fixing #146. I think I mostly just fixed the error message; I do not think there was another bug there. 89ce72f fixing stupid debian rails mistake dc3a6d5 Making sure file recursion works for all valid inputs 373afa3 updating version on spec file 4296b02 Updated to version 0.17.0 3be0f95 Wrapping the host storage into a transaction. It might have a slight performance improvement, but, ah, unlikely. 9d6166e adding a test to make sure that defaults get taken up by components a0bcf5a Adding code to try for the rails gem if the library cannot be found normally, and adding some protections in case there are problems 122e2bc only performing collection tests if activerecord is available 8f14c3f failing more intelligently in init if ActiveRecord is missing def5175 Making sure yum fails on unknown packages 2e9f1c4 removing extraneous logging d9fdd8e I believe I have finalized export/collection support. I still want to go through all of the code and s/collectable/exported/g (thanks to womble for that term). ba57dff I had to redo how the scopes handled collectable objects (which I will soon change to being called "exported objects"). All seems to work now, though. 22e70f0 Made a *huge* performance difference in storing hosts -- down from about 25 seconds per host to about 5 seconds on my machine. I will almost definitely still use forking or something to make this not affect the clients 637cc71 I appear to have object collection working, incredibly. This commit does the collection from the database up to adding the objects to the current scope, which is what sends it to the client. 9e9ef1a The "collectable" syntax now works end-to-end -- the parser correctly recognizes it, the AST objects retain the settings, the scopes do the right conversion, the interpreter stores them all in the database, and then it strips the collectable objects out before sending the object list to the client 8ed666a adding a few more fields to the host table 5863a03 Adding initial rails support. One can now store host configurations using ActiveRecord into a database (I have only tested sqlite3). Tomorrow will be the grammars used to retrieve those records for object collection. 0819e35 Adding some small changes towards fixing #140 and #83, but this work needs to take a back seat to object collection, so i will come back to it later. 678e142 Fixing #141. It was a problem related to the recent parser changes I made. 578cf7e removing some extraneous logging a2a4dd5 Updating doc system to add the list of valid values to the doc string, and tweaking a few docs. 710bf0d Slight modifications to package parsing on *bsd. It should be better about catching the version number, and unparseable lines are now just warnings, not errors. 9e77e7a It is just a snippet test, and thus a functional test but not a coverage test, but definition overrides officially work. This was important because it enables definitions to be collectable, which was not possible without the mechanism that enables this. 513b87a Preliminary commit of the first phase of the parser redesign. The biggest difference is that overrides should now work for definitions (although i do not yet have a test case -- i will add one on the next commit). The way this is implemented is by having scopes translate themselves at eval time, but in two phases -- the first phase does the overrides, and the second phase does the evaluation of definitions and classes. fe16f83 making a test to verify that the functionality womble is looking for now works bb60cab Making trigger logs much clearer -- you now get info logs indicating how many dependencies changed, and debug logs indicating what those dependencies are 88c3f7c Changing how events work. Events are now responded to inline, while an object is being applied. 7b7ac18 Changing default for pattern to include the binary if it is included f0aeaec require the very latest facter to avoid problems because facter changed iphostnumber to ipaddress e06c661 Small bug fixes 58cfd1e Fixing the problem that lutter ran into; the issue seems to be that Facter could not find the ipaddress on the server. 18de804 fixing log messages a7fadbe fixing log messages 43fdd89 Updated to version 0.16.5 64a58e4 updating changelog for 0.16.5 44f1579 Fixing a stupid bug i managed to introduce in 0.16.2 (probably) involving importing files with classes in them. This is a better solution than what I had before the bug, anyway. Also, some documentation fixes. a9df49d Fixing some naming problems with crons, and adding appropriate tests e8c912d Allowing dashes in class names, although grammar rules restrict it from working anywhere except node names or in tag(). They are valid in host names, and many companies have them in the host names; in fact, this fix is for a company with this exact problem -- they cannot use puppet with their nodes because all their hosts have dashes in the host names. 37d2850 Switching to just using "preserve" for file copying in file#handlebackups 8b0481c Updated to version 0.16.4 4b84ca9 updating changelog for 0.16.4 b67a19b Fixing #132, which involved creating a separate CA client and using it to retrieve the certificates. There was more work to do because of the weird client/daemon/server heirarchy. a435d07 Updated to version 0.16.3 3f08155 updating changelog 2faa447 Bug fixes from OS X for 0.16.3 5e246ab Hopefully final bug fixes in preparation for 0.16.3 cc5ce34 Fixing tests looking for pmap a1574a5 Fixing TransObject#to_type so that it does not modify the object being converted 7825f49 Changing test for service paths; only testing if it is a directory if it is present. 65f6656 Added some code that could be used later to make sure the user and mode are also copied on backups. 0ad65e9 Adding a check to make sure the mode is copied over. 84db91e Fixing the docs a bit for the executables, adding a --daemonize option to puppetd and puppetmasterd so they can still be daemonized with debugging or verbosity enabled, and causing puppetd to fail to start if a PID file exists (and not setting a pid file if running with --onetime enabled). 12c122c Puppetd now has an option for listening -- just run the --listen option, and it will start up with a pelement server. It will fail to start if the authconfig file (defaulting to /etc/puppet/namespaceauth.conf) is missing, since it defaults to access at this point. 047e63f Making file copying significantly faster -- i found an extra call to "describe" in file sources and an extra read/checksumming of the dest file 94caa8a Fixing #128. md5lite was being used instead of full md5. At this point, md5lite cannot be used for source copies. bcfc469 Adding in all of the patches necessary to make a prototype rails interface 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. 9539dbb Adding in all of the patches necessary to make a prototype rails interface 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. 9b627cd Trying to track down the bugs reported this morning, so I added some more test cases. I did find a bug in the filebuckets, fixed it, and added a test case. 003e897 updating changelog for 0.16.1 and 0.16.2 a78bf1e adding "clean" mode to puppetca bda8e52 This should have been in 0.16.1. Moving the "setclass" statements around so that classes are set before a given class's code is evaluated, so it can be tested within the code, within node defs, components, or classes. bff9463 Adding sum type to the retrieved sum if it is not already there. This provides backwards compatibility for existing cache files. feff317 removing unnecessary debugging baa412c Adding "defined" functino to puppet, so you can now test whether a given class or definition is defined. 46ce36b Creating a simplistic, generic function framework in the parser, so it is 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. ccc4d95 Modifying non-existent-package test to make sure syncing fails, and modified ports package type to check the error output instead of the return code, because the portinstall command returns 0 even on failure. e64bd22 Fix ownership on server files (trac #122) Change ownership on /var/puppet 9fe0b37 removing patch from red hat spec file a0b4553 Final commit before 0.16.0 63cdc6c making corrections to pass tests on freebsd d9fd002 Go some work started on developing authorization, but I have made little progress. I might wait on this for the next point release. 4a029d9 pelement listing now works d91b7df Added a list class method to just about all types, and it seems to actually work for everyone. Now just to add a list method to the pelement server. a9b67cc Adding a "list" class method to most types, and using it in the tests for the pelement server to verify that objects can be copied using it. I expect that most package types other than apt/dpkg are not yet working with these tests. e24a299 A simple first version of an object (called "pelement") server is now in 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. ac04981 Actually adding the ports file that provides freebsd port support 3f9e918 Adding freebsd ports support c83bc91 fixing test to know that i skipped alerts 538bc0c Fixing service stopping; I had the %x{} command quoted 6f66011 Fixin #102. The syslog name is now either the name if the process (if that name includes "puppet" in it) or "puppet-" and the name of the process. Also removing the "alert" test messages, since they result in a wall. d2634ba Fixing #118; the hash is now always 8 hex characters, 0-padded. Also changed the CA cert name to the FQDN of the host serving the CA, rather than "CAcert". 449f662 Fix handling of run files so services can't be started twice (reported with patch by soul916 at gmail.com) 21584a9 Don't create empty log files in %post (based on report by soul916 at gmail.com) a564e49 Changing the log level of the "defaulting to base service type" message d56870c Fixing a bunch of small bugs, mostly found by testing on solaris, and added a check to the test system that points out memory growth 0478f78 changing set to tag in the tests 26f18a2 Fixing puppetca so it does not call chuser; instead, it is configured to create all of the files with the correct permissions and ownership (using Config#write and Config#writesub). c3961ae Adding doc generation for exe arguments 133ad87 Oops, typo in client/master.rb 689dbf4 Adding --test option to puppetd (it enables --onetime, --no-usecacheonfailure, and --verbose), and modifying the docs a bit. cd9ea80 Adding locking to the master client, so that only one copy of puppetd will be running. This should make it safe to run puppetd manually while it is also running normally. 71793fb Changing "set" to "tag" f522a7e Adding the host name as a tag (stripped of the domain name) 373fb3b Modifying "setclass" on scope to check the validity of class names, now that "set" can be used to set them manually, and added a test for it. 8df349c Fixing the language side of #109. Added a "set" keyword. de0d1dd Adding a few informative facts on the server side: serverversion, servername, serverip. And only printing the parse time in the interpreter if it is not a local connection. bca4f5e Adding the puppet client version to the fact list as "clientversion" 9f92a3d Adding the puppet client version to the fact list as "clientversion" 4d75041 Adding a "tag" metaparam 201aa02 Adding simple benchmarking, and using it in a few of the more obvious places. Also, fixed a bug in Scope#gennode. 0507486 Fixing #117. If only one value was provided, then it was not placed in an array, yet AST::Selector expected an array. The grammar needs to have some abstraction added or something, because I seem to have encountered this bug for every ast type that supports arrays internally. ae4b12e Revamp the yumrepo type to deal with repositories defined anywhere in yum's config files. Adds a generic module Puppet::IniConfig for parsing ini-style files 8df6e84 another small mount fix; this time, for stupid os x 88dd992 committing version changes d10a638 Committing an important fix to mounts; since i am sure no one has downloaded 0.15.3, i am just going to rerelease 0.15.3 with this fix in it 83d5236 updating changelog for 0.15.3; I need these exec fixes for my client e5be7d3 Adding autoloading for types and service types, also. fcce820 Okay, last one, hopefully. Modifying checks to support arrays. 37a4a55 And, one more time. My test for the last bug did not actually retrieve, so it did not enounter the problem, and i had also forgotten to add the "check" boolean to the checks. Hopefully this will be the end of exec bugs for the day. 4ab74ce Fixing checks so that they can run even if the set cwd does not exist 50ffa7f adding a bit of debugging 1e4abae moving cwd existence check into "sync" instead of "validate" 7dae24f Fixing a small bug in type.rb that ignored false values (instead of nil values), another small bug in value setting that resulted in the file and line appearing twice in errors, and added validation to all of the checks in :exec (along with testing for all of it). b0edb35 removing patch from spec file 122cf58 updating changelog in preparation for 0.15.2 013cfd2 Adding darwinport type. 9697354 differentiating openbsd from freebsd, adding freebsd, and autoloading package types instead of manually loading them f540ec8 fixing a couple small bugs in doc generation 668342e fixing Config#mkdir test to not check gid on any BSD, since they appear to ignore egid when making directories or files 572648e adding deprecation notice 84693d6 adding some docs 2b27545 renaming; i hate bsd ee65279 Fixing #103. There are now no such things as node scopes; the entire tree is evaluated on every node connection, and node facts are set at the top-level scope. This includes,um, the code; the last commit was accidentally just test changes. c3c413e Fixing #103. There are now no such things as node scopes; the entire tree is evaluated on every node connection, and node facts are set at the top-level scope. a0728c0 removing the parser dir 8db837a getting rid of the parser tree, and moving everything into the language dir d4a5b48 loading yumrepo in the test, since it is not being loaded in the main code e8c0471 Fixing a couple of bugs in preparation for 0.15.2; mostly they were in the testing system and resulted from changing :File to :Manifest in server/master 9230289 Disable yumrepo type since it won't work with the FC5 repo files b5c759b Fixing #108 d8b4b0d adding -e ability to puppet executable c0a9e5f Change how names for nodes are specified: the 'node' keyword can be followed by a NAME or by single quoted text, i.e. fully qualified names for nodes must be enclosed in single quotes 5d42cd5 Fixing the class file to actually store class names, not object ids. Also added tests to make sure it all stays that way. c8be52b Finally! We now have mount support in OS X. Ouch. 3327dc8 Adding netinfo type and some tests 97d5ab6 eliminating some debugging, and removing a small redundancy bug in nameserver.rb 35e65de Fixing authstore to use an array for ordering, rather than a hash, duh. c3b7d62 Bugfixes for OS X. I had to do some shenanigans on type/file/ensure.rb -- it was testing whether the parent dir was writeable on object creation, and if not it was not setting ownership and such, so i added some post-creation checks that will fix ownership if it was not set correctly at creation time. caaa331 changing ssldir perms to 771, so non-root users can write to subdirs if they have permissions a791d98 Fixing a logging bug that apparently resulted from logging changes a while ago. 4daf2c1 Adding apple package support, but it is very limited -- packages can only be installed, not upgraded or removed. f37154e making a small change to the test, so failures are more informative 7c7c223 Added a test for Type#remove, and fixed the method so it actually works. I was missing every other object, because i was iterating over the array being modified. This caused the Config stuff to often fail, because objects were not correctly being removed. All fixed now, though. 72774bb adding mkdir equivalent of Config#write e6f9163 Adding a "write" method to config objects, so that files can be easily written with the correct owner, group, and modes 0f15e8c fixing a bug that appeared somehow in port.rb, and adding mount and sshkey to the types being autoloaded 0eae739 renaming filesystem to mount 48d7fd6 Adding filesystem support, and modifying parsedtypes a bit to fix a bug where non-instance lines were being duplicated c7ae839 Manifests can now specify node names with fully qualified domain names, too. 9b1e8d5 Accept a single file as a test to run in addition to a directory bdc819b Remove unused should method; add more yum parameters to the type a9fdf9d Disbale running puppetmaster as puppet until we've sorted out which files need what ownership (there's trouble with /etc/puppet/ssl right now when puppetmaster runs as non-root) 1365103 New yumrepo type for basic management of the yum configuration of one repo. 6d4e46c Adding os x group management support 791e4da Committing support for group membership management. Currently only works on Linuxes and other OSes that use "useradd" that support -G. 932fd03 commiting package test fix that i thought i committed ages ago 28602a6 Simplified as yum install can be used for both install and update 95b762b updating changelog for 0.15.1 fc98ab0 Fixing #100. I just added a bit of a hack to configuration parsing -- if a group is specified in a section that matches the name of the process, then it is assumed to be the group that the process should run as. The problem is that we are reusing the term "group" here for both the run-group and the file-group. Oh well. 5dcf303 Using differents commands with yum depending on whether the package is currently installed or not. 7e908a5 Removing ruby as a dependency, since too many packaging systems will have installed it differently 73d051f Fixing service enable/disable on solaris 10, and fixing some problems with the tests 5e86634 Converted everything over for Puppet. The Rakefile is, um, a *lot* shorter. :) 8416f21 This version appears to work well with epm stuff fc68910 removing dos EOL chars 086050d Minor changes from Fedora Extras review 72f1e8a Don't mark puppetmaster for start by default; makes rpmlint happier 6006a5a Add little snippet on passing an additional option during system boot, but leave it commented out 6af21e5 adding sbin directory c74fd81 Committing the EPM support. I am in the process of moving this to a common library that all of my projects can use. 271a8d2 Adding EPM package building. 805b32b Updated to version 0.15.0 92e3c1e Updating changelog for 0.15.0. ec7d46e fixing small bug in the test code when there are no packages to test f851be7 Adding upgrade ability to sun packages. Currently it removes the old package and installs the new one. 4d1c221 Changing the way the hosttest output is handled 29ec706 adding some extra info to the ldap test 76474ed Fixing fileserver tests; apparently they were still broken from when i changed the fileserving interface to handle links. d7a75c5 Fixing small bug in symlink recursion f2c8218 Fixing #94. When "ensure" is synced, it syncs the "enable" state at the same time. aed1f11 Ooops, did not save the docs before committing. 5a47afd Fixing #98. Filebuckets now work throughout the system, and the puppetmasterd creates one by default. I have also updated the :backup docs, adding an example. 1b11697 reducing the log level for checksum warning about symlinks, really this time 454247f reducing the log level for checksum warning about symlinks 08b36cc Adding enhancement #92. Unfortunately, I was not able to write test code to 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. 97913d4 Fixing bug related to recursion testing c6230dd Fixing rpms so they will automatically upgrade when you point Puppet to a new package file caa3d43 fixing broken test from my previous change fa9aab6 Fixing #82. You can now specify comma-separated tags to get run in puppet or puppetd: puppetd --onetime --tags "enhost, facter" -v. You cannot specify classes explicitly, but tags map well to classes and have the benefit of being more generic. 414d364 Supporting rpm installs when a package source is specified 8728920 Using undefined variables is no longer an exception, it just returns an empty string. 4ee395b Fixing small bug when autorequire returns an object instead of a string 2cd67ad There was a critical design flaw in the link recursion work I did previously, and fixing it required a decently large reorganization. Everything is much, much cleaner now. 02f91fc Merging symlinks back into files. Symlinks still exist but with a warning about deprecation. Fixes #93. Also the first time I have run any tests on OS X, so there are some bug fixes related to that. b336e7e Parameters and states can now register regexes as allowed values. Also, there are (finally) tests associated with params and states, although they should be much more comprehensive. b6d829b Fixing #95. I had to redesign how events were triggered; the transaction now individually triggers each subscription, so that it has control in how to respond to failures. Eventually, this will lead the way to error handling within puppet, but for now, it just allows us to trigger every appropriate subscription, whether some have failed or not. 782f85a Creating a single, constistent method for writing files, instead of having :ensure, :content, and :source each have a slightly different mechanism. This method also makes sure that the owner, group, and mode are always set on file creation, so extra runs are not necessary to make it work. 2dbd7e1 Fixing #96. Defaults are now set when the object is passed out by the scope, rather than when the object is created. This is nice because it also moves awareness of the scope internals out of the AST object and back into the scope. 7756f9a Fixing #97. I was wrong about the object type I had, so I was calling "type" with no arguments, which was causing the bug. 2faff5d lowering the log output for nonexistent files eb68633 Updated to version 0.14.1 cee0882 updating changelog for 0.14.1 2351cd7 making case statements not create a new scope 54fcdbd fixing some more logging issues 0549d03 Making some logging changes, and fixing a small bug in group management on missing files 72d747b Updated to version 0.14.0 b76004a Fixing yum listing bug, and caching the "latest" value so it is not asked for so many times; this fixes #90. 3c07deb Committing the last changes, for now, to handling links. You still cannot copy remote links, but you can either ignore or follow them. I do not think we will be able to copy remote links until I have merged symlinks and files to be the same object type again. e9e88b0 Adding "links" parameter to files, and adding support for following or ignoring links to all of the states it can matter to. I still need to modify "source" so that it behaves correctly when managing links. 1099c4a removing group ownership of the state file; I realized that the server does not ever actually write to it. 5cca870 Switching from using "evaluate" to using "retrieve" when getting checksum values, since retrieval is sufficient, and evaluate keeps printing messages about changes. 17d4b23 Fixing logging in the fileserver so it is always obvious where the logs are originating, and fixing a bit of debugging elsewhere. df74b62 fixing deprecation notice about services using "ensure" instead of "running" 8c0a07a removing extraneous debugging be4d3fd fixing the mode of the yaml file f2ea9b7 Supporting variables as the test value in both case statements and selectors. 1a3de8a renaming 549bc5f Only setting group or owner on config files when running as root 7ea739d logging config changes at debug, instead of the normal log level aae9b2a Definitions now always create their own context, which means that they cannot override elements in the containing scopes. 451ba6d upgrading to warning the message about using a cached copy faffd69 Updated to version 0.13.6 caa7f48 updating changelog for 0.13.6 343dd08 Fixing tests so they do not chmod /dev/null to 640 (stupid tests). 1a93c82 Fixing #68. After tons and tons and tons of work, everything successfully configures itself, and the --genmanifest argument should actually work. User and group creation will not necessarily work everywhere (in particular, Puppet uses dependencies to create the group first, but Fedora complains on user creation if the group already exists), but file and directory creation should. The only downside is that there is a decent amount of extra information printed on daemon startup, as the daemon checks its config; this could maybe be seen as a bonus, though, I guess. 95856ea Okay, Puppet is now almost entirely capable of configuring itself. I have 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. ff1df8e Remove hte fedora-usermgmt stuff. As it turns out, it's not a Fedora Extras requirement to use it; so we'll just have useradd/groupadd allocate id's dynamically 2db2317 Adding metadata to defaults 179779d Changing the setdefaults input format somewhat. It is always a hash of some kind now. 4574928 Intermediate commit; setdefaults now accepts both hashes and arrays 6d8a1dc Fixing user and group management in the config handling. 65ed766 adding a connect log to the master server 32cbc59 Fixing #70. We now have user and group management on FreeBSD. 8b5f709 Fixing bug #60. Converting nodes to use types everywhere instead of names, and adding a localobjectable to keep track of what parameters have been defined locally. eda9d95 Fixing #64; multiple class definitions in the same scope is now an error, although using the same class name in different scopes is not an error. 56116c2 Fixing bug #73; node names now appear only once in the path c894eb2 Fixing bug #75, providing support for unnecessary end commas. 020499c Removing all of the autoname code 8c821c0 Mostly, this is a refactoring commit. There is one significant new feature, though: overrides now only work within a class heirarchy, which is to say that a subclass can override an element in a base class, but a child scope cannot otherwise override an element in a base scope. 37c10d1 Switching setclass to use object_ids instead of class names, and adding some comments. c5d8680 Fixing scopes and AST so that definitions and classes are looked for in the scopes, instead of in a global list ee818a9 Adding some debugging to list the states being changed when in debug mode 63afa37 Fixing nodes so that their paths are printed correctly 5056054 Removing timestamp debugging b119a72 Fixing output when user/group are not found 772c7c8 Adding TERM to the signals being trapped 503ad38 Fixing bug #72, where trailing slashes break file sourcing 043fc33 adding commas to each line d06cd3f removing the initial syslog dest setting f6ca82b Updated to version 0.13.5 85e4d31 adding changelog for 0.13.5 2dffbee Adding redhat service type, to support enabling and disabling a service 7e5cc76 Fixing package types so you can specify the package type manually in a manifest 7806618 removing extra error statement 6e26a73 adding passwd converter 3aff15e Updated to version 0.13.4 1f05ad0 updating changelog for 0.13.4 cfb0e36 updates 89856ec Adding a bit more logging 82e02eb Fixing bug when creating containers with parents 31df227 Generate an error if the pattern for an import statement matches no file. beef01c Properly figure out when updates are available. Previously, packages would neverbe updated because 'yum list foo' first prints the currently installed package. Now we use 'yum list updates foo' 3ac5cd9 Incorporate initial feedback from FE review 68aa302 Fix failure of test_importglobbing in test/parser/parser.rb 70d2379 Enable passing --parseonly from the command line 1ebb416 Adding single-quote syntactical element 1fdb962 Changing transactions to be one-stage instead of two, and changing most of the type classes to use "obj[:name]" instead of "obj.name" where appropriate, because "obj.name" might be a symbolic name (e.g., File.unlink(file.name) will not do what you want if file.name == "sshdconfig" but file[:path] == "/etc/ssh/sshd_config") 5f8d615 Removed some of the autorequire stuff from :exec because it created untenable require loops, and created a test case for some complicated exec + file recursion. The test case fails, and I want to have a clean committed repository before i mess much more in trying to fix it, which might actually not be possible. 6cc8157 Duh, removing some debugging 5f4335f Adding logoutput parameter to :exec 89702d8 Fixing symbolic naming bug where symbolic names were being ignored in some cases 7d15fe1 Updated to version 0.13.2 037b7ac Changed the parsedtype definition of exists(), and fixed a few smaller bugs. Last code commit before 0.13.2 6fe01ce Tracked down a few other bugs; everything now passes on debian in preparation for 0.13.2 8602932 Changing "answerfile" to "adminfile", adding "responsefile", and autorequiring both. d1cd443 Fixing users so that they can use a group created by Puppet, and they also now autorequire that group. To do so, I modified Puppet::Util.gid, which required that I fix Puppet::Type#merge to support merging managed and umanaged objects, which required fixing a bug in Puppet::Type#managed?, and I also changed the ensure state to only default to a value, when the object is managed, which required that I change the defaults system to support default procs that do not return a value. In other words, lots of fixes for a smallish problem, but we are much better off now. 4df3468 Fixing the order of arguments when using admin files with sun packages 20b65e7 Some important bug fixes in the parsedtypes types; this all started from the submitted bug today, but I added :absent support to most params. 6cfee76 Committing the initial ldap support -- puppet can now look up node configurations in ldap. The test scripts currently only work on my home network. 1994263 Adding --enable/--disable locking for puppetd. You can now disable puppetd 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. 798b3be Adding a general "check" mechanism to :exec, so it is now terribly easy to define a new check to perform, converted :creates and :refreshonly to use that mechanism, and then added :onlyif and :unless as new checks. Also added any files they mention as autorequire files. 376725e Adding --loadclasses option to puppet f098485 Correcting some path problems with symlink, and changing "target" state to "ensure" 3f15cb8 Fixing :target reference in pfile.rb 9508bd0 Correcting some path problems with symlink, and changing "target" state to "ensure" 64eafa8 Updated to version 0.13.1 a456c4d updating alias docs to pass ReST checks 1a05ed2 updating changelog and docs for :alias 89d37f6 Fixing some problems with cron tab management, and creating Puppet::Util.{u,g}id methods. 96388cb Fixing locking. It apparently was not working on OS X, and I was not syncronizing access in threads -- i assumed locks themselves were a sufficient sync point. 2be25d5 Making the language name a real alias. Now all objects in Puppet support specifying both the name and the namevar, or just a name and having the namevar set. 7f7b5c6 Change in how logging is defaulted: by default logs go to :syslog, unless the user explicitly gives at least one --logdest argument, in which case logs only go to the destinations the user gave. b13b5ed Set the Release tag in the spec file to 1 when the version is changed 8c02ffd Adapt specfile to the fact that puppetmaster now automatically runs as user puppet. Add default config files that send logs to /var/log/puppet. d629a80 Fix version in last changelog entry (makes rpmlint happy) 44071d0 Updated to version 0.13.0 2cb5cb3 Updating changelog for 0.13.0 387db24 Adding answerfile support to sun pkgs. 2ce061a adding some documentation cd7a637 removing errant warning ccd0121 Fixing small problem where checksum retrieving did not look in the cache; this was only ever a problem in cases where checksums have no "should" value set, which is generally only the case on the fileserver, but it caused the fileserver to replace checksum values on every retrieval. 8eab733 Fixing the conflict between ensure and source. Ironically I had already made sure there was no conflict with "content", but I had forgotten "source". adda8f0 Checksums now get correctly updated for both the ensure and content state when those states are used 8e4cf22 first bug fixed, where sources were not updating the checksum 58db0ef adding keyword b03635b adding keyword 01072a8 replacing all occurences of "is_a?" in the parser with "instance_of?" 7ca3d3d Fixing bug that occurs with only one argument 195f2e9 wrapping all work in a single rescue clause 59992b5 adding initial ldap schema 0ba9d16 adding vim syntax stuff a5d2404 Simple emacs mode for editing manifests; only does pretty colors right now b98e65f There is now full support for configuration files, and the entire system has been modified to expect their new behaviour. I have not yet run the test across all test hosts, though. f1ffc34 Configuration parameters now require (and have) descriptions, and a set of configuration parameters can be converted to a configuration file, a manifest, or a component. All I have to do now is integrate them into the executables. 6affe22 Committing both the finalization of the config code, plus all of the code necessary to get basic isomorphism from code to transportables and back. Mostly keyword and autoname stuff. 59c7b02 Fix snippet_componentmetaparams test 39d33ca Temporary commit; configs now can be converted to manifests 4ecfa7b Config files now seem to work, so I am ready to start incorporating them. 9114cbe committing test code for bug lutter found d0436f1 Changes in lie with Fedora Extras requirements 56bf12b Fix processname tag 7d711c0 Allow passing of options with 'once'; fix processname tag, add config tag. 5590e3e a couple small changes; the most significant is the addition of a class-level "eachattr" method, to avoid all of the calls to attrclass and attrtype 30bf65f Fixing a significant performance bug in file recursion, and trying to help performance a bit in attribute handling on types d5af359 Rewrote client init script since puppetd is now a proper demon. 6637bb6 Install bin/puppet into /usr/bin/puppet, not /usr/sbin/puppet, since normal users are supposed to be able to run it 931c159 Fix rpm packaging; include conf/ in tar ball, use conf files from tarball in spec file 4ada6af Fixing class storage -- it was not working for nodescopes 8db35ec Caching Time objects instead of numbers, since Bignum does not seem to be YAMLable 96b761b Fixing waitforcert so that the client can actually add the certs once it receives them c7f9942 Adding release tag REL_0_12_0 cf82cfa Updated to version 0.12.0 282cfcf Updated to version 0.12.0 1186069 Small mods to the packaging stuff 87904d3 RPM release is almost entirely there, it just needs to be integrated into release management 9b2afcb Fixing some logging issues ae2575b Adding the event-loop stuff to the repository and switching to using it. Also, breaking many classes out into their own class files. 18e8e74 Committing most of the scheduling stuff. There is still a bit of work to do in terms of how puppetd interacts with scheduling, but the bulk of the work is done. 258114d Modifying docs, and adding scheduling hooks 0cb51f3 Fixing a small checksumming bug, reorganizing the client stuff a bit, and adding freshness checking for the configuration, so the config is recompiled every time nor is it downloaded unless it has been recompiled f49b103 Updated to version 0.11.2 c372a7d modding changelog for 0.11.2 6bab167 Made lots of small changes, mostly to help usability but also fixed a couple of key bugs ed39be9 Fixing most types to allow no statements 3d458ef Updated to version 0.11.1 c3df525 modifying changelog for 0.11.1 060b8bd Adding openbsd packaging support ada3aee Fixing problems where objects were passing @parameters[:param] objects, instead of specifically retrieving the value f36c7d1 Updated to version 0.11.0 3700b37 Adding an "ensure" state where appropriate, and significantly reworking the builtin docs. 92a780a Added "ensure" state to some classes, and added infrastructure for it to work elsewhere. 83906a2 Adding sshkey class plus tests, and adding "aggregatable" methods to type.rb c67fb7b Adding another host to the test lists, adding some test data, and modifying how hosts parse ad9d365 Adding a bit better logging and checking to file access 87b3bb1 Moving ast classes into separate files 1d4638a Added "finish" method, using it in Type.finalize, and moved autorequire and setdefaults to it. a6e367e Changing host and port aliases to also create Puppet aliases. This involved futzing around with the attr* methods in Type.rb, to make sure states are always checked first. c8b6401 Fixing up the parsedtypes, fixing Type.eachtype to ignore structure types bbf2c54 Adding /etc/services support 0c17149 finalizing cron and host management, hopefully df6ff9e Abstracting host support so it should easily support other types 5309479 Abstracting host support so it should easily support other types 3f15e38 Adding initial host support. I can promise that this will soon (hopefully almost immediately) be abstracted to make it easy to add new file types. f420135 Converting transport format to YAML instead of Marshal, and caching the file in a YAML format, also. This required a significant rework of both Transportable classes. Lastly, I am also now caching the list of classes in a class file in /etc/puppet. 8aa331d Adding further notes about openssl 4092a78 Fixed a couple of warnings, fixed a critical bug having to do with case statements (where there is only one listed option), and did a couple of other cleanups. c5782df Adding "content" state to files, and string interpolation handles escaped whitespace characters. b0ea70d Adding 0.10.2 stuff 6b6c49b Updated to version 0.10.2 1cf05ff Services now work at least somewhat on solaris 10, and service testing is pretty different. 4c4f530 Fixing dependencies to not depend on file order. Added Puppet::Type.{finalize,mkdepends,builddepends} 21410a2 Fixing documentation generation, and fixing aliasing so that objects can safely be aliased to themselves 29b00fb Adding "alias" metaparam; you can now create as many aliases as you want for any of your objects. 411ab22 Adding autorequire to files, and added the cwd to the list of files to be required for exec. Also, exec catches inline files and autorequires them. 97fb6c9 Adding generic autorequire mechanism, and thus removing it from exec 11b5463 Adding a requires? method to types, fixed the bug where exec fail when Puppet is downloading the script to execute, and modified "exec" to autorequire any managed scripts 932b783 Updated to version 0.10.1 854f16b modifying changelog for 0.10.1 89d0050 Adding Sun support and fixing the last remaining bugs related to the daemon changes i just made 45ac512 Supporting puppetmasterd running as a non-root user, and doing some basic message cleanup 45c91e3 Adding some extra feedback 7616289 Fixing init path default e5ac196 Adding some consistencies to the executable tests. All exe tests now pass on OpenBSD, although the only real problem was that ruby was in /usr/local/bin. dccafc7 Updating Puppet to work with the new Facter b7974b5 Updated to version 0.10.0 48031dd Describing 0.10.0 changes 48ba030 Modifying hosttest f00a7db All tests pass now, although the lack of service support on os x means that i have now disabled services on it 4275227 updates cbf10c5 Merging changes from the head of the rework1 branch, r 784 23f982e Undoing the merge that happened in 785 1d73973 Merging in refactoring from version 774 into version 784 3ba696d updates cb51688 converting waitforcert to an int cedefab adding ftools require statement to install.rb 7594411 Adding a host test task 86cc467 renaming the module, so it behaves better with people's svn clients 2994cbc fixing rakefile 3b9c9be Updated to version 0.9.4 6af79cc Removing tests from the list of tasks e611f2c adding some better readme stuff b532a30 adding things to the change log, and modifying the order of the steps 584652c Disabling most documentation generation except for the API docs, and wrapping the StatusServer in the xmlrpc check 0e0fdac Updated to version 0.9.3 e2e2fb3 some updates to the typegen stuff, even though i may still not use it 5302921 Fixing two reported bugs in cron jobs. Cron jobs correctly change when fields other than the command are updated, and they do not continually refresh when the command has trailing spaces 592c24d adding some comments f9f84bf removing "host" as a keyword; it was an alias for "node" 4eaf13a converting storage from Marshal to YAML 3c14db1 adding Util.lock, and switching storage to using it 5ce5b95 removing any direct references to /tmp in tests 84bf289 fixing files being put directly into tmp a03b03f removing ruby shebang at the top of all of the files 2a5bbd0 final updates for 0.9.2 58ef35d updates dd727ef removing marks 9f942b0 fixing tests to work from any CWD 58c0df1 fixing incredibly annoying bug where os x returns stupidly large uid when uid is below 0 42c077f updates from os x f815654 updates 5082132 adding cfengine module, which required passing the cfengine classes all the way through the stack to the scope c205bf6 fixing filesources so that the first found file is copied, and adding a test case 6960034 fixing puppet to default to using the console for output d5bd1bc Mostly fixing exec so it either captures stderr or runs as a user; Process.euid was not working correctly a4562bf Lots of refactoring, and added the capture_stderr method 42a9d9a Adding "isomorphic?" method to classes, and testing for isomorphism before throwing a conflict 300a163 Further progress towards the next release. Lots of small bugs fixed, the paths look much better now, and Transportable is much cleaner. 14d8186 Making paths work a little more intelligently 0335743 adding config file stuff, but not using it yet. I have decided to release the next version without them. ba76eb2 Cleaning up tests resulting from the changes to the parser e605a5c The language now verifies some resemblance to closurehood. I now only need to fix the library to expect this behaviour. 526deef Fixed merging of state values, but I have not yet solved merging of parameter or metaparam values, since they are quite different. 9e1c63a Protecting from bug in Syslog, and fixing some more log messages 76176a9 central logging is fully functional now, but it is painfully slow, so it is disabled by default b6c63f6 Central logging now works, although there appear to be a few kinks to work out. 0ae5e33 Adding logging methods to all Puppet::Element instances, and converting all instance log statements to use those methods. Additionally modified logging to take advantage of this by including the path of the logging object in the output. Logs will still need some cleanup to avoid duplicate information. 0d3db79 adding tags and path accessors a8645a4 Further small bug fixes towards running puppet on my network df8dbba fixing sources so that they always have a corresponding checksum state e8912d5 files and directories are now created as the correct user and group if they are set 1b74e8e The Puppet::Util.asuser function now works; had to slightly modify user.rb to make checking work. In addition, exec.rb now takes advantage of it. I also decided to make a small change to type.rb -- validstates now only returns state names, not names and states. 32d89ba fixing certmgr tests f732880 Getting rid of the tc_ prefix to test cases 8fe558c general cleanup, as i move towards running it locally 5ab12f9 fixing path to facter f036778 Apt-cache was showing more information that I thought, so I had to redo how I was collecting the most recent package version a232e5c Made tweaks here and there to get it running better on my local network. I am inches away from that happening. All tests pass. a6d0292 adding better docs to packages 3cd8ee9 "latest" is now a valid value for packages, and yum support is also included 66db3d8 making service changes; it is still basically non-functional except in the degenerate case of using "init" 194dab3 Adding some semantic tagging. It is not exactly full-featured yet, and it is not used at all, but it was sufficient for some proof-of-concept stuff in preparation for the conference 55d7bbd adding tag support to scopes and the transportable class e563189 switching test classes back to modules -- making them classes causes too many empty tests to run every time 9d3aaad removing the redundant pfile from the pfile state file names ed42371 Switched @should to an array, so all objects can now handle that. I have not yet gone through and done the other cool things that can result, but that will have to wait until tomorrow. Also, I moved all of the pfile states into separate files, since the file was getting unweildy. 6af0e0e added overrides ability 0d6241c switching all relationships to be centrally maintained and to use symbolic references, rather than literal ones; also going through and making all tests pass again after mucking with services a96bdac Okay, services are now managed, um, entirely differently. I have the beginnings of a system for supporting different service management frameworks, although I currently only support and init scripts 47ba186 adding a test for includes 9464224 moving specific packaging support into separate files f48f14a fixing behaviour when files are missing 5bb8c4a fixing output in noop abcac81 Rearranging the packaging support a bit -- it is now more clear and significantly easier to understand, maintain, and enhance. 8211df0 Many, many changes toward a completely functional system. The only current problems with my home config are that apache's stupid init script does not do status and that packages are not working as non-root users (which makes sense). d20ac8e Hoping this will get rid of the directory being printed 4c13c10 Nodes now support inheritance, for better or for worse. 781c69b The new "include" syntax works now. 400b103 fixing "ignore" documentation to parse RST correctly. 5590148 Okay, all tests pass again. The work done on nodes will take a little while to clarify and such, but it should work pretty well. f7d9b83 I am still somewhat in mid-change, but I have made the biggest changes to making nodes work correctly. The core code works, but I still need to fix my various test cases 03f5733 adding a ParsedFile class to handle figuring out whether a file has changed f757556 converting tc_relationships.rb to the test base class 5dc3cb0 Okay, significant change -- classes no longer accept arguments (which makes things simpler but encourages the user of global variables, which is bad), and classes are finally singletons, meaning they will only ever be evaluated for each node a single time. I still need to make nodes work correctly, but that is going to involve modifying the parsing system and a bit more 0747b4c adding stinkloads of comments to ast.rb (I am trying to go through and better comment my code over time), refactoring some of the AST classes, and working towards a more sensible class/definition/node distinction d6982d5 adding some new language tests 48155b8 added log, metaloglevel and @metaparams to support setting loglevels 041ca4b switching log.rb to raise Puppet::DevError events 16c9f83 My cfengine2puppet config now entirely parses. The biggest problem I ran into is that my glob-based parsing was only returning the results of the last parsed file, instead of collecting all of the results. 23d3c93 adding --noop to puppet executable, and removing some extraneous comments a345931 Successfully parsed my entire converted cfengine configuration; these are all fixes for bugs i found as a result. I have not tried to execute the configuration yet. a8bdada Users and groups now work on OS X. I had to make some key changes to how transactions and state changes work -- the most important is that it is no longer an error to try to sync a state that is already in sync. I could not find another way to handle all user states being out of sync but the first state actually syncs everything. 6654c4c fixing users on normal machines 106d397 Users and groups now nearly work on normal machines and on os x, and I think I have a decent platform for expansion to some of the other important elements like hosts (probably most important after users and groups). Some tests are still failing on os x, because netinfo sucks, but I will hopefully be able to figure out a solution soon. Stupid OS X and NetInfo. 42deabb all tests for users and groups pass again on fedora, debian, and solaris e0d1d31 temporary commit so i can move to my workstation; groups and users are way b0rked 29c291a Creating a "change_to_s" method on State, so individual states can override and and determine how they get printed 80a2808 Cron is now fully functional and tested on 3 platforms. In order to make it work, I had to do some modifications to TransObject#to_type and Type.create, but all tests pass now. Type.create is now handling errors on creating objects, so if you try to create an invalid object you will just get nil returned, rather than receiving an error. e25e8c6 adding keywords aebfef0 adding keywords 11d3d24 cron is working, but i want to write quite a few more test cases 036ba7a small fixing to merge(), and changing output of statechange 093963e finishing up merge method ac0454a making "Type.new" private, and switching to "Type.create", so that i can merge new objects with existing objects and such; converted all files, and tested them f7116e5 switching FileTesting to a class, and modifying test suites as appropriate 7861269 removed directory output bf701dc adding extra checks to make sure networking is secure, and refactoring a heckuva lot of test 0c97bb1 fixed problem using arrays 897de46 cleaning up tests a bit; mostly just making sure tests clean up after themselves, but also doing some rearrangement and fixing a list() call 6767dd2 debugged ignore in fileserver, added tests to ignore tc and fixed server.list in tc for filesources and fileserver 39aaa99 fixing some tests 6c6ff03 moving some testing and debugging around 192c07b fixing non-netinfo group 9ebb767 fixing non-netinfo group 669ae38 modifications to eliminate code duplication in state creation, mostly to support cron ae00500 preparations for supporting netinfo in users 610f95c switching groups back to having namevar be a parameter instead of a state 2a6710b fileserver still has a bug ec66034 added ignore to fileserver and pfile 3d5f5a1 adding cron stuff; it does not work at all yet 0d3024f adding globbing to import 5438eff removed comp.sync and replaced system mkdir -p 79961e1 added test case for ignore 157953a added ignore to pfile 51948bd adding example configs d43dc86 tracked down some sticky bugs related to having false values and empty strings; all fixed now, and all tests pass again, including the new tests that cover the bugs i found aca4cf8 fixing error handling so that failed objects are completely destroyed; they were receiving events even though they were supposed to be gone 0a4e392 fixing component flattening and sorting; it was not working for cases where objects inside of components had dependencies from other components 58ca9d1 adding snippet test to verify correct behaviour with missing exec path; also, adding "creates" parameter to exec f9df523 intermediate commit so cron is not loaded 4dd1dd8 adding more comments from talking to andy 3306cc7 incorporating comments from talking to andrew 29fa170 incorporating comments from talking to andrew d0eb566 some small fixes ee1eba2 small updates f69abc9 adding cfengine to puppet parser, but it is not even remotely close to functional yet 8f7b191 fixing groups again after getting them to work with netinfo da6590d group management now works on os x, although it is six shades of really nasty. Netinfo is a nightmare. 3726cee adding debug setting to the top-level test class 99db7bc reverting changes in the reverse order of what i executed them 8f0ef3f removing debugging 2213430 making states capable of being the namevar 923226e all tests now pass on solaris 10x86; i had to do some stupid hacking with base64 for it to work, and i am working getting a much better base class for all test classes edc392d adding a break if randomization takes too long 4cc12a8 finishing up user and group support for now 9e4ed0c rearranging some documentation 24b1c67 adding scopetest b77d295 adding user and group classes (although user class is not yet functional), and added "is(state)" and "should(state)" methods for retrieving the respective values on a specified state 4f2812a changing rollback() to do event handling also 72638e6 adding simple newcomp() method to base test class 795a5a0 adding all of the work necessary for tidying f7a5f87 removing DEFAULTPORT stuff 21244f4 fixing small bug in setting default port c0c958b changing some documentation methods around 3fb6f49 rearranging puppetdoc to not separate states and parameters, and to allow undocumented states 75ec054 committing initial tidy stuff, so i can move to the laptop 0d01770 cleaning up obviated methods 747c3f6 defining $name in each component scope, and adding test case f49ffa3 defining configstatted 750b880 removing if-related keywords 008cea5 fixing error calls e1bf0e1 fixing bug where remote server name is ignored e1de002 Fixed small bug that caused the config files to be parsed on every connection 5c0fb02 fixing documentation for file source state 6a96fcc adding file reread to master, although it is plenty hackish cff3a5b fileserver config file now reloads when it is more than 60 seconds out of date 998b415 correcting documentation on autosign in puppetmasterd, and switching the autosign.conf file to use the same authstore as fileserver.conf 7f274a4 catching a potential security problem -- requiring that "path" always be set for a fileserver mount 8a99636 adding a "--noop" option along with a test case for it f65563d changing default hostname to "puppet", and adding --parseonly option along with a test case for it 0629065 fixing puppet to use correct method and adding a real test case for it 82ac86e changing default manifest location to /etc/puppet/manifests/site.pp 3087f85 changing version number for beta e28e11b removing need for zip in rakefile fc20167 UPdated rakefile 914764b As Christian requested, I am no longer downcasing facts I receive from Facter. Also, removing some outdated files eab7314 bumping up the default log level for changes from info to notice cc48367 I did not have good puppetd tests, so I missed the fact that I was calling the wrong class in puppetd. Fixed. 65d1375 disabling print of library warnings, since webrick and openssl have far too many warnings for comfort cdfaa5e adding RDoc::usage documentation to all executables f279535 This should be the commit that brings us to Beta 1. All tests pass, although I get some (gracefully handled) failures in tc_metrics.rb, and there is now a config file for the fileserver module, including authorization specification for it. I have also reworked error handling in the xmlrpc client and server so errors should propagate more correctly. 28be88c Adding authorization store, initially just used for file serving but eventually for all authorization, most likely 814a9b0 adding config file parsing 9ec321e recompiling parser after removing extraneous debugging 773be96 Added GPL license 48a2e0f making array-as-name work in the language, and adding some more test snippets 66b3355 Certificates now verify! 386ebee replacing if statements with case statement, and adding defaults for both selectors and case statements 583a9c6 remote filecopying now works 5b20c92 Have done a significant reorganization of how clients work, also, along with some interesting trouble shooting on components ba51e70 fixing checksum generation -- i was causing some weird bugs by using the same indicator in different cases, and i added a test for invalid checksum types fb3cff7 small comment change dde841f Created a Handler base class for all of the server handlers, which allows a lot of the manual work to now be automatic 49e3e37 splitting normal file tests and source tests into different files a8fff85 ignoring remote file owner when not running as root f68fe00 moving all server handlers into a specific server subdirectory 129dad7 removing obsolete file 51294a0 moving rake file to the trunk dir 6029ef7 Moving all files into a consolidated trunk. All tests pass except the known-failing certificate test, but there appear to be some errors that are incorrectly not resulting in failurs. I will track those down ASAP. e87eb58 adding test to verify require does not kick off an event 4741eef Execution order is now based on dependency relationships, and those relationships correctly propagate up and descend into components. There is also an event test suite now, along with a (currently simple) component test suite. 63309c3 fixing test base class f026884 just fixed an incredibly ugly bug where @parent meant both parent array and parent class 78939cc passing file and line to all objects 51ffd6f trying to create a testing base class 54e5eb4 moving 4f0750b adding 9f84742 all tests pass except a certificate test i do not know how to fix 163db7c a basic first test of puppetmasterd now passes a3e03e2 all non-executable tests pass now d49a98e further progress towards passing tests 2be10b5 all tests pass except those related to puppetd; i am going to significantly reorganize how serving is done 6eac358 updated version number to allow gem install 8d71cd9 Added rake for Puppet, '--version' to puppet and test case for Puppet.version cfaee58 more progress towards a functional daemon 3cb04cb setting up http to log to a separate file adc10d8 setting up http to log to a separate file c7380c9 renaming cb1956d adding daemon helper module bb4b5a5 done a lot of work on certificates; all tests except one puppetca test pass e2e2474 removing obsolete files 0f7d185 fact.rb is obsolete af1b979 function.rb is obsolete fc0ba4b fixing directory mode creation 5bcae96 renaming again 2687652 renaming openssl to certauthority aacd780 removing comments and making @csr a class attribute 4b5c5bf fixing error output c0b0975 adding creation rollback f654f2d returning transaction from client.config() a6a1148 all tests now pass on os x f3c1487 adding better error handling for missing paths 77e1cf0 fixing verbose output to be better and easier to manage 9c7c71c passing state, so more info can be extracted afcb2ee adding a bit more output bc3a433 committing recent changes for testing 7b14e39 a bit of refactoring, and a bit more functionality 0fce775 okay, switch all cert management to the library, instead of using the openssl binary a1d206a moving 6ba0e10 certificate management; yay de4e5bf oops; removing errant notice msg 223cc9f cleaning up the defaults system even more 74dac8f adding some consistency and tests to the whole puppet defaults system 8bf85e2 adding tests for puppet defaults d14e1b4 uh 4af2559 renaming to avoid name conflicts 5fa0c20 all tests pass again edc2842 local filebuckets are now tested with files e041c8a basic filebucketing is now working cf37c06 Moved documentation to project website. 9f2aaac more changes to documentation 952a76c working on documentation 54895da Updated README, moved the old one to documentation/ 2d1e643 Updated doc/big-picture doc/structures, Added rst formating to puppetdoc, and added doc strings for types, states, params, and metaparams. 700b965 dpkg/apt package installation and removal now works e685ddb fixing statefile creation 01666f6 fixing lib loading test 075ffd7 making changes necessary to pass tests on all available platforms b5f6a54 fixing solaris packaging ffe318c fixing packaging to work with rpm, too 64b55c1 creating FileTesting module in puppettest.rb, and getting recursion working with symlinks 9d8f754 adding some attributes to errors dcbbef7 adding symlink back as a separate object e078329 adding symlink back as a separate object 60965c5 removing silly message f624cd5 making the console output slightly less redundant 848df27 okay, last try on sources hopefully -- no failures, and basic functionality all seems to be working cc67845 fixing package listing 326b4ad fixing exec tests to work with new event stuff fa6569d okay, sources seem to be much more understandable here -- only the recursion function is recursive 5351eb9 adding some error checking 60e02de not dump/loading for local client/server 8ec8c8d sources now pass all tests a33d5d4 everything seems to actually be working now, including getting the correct file list back 2d34f8e Ha! finally got recursion and sourcing working together bc38169 redoing how arguments are handled in type.rb -- it is much cleaner now 973385f first versions c577e57 reducing debugging 99eedb3 reducing debugging 8f718da recursive file copying now works even with some limited number of errors aa59473 okay, file sourcing actually seems to work now 9a5477b checkpoint commit 0e94644 moving setpath to parampath=, as a param method 3a67efa adding "=" to metaparam methods, and allowing types to use methods for params de91dbd temp commit before i change the whole way that i am doing source + recursion 9ba72f5 removing, since pfile now has link functionality 311218b removing, since pfile now has link functionality 6f4f821 downcasing the values of all facts b1f3fb8 switching facts to be auto-provided by the client 357afbb removed type.method() syntax, and replaced it with Type { default => value} syntax -- i still need to add test cases f38bdef changing path stuff to be service-specific 84f721d modifying failer stuff 3d725d9 adding more validation methods f2b6762 reducing to one statefile definition ad9913b converting debug() back to Puppet.debug() 13945c5 converting debug() back to Puppet.debug() 668b9de converting debug() back to Puppet.debug() c04b337 converting debug() back to Puppet.debug() 3c4181c adding methods callable from language 88071eb making rpm the default package manager for all linuxes, with exceptions allowed ca87010 defaulting to rpm for everyone i don't know anything about ebe779f adding rpm as the default type for Fedora fbafa84 updates b9c064e Updated install script to include all bin files. 96c37e3 using old name method, since it is required to make names unique given how classes currently work e97e2d9 fully qualifying warning method, because it is not being imported for some reason a984d66 disabling metrics tests on machines missing RRD 78bcfdc adding path stuff everywhere, although i had to keep component names kind of funky 99a9f4b adding link functionality d6e2102 toying with some doc stuff 3f9bb25 removing an obsolete VERBOSE setting 5ff4b02 removing some debugging bf09132 lots of refactoring cc78949 in the middle of a bunch of refactoring; committing so that others can try to replicate the segfault i am seeing 1f2c866 doing some refactoring e19ca97 converting to "include Puppet" and not qualifing output methods 8177700 hopefully, finally resolving recursive file creation problems 01a9905 moving namevar translation to a method fffc09c swapping console colors 2062aac changing comments 75e27cf cleaning up bugs in the tests, and adding more error checking around the bugs 0417fb5 adding refreshonly parameter 6e9975c found a bunch of bugs in Puppet::Storage, plus some bugs in how file recursion was being tested and thus some real bugs in the system 256b84e adding a to_s method d14dc32 fixing storage class; it was not actually correctly retrieving state from disk 96f3980 adding Puppet#recmkdir utility function, and making sure Log and Storage create their own files and directories as necessary 649d59a adding some more tests for recursion plus checksumming, because they are somewhat incompatible for directories cb95dc7 ok, verbose => info 459287c duh, somehow added Blink calls in there... 600f272 adding cwd parameter to exec 4157fa0 exec stuff all works now, end to end 2c1f637 fixing some nasty bugs related to parameter checking 05d59fd fixing a nasty bug related to recursion and nonexistent files 5b7fd63 fixing some nasty bugs related to parameter checking 9e0ab28 adding string vs. symbol testing 8f1da62 adding logdest config cf817e7 changing Log.destination to Log.destination=() d36b4c0 disabling debug by default 420062d changing Log.destination to Log.destination=() c718044 adding the exec stuff 3441b82 finishing rename of file class f250d92 renaming to remove naming conflicts 26bc12b further output cleanup, and fixed the problem with tc_server.rb leaving sleeper processes lying around bb7e283 fixing debugging to severely reduce output but allow it when debugging a specific service c16ca53 changing warnings to debug 00343e3 basic rpm stuff now works 2b2975f fixing metrics tests to work with everything else 0ac91ef correctly returning events 0c4254a metric testing and graphing now works in the library, although nothing has been done in the language 573d301 adding some more tests for loglevel stuff 0ba9d71 adding rpm as RedHat package manager b6b1f5a logging now exactly supports the list of levels that syslog supports, and multiple destinations (syslog, files, and console) are now supported e3c3283 renaming message.rb to log.rb 2b3b15e temporary changes to prepare for a rename 8395639 puppetest.rb should probably be puppettest.rb cd48af7 renaming blink to puppet 60783f0 renaming blink to puppet 8f95084 renaming blink to puppet 6f07413 you can now at least test for whether a package is installed, although you still cannot do anything if it is not -- the barrier is knowing how to get the package 65c2a69 adding validparam() to Blink::Type 500a135 fixing file.rb so it works on Darwin, also 90b9b2d updates 3f0687b updates 5324062 adding new classes and tests 0dad57a md5 summing now works, all the way through! d1f2187 checksums now work, but not all the way through yet 18d755a Rahh! component dependencies now work! 922994e everything passes all of the tests, but i do not think the component-level metaparams are working cdfdfb9 adding some more tests for Blink::Type d42efbe done some more work on making components act like normal objects, but now i need to figure out how to spread events up the tree, rather than just point to point 0ab9685 dependencies now work, although you cannot yet specify them for components 2b97b47 there are now explicit tests for transactions, including rollback, and more tests involving querying b46135f adding simple query syntax stuff 7fecad3 i now have basic events: you can only specify simple object types as requirements, but hey, it works -- refresh() gets called 02f1185 renaming events to event d70229b update before rename c0d86a4 intermediate; no extra functionality yet, but moving away from discussing namevars outside of a given class d86e479 All tests pass again, and i have added Type.allclear to remove all existing type instances, thus making it much easier to run all of the parser and lexer and then server tests; i have also added remove server tests ebc02a8 okay, everything works again, although it still might be a touch fragile 5477f36 i am giving up on fileparsing for now; it does not work yet 576a031 okay, bin/blinker works again, and i have modified both client and server to be a bit easier to use non-networked 03741b4 we now have networking it is very basic right now: the server gets passed a file name, and the client gets passed the server to which to connect. The client gets its config, evaluates it, and exits 4a4438d okay, implicit iteration now occurs at least at object definition time 4a9c1a2 enabling mucking with debug and noop f91451d yep, arrays are always passed d0d8df9 final fixes on passing methods through to types 3a07a4d typesettings now correctly pass all the way through and can only run specified methods, using "allowedmethods" 12418e1 the tree transformations work throughout the whole system now f9a223c transformations from the client through to the transactional execution now works! 00a620d unmoving 135134c updates 4da3b51 moving 259692c moving 3b33738 switched to just passing scopes around, instead of passing the interpreter object around 529b9a7 file recursion now works 4e03ed1 i can now execute simple scripts manually! ec88acf i can basically actually do work now 42dadad moving 817f571 adding lots of verbosity, and starting to actually make sure things execute -- tests are failing, tho 2cce619 basic components now work 49da910 we now have nested scopes, and we've got the beginnings of components, although many tests are currently failing 7689d19 simplifying argument parsing in Blink#message 08d4260 initializing @noop in element.rb 865dffe dealing with having moved the examples to the language area a1a7ae4 moving to the language tree 85b9f91 everything works again, including components 9ea0c30 making components work 1f95fe2 moving component.rb to type/ 7df572b removing most functionality, since type.rb already has it 565554f finishing reorganization of base classes and such; there is now a clear tree heirarchy, with parents and children -- all tests pass on the types, but there are still some issues with client/server stuff 9843da6 cleaning up object tree and adding a simple virtual base class for both types and states d0c6b0c adding transactions 89d2381 moving event info out of type.rb 3c6c0f7 removing elements.rb e452f00 preparing to remove elements.rb cf08be1 renaming statetree to elements b6d0f0c first version of finalized base classes f984192 noop seems to basically be working, but i need to reorganize the whole type/state structure -- that is starting after this commit c01bc81 using the example syslog.conf instead of the one in /etc 57194eb adding some example debian configs 6cd71f8 filetypes now support multiple record types, and newlines can be escaped 7378765 completed the first step to enabling multiple record types in filetypes 490854a the client now executes "evaluate", which might not be a good thing -- i am getting failures if files do not exist, for instance 6127e43 filerecord.rb: duh, fixing a small debug string printing bug 371235b reorganizing the FileType/FileRecord into a base class (TypeGenerator) and basing them off it 7deba97 adding typegenerator baseclass b18d071 fact.rb is no longer a subclass of Blink::Type 43a63db fixing filetype and component to take into account changes type interface.rb and type.rb a16493d type.rb: adding methods to simplify type initialization, and adding eachtype() to simplify testing 69a1276 adding some tests on the interface methods in Blink::Type de360c9 renaming objects to types, since they are just subclasses of Blink::Type b872b72 renaming types to type everywhere; all tests now pass a50d461 changing types to type internally c0bc63f moving types to type b85ac7b renaming types.rb to type.rb 9d163d0 changing Types to Type 68409ef adding cb5f54c deprecating interface.rb 974969d final changes before deprecating f8b08b2 adding an fqpath method to state.rb ae13f00 adding name information and a FileRecordState class a489639 moving some methods around 14c2308 adding markers a1bd01d changing type[param] to return the state instead of the value 41b7fbd renaming oparse to filetype 98374bc renaming oparse to filetype 8ab03d0 renaming oparse to filetype c2e83c5 renaming oparse to filetype 2360201 adding some comments 3904d2e fixing most of the function call stuff 13f16b6 the client is now successfully creating objects from the hashes passed by the server 6140bee making fact a real type d94d7a3 moving state.rb to types/ e86cf4c renaming "value" to "is" d8e8b7b renaming state, and adding modification class c0c1f1a renaming attributes to states 6dce8fc renaming objects to types a90af49 renaming objects to types 5e19d7d renaming objects to types afd4349 updates 67fae6d updates b4bb680 removing link when done c6755f5 adding class collection and naming stuff e5676ab testing keyword f3d1118 removing some excess libs from blink.rb 585c4fc cleaning up the start script 61f8434 cleaning up a bit 52fe914 removing evaluate test 69651dd removing bogus output 8fd8d62 removing output, and fixing path so it is not hardcoded 9da1485 temporarily removing inclusion of time in output 4d7bbaa creating extra message methods 0187bf7 removing execute bit 6a82d07 adding readme 3824817 copy test script 67b7b34 okay, all tests pass again 35f742c adding client stuff to the library tree 02ed7d3 reorganizing tests 8bc935e adding comments a0d0fa8 adding 11b0374 moving client.rb to the library tree cb785bd moving client.rb to the library tree 8788552 fixing [] method in function.rb c86a770 adding operatingsystemrelease 21ca565 renaming tc_functions.rb, and adding to ts_other.rb 1aab204 functions mostly work c45c5c4 renaming 06734a9 updates so i can rename 9bf82b6 adding package source, initially including only files as a source e40d5f2 returning value instead of fact 9fa899d reorganizing 4642515 reorganizing 5807dce reorganizing 6ee8b4e reorganizing 5416017 reorganizing 54e9b5e adding structure