1179 строки
45 KiB
Plaintext
1179 строки
45 KiB
Plaintext
Added a boolean 'crl' default value. Now we have a location for
|
|
the CA CRL and the host CRL, and then a setting for configuring
|
|
whether we should even use a CRL. This way we aren't trying to
|
|
set file paths to 'false' to disable the CRL.
|
|
|
|
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
|