summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG.old1705
-rw-r--r--COPYING340
-rw-r--r--LICENSE26
-rw-r--r--README31
-rw-r--r--README.md (renamed from README.rst)25
-rw-r--r--README.queueing126
-rw-r--r--conf/redhat/puppet.spec2
-rw-r--r--conf/solaris/pkginfo7
-rw-r--r--conf/suse/puppet.spec2
-rwxr-xr-xext/nagios/naggen17
-rwxr-xr-xext/puppet-test16
-rwxr-xr-xext/yaml_nodes.rb16
-rw-r--r--lib/puppet/application/agent.rb3
-rw-r--r--lib/puppet/application/apply.rb3
-rw-r--r--lib/puppet/application/cert.rb3
-rw-r--r--lib/puppet/application/describe.rb3
-rw-r--r--lib/puppet/application/doc.rb3
-rw-r--r--lib/puppet/application/filebucket.rb3
-rw-r--r--lib/puppet/application/inspect.rb4
-rw-r--r--lib/puppet/application/kick.rb3
-rw-r--r--lib/puppet/application/master.rb3
-rw-r--r--lib/puppet/application/queue.rb3
-rw-r--r--lib/puppet/application/resource.rb3
-rw-r--r--lib/puppet/network/http_server/mongrel.rb20
-rw-r--r--lib/puppet/provider/augeas/augeas.rb24
-rw-r--r--lib/puppet/provider/group/directoryservice.rb14
-rw-r--r--lib/puppet/provider/mcx/mcxcontent.rb19
-rw-r--r--lib/puppet/provider/nameservice/directoryservice.rb14
-rw-r--r--lib/puppet/provider/package/pkgdmg.rb17
-rw-r--r--lib/puppet/provider/user/directoryservice.rb14
-rw-r--r--lib/puppet/type/augeas.rb24
-rw-r--r--lib/puppet/type/mcx.rb23
-rwxr-xr-xspec/unit/provider/mcx/mcxcontent_spec.rb18
-rwxr-xr-xspec/unit/type/mcx_spec.rb20
-rwxr-xr-xtest/test4
35 files changed, 99 insertions, 2459 deletions
diff --git a/CHANGELOG.old b/CHANGELOG.old
deleted file mode 100644
index bb0be94ba..000000000
--- a/CHANGELOG.old
+++ /dev/null
@@ -1,1705 +0,0 @@
-This is the legacy CHANGELOG. Please see the new ChangeLog file and the ReleaseNotes page at:
-
-http://reductivelabs.com/trac/puppet/wiki/ReleaseNotes
-
-0.25.0
- Fixed #2280 - Detailed exit codes fix
-
- Fixed #198 - Puppet man pages added
-
- Moved puppetd, puppetmasterd, puppetrun, puppetca from bin to sbin
-
- Fixed #2071 - Updated LDAP schema
-
- Fixed #1849 - Ruby 1.9 portability: `when' doesn't like colons, replace with semicolons
-
- Fixed #1910 - Updated logcheck regex
-
- Fixed #1879 - Added to tidy documentation
-
- Fixed #1881 - Added md5lite explanation
-
- Fixed #1877 - Tidy type reference update for use of 0
-
- Fix autotest on win32
-
- Doc strings update for REST
-
- Fixed #1840 - Bug fixes and improvements for Emacs puppet-mode.el
-
-0.24.8
- Fixed #2077 - ralsh user broken on OSX
-
- Fixed #2004 - ssh_authorized_key fails if no target is defined
-
- Fixed #1629 - incorrect permissions on ssh_authorized_keys created files
-
- Fixed #2000 - No default specified for checksum
-
- Fixed #2026 - Red Hat ignoring stop method
-
- Added ext/dbfix.sql script - fixes common errors in stored configuration databases
-
- Fixed #1963 - Failing to read /proc/mounts for selinux kills file downloads
-
- Fixed #2025 - gentoo service provider handle only default init level
-
- Fixed #1910 - updated logcheck
-
- Fixed #1871 - Sensitive information leaked in log reports
-
- Fixed #1956 - Cleaned up variable names to be more sane, clarified error messages
- and fixed incorrect use of 'value' variable rather than 'member'.
-
- Fixed #1831 - Added sprintf function
-
- Fixed #1830 - Added regsubst function
-
- Updated up2date and service confines to add support for Oracle EL and VM
-
- Fixing #1948 and #1953 - augeas ins bug: wrong number of arguments (1 for 3)
-
- Fixing #944 - changing error message from warning to info - connection recycled
-
- Fixed #961 - puppetd creating too many/not closing TCP connections
-
- Fixed #1959 - Added column protection for environment schema migration
-
- Fixing #1869 - autoloaded files should never leak exceptions
-
- Fixing #1543 - Nagios parse errors no longer kill Puppet
-
- Fixed #1420 - nagios_serviceescalation not allowing host_name more than one type
-
- Fixed #1884 - Exported resources are marked as unexported when collected on the exporting host
-
- Fixed #1922 - Functions squash all arguments into a single hash
-
- Fixed #1538 - Yumrepo sets permissions wrongly on files in /etc/yum.repos.d
-
- Fixed #1936 - Added /* */ support to the vim file
-
- Fixed #1541 - nagios objects write files to clientbucket on every change
-
- Fixed #1542 - cannot purge nagios objects
-
- Fixing #1912 - gid still works with no 'should' value fixing ralsh issues
-
- Fixing the Rakefile to use 'git format-patch'
-
- Added README.rst file
-
- Enhancements to Stored Configuration performance
-
- Added Reductive Labs build library to tasks directory
-
- Fixed #1852 - Correct behaviour when no SELinux bindings
-
- Updated Red Hat spec file 0.24.7
-
- Fixed #1920 - Shadow password corruption
-
-0.24.7
- Fixed #1804 - Added VDev and MultiVDev properties to the ZPool type
-
- Fixed #1496 - nagios_servicedependency needs a unique host_name?
-
- Fixed #1420 - nagios_serviceescalation not allowing host_name more than one type
-
- Bug #1803 Zfs should auto require the ancestor file systems
-
- Refactor #1802 Use 'zfs get -H -o value' instead of parsing output for value
-
- Fixing #1800 - tidy now correctly ignores missing files and directories
-
- Fixing #1794 - returning sync when it is already initialized
-
- Fixing #1750 again - All of the properties and now :ensure check replace?
-
- Deprecate the NetInfo nameservice provider. Use directoryservice instead
-
- Add macauthorization type
-
- Fixing #1703 - using a mutex around the sending of the tagmails
-
- Fix #1788 - allow rspec rake to run only some tests
-
- Fixing the AST constant warnings, using a variable instead of a constant
-
- Feature #1696 Add support for branded zones
-
- Feature #1783 - Add ZFS support
-
- type/mcx.rb Feature #1026 - MCX Type
-
- Fixing #1749 - Splay now hopefully behaves "better" for small values
-
- Fix #1741 - Add inline_template function
-
- Slight denormalisation to store a host's environment as a first class
-
- Added Rake :ci namespace and CI tasks
-
- Refactoring the thread-safety in Puppet::Util
-
- Removing the included testing gems; you must now install them yourself
-
- Refactoring of SELinux functions to use native Ruby SELinux interface
-
- Removing all mention of EPM, RPM, or Sun packages.
-
- Fixed #1496 - nagios_servicedependency needs a unique host_name?
-
- Fixed #1420 - nagios_serviceescalation not allowing host_name more than one type
-
- Fixed #1695 - Solaris 10 zone provider doesn't properly handle unknown zone attributes in newer releases
-
- Fixed #1776 - Trivial fix for gentoo service provider
-
- Fixed #1767 - Minor fix to emacs mode
-
- Fixed #1711 - fileserver test fails due to incorrect mocking
-
- Fixed #1751 - Mac OS X DirectoryService nameservice provider support for
- plist output and password hash fil
-
- Fixed #1752 - Add an optional argument to Puppet::Util.execute to determine
- whether stderr and stdout are combined in the output
-
- Added versionable feature to the RPM provider
-
- Fixed #1668 - puppetca can't clean unsigned certs
-
- Moved RRD feature from util/metric.rb to feature/base.rb
-
- Fixed #1735 and #1747 - Fixes to confine system
-
- Fixed #1681 - Add filesystem type check to test for per-file SELinux context support
-
- Fixed #1746 - Sync SELinux file attributes after file contents created/modified
-
- Replaced SELInux calls to binaries with Ruby SELinux bindings
-
- Fixed #1748 - Include spec directory in packages
-
- Fixes #1672 - unsafe crontab handling in Solaris
-
- Fixed #1718 - Added preseed to apt uninstall and purge
-
- Fixed #1739 - Added uninstall functionality to yum provider
-
- Fixed #1710 - Spurious output in test run
-
- Fixed #1667 - Documentation should specify natural language regexs, not Regexp objects
-
- Fixed #1692 - k5login fails to set mode when file is created
-
- Fixed #1660 - Added specific recurse values for tidy
-
- Fixed #1698 - All logs should now show up in the reports
-
- Fixed #1661 - Type reference: tidy should specify manditory parameters
-
- Fixed #1104 - Classes and nodes should set $name variables
-
- Updated Red Hat spec file for 0.24.6
-
- Removed conf/debian directory - Debian packaging information
- now maintained downstream
-
- Added augeas type
-
- Added support for @doc type and manifest documentation support - see:
- http://reductivelabs.com/trac/puppet/wiki/PuppetManifestDocumentation
-
- Added multiline comment support
-
-0.24.6
- Adding support to the user type for: profiles, auths, project,
- key/value pairs (extension to Solaris RBAC support added in
- 0.24.6)
-
- Fixed #1662 - Configuration Reference still references 'section'
-
- Fixed #1460 - enhance redhat puppetmaster init.d script to easy start puppetmaster as a mongrel cluster
-
- Fixed #1663 - Regression relating to facter fact naming from 0.24.5
-
- Fixed #1655 - Provider::Confine::Variable tests are broken
-
- Fixed #1646 - service puppet status does not work as non-root
- on redhat system
-
- Fixed #1649 - Updated OSX package cleanup
-
- Fixed #1647 - puppetdoc -r providers now working again
-
- Fixed #1639 - uninitialized constant Puppet::Type::User::ProviderUseradd
-
- Fixed #1637 - With an inexistant (global) templatedir, modules
- can't access their templates
-
- Fixed #1202 - Collection attribute matching doesn't parse arrays
-
- Fixed #1473 - Puppetd stops with error after puppetmasterd
- is unavailable
-
- Fixed #1354 - yum provider problems with RHEL 3
-
- Fixed #1633 - Added support for --detailed-exits to bin/puppet
-
- Fixed #381 - Allow Allow multiple overrides in one statement
-
- Fixing #947 - pluginsync no longer fails poorly when no plugins exist
-
- Fixed #981 - Removed 'Adding aliases' info message
-
- Fixing #1089 - Log messages are now tagged with the log level,
- making it easier to match messages in the 'tagmail' report.
-
- Fixing #1098 - Multiline strings now correctly increment the line count
-
- Fixing #1614 - Environments no longer have to be listed out
-
- Fixed #1628 - Changed node search to use certname rather than Facter
- hostname
-
- Fixed #1613 - The client environment will be substituted when looking
- up settings.
-
- Updated puppet binary documentation
-
- Feature #1624 - Added RBAC roles to solaris user provider
-
- Fixed #1586 - Specifying "fully qualified" package names in Gentoo
-
- Fixed #1620 - Add 'sles' to Puppet confines when 'suse' is used
-
- Fixed #1585 - Allow complex 'if' and variable expressions
-
- Fixed #1564 - Saving File#checksum to state.yaml broken
-
- Fixed #1603 - Added support for running Puppet inside a Rack application
- (mod_rails) with Passenger and Apache
-
- Fixed #1596 - Deploying file resources with ++ generates error
-
- 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.
-
- Modified the behaviour of resource-level 'retrieve' -- it only
- calls 'retrieve' on each property if the resource exists.
-
- Fixed #1622 - Users and their groups should again add in one transaction
-
- Fixed #791 - You should now be able to create and find a user/group in one transaction.
-
- Fixed #1610 - Raise "Filebucketed" messages to Notice priority
-
- FIxed #1530 - ssh_authorized_keys provider does not crash anymore on SSH type 1 keys
-
- Added a number of confines to package providers
-
- Fixed #1609 - Added confines for the Gentoo, FreeBSD and
- SMF (Solaris) service providers
-
- Fixed #1608 - Added ubuntu to defaultfor for apt provider
-
- Fixed #1607 - Added ubuntu to defaultfor for Debian service
- provider
-
- Fixed #1045 - Multiple metaparams all get added to resources.
-
- Fixed #1472 -- defined, exported resources in the current compile
- now get expanded correctly.
-
- Fixed #1595 - Internally, Property#retrieve is no longer called
- when no 'should' value is available for a resource.
-
- Fixed #1588 - Fixed puppetca --clean --all
-
- Fixed #1584 - Added support for appended variables
-
- Fixed #1554 - Added support for multiple template directories
-
- Fixed #1500 - puppetrun not working
-
- Fixed #1579 and #1580 - errors in the Puppet RPM spec file
-
- Fixed #1572 -- file purging now fails if remote sources do not exist.
-
- Fixed #1521 -- ldap user and password are now used with the default connection.
-
- Fixed issues with file descriptors leaking into subprocesses
-
- Fixed #1568 - createpackage.sh
-
- Fixed #1571 - Puppet::Util::binary returns incorrect results
-
- Fixed #1553 - Puppet and Facter cannot both install the plist module into two different locations
-
- Adjusted hpuxuseradd user provider to confine to HP-UX and fixed HP-UX user provider path regression
-
- Fixed debug messages in package type - thanks to Todd Zullinger for this fix
-
- Fixed #1566 - changed password property of the user type
-
- Fixed debug messages in package type
-
- Updated Red Hat spec file
-
- Fixes #1455 - Adds HP-UX support for user type
-
- Fixes #1551 puppetmaster.freshness xmlrpc call returns incorrect type
-
- Fixes #1554 - Fix exception for undefined hostname
-
- Fixed #1533 - changed permissions for man directory
-
- Added daemontools and runit providers for service type
-
- Added simple rake task for running unit tests
-
- Added spec Rake task
-
- Fixed #1526 - Fixed leak in template
-
- Fixed #1506 - Removed storeconfig duplicate indexes
-
- Fixed #1457 - case insensitive match for error
-
- Fixed #1488 - Moved individual functions out of functions.rb into
- lib/puppet/parser/functions directory. New functions should be create in this directory.
-
- Fixed #1508 - Added HP-UX package provider
-
- Fixed #1502 - Fixed poor stored configuration performance
-
- Fixed #1510 - Storeconfiguration fixed for Rails 2.1
-
- Add the -P/--ping option to puppetrun, fixes #1501
-
- Fixed #1394 - Added stored configuration clearing script to /ext
-
- Fixed #1442 - replaced use of Facter for report titling with certname
-
- Fixed $1456 - add proxy configuration capability to yum repo
-
- Fixed #1457 - removed confine warning
-
- A working script to create an OS X pkg out of the Puppet repository
-
- Fixed #1441 - Updated console colours
-
- 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.
-
- * Implement Puppet::Parser::Scope#to_hash, which returns a hash containing all the
- variable bindings in the current and, optionally, parent scope.
- * Use that to set instance member variables into Puppet::Parser::Templatewrapper
- * Report the time taken for variable binding at debug level, to help identify any
- performance regression that is encountered in the real world.
- * Rename the @scope and @file members of the template wrapper, to avoid clashing
- with a scope variable exposed within puppet.
-
- Ensure that we consistently use either string #{} interpolation or String.%
- interpolation, not both, to avoid issues where a #{} interpolated value
- contains a % character.
-
- Feature #1476: Allow specification of --bindir --sbindir --sitelibdir --mandir --destdir
- in installation
-
- Added feature #1241 : Improve performance of group lookups
-
- Fixed bug #1448: Puppet CA incorrectly writes out all certs to inventory .txt on each
- certificate signing
-
- Fixing puppetlast to make it work with 0.24.5 / 0.25. Made puppetlast work on 0.24.5
- by using the YAML indirector
-
-0.24.5
- 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.
-
- Fixed #1431 - Provider confines must now specify similar tests in one call.
- I.e., you can't do confine :operatingsystem => %w{a b} and then
- confine :operatingsystem => %w{b c}; you'd need to do them in one command.
- This now-obsolete behaviour does not seem to be used anywhere.
- The fix for #1431 is actually just removing the tests that exposed
- this change; the change happened when I refactored how confines work.
-
- Removed faulty interface type
-
- Updated /spec/unit/rails.rb test
-
- Fix #1426 - services on redhat are restarted again and status is
- called from the Red Hat provider
-
- Fixed #1414 - Return code from waitpid now right shifted 8 bits
-
- Fixed #174 - a native type type for managing ssh authorized_keys
- files is available.
-
- Further moves from the examples directory and ext directory
-
- Fixed #1397 One line fix, fail instead of log
-
- Moved debian to conf and updated examples directory
-
- Fixed #1368 - updated Red Hat init scripts
-
- Added message referencing ReductiveLabs build library
-
- Fixed #1396 - Added sha1 function from DavidS to core
-
- Fixed #1399 - the ldap user provider now knows it can manage
- passwords.
-
- Fixed #1272 - if you provide a group name as the gid to an ldap
- user, the name will be converted to a gid. Note that this only
- looks up ldap groups, at this point; if you want to set an ldap
- user's primary group to a local group, you have to specify the GID.
-
- Fixed #1226 - gems can now specify source repositories.
-
- Fixed #1232 - the rundir no longer specifies a user/group,
- and there are now client- and server-specific yaml directories.
-
- Fixed 1240 - puppet will function more like puppetd if graphing
- or reporting are enabled.
-
- Fixed #1231 - Exceptions during initialization should now be clearer.
-
- Fixed #1006 - puppetrun --class works again. I added the class
- membership testing to the Ldap node terminus, and added tests,
- so it shouldn't break again.
-
- Fixed #1114 - Facts in plugin directories should now be autoloaded,
- as long as you're using Facter 1.5.
-
- Removed support for the 'node_name' setting in LDAP and external node lookups.
- Fixed #1195 - Updated Gentoo init scripts
-
- Fixed #1367 - Updated Rakefile for new daily builds
-
- Fixed #1370 - removed test/util/loadedfile.rb tests
-
- Fixed #1221 - aliases to titles now work for resources.
-
- Fixed #1012 - templates in the templatedir are preferred to module templates.
-
- Fixed #707 - special '@reboot'-style cron jobs work again.
-
- Fixed #1360 - allowdupe works on groups again.
-
- Fixed #1369 - the init service provider now supports HP-UX.
-
- Removed support for the 'node_name' setting in LDAP and external node
- lookups.
-
- Also removed support for 'default' nodes in external nodes.
- LDAP nodes now use the certificate name, the short name, and 'default',
- but external nodes just use the certificate name and any custom terminus
- types will use just the certificate name.
-
- 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.
-
- Adding a ResourceTemplate 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.
-
- Exporting or collecting resources no longer raises an exception
- when no storeconfigs is enabled, it just produces a warning.
-
- Always using the cert name to store yaml files, which fixes #1178.
- The Master handler previously provided the support for the :node_name
- setting, and that functionality has now been moved into the Node
- class. At the same time, the names to search through have been
- changed somewhat: Previously, the certificate name and the
- hostname were both used for searching, but now, the cert name
- is always searched first (unless node_name == facter), but only
- the Facter hostname, domain, and fqdn are used otherwise. We no
- longer split the cert name, only the hostname/domain/fqdn.
-
- Fixing transaction support for prefetching generated resources.
-
- Adding support for settings within the existing Facter provider confines.
-
- Moving all confine code out of the Provider class, and fixing #1197.
- Created a Confiner module for the Provider class methods, enhanced
- the interface between it and the Confine class to make sure binary
- paths are searched for fresh each time.
-
- Modified the 'factpath' setting to automatically configure
- Facter to load facts there if a new enough version of
- Facter is used.
-
- Crontab provider: fix a parse error when a line begins with a space
- character (fixes #1216)
-
- Instead of deleting the init scripts (with --del) we should simply
- disable it with chkconfig service off, and respectfully do the same
- for enable => true;
-
- Added ldap providers for users and groups.
-
- Added support for the --all option to puppetca --clean. If
- puppetca --clean --all is issued then all client certificates
- are removed.
-
- 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.
-
- 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.
-
- Modified the 'master' handler (responsible for sending configurations
- to clients) to always return Time.now as its compile date, so
- configurations will always get recompiled.
-
- Fixed #1184 -- definitions now autoload correctly all of the time.
-
- 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.
-
- Fixing #1173 -- classes and definitions can now have the same
- name as a directory with no failures.
-
- Saving new facts now expires any cached node information.
-
- Switching how caching is handled, so that objects now all
- have an expiration date associated with them. This makes it
- much easier to know whether a given cached object should be used
- or if it should be regenerated.
-
- Changing the default environment to production.
-
-0.24.4
- Pass source to pkg_add via the PKG_PATH environment variable if
- it ends in a '/' indicating it is a directory. Allows pkg_add
- to resolve dependancies, and make it possible to specify packages
- without version numbers.
-
- 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.
-
- 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).
-
- Ported #198 man page creation functionality to 0.24.x branch and
- added man pages and man page creation logic to install.rb. The
- man pages are stored in man/man8 and will install to config::CONFIG
- mandir/man8.
-
- Fixing #1138 -- the yamldir is automatically created by the
- server now that it's in the :puppetmasterd section rather than
- a separate :yaml section.
-
- 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).
-
- Applying patch by Ryan McBride to fix OpenBSD package
- matching. The actual problem was caused by the fix to #1001.
-
- 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.
-
- 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).
-
- 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).
-
- Fixed #1137: The certificate name is correctly being added
- to the facts hash.
-
- Fixed #1136: Verbose and Debug no longer clobber each other.
-
- 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.
-
-0.24.3
- 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)
-
- 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)
-
- Fixing #1132 -- host names can now have dashes anywhere.
- (Patch by freiheit.)
-
- 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).
-
- The change in checksums from 'timestamp' to 'mtime' no longer
- result in updates on every run (#1116).
-
- Aliases again work in relationships (#1094).
-
- The CA serial file will no longer ever be owned by
- root (#1041).
-
- Fixing the rest of #1113: External node commands can specify
- an environment and Puppet will now use it.
-
- Partially fixing #1113: LDAP nodes now support environments,
- and the schema has been updated accordingly.
-
- 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.
-
-0.24.2
- Fixing #1062 by moving the yamldir setting to its own yaml
- section. This should keep the yamldir from being created
- on clients.
-
- 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.
-
- Fixed #1063 -- the master correctly logs syntax errors when
- reparsing during a single run.
-
- 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.
-
- 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.
-
- Hopefully partially fixed #1010 -- clients should now fail
- to install files whose checksums do not match the checksum
- from the server.
-
- Fixed #1018 -- resources now have their namevars added as
- aliases in the resource catalog, just like they were added
- in the resource classes.
-
- Fixed #1037 -- remote unreadable files no longer have the
- permission denied exceptions caught, thus forbidding them
- from being replaced with 'nil'.
-
- The environment is now available as a variable in the manifests.
-
- 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.
-
- Fixed #1003 -- Applying DavidS's patch to fix searching for
- tags in sql.
-
- Fixed #992 -- Puppet is now compatible with gems 1.0.1.
-
- Fixed #968 again, this time with tests -- parseonly works,
- including not compiling the configurations, and also storeconfigs
- is no longer required during parse-testing.
-
- 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.
-
- 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.
-
- 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.
-
- Exec resources must now have unique names, although the commands can still
- be duplicated. This is easily accomplished by just specifying a unique
- name with whatever (unique or otherwise) command you need.
-
- Fixed #989 -- missing CRL files are correctly ignored, and the
- value should be set to 'false' to explicitly not look for these
- files.
-
- Fixed #1017 -- environment-specific modulepath is no longer ignored.
-
- Fixing #794 -- consolidating the gentoo configuration files.
-
- 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.
-
- Fixing #995 -- puppetd no longer dies at startup if the server
- is not running.
-
- Fixing #977 -- the rundir is again set to 1777.
-
- Fixed #971 -- classes can once again be included multiple
- times.
-
- Added builtin support for Nagios types using
- Naginator to parse and generate the files.
-
-0.24.1
- Updated vim filetype detection. (#900 and #963)
-
- Default resources like schedules no longer conflict with
- managed resources. (#965)
-
- Removing the ability to disable http keep-alive, since
- it didn't really work anyway and it should no longer
- be necessary.
-
- Refactored http keep-alive so it actually works again.
- This should be sufficient enough that we no longer need the
- ability to disable keep-alive. There is now a central
- module responsible for managing HTTP instances, along with
- all certificates in those instances.
-
- Fixed a backward compatibility issue when running 0.23.x
- clients against 0.24.0 servers -- relationships would
- consistently not work. (#967)
-
- Closing existing http connections when opening a new one,
- and closing all connections after each run. (#961)
-
- Removed warning about deprecated explicit plugins mounts.
-
-0.24.0 (misspiggy)
- Modifying the behaviour of the certdnsnames setting. It now defaults
- to an empty string, and will only be used if it is set to something
- else. If it is set, then the host's FQDN will also be added as
- an alias. The default behaviour is now to add 'puppet' and
- 'puppet.$domain' as DNS aliases when the name for the cert being
- signed is equal to the signing machine's name, which will only
- be the case for CA servers. This should result in servers always
- having the alias set up and no one else, but you can still override
- the aliases if you want.
-
- External node support now requires that you set the 'node_terminus'
- setting to 'exec'. See the IndirectionReference on the wiki for more
- information.
-
- http_enable_post_connection_check added as a configuration
- option for puppetd. This defaults to true, which validates the server
- SSL certificate against the requested host name in new versions of ruby.
- See #896 for more information.
-
- Mounts no longer remount swap filesystems.
-
- Slightly modifying how services manage their list of paths
- (and adding documention for it). Services now default
- to the paths specified by the provider classes.
-
- Removed 'type' as a valid attribute for services, since it's been
- deprecated since the creation of providers.
-
- Removed 'running' as a valid attribute for services, since it's
- been deprecated since February 2006.
-
- Added modified patch by Matt Palmer which adds a 'plugins' mount,
- fixing #891. See PluginsInModules on the wiki for information on
- usage.
-
- Empty dbserver and dbpassword settings will now be ignored when
- initializing Rails connections (patch by womble).
-
- Configuration settings can now be blank (patch by womble).
-
- Added calls to endpwent/endgrent when searching for user and group IDs,
- which fixes #791.
-
- Obviated 'target' in interfaces, as all file paths were automatically
- calculated anyway. The parameter is still there, but it's
- not used and just generates a warning.
-
- Fixing some of the problems with interface management on Red Hat.
- Puppet now uses the :netmask property and does not try to set
- the bootproto (#762).
-
- You now must specify an environment and you are required to specify
- the valid environments for your site. (#911)
-
- Certificates now always specify a subjectAltName, but it defaults
- to '*', meaning that it doesn't require DNS names to match. You
- can override that behaviour by specifying a value for
- 'certdnsnames', which will then require that hostname as a match (#896).
-
- Relationship metaparams (:notify, :require, :subscribe, and
- :before) now stack when they are collecting metaparam values
- from their containers (#446). For instance, if a resource
- inside a definition has a value set for 'require', and you call
- the definition with 'require', the resource gets both requires,
- where before it would only retain its initial value.
-
- Changed the behavior of --debug to include Mongrel client
- debugging information. Mongrel output will be written to
- the terminal only, not to the puppet debug log. This should
- help anyone working with reverse HTTP SSL proxies. (#905)
-
- Fixed #800 -- invalid configurations are no longer
- cached. This was done partially by adding a relationship
- validation step once the entire configuration is created,
- but it also required the previously-mentioned changes
- to how the configuration retrieval process works.
-
- Removed some functionality from the Master client,
- since the local functionality has been replaced
- with the Indirector already, and rearranging how configuration
- retrieval is done to fix ordering and caching bugs.
-
- The node scope is now above all other scopes besides
- the 'main' scope, which should help make its variables
- visible to other classes, assuming those classes were
- not included in the node's parent.
-
- Replaced GRATR::Digraph with Puppet::SimpleGraph as
- the base class for Puppet's graphing. Functionality
- should be equivalent but with dramatically better
- performance.
-
- The --use-nodes and --no-nodes options are now obsolete.
- Puppet automatically detects when nodes are defined, and if
- they are defined it will require that a node be found,
- else it will not look for a node nor will it fail if it
- fails to find one.
-
- Fixed #832. Added the '--no-daemonize' option to puppetd and
- puppetmasterd. NOTE: The default behavior of 'verbose' and
- 'debug' no longer cause puppetd and puppetmasterd to not
- daemonize.
-
- Added k5login type. (#759)
-
- Fixed CA race condition. (#693)
-
- Added shortname support to config.rb and refactored addargs
-
-0.23.2
- Fixed the problem in cron jobs where environment settings
- tended to multiple. (#749)
-
- Collection of resources now correctly only collects exported
- resources again. This was broken in 0.23.0. (#731)
-
- 'gen_config' now generates a configuration with
- all parameters under a heading that matches the
- process name, rather than keeping section headings.
-
- Refactored how the parser and interpreter relate,
- so parsing is now effectively an atomic process (thus
- fixing #314 and #729). This makes the interpreter less
- prone to error and less prone to show the error to the
- clients. Note that this means that if a configuration
- fails to parse, then the previous, parseable configuration
- will be used instead, so the client will not know that
- the configuration failed to parse.
-
- Added support for managing interfaces, thanks to work
- by Paul Rose.
-
- Fixed #652, thanks to a patch by emerose; --fqdn again
- works with puppetd.
-
- Added an extra check to the Mongrel support so that
- Apache can be used with optional cert checking, instead
- of mandatory, thus allowing Mongrel to function as the CA.
- This is thanks to work done by Marcin Owsiany.
-
-0.23.1 (beaker)
- You can now specify relationships to classes, which work
- exactly like relationships to defined types:
- require => Class[myclass]
- This works with qualified classes, too.
-
- You can now do simple queries in a collection of
- exported resources. You still cannot do multi-condition queries,
- though. (#703)
-
- puppetca now exits with a non-zero code if it cannot
- find any host certificates to clean. (Patch by Dean
- Wilson.)
-
- Fully-qualified resources can now have defaults. (#589)
-
- Resource references can now be fully-qualified names,
- meaning you can list definitions with a namespace as
- dependencies. (#468)
-
- Files modified using a FileType instance, as ParsedFile
- does, will now automatically get backed up to the filebucket
- named "puppet".
-
- Added a 'maillist' type for managing mailing lists.
-
- Added a 'mailalias' type for managing mail aliases.
-
- Added patch by Valentin Vidic that adds the '+>' syntax to
- resources, so parameter values can be added to.
-
- The configuration client now pulls libraries down to $libdir,
- and all autoloading is done from there with full support
- for any reloadable file, such as types and providers. (#621)
- Note that this is not backward compatible -- if you're using
- pluginsync right now, you'll need to disable it on your clients
- until you can upgrade them.
-
- The Rails log level can now be set via (shockingly!) the
- 'rails_loglevel' parameter (#710). Note that this isn't
- exactly the feature asked for, but I could not find a
- way to directly copy ActiveRecord's concept of an environment.
-
- External node sources can now return undefined classes (#687).
-
- Puppet clients now have http proxy support (#701).
-
- 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. (#706)
-
- Hostnames can now be double quoted.
-
- Adding module autoloading (#596) -- you can now 'include' classes
- from modules without ever needing to specifically load them.
-
- Class names and node names now conflict (#620).
-
-0.23.0
- 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.
-
- Fixed environment handling in the crontab provider (#669).
-
- Added patch by trombik in #572, supporting old-style
- freebsd init scripts with '.sh' endings.
-
- Added fink package provider (#642), as provided by 'do'.
-
- Marked the dpkg package provider as versionable (#647).
-
- Applied patches by trombik to fix FreeBSD ports (#624 and #628).
-
- Fixed the CA server so that it refuses to send back a certificate
- whose public key doesn't match the CSR. Instead, it tells the
- user to run 'puppetca --clean'.
-
- Invalid certificates are no longer written to disk (#578).
-
- Added a package provider (appdmg) able to install .app packages
- on .dmg files on OS X (#641).
-
- Applied the patch from #667 to hopefully kill the client hanging
- problems (permanently, this time).
-
- Fixed functions so that they accept most other rvalues as valid values
- (#548).
-
- COMPATIBILITY ALERT:
- Significantly reworked external node support, in a way that's NOT
- backward-compatible:
-
- Only ONE node source can be used -- you can use LDAP, code, or
- an external node program, but not more than one.
-
- LDAP node support has two changes: First, the "ldapattrs" attribute is
- now used for setting the attributes to retrieve from the server (in
- addition to required attriutes), and second, all retrieved attributes
- are set as variables in the top scope. This means you can set attributes
- on your LDAP nodes and they will automatically appear as variables
- in your configurations.
-
- External node support has been completely rewritten. These programs must
- now generate a YAML dump of a hash, with "classes" and "parameters" keys.
- The classes should be an array, and the parameters should be a hash. The
- external node program has no support for parent nodes -- the script must
- handle that on its own.
-
- Reworked the database schema used to store configurations with the
- storeconfigs option.
-
- Replaced the obsolete RRD ruby library with the maintained
- RubyRRDtool library (which requires rrdtool2) (#659).
-
- The Portage package provider now calls eix-update automatically
- when eix's database is absent or out of sync (#666).
-
- Mounts now correctly handle existing fstabs with no pass or dump values
- (#550).
-
- Mounts now default to 0 for pass and dump (#112).
-
- Added urpmi support (#592).
-
- Finishing up the type => provider interface work. Basically, package
- providers now return lists of provider instances. In the proces,
- I rewrote the interface between package types and providers, and also
- enabled prefetching on all packages. This should significantly speed
- up most package operations.
-
- Hopefully fixing the file descriptor/open port problems, with patches
- from Valentin Vidic.
-
- 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.
-
- Along with this change, the 'prefetch' class method on providers now
- accepts the list of resources for prefetching. This again reduces
- reliance on global state, and makes the execution path much easier
- to follow.
-
- Fixed #532 -- reparsing config files now longer throws an exception.
-
- Added some warnings and logs to the service type so
- users will be encouraged to specify either "ensure"
- or "enabled" and added debugging to indicate why
- restarting is skipped when it is.
-
- Changed the location of the classes.txt to the state
- directory.
-
- Added better error reporting on unmatched brackets.
-
- Moved puppetd and puppetmasterd to sbin in svn and fixed install.rb
- to copy them into sbin on the local system appropriately. (#323)
-
- Added a splay option (#501). It's disabled when running under
- --test in puppetd. The value is random but cached. It defaults
- to the runinterval but can be tuned with --splaylimit
-
- Changing the notify type so that it always uses
- the loglevel.
-
- Fixing #568 - nodes can inherit from quoted node names.
-
- Tags (and thus definitions and classes) can now be a single
- character. (#566)
-
- Added an 'undef' keyword (#629), which will evaluate to ""
- within strings but when used as a resource parameter value
- will cause that parameter to be evaluated as undefined.
-
- Changed the topological sort algorithm (#507) so it will always
- fail on cycles.
-
- Added a 'dynamicfacts' configuration option; any facts in that
- comma-separated list will be ignored when comparing facts to
- see if they have changed and thus whether a recompile is necessary.
-
- Renamed some poorly named internal variables:
- @models in providers are now either @resource or
- @resource_type (#605).
-
- @children is no longer used except by components (#606).
-
- @parent is now @resource within parameters (#607).
-
- The old variables are still set for backward compatibility.
-
- Significantly reworking configuration parsing. Executables all now
- look for 'puppet.conf' (#206), although they will parse the old-style
- configuration files if they are present, although they throw a deprecation
- warning. Also, file parameters (owner, mode, group) are now set on the
- same line as the parameter, in brackets. (#422)
-
- Added transaction summaries (available with the --summarize option),
- useful for getting a quick idea of what happened in a transaction.
- Currently only useful on the client or with the puppet interpreter.
-
- Changed the interal workings for retrieve and removed the :is attribute
- from Property. The retrieve methods now return the current value of
- the property for the system.
-
- Removed acts_as_taggable from the rails models.
-
-0.22.4
- Execs now autorequire the user they run as, as long as the user
- is specified by name. (#430)
-
- Files on the local machine but not on the remote server during
- a source copy are now purged if purge => true. (#594)
-
- Providers can now specify that some commands are optional (#585).
- Also, the 'command' method returns nil on missing commands,
- rather than throwing an error, so the presence of commands
- be tested.
-
- The 'useradd' provider for Users can now manage passwords.
- No other providers can, at this point.
-
- Parameters can now declare a dependency on specific
- features, and parameters that require missing features
- will not be instantiated. This is most useful for
- properties.
-
- FileParsing classes can now use instance_eval to add
- many methods at once to a record type.
-
- Modules no longer return directories in the list of found
- manifests (#588).
-
- The crontab provider now defaults to root when there is no
- USER set in the environment.
-
- Puppetd once again correctly responds to HUP.
-
- Added a syntax for referring to variables defined in
- other classes (e.g., $puppet::server).
-
- STDIN, STDOUT, STDERR are now redirected to /dev/null in
- service providers descending from base.
-
- Certificates are now valid starting one day before they are
- created, to help handle small amounts of clock skew.
-
- Files are no longer considered out of sync if some properties
- are out of sync but they have no properties that can create
- the file.
-
-0.22.3
- Fixed backward compatibility for logs and metrics from older clients.
-
- Fixed the location of the authconfig parameters so there aren't
- loading order issues.
-
- Enabling attribute validation on the providers that subclass
- 'nameservice', so we can verify that an integer is passed to
- UID and GID.
-
- Added a stand-alone filebucket client, named 'filebucket'.
-
- Fixed the new nested paths for filebuckets; the entire md5 sum was
- not being stored.
-
- Fixing #553; -M is no longer added when home directories are being
- managed on Red Hat.
-
-0.22.2 (grover)
- Users can now manage their home directories, using the managehome
- parameter, partially using patches provided by Tim Stoop and
- Matt Palmer. (#432)
-
- Added 'ralsh' (formerly x2puppet) to the svn tree. When possible it
- should be added to the packages.
-
- The 'notify' type now defaults to its message being the same as its name.
-
- Reopening $stdin to read from /dev/null during execution, in hopes that
- init scripts will stop hanging.
-
- Changed the 'servername' fact set on the server to use the server's fqdn,
- instead of the short-name.
-
- Changing the location of the configuration cache. It now defaults to being
- in the state directory, rather than in the configuration directory.
-
- All parameter instances are stored in a single @parameters instance variable
- hash within resource type instances. We used to use separate hashes for
- each parameter type.
-
- Added the concept of provider features. Eventually these should be able
- to express the full range of provider functionality, but for now they can
- test a provider to see what methods it has set and determine what features it
- provides as a result. These features are integrated into the doc generation
- system so that you get feature documentation automatically.
-
- Switched apt/aptitide to using "apt-cache policy" instead of "apt-cache showpkg"
- for determining the latest available version. (#487)
-
- FileBuckets now use a deeply nested structure for storing files, so
- you do not end up with hundreds or thousands of files in the same
- directory. (#447)
-
- Facts are now cached in the state file, and when they change the configuration
- is always recompiled. (#519)
-
- Added 'ignoreimport' setting for use in commit hooks. This causes the
- parser to ignore import statements so a single file can be parse-checked. (#544)
-
- Import statements can now specify multiple comma-separated arguments.
-
- Definitions now support both 'name' and 'title', just like any other
- resource type. (#539)
-
- Added a generate() command, which sets values to the result of an external
- command. (#541)
-
- Added a file() command to read in files with no interpolation. The first
- found file has its content returned.
-
- puppetd now exits if no cert is present in onetime mode. (#533)
-
- The client configuration cache can be safely removed and the client
- will correctly realize the client is not in sync.
-
- Resources can now be freely deleted, thus fixing many problems introduced
- when deletion of required resources was forbidden when purging was introduced.
- Only resources being purged will not be deleted.
-
- Facts and plugins now download even in noop mode (#540).
-
- Resources in noop mode now log when they would have responded to an event (#542).
-
- Refactored cron support entirely. Cron now uses providers, and there
- is a single 'crontab' provider that handles user crontabs. While this
- refactor does not include providers for /etc/crontab or cron.d, it should
- now be straightforward to write those providers.
-
- Changed the parameter sorting so that the provider parameter comes
- right after name, so the provider is available when the other parameters
- and properties are being created.
-
- Redid some of the internals of the ParsedFile provider base class.
- It now passes a FileRecord around instead of a hash.
-
- Fixing a bug related to link recursion that caused link directories
- to always be considered out of sync.
-
- The bind address for puppetmasterd can now be specified with
- --bindaddress.
-
- Added (probably experimental) mongrel support. At this point you're
- still responsible for starting each individual process, and you have to
- set up a proxy in front of it.
-
- Redesigned the 'network' tree to support multiple web servers, including
- refactoring most of the structural code so it's much clearer and more
- reusable now.
-
- Set up the CA client to default to ca_server and ca_port, so you can
- easily run a separate CA.
-
- Supporting hosts with no domain name, thanks to a patch from
- Dennis Jacobfeuerborn.
-
- Added an 'ignorecache' option to tell puppetd to force a recompile, thanks to
- a patch by Chris McEniry.
-
- Made up2date the default for RHEL < 4 and yum the default for the rest.
-
- The yum provider now supports versions.
-
- Case statements correctly match when multiple values are provided,
- thanks to a patch by David Schmitt.
-
- Functions can now be called with no arguments.
-
- String escapes parse correctly in all cases now, thanks to a patch by
- cstorey.
-
- Subclasses again search parent classes for defaults.
-
- You can now purge apt and dpkg packages.
-
- When doing file recursion, 'ensure' only affects the top-level directory.
-
- States have been renamed to Properties.
-
-0.22.1 (kermit) -- Mostly a bugfix release
- Compile times now persist between restarts of puppetd.
-
- Timeouts have been added to many parts of Puppet, reducing the likelihood
- if it hanging forever on broken scripts or servers.
-
- All of the documentation and recipes have been moved to the wiki by Peter
- Abrahamsen and Ben Kite has moved the FAQ to the wiki.
-
- Explicit relationships now override automatic relationships, allowing you
- to manually specify deletion order when removing resources.
-
- Resources with dependencies can now be deleted as long as all of their
- dependencies are also being deleted.
-
- Namespaces for both classes and definitions now work much more consistently.
- You should now be able to specify a class or definition with a namespace
- everywhere you would normally expect to be able to specify one without.
-
- Downcasing of facts can be selectively disabled.
-
- Cyclic dependency graphs are now checked for and forbidden.
-
- The netinfo mounts provider was commented out, because it really doesn't
- work at all. Stupid NetInfo stores mount information with the device as
- the key, which doesn't work with my current NetInfo code.
-
- Otherwise, lots and lots of bugfixes. Check the tickets associated with the
- 'kermit' milestone.
-
-0.22.0
- Integrated the GRATR graph library into Puppet, for handling resource
- relationships.
-
- Lots of bug-fixes (see bugs tickets associated with the 'minor' milestone).
-
- Added new 'resources' metatype, which currently only includes the ability
- to purge unmanaged resources.
-
- Added better ability to generate new resource objects during transactions
- (using 'generate' and 'eval_generate' methods).
-
- Rewrote all Rails support with a much better database design. Export/collect
- now works, although the database is incompatible with previous versions.
-
- Removed downcasing of facts and made most of the language case-insensitive.
-
- Added support for printing the graphs built during transactions.
-
- Reworked how paths are built for logging.
-
- Switched all providers to directly executing commands instead of going through
- a subshell, which removes the need to quote or escape arguments.
-
-0.20.1
- Mostly a bug-fix release, with the most important fix being the
- multiple-definition error.
-
- Completely rewrote the ParsedFile system; each provider is now much
- shorter and much more maintainable. However, fundamental problems
- were found with the 'port' type, so it was disabled. Also, added
- a NetInfo provider for 'host' and an experimental NetInfo provider
- for 'mount'.
-
- Made the RRDGraph report *much* better and added reference
- generation for reports and functions.
-
-0.20.0
- Significantly refactored the parser. Resource overrides now consistently
- work anywhere in a class hierarchy.
-
- The language was also modified somewhat. The previous export/collect syntax
- is now used for handling virtual objects, and export/collect (which is still
- experimental) now uses double sigils (@@ and <<| |>>).
-
- Resource references (e.g., File["/etc/passwd"]) now have to be capitalized,
- in fitting in with capitalizing type operations.
-
- As usual, lots of other smaller fixes, but most of the work was in the language.
-
-0.19.3
- Fixing a bug in server/master.rb that causes the hostname
- not to be available in locally-executed manifests.
-
-0.19.2
- Fixing a few smaller bugs, notably in the reports system.
-
- Refreshed objects now generate an event, which can result in further
- refreshes of other objects.
-
-0.19.1
- Fixing two critical bugs: User management works again and cron jobs are
- no longer added to all user accounts.
-
-0.19.0
- Added provider support.
-
- Added support for %h, %H, and %d expansion in fileserver.conf.
-
- Added Certificate Revocation support.
-
- Made dynamic loading pervasive -- nearly every aspect of Puppet will now
- automatically load new instances (e.g., types, providers, and reports).
-
- Added support for automatic distribution of facts and plugins (custom types).
-
-0.18.4
- Another bug-fix release. The most import bug fixed is that
- cronjobs again work even with initially empty crontabs.
-
-0.18.3
- Mostly a bug-fix release; fixed small bugs in the functionality added in
- 0.18.2.
-
-0.18.2
- Added templating support.
-
- Added reporting.
-
- Added gem and blastwave packaging support.
-
-0.18.1
- Added signal handlers for HUP, so both client and server deal correctly with it.
-
- Added signal handler for USR1, which triggers a run on the client.
-
- As usual, fixed many bugs.
-
- Significant fixes to puppetrun -- it should behave much more correctly now.
-
- Added "fail" function which throws a syntax error if it's encountered.
-
- Added plugin downloading from the central server to the client. It must be
- enabled with --pluginsync.
-
- Added support for FreeBSD's special "@daily" cron schedules.
-
- Correctly handling spaces in file sources.
-
- Moved documentation into svn tree.
-
-0.18.0
- Added support for a "default" node.
-
- When multiple nodes are specified, they must now be comma-separated (this
- introduces a language incompatibility).
-
- Failed dependencies cause dependent objects within the same transaction
- not to run.
-
- Many updates to puppetrun
-
- Many bug fixes
-
- Function names are no longer reserved words.
-
- Links can now replace files.
-
-0.17.2
- Added "puppetrun" application and associated runner server and client classes.
-
- Fixed cron support so it better supports valid values and environment settings.
-
-0.17.1
- Fixing a bug requiring rails on all Debian boxes
-
- Fixing a couple of other small bugs
-
-0.17.0
- Adding ActiveRecord integration on the server
-
- Adding export/collect functionality
-
- Fixing many bugs
-
-0.16.5
- Fixing a critical bug in importing classes from other files
-
- Fixing nodename handling to actually allow dashes
-
-0.16.4
- Fixing a critical bug in puppetd when acquiring a certificate for the first
- time
-
-0.16.3
- Some significant bug fixes
-
- Modified puppetd so that it can now function as an agent independent
- of a puppetmasterd process, e.g., using the PuppetShow web application.
-
-0.16.2
- Modified some of the AST classes so that class names, definition names, and
- node names are all set within the code being evaluated, so 'tagged(name)' returns
- true while evaluating 'name', for instance.
-
- Added '--clean' argument to puppetca to remove all traces of a given
- client.
-
-0.16.1
- Added 'tagged' and 'defined' functions.
-
- Moved all functions to a general framework that makes it very easy to add new
- functions.
-
-0.16.0
- Added 'tag' keyword/function.
-
- Added FreeBSD Ports support
-
- Added 'pelement' server for sending or receiving Puppet objects, although
- none of the executables use it yet.
-
-0.15.3
- Fixed many bugs in :exec, including adding support for arrays of checks
-
- Added autoloading for types and service variants (e.g., you can now
- just create a new type in the appropriate location and use it in Puppet,
- without modifying the core Puppet libs).
-
-0.15.2
- Added darwinport, Apple .pkg, and freebsd package types
- Added 'mount type
- Host facts are now set at the top scope (Bug #103)
- Added -e (inline exection) flag to 'puppet' executable
- Many small bug fixes
-
-0.15.1
- Fixed 'yum' installs so that they successfully upgrade packages.
- Fixed puppetmasterd.conf file so group settings take.
-
-0.15.0
- Upped the minor release because the File server is incompatible with 0.14,
- because it now handles links.
-
- The 'symlink' type is deprecated (but still present), in favor of using
- files with the 'target' parameter.
-
- Unset variables no longer throw an error, they just return an empty string
-
- You can now specify tags to restrict which objects run during a given run.
-
- You can also specify to skip running against the cached copy when there's
- a failure, which is useful for testing new configurations.
-
- RPMs and Sun packages can now install, as long as they specify a package
- location, and they'll automatically upgrade if you point them to a new
- file with an upgrade.
- Multiple bug fixes.
-
-
-0.14.1
- Fixed a couple of small logging bugs
- Fixed a bug with handling group ownership of links
-
-0.14.0
- Added some ability to selectively manage symlinks when doing file management
- Many bug fixes
- Variables can now be used as the test values in case statements and selectors
- Bumping a minor release number because 0.13.4 introduced a protocol
- incompatibility and should have had a minor rev bump
-
-0.13.6
- Many, many small bug fixes
- FreeBSD user/group support has been added
- The configuration system has been rewritten so that daemons can now generate
- and repair the files and directories they need. (Fixed bug #68.)
- Fixed the element override issues; now only subclasses can override values.
-
-0.13.5
- Fixed packages so types can be specified
- Added 'enable' state to services, although it does not work everywhere yet
-
-0.13.4
- A few important bug fixes, mostly in the parser.
-
-0.13.3
- Changed transactions to be one-stage instead of two
- Changed all types to use self[:name] instead of self.name, to support
- the symbolic naming implemented in 0.13.1
-
-0.13.2
- Changed package[answerfile] to package[adminfile], and added package[responsefile]
- Fixed a bunch of internal functions to behave more consistently and usefully
-
-0.13.1
- Fixed RPM spec files to create puppet user and group (lutter)
- Fixed crontab reading and writing (luke)
- Added symbolic naming in the language (luke)
-
-0.13.0
- Added support for configuration files.
- Even more bug fixes, including the infamous 'frozen object' bug, which was a
- problem with 'waitforcert'.
- David Lutterkort got RPM into good shape.
-
-0.12.0
- Added Scheduling, and many bug fixes, of course.
-
-0.11.2
- Fixed bugs related to specifying arrays of requirements
- Fixed a key bug in retrieving checksums
- Fixed lots of usability bugs
- Added 'fail' methods that automatically add file and line info when possible,
- and converted many errors to use that method
-
-0.11.1
- Fixed bug with recursive copying with 'ignore' set.
- Added OpenBSD package support.
-
-0.11.0
- Added 'ensure' state to many elements.
- Modified puppetdoc to correctly handle indentation and such.
- Significantly rewrote much of the builtin documentation to take advantage
- of the new features in puppetdoc, including many examples.
-
-0.10.2
- Added SMF support
- Added autorequire functionality, with specific support for exec and file
- Exec elements autorequire any mentioned files, including the scripts,
- along with their CWDs.
- Files autorequire any parent directories.
- Added 'alias' metaparam.
- Fixed dependencies so they don't depend on file order.
-
-0.10.1
- Added Solaris package support and changed puppetmasterd to run as
- a non-root user.
-
-0.10.0
- Significant refactoring of how types, states, and parameters work, including
- breaking out parameters into a separate class. This refactoring did not
- introduce much new functionality, but made extension of Puppet significantly
- easier
-
- Also, fixed the bug with 'waitforcert' in puppetd.
-
-0.9.4
- Small fix to wrap the StatusServer class in the checks for required classes.
-
-0.9.3
- Fixed some significant bugs in cron job management.
-
-0.9.2
- Second Public Beta
-
-0.9.0
- First Public Beta
diff --git a/COPYING b/COPYING
deleted file mode 100644
index 3912109b5..000000000
--- a/COPYING
+++ /dev/null
@@ -1,340 +0,0 @@
- GNU GENERAL PUBLIC LICENSE
- Version 2, June 1991
-
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.
- 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The licenses for most software are designed to take away your
-freedom to share and change it. By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software--to make sure the software is free for all its users. This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it. (Some other Free Software Foundation software is covered by
-the GNU Library General Public License instead.) You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
- To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have. You must make sure that they, too, receive or can get the
-source code. And you must show them these terms so they know their
-rights.
-
- We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
- Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software. If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
- Finally, any free program is threatened constantly by software
-patents. We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary. To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- GNU GENERAL PUBLIC LICENSE
- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
- 0. This License applies to any program or other work which contains
-a notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License. The "Program", below,
-refers to any such program or work, and a "work based on the Program"
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language. (Hereinafter, translation is included without limitation in
-the term "modification".) Each licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope. The act of
-running the Program is not restricted, and the output from the Program
-is covered only if its contents constitute a work based on the
-Program (independent of having been made by running the Program).
-Whether that is true depends on what the Program does.
-
- 1. You may copy and distribute verbatim copies of the Program's
-source code as you receive it, in any medium, provided that you
-conspicuously and appropriately publish on each copy an appropriate
-copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty;
-and give any other recipients of the Program a copy of this License
-along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-
- 2. You may modify your copy or copies of the Program or any portion
-of it, thus forming a work based on the Program, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
- a) You must cause the modified files to carry prominent notices
- stating that you changed the files and the date of any change.
-
- b) You must cause any work that you distribute or publish, that in
- whole or in part contains or is derived from the Program or any
- part thereof, to be licensed as a whole at no charge to all third
- parties under the terms of this License.
-
- c) If the modified program normally reads commands interactively
- when run, you must cause it, when started running for such
- interactive use in the most ordinary way, to print or display an
- announcement including an appropriate copyright notice and a
- notice that there is no warranty (or else, saying that you provide
- a warranty) and that users may redistribute the program under
- these conditions, and telling the user how to view a copy of this
- License. (Exception: if the Program itself is interactive but
- does not normally print such an announcement, your work based on
- the Program is not required to print an announcement.)
-
-These requirements apply to the modified work as a whole. If
-identifiable sections of that work are not derived from the Program,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works. But when you
-distribute the same sections as part of a whole which is a work based
-on the Program, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
- 3. You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
-
- a) Accompany it with the complete corresponding machine-readable
- source code, which must be distributed under the terms of Sections
- 1 and 2 above on a medium customarily used for software interchange; or,
-
- b) Accompany it with a written offer, valid for at least three
- years, to give any third party, for a charge no more than your
- cost of physically performing source distribution, a complete
- machine-readable copy of the corresponding source code, to be
- distributed under the terms of Sections 1 and 2 above on a medium
- customarily used for software interchange; or,
-
- c) Accompany it with the information you received as to the offer
- to distribute corresponding source code. (This alternative is
- allowed only for noncommercial distribution and only if you
- received the program in object code or executable form with such
- an offer, in accord with Subsection b above.)
-
-The source code for a work means the preferred form of the work for
-making modifications to it. For an executable work, complete source
-code means all the source code for all modules it contains, plus any
-associated interface definition files, plus the scripts used to
-control compilation and installation of the executable. However, as a
-special exception, the source code distributed need not include
-anything that is normally distributed (in either source or binary
-form) with the major components (compiler, kernel, and so on) of the
-operating system on which the executable runs, unless that component
-itself accompanies the executable.
-
-If distribution of executable or object code is made by offering
-access to copy from a designated place, then offering equivalent
-access to copy the source code from the same place counts as
-distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
- 4. You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License. Any attempt
-otherwise to copy, modify, sublicense or distribute the Program is
-void, and will automatically terminate your rights under this License.
-However, parties who have received copies, or rights, from you under
-this License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
- 5. You are not required to accept this License, since you have not
-signed it. However, nothing else grants you permission to modify or
-distribute the Program or its derivative works. These actions are
-prohibited by law if you do not accept this License. Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Program or works based on it.
-
- 6. Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions. You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
-
- 7. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Program at all. For example, if a patent
-license would not permit royalty-free redistribution of the Program by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system, which is
-implemented by public license practices. Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
- 8. If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License
-may add an explicit geographical distribution limitation excluding
-those countries, so that distribution is permitted only in or among
-countries not thus excluded. In such case, this License incorporates
-the limitation as if written in the body of this License.
-
- 9. The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-Each version is given a distinguishing version number. If the Program
-specifies a version number of this License which applies to it and "any
-later version", you have the option of following the terms and conditions
-either of that version or of any later version published by the Free
-Software Foundation. If the Program does not specify a version number of
-this License, you may choose any version ever published by the Free Software
-Foundation.
-
- 10. If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, write to the author
-to ask for permission. For software which is copyrighted by the Free
-Software Foundation, write to the Free Software Foundation; we sometimes
-make exceptions for this. Our decision will be guided by the two goals
-of preserving the free status of all derivatives of our free software and
-of promoting the sharing and reuse of software generally.
-
- NO WARRANTY
-
- 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
-TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-REPAIR OR CORRECTION.
-
- 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
- <one line to give the program's name and a brief idea of what it does.>
- Copyright (C) <year> <name of author>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
-
-Also add information on how to contact you by electronic and paper mail.
-
-If the program is interactive, make it output a short notice like this
-when it starts in an interactive mode:
-
- Gnomovision version 69, Copyright (C) year name of author
- Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
- This is free software, and you are welcome to redistribute it
- under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, the commands you use may
-be called something other than `show w' and `show c'; they could even be
-mouse-clicks or menu items--whatever suits your program.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the program, if
-necessary. Here is a sample; alter the names:
-
- Yoyodyne, Inc., hereby disclaims all copyright interest in the program
- `Gnomovision' (which makes passes at compilers) written by James Hacker.
-
- <signature of Ty Coon>, 1 April 1989
- Ty Coon, President of Vice
-
-This General Public License does not permit incorporating your program into
-proprietary programs. If your program is a subroutine library, you may
-consider it more useful to permit linking proprietary applications with the
-library. If this is what you want to do, use the GNU Library General
-Public License instead of this License.
diff --git a/LICENSE b/LICENSE
index 6bfcc22a1..e95cc9fc1 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,17 +1,17 @@
-Puppet - Automating Configuration Management. Copyright (C) 2005 Puppet Labs LLC
+ Puppet - Automating Configuration Management.
-Puppet Labs can be contacted at: info@puppetlabs.com
+ Copyright (C) 2011 Puppet Labs Inc
-This program and entire repository is free software; you can
-redistribute it and/or modify it under the terms of the GNU
-General Public License Version 2 as published by the Free Software
-Foundation.
+ Puppet Labs can be contacted at: info@puppetlabs.com
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
diff --git a/README b/README
deleted file mode 100644
index d6b7d66bc..000000000
--- a/README
+++ /dev/null
@@ -1,31 +0,0 @@
-Documentation (and detailed install instructions) can be found
-online at http://docs.puppetlabs.com/.
-
-Additional documentation can also be found at the Puppet Wiki:
-
-http://projects.puppetlabs.com/projects/puppet/wiki/
-
-Generally, you need the following things installed:
-
-* Ruby >= 1.8.1 (earlier releases might work but probably not)
-
-* The Ruby OpenSSL library. For some reason, this often isn't included
- in the main ruby distributions. You can test for it by running
- 'ruby -ropenssl -e "puts :yep"'. If that errors out, you're missing the
- library.
-
- If your distribution doesn't come with the necessary library (e.g., on Debian
- and Ubuntu you need to install libopenssl-ruby), then you'll probably have to
- compile Ruby yourself, since it's part of the standard library and not
- available separately. You could probably just compile and install that one
- library, though.
-
-* The Ruby XMLRPC client and server libraries. For some reason, this often
- isn't included in the main ruby distributions. You can test for it by
- running 'ruby -rxmlrpc/client -e "puts :yep"'. If that errors out, you're missing
- the library.
-
-* Facter => 1.5.1
- You can get this from < http://puppetlabs.com/projects/facter >
-
-$Id$
diff --git a/README.rst b/README.md
index 63452ef91..4d17a752a 100644
--- a/README.rst
+++ b/README.md
@@ -5,10 +5,8 @@ Puppet, an automated administrative engine for your Linux and Unix systems, perf
administrative tasks (such as adding users, installing packages, and updating server
configurations) based on a centralized specification.
-Documentation (and detailed install instructions) can be found online at the
-`Puppet Documentation`_ site.
-
-Additional documentation can also be found at the `Puppet Wiki`_.
+Documentation (and detailed installation instructions) can be found online at the
+[Puppet Docs site](http://docs.puppetlabs.com).
Installation
------------
@@ -28,14 +26,15 @@ Generally, you need the following things installed:
available separately. You could probably just compile and install that one
library, though.
-* The Ruby XMLRPC client and server libraries. For some reason, this often
- isn't included in the main ruby distributions. You can test for it by
- running 'ruby -rxmlrpc/client -e "puts :yep"'. If that errors out, you're missing
- the library.
+* Facter => 1.5.1 (available via your package manager or from the [Facter site](http://puppetlabs.com/projects/facter).
+
+License
+-------
+
+See LICENSE file.
+
+Support
+-------
-* Facter => 1.5.1
- You can get this from your package management system or the `Facter site`_
+Please log tickets and issues at our [Projects site](http://projects.puppetlabs.com)
-.. _Puppet Documentation: http://docs.puppetlabs.com
-.. _Puppet Wiki: http://projects.puppetlabs.com/projects/puppet/wiki/
-.. _Facter site: http://puppetlabs.com/projects/facter
diff --git a/README.queueing b/README.queueing
deleted file mode 100644
index 83a8e19c0..000000000
--- a/README.queueing
+++ /dev/null
@@ -1,126 +0,0 @@
-*PUPPET QUEUEING
-
-Puppet Queueing is a feature which is designed to take some load
-off of the PuppetMaster by transferring the task of updating the
-database to a separate program which is named puppetqd (Puppet
-Queue Daemon).
-
-Currently this is only supported for "Storeconfigs" which is
-documented at:
-
-http://projects.puppetlabs.com/projects/1/wiki/Using_Stored_Configuration
-
-In the future this feature can be extended to any new puppet
-data which involves storage in a database.
-
-*OPERATION
-
-In a nutshell:
-
- puppetmasterd -> stomp -> service -> stomp -> puppetqd -> database
-
-At the moment the only messaging protocol supported is "stomp". Although
-others could be implemented, stomp is considered by many as the
-default queueing mechanism for Ruby and Rails applications. It is
-distributed as a Ruby gem and is easily installed.
-
-(The queueing code inside Puppet has been written so that when other
-interfaces and protocols are implemented they will be easy to use by
-changing settings in puppet.conf).
-
-The "service" in the diagram above is any queueing service that supports
-the Stomp API. For details refer to:
-
- http://xircles.codehaus.org/projects/stomp
-
-Both puppetmasterd and puppetqd subscribe to the same queueing service
-using the stomp interface. As puppetmasterd posts data to the queue,
-puppetqd receives it and stores it. The details of how to connect to
-the service and the name of the queue to use are set in puppet.conf:
-
- [main]
- queue_type = stomp
- queue_source = stomp://localhost:61613
- [puppetmasterd]
- async_storeconfigs = true
-
-Note: since puppetmasterd needs to recover the data being stored at a
-later time, both puppetmasterd and puppetqd need to work with the same
-database as defined in the STORECONFIGS setup.
-
-*QUEUEING SERVICES
-
-As mentioned previously any queueing service that supports the Stomp
-protocol can be used. Which one you use depends on your needs. We have
-tested with two of the most popular services - StompServer and ActiveMQ.
-
-+ StompServer
-
- http://rubyforge.org/projects/stompserver/
-
-StompServer is a lightweight queueing service written in Ruby which is
-suitable for testing or low volume puppet usage. Works well when both
-puppetmasterd and puppetd are running on the same machine that it's running
-on but we encountered some problems when using it from multiple machines.
-
-Just install the stompserver gem and run 'stompserver'.
-
-+ Apache ActiveMQ
-
- http://activemq.apache.org
-
-Considered by many to be the most popular message service in use today,
-ActiveMQ has hundreds of features for scaling, persistence and so on.
-
-Although installation is fairly simple, the configuration can seem quite
-intimidating, but for our use a one line change to the standard configuration
-is all that is required and is explained at:
-
- http://activemq.apache.org/stomp.html
-
-Other customization of the internal workings of ActiveMQ, if any, will depend
-on your needs and deployment. A quick skimming of the ActiveMQ documentation
-will give you enough info to decide.
-
-Others
-
-We have looked at but not tried some other queuing services which are
-compatible with the Stomp API:
-
-+ POE Component Message Queue
-+ JBoss Messaging (with 3rd party support for Stomp)
-
-*SCALING
-
-For StoreConfigs you basically need to have the catalog for a node stored
-in the database before the next time the node connects and asks for a
-new catalog.
-
-If the puppetd on your nodes is set to check every 30 minutes,
-then it would seem that there is no problem. However if you have 3000
-nodes you have a LOT of catalogs to store and it is possible you will
-not get a catalog saved in time.
-
-Running puppetmaster, your queueing service and puppetqd on the same
-machine means that they are all competing for the same CPU cycles. Bumping
-up the power of the server they are running on may be enough to handle
-even fairly large deployments.
-
-However since most queueing services (even StompServer) are designed to
-deliver messages from a "queue" to whoever asks for the next message you
-can split things up between machines:
-
- puppetmaster1 --\ /-- puppetqd1 -\
- puppetmaster2 ----> ActiveMQ ---> puppetqd2 ---> database
- puppetmaster3 --/ \-- puppetqd33 -/
- \- puppetqd4-/
-
-This is, of course a totally contrived example, but it gets the point
-across. As long as the data gets to the database, it doesn't matter
-which machines or services it goes through.
-
-Although for StoreConfigs absolute reliability is not a requirement as
-a new catalog will be sent the next time a node connects, some amount
-of persistence should some process crash may be desirable. Both ActiveMQ
-and MySQL (and other databases) have these kind of features built in
-which can be activated as needed.
diff --git a/conf/redhat/puppet.spec b/conf/redhat/puppet.spec
index e51af0a6b..26b2c9ba0 100644
--- a/conf/redhat/puppet.spec
+++ b/conf/redhat/puppet.spec
@@ -8,7 +8,7 @@ Name: puppet
Version: 2.6.0
Release: 1%{?dist}
Summary: A network tool for managing many disparate systems
-License: GPLv2+
+License: Apache 2.0
URL: http://puppetlabs.com
Source0: http://puppetlabs.com/downloads/%{name}/%{name}-%{version}.tar.gz
Source1: http://puppetlabs.com/downloads/%{name}/%{name}-%{version}.tar.gz.sign
diff --git a/conf/solaris/pkginfo b/conf/solaris/pkginfo
index 7f7bb9736..14a2f0a79 100644
--- a/conf/solaris/pkginfo
+++ b/conf/solaris/pkginfo
@@ -1,7 +1,6 @@
PKG=CSWpuppet
NAME=puppet - System Automation Framework
-VERSION=0.23.0
+VERSION=2.7.0
CATEGORY=application
-VENDOR=http://reductivelabs.com/projects/puppet
-HOTLINE=http://reductivelabs.com/cgi-bin/puppet.cgi
-EMAIL=luke@madstop.com
+VENDOR=http://projects.puppetlabs.com/projects/puppet
+EMAIL=luke@puppetlabs.com
diff --git a/conf/suse/puppet.spec b/conf/suse/puppet.spec
index 777f6a4b6..2a5b9f4db 100644
--- a/conf/suse/puppet.spec
+++ b/conf/suse/puppet.spec
@@ -6,7 +6,7 @@ Summary: A network tool for managing many disparate systems
Name: puppet
Version: 2.6.1
Release: 1%{?dist}
-License: GPL
+License: Apache 2.0
Group: Productivity/Networking/System
URL: http://puppetlabs.com/projects/puppet/
diff --git a/ext/nagios/naggen b/ext/nagios/naggen
index c6ca15a55..16dbe6ce4 100755
--- a/ext/nagios/naggen
+++ b/ext/nagios/naggen
@@ -57,14 +57,21 @@
#
# naggen --storeconfigs --confdir /foo --compare
#
-# = Author
#
-# Luke Kanies
+# = License
+# Copyright 2011 Luke Kanies
#
-# = Copyright
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
#
-# Copyright (c) 2009 Puppet Labs, LLC
-# Licensed under the GPL 2
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
require 'puppet'
require 'puppet/rails'
diff --git a/ext/puppet-test b/ext/puppet-test
index f2648c9ee..affb01249 100755
--- a/ext/puppet-test
+++ b/ext/puppet-test
@@ -84,14 +84,20 @@
#
# puppet-test --retrieve /module/path/to/file
#
-# = Author
+# = License
+# Copyright 2011 Luke Kanies
#
-# Luke Kanies
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
#
-# = Copyright
+# http://www.apache.org/licenses/LICENSE-2.0
#
-# Copyright (c) 2005, 2006 Puppet Labs, LLC
-# Licensed under the GNU Public License
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
# Do an initial trap, so that cancels don't get a stack trace.
trap(:INT) do
diff --git a/ext/yaml_nodes.rb b/ext/yaml_nodes.rb
index 2174da09d..3c7077c13 100755
--- a/ext/yaml_nodes.rb
+++ b/ext/yaml_nodes.rb
@@ -23,14 +23,20 @@
# yamldir::
# Specify where the yaml is found. Defaults to 'yaml' in the current directory.
#
-# = Author
+# = License
+# Copyright 2011 Luke Kanies
#
-# Luke Kanies
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
#
-# = Copyright
+# http://www.apache.org/licenses/LICENSE-2.0
#
-# Copyright (c) 2009 Puppet Labs, Inc.
-# Licensed under the GPL2
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
require 'yaml'
require 'optparse'
diff --git a/lib/puppet/application/agent.rb b/lib/puppet/application/agent.rb
index 2ee40227e..fc8616817 100644
--- a/lib/puppet/application/agent.rb
+++ b/lib/puppet/application/agent.rb
@@ -288,8 +288,7 @@ Luke Kanies
COPYRIGHT
---------
-Copyright (c) 2005, 2006 Puppet Labs, LLC Licensed under the GNU Public
-License
+Copyright (c) 2011 Puppet Labs, LLC Licensed under the Apache 2.0 License
HELP
end
diff --git a/lib/puppet/application/apply.rb b/lib/puppet/application/apply.rb
index 2b7c9f8fb..bf7b8a988 100644
--- a/lib/puppet/application/apply.rb
+++ b/lib/puppet/application/apply.rb
@@ -117,8 +117,7 @@ Luke Kanies
COPYRIGHT
---------
-Copyright (c) 2005 Puppet Labs, LLC Licensed under the GNU Public
-License
+Copyright (c) 2011 Puppet Labs, LLC Licensed under the Apache 2.0 License
HELP
end
diff --git a/lib/puppet/application/cert.rb b/lib/puppet/application/cert.rb
index f02fc893c..cbd6fd610 100644
--- a/lib/puppet/application/cert.rb
+++ b/lib/puppet/application/cert.rb
@@ -163,8 +163,7 @@ Luke Kanies
COPYRIGHT
---------
-Copyright (c) 2005 Puppet Labs, LLC Licensed under the GNU Public
-License
+Copyright (c) 2011 Puppet Labs, LLC Licensed under the Apache 2.0 License
HELP
exit
diff --git a/lib/puppet/application/describe.rb b/lib/puppet/application/describe.rb
index 79643159e..8ce20b652 100644
--- a/lib/puppet/application/describe.rb
+++ b/lib/puppet/application/describe.rb
@@ -228,8 +228,7 @@ David Lutterkort
COPYRIGHT
---------
-Copyright (c) 2005 Puppet Labs, LLC Licensed under the GNU Public
-License
+Copyright (c) 2011 Puppet Labs, LLC Licensed under the Apache 2.0 License
HELP
end
diff --git a/lib/puppet/application/doc.rb b/lib/puppet/application/doc.rb
index 74811919e..a88f27c78 100644
--- a/lib/puppet/application/doc.rb
+++ b/lib/puppet/application/doc.rb
@@ -136,8 +136,7 @@ Luke Kanies
COPYRIGHT
---------
-Copyright (c) 2005-2007 Puppet Labs, LLC Licensed under the GNU Public
-License
+Copyright (c) 2011 Puppet Labs, LLC Licensed under the Apache 2.0 License
HELP
end
diff --git a/lib/puppet/application/filebucket.rb b/lib/puppet/application/filebucket.rb
index 063d97db8..6d59ae40b 100644
--- a/lib/puppet/application/filebucket.rb
+++ b/lib/puppet/application/filebucket.rb
@@ -108,8 +108,7 @@ Luke Kanies
COPYRIGHT
---------
-Copyright (c) 2005 Puppet Labs, LLC Licensed under the GNU Public
-License
+Copyright (c) 2011 Puppet Labs, LLC Licensed under the Apache 2.0 License
HELP
end
diff --git a/lib/puppet/application/inspect.rb b/lib/puppet/application/inspect.rb
index e448cb9e8..30865cfc1 100644
--- a/lib/puppet/application/inspect.rb
+++ b/lib/puppet/application/inspect.rb
@@ -68,9 +68,7 @@ Puppet Labs
COPYRIGHT
---------
-
-Copyright (c) 2011 Puppet Labs, LLC
-Licensed under the GNU General Public License version 2
+Copyright (c) 2011 Puppet Labs, LLC Licensed under the Apache 2.0 License
HELP
end
diff --git a/lib/puppet/application/kick.rb b/lib/puppet/application/kick.rb
index da93c0182..536699442 100644
--- a/lib/puppet/application/kick.rb
+++ b/lib/puppet/application/kick.rb
@@ -172,8 +172,7 @@ Luke Kanies
COPYRIGHT
---------
-Copyright (c) 2005 Puppet Labs, LLC Licensed under the GNU Public
-License
+Copyright (c) 2011 Puppet Labs, LLC Licensed under the Apache 2.0 License
HELP
end
diff --git a/lib/puppet/application/master.rb b/lib/puppet/application/master.rb
index 78499a92a..f93894d99 100644
--- a/lib/puppet/application/master.rb
+++ b/lib/puppet/application/master.rb
@@ -105,8 +105,7 @@ Luke Kanies
COPYRIGHT
---------
-Copyright (c) 2005 Puppet Labs, LLC Licensed under the GNU Public
-License
+Copyright (c) 2011 Puppet Labs, LLC Licensed under the Apache 2.0 License
HELP
end
diff --git a/lib/puppet/application/queue.rb b/lib/puppet/application/queue.rb
index de8aea32a..e56fde281 100644
--- a/lib/puppet/application/queue.rb
+++ b/lib/puppet/application/queue.rb
@@ -104,8 +104,7 @@ Luke Kanies
COPYRIGHT
---------
-Copyright (c) 2009 Puppet Labs, LLC Licensed under the GNU Public
-License
+Copyright (c) 2011 Puppet Labs, LLC Licensed under the Apache 2.0 License
HELP
end
diff --git a/lib/puppet/application/resource.rb b/lib/puppet/application/resource.rb
index 3995c285b..6ef87d68f 100644
--- a/lib/puppet/application/resource.rb
+++ b/lib/puppet/application/resource.rb
@@ -132,8 +132,7 @@ Luke Kanies
COPYRIGHT
---------
-Copyright (c) 2005-2007 Puppet Labs, LLC Licensed under the GNU Public
-License
+Copyright (c) 2011 Puppet Labs, LLC Licensed under the Apache 2.0 License
HELP
end
diff --git a/lib/puppet/network/http_server/mongrel.rb b/lib/puppet/network/http_server/mongrel.rb
index 9bd949a08..ce0401ad2 100644
--- a/lib/puppet/network/http_server/mongrel.rb
+++ b/lib/puppet/network/http_server/mongrel.rb
@@ -4,26 +4,6 @@
#
# Copyright (c) 2006 Manuel Holtgrewe, 2007 Luke Kanies
#
-# Permission is hereby granted, free of charge, to any person obtaining
-# a copy of this software and associated documentation files (the
-# "Software"), to deal in the Software without restriction, including
-# without limitation the rights to use, copy, modify, merge, publish,
-# distribute, sublicense, and/or sell copies of the Software, and to
-# permit persons to whom the Software is furnished to do so, subject to
-# the following conditions:
-#
-# The above copyright notice and this permission notice shall be
-# included in all copies or substantial portions of the Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
-# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
-# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-# SOFTWARE.
-
# This file is based heavily on a file retrieved from
# http://ttt.ggnore.net/2006/11/15/xmlrpc-with-mongrel-and-ruby-off-rails/
diff --git a/lib/puppet/provider/augeas/augeas.rb b/lib/puppet/provider/augeas/augeas.rb
index 5488c6674..a16f54bd7 100644
--- a/lib/puppet/provider/augeas/augeas.rb
+++ b/lib/puppet/provider/augeas/augeas.rb
@@ -1,21 +1,17 @@
-#--
-# Copyright (C) 2008 Red Hat Inc.
#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public
-# License as published by the Free Software Foundation; either
-# version 2 of the License, or (at your option) any later version.
+# Copyright 2011 Bryan Kearney <bkearney@redhat.com>
#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# General Public License for more details.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
#
-# You should have received a copy of the GNU General Public
-# License along with this library; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+# http://www.apache.org/licenses/LICENSE-2.0
#
-# Author: Bryan Kearney <bkearney@redhat.com>
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
require 'augeas' if Puppet.features.augeas?
require 'strscan'
diff --git a/lib/puppet/provider/group/directoryservice.rb b/lib/puppet/provider/group/directoryservice.rb
index 97fee883d..e11284898 100644
--- a/lib/puppet/provider/group/directoryservice.rb
+++ b/lib/puppet/provider/group/directoryservice.rb
@@ -1,17 +1,3 @@
-# Created by Jeff McCune on 2007-07-22
-# Copyright (c) 2007. All rights reserved.
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation (version 2 of the License)
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston MA 02110-1301 USA
-
require 'puppet/provider/nameservice/directoryservice'
Puppet::Type.type(:group).provide :directoryservice, :parent => Puppet::Provider::NameService::DirectoryService do
diff --git a/lib/puppet/provider/mcx/mcxcontent.rb b/lib/puppet/provider/mcx/mcxcontent.rb
index 3ad437b53..0c0061278 100644
--- a/lib/puppet/provider/mcx/mcxcontent.rb
+++ b/lib/puppet/provider/mcx/mcxcontent.rb
@@ -1,22 +1,3 @@
-#--
-# Copyright (C) 2008 Jeffrey J McCune.
-
-# This program and entire repository is free software; you can
-# redistribute it and/or modify it under the terms of the GNU
-# General Public License as published by the Free Software
-# Foundation; either version 2 of the License, or any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
-# Author: Jeff McCune <mccune.jeff@gmail.com>
-
require 'tempfile'
Puppet::Type.type(:mcx).provide :mcxcontent, :parent => Puppet::Provider do
diff --git a/lib/puppet/provider/nameservice/directoryservice.rb b/lib/puppet/provider/nameservice/directoryservice.rb
index 2e3480985..c1139a679 100644
--- a/lib/puppet/provider/nameservice/directoryservice.rb
+++ b/lib/puppet/provider/nameservice/directoryservice.rb
@@ -1,17 +1,3 @@
-# Created by Jeff McCune on 2007-07-22
-# Copyright (c) 2007. All rights reserved.
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation (version 2 of the License)
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston MA 02110-1301 USA
-
require 'puppet'
require 'puppet/provider/nameservice'
require 'facter/util/plist'
diff --git a/lib/puppet/provider/package/pkgdmg.rb b/lib/puppet/provider/package/pkgdmg.rb
index 39e377d66..662d05c8f 100644
--- a/lib/puppet/provider/package/pkgdmg.rb
+++ b/lib/puppet/provider/package/pkgdmg.rb
@@ -1,21 +1,4 @@
#
-# pkgdmg.rb
-#
-# Install Installer.app packages wrapped up inside a DMG image file.
-#
-# Copyright (C) 2007 Jeff McCune Jeff McCune <jeff@northstarlabs.net>
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation (version 2 of the License)
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston MA 02110-1301 USA
-#
# Motivation: DMG files provide a true HFS file system
# and are easier to manage and .pkg bundles.
#
diff --git a/lib/puppet/provider/user/directoryservice.rb b/lib/puppet/provider/user/directoryservice.rb
index 4b62a6ae7..a2c561039 100644
--- a/lib/puppet/provider/user/directoryservice.rb
+++ b/lib/puppet/provider/user/directoryservice.rb
@@ -1,17 +1,3 @@
-# Created by Jeff McCune on 2007-07-22
-# Copyright (c) 2007. All rights reserved.
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation (version 2 of the License)
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston MA 02110-1301 USA
-
require 'puppet/provider/nameservice/directoryservice'
Puppet::Type.type(:user).provide :directoryservice, :parent => Puppet::Provider::NameService::DirectoryService do
diff --git a/lib/puppet/type/augeas.rb b/lib/puppet/type/augeas.rb
index a8fb1f15f..f4d3c43e1 100644
--- a/lib/puppet/type/augeas.rb
+++ b/lib/puppet/type/augeas.rb
@@ -1,21 +1,17 @@
-#--
-# Copyright (C) 2008 Red Hat Inc.
#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public
-# License as published by the Free Software Foundation; either
-# version 2 of the License, or (at your option) any later version.
+# Copyright 2011 Bryan Kearney <bkearney@redhat.com>
#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# General Public License for more details.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
#
-# You should have received a copy of the GNU General Public
-# License along with this library; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+# http://www.apache.org/licenses/LICENSE-2.0
#
-# Author: Bryan Kearney <bkearney@redhat.com>
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
Puppet::Type.newtype(:augeas) do
include Puppet::Util
diff --git a/lib/puppet/type/mcx.rb b/lib/puppet/type/mcx.rb
index 07c9348dd..d0306ca46 100644
--- a/lib/puppet/type/mcx.rb
+++ b/lib/puppet/type/mcx.rb
@@ -1,22 +1,3 @@
-#--
-# Copyright (C) 2008 Jeffrey J McCune.
-
-# This program and entire repository is free software; you can
-# redistribute it and/or modify it under the terms of the GNU
-# General Public License as published by the Free Software
-# Foundation; either version 2 of the License, or any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
-# Author: Jeff McCune <mccune.jeff@gmail.com>
-
Puppet::Type.newtype(:mcx) do
@doc = "MCX object management using DirectoryService on OS X.
@@ -81,9 +62,9 @@ MCX settings refer to, the MCX resource will autorequire that user, group, or co
newproperty(:content, :required_features => :manages_content) do
desc "The XML Plist. The value of MCXSettings in DirectoryService.
This is the standard output from the system command:
-
+
dscl localhost -mcxexport /Local/Default/<ds_type>/ds_name
-
+
Note that `ds_type` is capitalized and plural in the dscl command."
end
diff --git a/spec/unit/provider/mcx/mcxcontent_spec.rb b/spec/unit/provider/mcx/mcxcontent_spec.rb
index 1189143f3..27aae6807 100755
--- a/spec/unit/provider/mcx/mcxcontent_spec.rb
+++ b/spec/unit/provider/mcx/mcxcontent_spec.rb
@@ -1,22 +1,4 @@
#! /usr/bin/env ruby
-#--
-# Copyright (C) 2008 Jeffrey J McCune.
-
-# This program and entire repository is free software; you can
-# redistribute it and/or modify it under the terms of the GNU
-# General Public License as published by the Free Software
-# Foundation; either version 2 of the License, or any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
-# Author: Jeff McCune <mccune.jeff@gmail.com>
require 'spec_helper'
diff --git a/spec/unit/type/mcx_spec.rb b/spec/unit/type/mcx_spec.rb
index aaf2d567e..b35355a29 100755
--- a/spec/unit/type/mcx_spec.rb
+++ b/spec/unit/type/mcx_spec.rb
@@ -1,24 +1,4 @@
#!/usr/bin/env ruby
-#--
-# Copyright (C) 2008 Jeffrey J McCune.
-
-# This program and entire repository is free software; you can
-# redistribute it and/or modify it under the terms of the GNU
-# General Public License as published by the Free Software
-# Foundation; either version 2 of the License, or any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
-# Author: Jeff McCune <mccune.jeff@gmail.com>
-
-# Most of this code copied from /spec/type/service.rb
require 'spec_helper'
diff --git a/test/test b/test/test
index c8b9b08ef..8d2659cb7 100755
--- a/test/test
+++ b/test/test
@@ -68,8 +68,8 @@
#
# = Copyright
#
-# Copyright (c) 2005 Puppet Labs, LLC
-# Licensed under the GNU Public License
+# Copyright (c) 2005-2011 Puppet Labs, LLC
+# Licensed under the Apache 2.0 License
require 'find'
require 'getoptlong'