Puppet 3.3.0 is a feature and bug fix release. For the full list of closed issues specific to 3.3.0 see [this list in Redmine](http://projects.puppetlabs.com/versions/401), containing 17 new features, and 75 bugs closed. Puppet 3.3.0 Downloads ------------------------------------------ Source: https://downloads.puppetlabs.com/puppet/puppet-3.3.0.tar.gz Available in native package format in the Puppet Labs yum and apt repositories: http://yum.puppetlabs.com and http://apt.puppetlabs.com Gems are available via rubygems at https://rubygems.org/downloads/puppet-3.3.0.gem or by using `gem install puppet` Mac packages are available at https://downloads.puppetlabs.com/mac/puppet-3.3.0.dmg Windows packages are available at https://downloads.puppetlabs.com/windows/puppet-3.3.0.msi Please report feedback via the Puppet Labs Redmine site, using an affected puppet version of 3.3.0: https://projects.puppetlabs.com/projects/puppet/ New Features ------------ #### #2628: It would be useful if node name regexps set $1 It is now possible to use the variables `$0` to `$n` regular expression match-variables set when using a regular expression node-name in a node declaration. #### #6561: Better looking CSS for puppet doc rdoc mode The standard skin for the puppet Rdocs has been updated to increase readability. #### #16792: permit to remove more than 1 package using urpmi provider It was tedious to remove some packages when using the urpmi provider since it only allowed to remove one package at the time, and that removal must be made in dependency order. Now, the urpmi provider behaves similar to the apt provider. #### #16856: puppet should support data in modules This feature makes it possible to contribute data bindings from modules to a site-wide hierarchy of data bindings. This feature is introduced as an opt-in, and it is turned on via the setting `binder=true`. It is turned on by default with using the option `parser future`. The implementation is based on [ARM-9 Data in Modules](http://links.puppetlabs.com/arm9-data_in_modules), which contains the background, a description, and a set of examples. #### #22375 Filebucket improvements There were a number of problems with the remote filebucket functionality for backing up files under puppet''s management over the network. It is now possible to back up binary files, which previously would consume lots of memory and error out. Non-binary filebucket operations should also be faster as we eliminated an unnecessary network round-trip that echoed the entire contents of the file back to the agent after it was uploaded to the server. #### #18255: accept 301 response from fileserver Puppet http-client now follows HTTP redirects. The new functionality includes a redirection limit, and it recreates the redirected connection with the same certificates and store as the original (as long as the redirect new location is ssl protected). Redirects are performed for GET, HEAD, and POST requests. With this feature it is now possible to support custom implementation of features like redirect to closest server. #### #20284: Output one item per line for arrays in console output This changes the output to console from faces applications to output array items with one item per line. #### #21170: enhancement of the module generate functionality This change allows specifying the module tool skeleton directory (`module_skeleton_dir`) directly instead of always having is set to the (now default) `$module_working_dir/skeleton`. #### #21427: Deprecate YAML for network data transmission YAML has been the cause of many problems. This starts the transition to remove the use of YAML over the network by deprecating all of the places where the master accepts it, changing the agent to no longer request it, and also changing the agent to no longer send it (reports and query parameters). This has the effect that a master without these changes will not be able to correctly understand requests from an agent with these changes. Out of the box this causes an error submitting reports to a <= 3.3.0 master from 3.3.0 agents. To avoid errors and retain the advantages of JSON serialization, upgrade your masters first, then the agents. ** If you must run new agents against older masters, set the new `report_serialization_format` setting to `yaml` in your agents'' puppet.conf. ** #### #21452: Add s3_enabled option to the yumrepo type It is now possible to use a yum repo stored in AWS S3 (via the yum-s3-iam plugin). This change makes it possible to set the s3_enabled option required to use yum repos in this way. #### #21749: Make attributes readable on Puppet::ModuleTool::Dependency objects This change makes it possible for those that want to deal with module meta data programmatically in Ruby to access a dependency''s attributes. #### #21831: Generate a UUID for catalog retrieval and report posts A UUID that spans the lifetime of a catalog is now generated and included in reports related to that catalog. It can be used to retrieve information by using the parameter `transaction_uuid`. #### #22205: Order of resource application should be selectable by a setting. The setting `ordering` has been added to control the default ordering to use in the absence of any dependency information. By default this is `''title-hash''`, which is an opaque, stable, random order. The value of `''manifest''` will use the order in which the resources were added to the catalog, which matches the order that the puppet language executes. The final value of `''random''` causes resources to be assigned a random order, while still obeying declared dependencies. ## Provider Improvements #### #19875: Get package descriptions from RAL Previously Rpm and Dpkg provider implementations obtained package information from the system without capturing package description information. This change adds captures of a single line description summary. #### OpenBSD Package Enhancements Jasper Lievisse Adriaanse contributed several improvements and fixes to the OpenBSD package provider. It is now possible to use `+=` when defining the `installpath` for OpenBSD. Previously an attempt to use this was ignored. With this it''s possible to have a pkg.conf like: installpath = foo installpath += bar Which will be turned into a `PKG_PATH: foo:bar`. (#21930) It is now possible to specify `install_options` and `uninstall_options` for the OpenBSD package provider. These were previously not available. (#22021) It is now possible to use `purge` with the OpenBSD package provider. (#22023) Puppet 3.3.0 Contributors ------------------------------------- Adrien Thebo, Alex Dreyer, Alexander Fortin, Alexey Lapitsky, Aman Gupta, Andrew Parker, Andy Brody, Anton Lofgren, Brice Figureau, Charlie Sharpsteen, Chris Price, Clay Caviness, David Schmitt, Dean Wilson, Duncan Phillips, Dustin J. Mitchell, Eric Badger, Eric Sorenson, Erik Dalén, Felix Frank, Garrett Honeycutt, Henrik Lindberg, Hunter Haugen, Jasper Lievisse Adriaanse, Jeff McCune, Jeff Weiss, Jesse Hathaway, John Julien, Josh Cooper, Josh Partlow, Juan Ignacio Donoso, Kosh, Kylo Ginsberg, Mathieu Parent, Matthaus Owens, Melissa Stone, Melissa, Michael Scherer, Michal Růžička, Moses Mendoza, Neil Hemingway, Nick Fagerlund, Nick Lewis, Patrick Carlisle, Pieter van de Bruggen, Richard Clamp, Richard Pijnenburg, Richard Soderberg, Richard Stevenson, Rob Reynolds, Sergey Sudakovich, Stefan Schulte, Thomas Hallgren, W. Andrew Loe III, arnoudj, floatingatoll, ironpinguin, joshrivers, phinze, superseb Puppet 3.3.0 Changelog ----------------------------------- Adrien Thebo (35): d56aa39 (#20383) Provide location of duplicate resource in error deb924e (maint) add yardoc for Puppet::Settings#value b922fe3 Add unit tests to ensure false values are cached a3941d4 (maint) Add documentation on side effects in tests 47d9941 (maint) stub `dpkgquery` in aptitude specs 9ffb5a9 Ensure that openrc service provider wipes RC_SVCNAME variable 5692576 (maint) stub out Puppet::Util.which for openrc e0ed1ef (#11108) Test coverage for remote pkg file 855cad8 (static compiler) Add method documentation 4318430 (#16792) Rename urpmi `uninstall` method to `purge`. d5a7991 (maint) Remove convoluted confine from urpmi provider 578fb8d (maint) Improve urpmi error reporting 08ff4db (maint)Add basic test coverage to urpmi package provider 492b833 (#20920) Test that missing resource deps add context bab50c2 (maint) Don''t try to invoke a constant as a method 0de90ef Revert "Merge pull request #1686 from Sharpie/12361-remove-masterlog-setting" 605003f (maint) remove fact stringifying deprecation warning a05d613 Revert "Merge pull request #1697 from zaphod42/issue/master/20967-mysterious-errors-caused-by-patch" 447d244 (doc) Add yardoc for Puppet::Node::Environment 146c159 (doc) Add documentation on rspec and mocha versions 6ecf3be (maint) Move testing deps into Gemfile group 314a6f6 (maint) Remove unused exception class b2fbda3 (maint) re-indent file 694fa0d (#21307) Refactor WatchedFile class 3ff51c8 Revert "Merge pull request #1711 from electrical/rename_generate_dir" 4ea0efd (maint) Extract puppet setting types to constant 46e3fa6 Revert "Merge pull request #1756 from jpartlow/issue/master/6112-fixing-acceptance-test" 8646dfd (maint) Expect unused filebucket to be absent 48c5ee0 (maint) refactor node local facts into describe block 03ba4ef (maint) Add test for GH-1783 0c7c47e Revert "Merge remote-tracking branch ''pr/1783''" d637f31 (maint) extract test into setup and test cases e8527b7 (maint) extract reusable helper methods a1b7b10 (maint) expand fixture paths in specs for windows 3656893 (maint) Refactor http pool specs, expand windows path Alex Dreyer (1): 2004863 (21985) pmt should include exsiting metadata.json when building Alexander Fortin (1): 6bd0456 (#19675) Debian service provider uses bad enable check Alexey Lapitsky (1): e758025 Set HOME environment for eix/portage provider Aman Gupta (1): 3ec11aa fix caching of "false" settings Andrew Parker (90): f3bc090 (Maint) Inject Pidlock dep into Daemon 1425d8c (Maint) Inject scheduler into Daemon 4dce476 (Maint) Clean up Daemon tests 7847d49 (Maint) Remove unused register code for Server f2eda3c (Maint) Remove duplication btwn Daemon and Server 941d72d (Maint) Mark the Puppet:Daemon private c7c52bf (Maint) Document Puppet::Daemon c1c472b (#20967) Apply Redhat carried patch for rundir permissions c22b394 (#20967) Fully manage ownership of rundir f9bda2c Revert "Merge pull request #1682 from zaphod42/issue/master/incorrect-management-of-rundir" dc2e6ad (Maint) Remove unused and unreachable logging configuration 4abc8f0 (#21055) Push setup of agent closer to where it is used 064d7fd (#21055) Ensure that only logging is used after daemonization 2b36f26 (Maint) Remove duplication from more agent tests f152878 (#14652) Add check for self-dependency cycles 757b693 (Maint) Remove unneeded checks for no error raised 8012528 (Maint) Run tests from installed packages add942b (#21427) Send facts to master as pson 8235471 (#21427) Issue deprecation warning for b64_zlib_yaml 85bb5eb (#21427) Improve deprecation warning for yaml params 08d7f8b (Maint) Cleanup do_save specs 7915997 (#21427) Respect Accept header for save ff0daf4 (#21427) Respect Accept header for destroy 50a76d5 (#21427) Remove duplicate handling of accept headers b0db4bf (#21427) Deprecate YAML over the network 6f31b93 (#21427) Submit reports in PSON format 7393364 (Maint) Remove stubbing from query_string tests 8398ec3 (Maint) Test that the query string is parsable 6353ebb (#21427) Do not send arrays as YAML in query params c616a93 (#21427) Parse WEBrick multi valued params d5679d4 (#21427) Unescape values when decoding facts c0e861c (Maint) Fix warnings issued by yard cde4d6e (#21409) Preserve original error when propogating 6baa57b (#21409) Ensure that create_resources acts the same as a resource decl f44cc55 (#21307) Pull apart many parts of logic for WatchedFile 9064eee (maint) Use systest''s dynamic provisioning instead of backline a983b69 (#21252) Define behavior around undef and nil arguments 167354e (#18508) Specify the order of resources in the catalog a54ac10 (#18508) Preserve order while translating catalog 44b927f (#18508) Assert kinds of resources sent to agent e1be712 (Maint) Rename catalog integration spec b9e6e1d (Maint) Remove some unneeded complexity 5229d9a (maint) Small docs fixups 0aba7f0 (#16856) Add a lookup() function for injected values d2c2727 (#16856) Stringify puppet Booleans as "Boolean" 16a985e (#16856) Add type spec parser a7a013c (#16856) Check looked up type against provided type in lookup() 34f871f (#16856) Remove support for constructing object types fd17049 (#16856) Support parameterized collection types in type specifications 4b103a9 (#16856) Add error handling for more invalid forms of type specifications b8a316e (#16856) Add support for unparameterized Hash and Array e9b54a0 (Maint) Use dirname instead of regexes b0924a3 (Maint) Clean up specs 88da2ab (#21971) Check for possible directory traversal 24b18de (#21971) Split import and autoloading code paths ee80db0 (#21971) Create system for safely dealing with path patterns c0d0339 (#21971) Fix how import_all loads files 4e00895 (Maint) Confine module tool tests off of windows 78be1de (Maint) Update expectations for older rspec c9f8717 (Maint) Update test to reflect chown using the gid too b6de574 (Maint) Improve check for the timestamp ed62ee7 (Maint) Collapse classes for relationship graphs 2f43535 (#18508) Ensure resource ordering in interesting cases 093ccf5 (#18508) Fix order of apply for resources in containers 9062f41 (Maint) Move creation of relationship graphs to RelationshipGraph 2c9d789 (#18508) Fix acceptance test for manifest ordering 17da3d6 (#18508) Create explicit dependencies before implicit 5dc26d1 (Maint) Fix testing path on windows 2d3eca6 (#18508) Extract class to control generating resources 49b2bd3 (#18508) Ensure eval_generated resources apply at the right time 7ed9025 (#18508) Handle duplicate generated resources correctly 69a8ff1 (#18508) Ensure that no two resources have the same priority 4b15466 (Maint) Move most graph related code to Puppet::Graph 0b777d3 (#22205) Extract class for generating resource priorities f99a759 (Maint) Removed commented out settings a42f65e (Maint) Restructure requires for settings ac9b0a7 (#22205) Add enum setting type 0ffb629 (#22205) Provide setting to control manifest ordering 8bdf1b9 (#22205) Re-introduce old ordering as a Prioritizer 63d1a64 (#22205) Chose a Prioritizer based on Puppet[:ordering] 149f9e1 (#22205) Extract common Prioritizer code into a superclass d3a98e7 (#22205) Select manifest ordering for ordering test d804baa (#22205) Reinstate relationship_graph as a factory method e9253ec (Maint) Add docs for #relationship_graph 24c2c17 (Maint) Mark AdditionalResourceGenerator as private 21107e8 (#22229) Ensure generated resources contained e4b9798 (#22229) Provide way of getting the container 155427f (#22358) Interpret */* as anything is accepted e9e9d9d (#21427) Make report format selectable c06eb57 (#22383) Allow all boolean values for atboot Andy Brody (4): 5d25090 (#21164) Raise ParseError for non-string var names fa2c083 (#21164) Don''t try to look up non-string variables fae7973 (#21164) Add tests for useful hash access errors de44f41 (#21164) Check for correct exception message Anton Lofgren (2): 55d62aa (#20677 Raise error on missing path for auth stanza) 40c08ef (#20677) Add tests to ensure configuration errors are raised as expected Brice Figureau (4): 98a1ca5 (#20607) support symbolic file mode in Puppet::Util#replace_file 60f22eb (#18255) - Follow http redirections f51e967 (#11317) - Do not ever skip resources appliable to both host and device d2e3cf3 (#6561) increase rdoc output font size and fix facts display Charlie Sharpsteen (10): e740bc4 (#20121) Invoke chkconfig with --check on SuSE f5a8b74 (#17811) Add test for group name to gid conversion 40b334f (#17811) Ensure PrimaryGroupID is converted to Int 713bcbe (#18895) Fix documentation in runit provider 5945aba (#12361) Remove masterlog option 12f3c38 (#21023) Flush caches on preferred_run_mode change 501f8f1 (#6808) Warn about file content sync no-ops a0c7955 Add debug_once to util/warnings 363e79d (#21835) Downgrade missing type optimization warn 7d0a559 (#21839) Stringify the :_timestamp fact name Chris Price (5): f24562d PSON serialization for `Resource::Status` missing time field 9536d51 Specify precision when serializing resource status time ab2c2e0 Refactor to remove ''LogPath'' module 661d8f0 (#21805) Add containment path to report resource_status 7e973f5 Improve documentation for pathbuilder methods Clay Caviness (2): 06fe48b (#16635) Respect http_proxy environment and settings in pkgdmg ee2715d (#6017) Purge MCX data before import David Schmitt (1): 80dd480 (#19112) deploy manpages in -common package Dean Wilson (2): cd9135f Add the s3_enabled property to the yumrepo type d63a9a3 Restrict the regex to only allow 0 or 1. Not 10. Duncan Phillips (1): 9fb4bca Fix #6561 - Better looking puppetdoc CSS for rdoc mode Dustin J. Mitchell (4): ba7576d Add DRY support for boolean parameters f2c5687 (#21091) pass --fail to curl 6012057 clean up docs for new parser functions 23d672b (#19056) strip trailing space while parsing AIX password file Eric Badger (1): 61669e3 (#22258) Create new console for each puppet run Eric Sorenson (2): 351aae6 (#17827) Properly format SMTP HELO when sending tagmail 40bba75 (#21801) Normalize headers that come through Rack Erik Dalén (12): 30fe09e (#20284) Output one item per line for arrays in console output 036951d (#17183) Pass on parameters to recursive children in static_compiler 3a19fff (#4561) Support structured facts f233c0c (#20920) Include file and line number on invalid resource relationship 53241a9 (Maint) Remove unused variables e3e673e (Maint) Simplify search for init scripts 40801c0 (maint) make SRV record lookup more generic 6ff702a (#21749) Make attributes readable on Puppet::ModuleTool::Dependency 2cb57bf (#21785) Module tool should include path part of URI 816ffe5 (maint) fix indentation 3f04206 (maint) remove unused methods 5c38864 (#16214) Allow specifying module tool skeleton dir directly Felix Frank (1): 3157d2a (#3010) cron: allow the absent value for the "special" property Garrett Honeycutt (1): 810283f Generated modules comply with Style Guide Henrik Lindberg (139): 5166625 (maint) Corrects manual edit in generated eparser.rb 23005e6 (#20581) Correct parser future''s validation of query expression 5275b17 (#21470) Change validation of "storeconfigs" to reflect runtime state. b3022fa (#21508) Make local variables available to templates as instance vars 300757d (#21252) Fix problems with false/nil args and returns in lambda feb8528 (#21947) Add missing error message for ILLEGAL_NAME 51357cd (#22052) Fix future parser false error on invoke with call as arg. 899dd45 (#16856) Add type model, factory, and calculator. 9b9bda8 (#16856) Add bindings model and bindings factory. 5bb7987 (#16856) Add w.i.p on binder a63e767 (#16856) Make type calculator infer PType for types and PType 12e76af (#16856) Add infer_Class to remove requirement to pass an instance. 9ff8e38 (#16856) Add skeleton of BindingsChecker. 45c0aed (#16856) Rename #from_ruby_class to #type a945bbf (#16856) Update TypeFactory to use TypeCalculator.type(c) for class. 5967eb3 (#16856) Add the first cut of the Binder. 3d53ccc (#16856) Add first cut of Binder. 4a4e378 (#16856) Add w.i.p on injector 3e4d299 (#16856) w.i.p bindings model and injector (stash) 83134cf (#16856) Corrects typos and renames classes in Bindings model. 1105862 (#16856) Improve documentation of Factory and typographic code changes. 1ab7844 (#16856) Add work that has the wanted design of producers (incomplete). b08010a (#16856) Add binder and injector with first smoketests passing. f6784f0 (#16856) Refactor producer to use a class instead of just a lambda. 0db39b3 (#16856) Add support for custom producer e13dd12 (#16856) Add injector tests (and code that passes them) 7a93fcb (#16856) Add test and fix issue with lookup_producer 77354e4 (#16856) Improve API and documentation of Injector. b242b8f (#16856) Add FirstFoundProducerDescriptor to the bindings model. 85a5d8d (#16856) Add missing model objects to LabelProvider. 26afdac (#16856) Tweak some logic to be more ruby-ish 41128b8 (#16856) Add support for non caching producer 9982013 (#16856) Add support for LookupProducer 3d901d1 (#16856) Refactor Injector internally 519308d (#16856) Add support for first_found producer. 6447382 (#16856) Add support for InstanceProducer e35c129 (#16856) Add support for ProducerProducer: f2997f4 (#16856) Add test that lookup of value and producer are consistent 865daed (#16856) Refactor one test dealing with producer producer 2501de8 (#16856) Fix issues with producer producer ed36bdc (#16856) Complete implementation of multibind hash 4e3cd54 (#16856) Add test and fix issues with array multibind 5eeabbc (#16856) Add missing name in one injector test dd9e208 (#16856) Rename MultiLookupProducerDescriptor to HashLookup... dee6304 (#16856) Add test and fix issues with HashLookupProducer 3eebb63 (#16856) Add more tests and checks 93450d1 (#16856) Add lookup loop detection 5b7fbb8 (#16856) Adds check that array multibind gets array[T] or T as contribution. 68f6e2f (#16856) Fix Yardoc and some internal cleanup of dead code/comments 9b1e2ff (#16856) Add support for Multibind combinators and refactor to make use of them cfc2b8a (#16856) Refactor create_combinator into two methods. b80a902 (#16856) Add support for assisted inject 8bc3195 (#16856) Add additional test for assisted inject 1b0780d (#16856) Add yardoc for assisted inject a92f90c (#16856) Add tests and fix issues with bindings requiring evaluation fe0254e (#16856) Add support for explicit Combinator 3feaacc (#16856) Makes multibind default producers singletons. eca5ead (#16856) Make instantiating producer work like assisted inject 8006ba4 (#16856) Make Assisted Inject pass arguments to inject method. d26aa60 (#16856) Refactor producers a860215 (#16856) Move Producer classes to a Producers module 974f836 (#16856) Remove unused LambdaProducer eda434d (#16856) Improve Multibinding (drop combinators, improve options, and errors) 4b06e6d (#16856) Remove the defunct multibind_combinators.rb file 409955a (#16856) Improve documentation of injector and do cleanup 2e85537 (#16856) Improve formatting and documentation of Producers. 8efd6aa (#16856) Fix issue when a multibind has no contributions. 1023452 (#16856) Improve checking of Hash multibind options ea223d0 (#16856) Add merge to hash multibind producer. a2464ad (#16856) Make binder return self in configuration methods. 86e10c2 (#16856) Clean up injector_spec by using let 034b3a8 (#16856) Clean up injector_spec some more c59386f (#16856) Fix issues with assisted inject and improve testing of injector 94d3a57 (#16856) Fix issue in multibind hash :priority conflict resolution c35eadf (#16856) Add test of hash multibind :merge conflict resolution f3d6d96 (#16856) Make hash and array multibind handle flatten the same way 71d264a (#16856) Add test for binding transformer lambda and fix related issues 0a1a4db (maint) remove TODO 1a67330 (maint) Remove a couple of lines of commented out dead code. 00d4ef3 (#16856) Fix issue with missing type check for multibind type. 18b1abf (#16856) Fix yardoc for the central Binder classes 74ace21 (yardoc) Make yardoc not crash for the Types classes b448f58 (#16856) Change hiera2 config reader to read categories as array instead of hash bdd82ec (#16856) Add w.i.p on BinderConfig 4ef09ab (maint) Fix missing space separator in tree dumper 40057df (#16856) Add BindingComposer 8d847da (#16856) Add class loader, system and default bindings, and extensions. 939f059 (#16856) Fix problems with loading Array and Hash in Hiera2 backend. 88d6562 (maint) Prevent error when ''common'' is given in the categories. 97ed1c8 (#16856) Add EvaluatingParser, and create injector in Compiler. 7133785 (yardoc) Add yardoc to added logic in compiler. 8107fad (#16856) Replace use of StringEvaluator with EvaluatingParser 8ca1b20 (#16856) Ensure that binder evaluates using Puppet[:parser] ''future'' 71ed762 (#16856) Fix Pupet typo ac4386a (#16856) Add implicit parameter lookup for hostclass resources. 187ed26 (#16856) Add tests for implicit injection. 1ae64a5 (#16856) Delete obsolete lib/puppet/binder* df7872c (#16856) Improve BindingsFactory ad1ea7e (#16856) Add missing issue d4af9de (#16856) Fix accepting SYNTAX ERROR in bindings config b5f0af0 (#16856) Add module and confdir to checkers allowed binding schemes f8b795b (#16856) Make test of looking up data bound via ruby Bindings work. 0a661db (#16856) Add missing fixture file 06b2614 (#16856) Improve error message when there is a bindings conflict. 34f0599 (maint) Make DiagnosticFormatter handle diagnostics without source pos. 3e686e7 (#16856) Add a reuseable issue reporter 9e95478 (#16856) Add missing require of issue reporter in pops.rb acbfee1 (#16856) Improve error messages and add defaults 0576b6b (#16856) Improve handling of Ruby based bindings 35165da (#16856) Rename hiera_config.yaml to hiera.yaml 9f8c612 (#16856) Make osfamily have higher prio than environment d9731e4 (#16856) Fix errors in diagnostics output from BindingsComposer 6b0052f (#16856) Fix problems with confdir scheme (typos and broken) e98ba3f (#16856) Add ability to specify type string for Hash with single argument. 1df59f9 (#16856) Add ability to call lookup function with a lambda. fc81d51 (#16856) Make lookup return :undef if nothing is found. Nil does not work when returned to puppet logic. 87d4af0 (#16856) Add support for multibinding multibinds. 5c8e9af (#16856) Improve error reporting when something is wrong with an Issue ba25f8f (#16856) Add version to binder_config.yaml b5c5bf3 (#16856) Correct API of BindingsFactory, add/correct yardoc. 03556ad (#16856) Refactor bindings scheme handlers, fix issues with type as hash key. 336a99e (#16856) Add extension capability to binder_config.yaml 441d6b7 (#16856) Fix test failing because lookup returns :undef instead of nil. 518b0fc (#16856) Add setting binder_conf to control which binder configuration to load. d43cb01 (yardoc) Correct and amend yardoc for the central clsses in binder. df1e622 (#16856) Improve formatting of error messages. 0052396 (#16856) Make a hiera.yaml in confdir be ignored if it not version 2. 30ae48f (#16856) Fix issue with failing integration tests (caching problems) 408cfc2 (#16856) Make use of Puppet Binder optional (and thus also rgen) cd63705 (#16856) Fix problem with YAML spec test on Ruby 1.8.7 a01816a (#16856) Fix lookup of ::x in topscope when topscope is not fully evaluated 2a6801c (#16856) Make the lookup function raise appropriate error on inactive bindings 5110e30 (#16856) Improve comments, remove dead code, and increase readability 341661d (#16856) Improve reporting of syntax errors in interpolations in binder_config 9bd0c7d (#16856) Fix failing lookup function test (missing setting of --binder) 693aec1 (#16856) Fix failing test for Ruby 2.0.0 (different YAML exception) 9b16ff8 (#22079) Fix HashArrayAccess produces :undef when value is false 4d2e0fe (maint) Fix problem reading empty file with safe yaml 53140d1 (maint) Remove unused Hiera2::Backend class Hunter Haugen (1): fe99c72 (#21193) Fix rgen assertion check Jasper Lievisse Adriaanse (5): fa2fb95 OpenBSD has had flavors since the early 2000s at least; sync comment. a5b8b96 Enhance OpenBSD pkg.conf handling ee14796 (22023) Implement :purgeable feature for OpenBSD package provider 19b0e78 (22004) Fix regex for retrieving flavor. 1b672b5 (22021) Implement (un)install_options for OpenBSD package provider. Jeff McCune (8): a84c65b (maint) Update COMMITTERS with stable and master branch strategy 648ac82 Revert "(Maint) Remove disused puppet.gemspec" 35151b4 (maint) move puppet.gemspec to .gemspec bf27b3c (maint) Fix PUPPETVERSION warning from gemspec 4680902 (maint) Fix failing WriteOnlyYaml acceptance test 3b29a4e (maint) Update branch strategy to be the git flow process 8054d4d (maint) Update COMMITTERS with feature flags and always working responsibilities 943eba6 (maint) Clarify the merge-up process in COMMITTERS Jeff Weiss (6): bb86ff6 (#18393) AIX 5.3 doesn''t support diff -u 230a0ee (#20442) Add tests for base provider methods a17114a (#20442) Add tests for attribute conversion methods 86fd7fa (#20442) only execute lscmd once a27f3dc (#20442) Filter attributes to only those managed fa49b2d (PE-158) speed license check Jesse Hathaway (1): ea58f86 Change hiera_include to properly call include with an array of arguments John Julien (2): 7723748 (maint) Removing unneeded patch from %install in RPM spec 73d5742 (#7911) Simplified libs section of installer Josh Cooper (14): 2434310 (#11276) Tarball entries should be relative to the `pkg` directory e9c25f6 Maint: Lambda arity must match number of arguments f918734 Maint: Update comments 6b49f63 (#20607) Fix mode test on windows f25036b (#19727) Collapse multiple leading slashes d5fdadf (Maint) Don''t prefetch from /tmp/test 2357ff1 Maint: Fix absolute path issue on Windows fa21e68 (#22191) Add cancelled resource handler 3bbf236 (#22191) Mark ready, but unevaluated resources, as skipped 8839227 (#22191) Always process internal catalogs dada7dc (#22191) Rename cancelled to canceled 769dcdf (#22375) Prefer raw-like serialization format 547b0a6 (#22375) Don''t echo the backed up file to the caller dabfd50 (#21427) Handle loss of precision during YAML serialization Josh Partlow (36): e96ac6b (#19875) Package descriptions obtained by rpm/dpkg providers 4da6312 (maint) More specific require for windows/package fbd7f74 (maint) Add an integration spec for agent logging. 96e22e6 (maint) Pidlock#file_path uses correct instance var d89090c (maint) expand flag constants for clarity e831e6c (20967) Clear yamldir in configuration acceptance test. cfd658e (20967) Do not run on solaris and reclear yamldir in teardown. 4c15588 (maint) Agent logger specs account for lack of daemonize on windows. 115a3a6 (maint) Simplifies agent logging spec setup. d26ece5 (maint) Expects eventlog when testing on windows. 357feec (maint) Update developer readme for bundler setup. f3304f6 (maint) README_DEVELOPER emphasizes bundler only. 03ba9db (maint) Includes missing spec_helper in three specs. dfa1c40 (maint) Adds acceptance tests into el6 configuration 5da6150 (#6112) Only attempt to sign a certificate once. 5d24b19 (#6112) Acceptance test handles host with uninitialized ssl 5829f66 (#6112) Clearing test of whether puppet agent fails 400b4aa (#6112) Acceptance test handles host with uninitialized ssl 94bf1a8 (#6112) Confine puppet cert generate case 3 test on windows 90c2c42 (#6112) Memory indirector for cert generate specs 66041d8 (maint) Checks in a pair of useful dev tools e188490 (maint) Clarify comments and link to puppet-master issue 395814f (doc) Notes on curl with dev-puppet-master script 8ef6931 (#21881) Add error responses to resource_type http api ec40cc7 (21881) Adds explantory text and fixes for YARD 18379b6 (#21971) Fixes PathPattern''s usage of Dir.glob for Windows 94cedf7 (#21971) Allow paths that contain .. as part of a name ddd8b59 (maint) Fix module_utils regex tests for module file perms d245bb3 (maint) Minor spelling fix in README.md ff3ee67 (#22128) Fixes rpm provider''s nevra regex to work in yum prefetch a8d9f0b (maint) Load puppetx for yaml_backend_spec 0a400e4 (#22128) Confine yum provider prefetch spec from running on windows fb2f551 (#22128) Yum prefetch spec ensures use of yum provider c7eb3db (maint) Limit ignore to root doc/ directory d0dc2be (#22319) Correct Puppet::Setting''s use of WatchedFile 3522f20 (#22319) Constrain settings watchedfile integration on windows Juan Ignacio Donoso (1): 8b8b53c (#11108) Make the pkgdmg provider able to install a remote flat pkg file Kosh (1): 15815f9 Fix for rc-status not showing puppet when puppet is run as a service Kylo Ginsberg (22): 32583e2 [maint] Add missing helper libs fe7d2b8 [maint] Add missing fixtures directory to el6/external_ca_support 2266846 [maint] Remove el6.tar.gz before recreating it fc96d8d (#21831) Ensure SecureRandom.uuid is available 1858cc6 (#21831) Generate a UUID to allow matching a report to a catalog ed499f6 (#21831) Add/use get_transaction_uuid method 5b0cbe3 (maint) Remove lib/puppet/util/subclass_loader.rb 73b421c (#21970) Comment fixup 4fae7fd (#21970) Move supported formats into the per-endpoint md 3cf8497 (#21970) Add markdown doc for certificate endpoint 74cca42 (#21970) Correct markdown and add explanatory text 1c3baed (#21970) note that the certificate is in pem format 571cd1f (#21970) add ''Supported HTTP Methods'' section 93ecaf8 (#21970) document response when master != ca 16bad03 (#16856) comment cleanup fb505f8 (#16856) remove unused method (b/c re-implemented below) 516c1f5 (#16856) add caveat that the binding system is experimental 1fcec06 (#16856) fix hiera2 yaml backend for empty/invalid yaml files 725c3f9 (#16856) replace the _Foo idiom with expanded namespaces 5d5f9b4 (#22250) ensure a failed resource status always has an event eea93dd (#22250) refactor previous and add spec tests 3574208 (#21427) make supported_formats return an array of symbols Mathieu Parent (2): 750a2f1 Propagate client noop value as a fact 5b2489e (#6847) Propagate client noop value as a fact Matthaus Owens (9): cafdfd1 (packaging) Remove createpackage.sh from puppet 9f96414 (packaging) Remove PackageInfo.plist, it is no longer used by packaging. d50e20f (packaging) Move systemd BuildRequires into conditional 83ea101 (maint) Correct type in speeeeling of pl-fedora-18-i386 mock in ext/build_defaults.yaml dace599 (maint) Remove rspec requires from the Rakefile 1e5fc90 (packaging) Update CHANGELOG, PUPPETVERSION for 2.7.23 b2a77e0 (packaging) Remove oneiric from ext/build_defaults.yaml 2471c0f (maint) Remove rspec requires from the Rakefile dbbde65 (packaging) Update PUPPETVERSION for 3.3.0-rc1 Melissa (2): d634c99 (Bug #22164) remove hardcoded hostname dependencies e5c93af (Bug #22237) Remove EOL Fedora 17 Melissa Stone (1): 9e23a28 (Bug #21768) Update puppet for F19 Michael Scherer (1): d6c532e (#16792), permit to remove all dependants packages with urpmi provider Michal Růžička (3): 122b483 (#21961) Support ssl connections without peer verification 4a3b7ab (#21961) streamlined option hash content validity checking f064ef7 (#21961) Tests for ssl connections without peer verification Moses Mendoza (3): b983664 (packaging) Update PUPPETVERSION for 3.3.0 a04ec25 (packaging) Update PUPPETVERSION for 3.3.0-rc2 cbe44df (packaging) Update PUPPETVERSION for 3.3.0-rc3 Neil Hemingway (1): 0e1e517 (#11133) If a node definition uses a regex, make its capture variables available in the node''s scope Nick Fagerlund (5): 1fb2177 Docs: Update description of ctime and mtime properties for file type a21d6c6 (Docs) Add Debian/Ubuntu-appropriate package name to RRD report info e50e56c (Docs) Point out that setting "user" in an exec does not automatically set $HOME 161dd2f Docs: Slight tweak to description of the alias metaparameter 07291ea Docs: Clarify descriptions of "ordering" and "report_serialization_format" settings Nick Lewis (2): 3c79ffe Refactor how files are watched c00bc60 Close streams in agent before waiting for cert Patrick Carlisle (55): 759cca5 (maint) Minor cleanup to mailalias 14ec6d0 Clean up FormatHandler specs f22af45 consolidate block evaluation on format creation bb9af4d Don''t directly test FormatProtector as it''s an implementation detail 21511c8 Remove FormatProtector fa391c1 Extract the mixins for FormatHandler to a separate module 1a88d40 Move FormatSupport into its own file 3f9360a (maint) Don''t use protected_format in indirector c4bf060 (maint) Remove incorrect spec in format_handler 6a81929 Deprecate sending YAML over the network be0a396 (#21427) Fix Puppet::Run pson implementation 81cdc7a (maint) Stub further out in csr signing tests 27a69f2 (#21653) Skip modules with no manifest directory when loading resource types 0c6060f (maint) Refactor type_loader, mostly specs c58a8bc (maint) Fix rspec warnings 9dbbacc (maint) Fix calling wrong should method on properties efcae1a Pin redcarpet gem to the last version that supported Ruby 1.8 2f22127 (maint) Remove publicize_methods from specs 179ee76 Remove support code for ruby < 1.8.7 56ed42d (doc) Fix YARD output 6d7d529 (maint) Clean up comments for Resource::Type 579e691 (#21881) Add YARD docs for the format used by Puppet::Resource::Type cc464f0 (#21881) Validate ResourceType against a json schema in tests 31e1b74 (#21881) Add documentation for Puppet::Indirection::ResourceType::Parser bb0f7da (doc) Add other markdown files to YARD f51b1f5 (#21881) Add API docs to YARD 9afa9fc Deserialize time in Status objects the same way as everywhere else 6dcbd3c (#18508) Preserve order of insertion for resources df707b6 (Maint) Remove unneeded array code in type fe7f50d (Maint) Remove unnecessary alias in Component.new 5c097f9 Encode the path passed to json-schema as a URI a265a72 Revert "Encode the path passed to json-schema as a URI" 4647f23 Revert "(#21881) Validate ResourceType against a json schema in tests" 78fa470 Revert "Merge branch ''remove-json-schema''" 4da10c3 (#21881) Handle reading the schema ourselves d2d7993 Remove tests depending on json-schema 042f6dc (#18508) Add acceptance test for basic resource ordering 0b545b8 (Maint) Move Relationship_graph_wrapper into its own file and slightly refactor 71009ef (Maint) Remove unused #applying? from Catalog 5506db8 (Maint) Extract create_transaction 30da178 (Maint) Add preliminary YARD to Catalog#apply 0d5a560 (Maint) Move reporting catalog retrieval duration to the transaction 8046f12 (Maint) Decouple reports for logging from catalogs 699b85b (Maint) Remove commented code 9ae7c69 (Maint) Remove weird thing in transaction tests 85d6f91 (Maint) Make methods private in Transaction ea1331a (Maint) Simplify conditional in aliasing 0f365a1 (Maint) Fix some docs in Puppet::Type 38b373f (Maint) Parenthesize d4ae893 (Maint) Avoid creating unneeded Status objects in Transaction 86bdd1a (Maint) Delete transaction specs that were testing implementation and not behavior 46d3f26 (#18508) Test that the relationship graph gets built in order 6694a4d (#18508) Promote working acceptance test for ordering bd36071 (#18508) Add acceptance test for ordering when using master and agent setup 56b7af6 (#18508) Add failing test case for ordering issues Pieter van de Bruggen (8): d1e6523 (#17824) PMT should not prefer pre-release versions to existing stable versions. f75f73d Adding a couple additional tests for supplied version constraints. 8ed37c9 Certain server configurations are less diligent about whitespace. 90d4180 (#14333) Ensure module permissions are sane. f02f186 Backporting acceptance tests. 23bdf22 Fixing broken requires in the acceptance tests. b7a0d29 Ensure that PMT uses the correct group membership. 27abe7e Improving testing around PMT module install permissions. Richard Clamp (1): a48b2fb (#17871) fix nagios types uniqness under ruby 1.9 Richard Pijnenburg (1): b917b1d (#21272) Refactor created directory from ''puppet module generate'' Richard Soderberg (4): 5398b5f spelling/grammatical fixes 524de14 (doc) Clarify a couple of comments under lib/puppet/ 8259b12 (maint) Various fixes (whitespace, etc) fba51b8 (maint) Typo fixes for code comments Richard Stevenson (1): 0e04186 (#21478) Add plymouth-ready to excludes list Rob Reynolds (1): f0aa122 (maint) ignore Gemfile.local Sergey Sudakovich (1): 86cded6 properly handle max version on ppc debian Stefan Schulte (8): 82678c2 (#6371) Update lastchg field when updating password 1c5fc3c maint: Refactor mount specs c64ba6c (6409) Reject spaces in mount type c823802 (#6409) Dont use invalid values in type_spec da6a0e9 (#4689) Set correct blockdevice for nfs mounts d9d23ad (#6793) Remove trailing slashes from mount resource b6ce588 (#21168) Set default pass property to "-" on Solaris 0f9434c (#15837) Do not pass options explicitly when mounting Thomas Hallgren (10): 6eb6797 Fix faulty test for Puppet::Pops::Parser::Parser 2ff1cb7 Add ignore entry for Eclipse specific .project file 597275e (#16856) Adds unit tests to Puppet::Pops::Types a5b65e7 (#16856) Make a clear distinction between types and instances of types f87549a (#16856) Treat all Ruby Integer values as PIntegerType f0ba095 (#16856) Move reusable validation factory semantics to a common super class 512c641 (#16856) Fix structure of require statements to make binder package loadable 2e5ed7d (#16856) Add validator, checker, issue markers, and tests for the binding model This commit adds the initial implementation of the following classes: f37ab5b (#16856) Fix issues and improve design of the bindings_checker 334b75f (#16856) Adds Hiera2 bindings with backends for YAML and JSON W. Andrew Loe III (1): 7f919dd (#21324) Pip provider query should be case insensitive. arnoudj (1): 6ed43ec (#21659) Links are seen as files and get bucketed. floatingatoll (1): 2ff7646 (maint) Spelling fixes for code comments ironpinguin (1): 5d03bed extend the zypper provider with install_options feature joshrivers (1): db7cf0d (#18295) add title to start call in windows exe package provider phinze (1): 3f1e944 (#21087) Debug output for all augeas error nodes superseb (2): 539d54b Redmine #21709 Discussed with jamesturnbull to submit this as a workaround. 9fc1543 (#19906) Wrong error from "upgrade" with JSON output when module already installed -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscribe@googlegroups.com. To post to this group, send email to puppet-users@googlegroups.com. Visit this group at http://groups.google.com/group/puppet-users. For more options, visit https://groups.google.com/groups/opt_out.
In the announcement, http://projects.puppetlabs.com/issues/16856 is introduced as data in modules, and that we should see ARM-9 ( https://github.com/puppetlabs/armatures/blob/master/arm-9.data_in_modules/index.md ). But #16856 itself never references ARM-9 that I can see, but only references ARM-8 ( https://github.com/puppetlabs/armatures/blob/master/arm-8.puppet_bindings/index.md ). Please tell me, which of ARM-8 and ARM-9 are actually implemented in 3.3.0? I understand in either case it''s not considered a completed work, but I''d like to know at least what to be looking at. -Robin -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscribe@googlegroups.com. To post to this group, send email to puppet-users@googlegroups.com. Visit this group at http://groups.google.com/group/puppet-users. For more options, visit https://groups.google.com/groups/opt_out.
Henrik Lindberg
2013-Sep-14 15:26 UTC
Re: [Puppet Users] Re: Announce: Puppet 3.3.0 Available
On 2013-14-09 9:05, Robin Powell wrote:> In the announcement, http://projects.puppetlabs.com/issues/16856 is > introduced as data in modules, and that we should see ARM-9 ( > https://github.com/puppetlabs/armatures/blob/master/arm-9.data_in_modules/index.md ). > But #16856 itself never references ARM-9 that I can see, but only > references ARM-8 ( > https://github.com/puppetlabs/armatures/blob/master/arm-8.puppet_bindings/index.md ). > > Please tell me, which of ARM-8 and ARM-9 are actually implemented in > 3.3.0? I understand in either case it''s not considered a completed > work, but I''d like to know at least what to be looking at. >ARM-9 (''data in modules'') is fully implemented as described and is included in 3.3.0. It is considered to be a complete work. It is based on the ideas in ARM-8 ''puppet bindings'' (which thus is partially implemented; usage of the bindings system for an updated ENC, the concrete Puppet DSL syntax, and a couple of the more exotic types of bindings are not implemented in 3.3.0) I updated issue 16856 with links to ARM-9 and to the example that was just posted from ProPuppet. It is "experimental" in the respect that we want to get it in-front of people to get feedback on usability and to find issues. Based on that feedback and when later released it may change in a backwards incompatible way compared to the experimental version. We will do our best to not introduce such breakage. Hope that better explains the status of ARM-9 (data in modules) and the difference between it and ARM-8. Regards - henrik -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscribe@googlegroups.com. To post to this group, send email to puppet-users@googlegroups.com. Visit this group at http://groups.google.com/group/puppet-users. For more options, visit https://groups.google.com/groups/opt_out.
William Van Hevelingen
2013-Sep-15 01:11 UTC
Re: [Puppet Users] Re: Announce: Puppet 3.3.0 Available
Hi Henrik or Eric, Is it possible to error on failed lookups? This is useful for replacing the fail(''osfamily not supported'') lines in most params.pp files. Ryan mentioned the same thing in the ticket and I wasn''t sure if it was resolved. It currently returns undef if the value is not found. On Sat, Sep 14, 2013 at 8:26 AM, Henrik Lindberg < henrik.lindberg@cloudsmith.com> wrote:> On 2013-14-09 9:05, Robin Powell wrote: > >> In the announcement, http://projects.puppetlabs.**com/issues/16856<http://projects.puppetlabs.com/issues/16856>is >> introduced as data in modules, and that we should see ARM-9 ( >> https://github.com/puppetlabs/**armatures/blob/master/arm-9.** >> data_in_modules/index.md<https://github.com/puppetlabs/armatures/blob/master/arm-9.data_in_modules/index.md>). >> But #16856 itself never references ARM-9 that I can see, but only >> references ARM-8 ( >> https://github.com/puppetlabs/**armatures/blob/master/arm-8.** >> puppet_bindings/index.md<https://github.com/puppetlabs/armatures/blob/master/arm-8.puppet_bindings/index.md>). >> >> Please tell me, which of ARM-8 and ARM-9 are actually implemented in >> 3.3.0? I understand in either case it''s not considered a completed >> work, but I''d like to know at least what to be looking at. >> >> > ARM-9 (''data in modules'') is fully implemented as described and is > included in 3.3.0. It is considered to be a complete work. It is based on > the ideas in ARM-8 ''puppet bindings'' (which thus is partially implemented; > usage of the bindings system for an updated ENC, the concrete Puppet DSL > syntax, and a couple of the more exotic types of bindings are not > implemented in 3.3.0) > > I updated issue 16856 with links to ARM-9 and to the example that was just > posted from ProPuppet. > > It is "experimental" in the respect that we want to get it in-front of > people to get feedback on usability and to find issues. Based on that > feedback and when later released it may change in a backwards incompatible > way compared to the experimental version. We will do our best to not > introduce such breakage. > > Hope that better explains the status of ARM-9 (data in modules) and the > difference between it and ARM-8. > > Regards > - henrik > > -- > You received this message because you are subscribed to the Google Groups > "Puppet Users" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to puppet-users+unsubscribe@**googlegroups.com<puppet-users%2Bunsubscribe@googlegroups.com> > . > To post to this group, send email to puppet-users@googlegroups.com. > Visit this group at http://groups.google.com/**group/puppet-users<http://groups.google.com/group/puppet-users> > . > > For more options, visit https://groups.google.com/**groups/opt_out<https://groups.google.com/groups/opt_out> > . >-- Thanks, William -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscribe@googlegroups.com. To post to this group, send email to puppet-users@googlegroups.com. Visit this group at http://groups.google.com/group/puppet-users. For more options, visit https://groups.google.com/groups/opt_out.
Henrik Lindberg
2013-Sep-15 19:45 UTC
Re: [Puppet Users] Re: Announce: Puppet 3.3.0 Available
On 2013-15-09 3:11, William Van Hevelingen wrote:> Hi Henrik or Eric, > > Is it possible to error on failed lookups? This is useful for replacing > the fail(''osfamily not supported'') lines in most params.pp files. Ryan > mentioned the same thing in the ticket and I wasn''t sure if it was resolved. > > It currently returns undef if the value is not found. > >It should error if a parameterized class does not get a value for a parameter (and it has no default value), but it does not do that for an explicit lookup. It has been brought up earlier that it is a bit klunky to lookup a value and use a default as a check is needed. I can imagine changing the lookup signature to take name, type and default. If no default is given it could be made to raise an error if name does not exist. Regards - henrik -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscribe@googlegroups.com. To post to this group, send email to puppet-users@googlegroups.com. Visit this group at http://groups.google.com/group/puppet-users. For more options, visit https://groups.google.com/groups/opt_out.