puppet 3.4.3 → 3.5.0.rc1
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of puppet might be problematic. Click here for more details.
- data/CONTRIBUTING.md +6 -6
- data/Gemfile +22 -16
- data/LICENSE +1 -1
- data/README.md +33 -11
- data/Rakefile +1 -1
- data/conf/auth.conf +4 -0
- data/ext/build_defaults.yaml +1 -1
- data/ext/debian/control +6 -6
- data/ext/ips/transforms +1 -1
- data/ext/nagios/naggen +1 -1
- data/ext/project_data.yaml +21 -1
- data/ext/puppet-test +3 -3
- data/ext/redhat/puppet.spec.erb +28 -2
- data/ext/suse/puppet.spec +1 -1
- data/ext/upload_facts.rb +1 -1
- data/ext/windows/service/daemon.rb +99 -20
- data/lib/hiera_puppet.rb +2 -2
- data/lib/puppet.rb +68 -5
- data/lib/puppet/agent.rb +5 -1
- data/lib/puppet/application.rb +20 -11
- data/lib/puppet/application/agent.rb +1 -1
- data/lib/puppet/application/apply.rb +61 -41
- data/lib/puppet/application/cert.rb +3 -3
- data/lib/puppet/application/device.rb +7 -8
- data/lib/puppet/application/doc.rb +1 -1
- data/lib/puppet/application/filebucket.rb +3 -3
- data/lib/puppet/application/kick.rb +2 -2
- data/lib/puppet/application/master.rb +1 -1
- data/lib/puppet/application/queue.rb +9 -9
- data/lib/puppet/application/resource.rb +2 -2
- data/lib/puppet/bindings.rb +6 -6
- data/lib/puppet/configurer.rb +17 -14
- data/lib/puppet/configurer/fact_handler.rb +1 -1
- data/lib/puppet/confine/any.rb +26 -0
- data/lib/puppet/confine/exists.rb +1 -1
- data/lib/puppet/confiner.rb +1 -0
- data/lib/puppet/context.rb +55 -0
- data/lib/puppet/context/trusted_information.rb +56 -0
- data/lib/puppet/defaults.rb +97 -26
- data/lib/puppet/environments.rb +187 -0
- data/lib/puppet/error.rb +2 -1
- data/lib/puppet/external/pson/common.rb +1 -1
- data/lib/puppet/external/pson/pure/generator.rb +1 -1
- data/lib/puppet/external/pson/pure/parser.rb +1 -1
- data/lib/puppet/face/config.rb +73 -15
- data/lib/puppet/face/file/store.rb +1 -1
- data/lib/puppet/face/help.rb +2 -1
- data/lib/puppet/face/help/action.erb +1 -0
- data/lib/puppet/face/help/face.erb +1 -0
- data/lib/puppet/face/help/global.erb +1 -0
- data/lib/puppet/face/help/man.erb +9 -8
- data/lib/puppet/face/module/list.rb +13 -7
- data/lib/puppet/face/node/clean.rb +2 -2
- data/lib/puppet/face/parser.rb +11 -5
- data/lib/puppet/face/status.rb +1 -1
- data/lib/puppet/feature/external_facts.rb +2 -2
- data/lib/puppet/feature/libuser.rb +1 -1
- data/lib/puppet/feature/msgpack.rb +2 -0
- data/lib/puppet/feature/rails.rb +2 -2
- data/lib/puppet/file_bucket/dipper.rb +9 -9
- data/lib/puppet/file_bucket/file.rb +9 -5
- data/lib/puppet/file_serving/base.rb +1 -1
- data/lib/puppet/file_serving/configuration.rb +1 -1
- data/lib/puppet/file_serving/configuration/parser.rb +3 -3
- data/lib/puppet/file_serving/content.rb +2 -2
- data/lib/puppet/file_serving/fileset.rb +4 -4
- data/lib/puppet/file_serving/metadata.rb +69 -15
- data/lib/puppet/file_serving/mount/file.rb +1 -1
- data/lib/puppet/file_system.rb +361 -1
- data/lib/puppet/file_system/file18.rb +3 -3
- data/lib/puppet/file_system/file19.rb +3 -3
- data/lib/puppet/file_system/file19windows.rb +18 -23
- data/lib/puppet/file_system/file_impl.rb +145 -0
- data/lib/puppet/file_system/memory_file.rb +23 -9
- data/lib/puppet/file_system/memory_impl.rb +64 -0
- data/lib/puppet/forge.rb +4 -3
- data/lib/puppet/forge/repository.rb +0 -1
- data/lib/puppet/graph/relationship_graph.rb +7 -7
- data/lib/puppet/indirector.rb +1 -0
- data/lib/puppet/indirector/catalog/compiler.rb +3 -30
- data/lib/puppet/indirector/catalog/msgpack.rb +6 -0
- data/lib/puppet/indirector/catalog/static_compiler.rb +3 -7
- data/lib/puppet/indirector/data_binding/hiera.rb +1 -1
- data/lib/puppet/indirector/direct_file_server.rb +2 -2
- data/lib/puppet/indirector/exec.rb +1 -1
- data/lib/puppet/indirector/face.rb +3 -2
- data/lib/puppet/indirector/facts/facter.rb +1 -1
- data/lib/puppet/indirector/file_bucket_file/file.rb +25 -15
- data/lib/puppet/indirector/file_metadata/file.rb +1 -1
- data/lib/puppet/indirector/file_server.rb +1 -1
- data/lib/puppet/indirector/indirection.rb +1 -1
- data/lib/puppet/indirector/json.rb +4 -4
- data/lib/puppet/indirector/key/file.rb +8 -5
- data/lib/puppet/indirector/ldap.rb +1 -1
- data/lib/puppet/indirector/memory.rb +4 -0
- data/lib/puppet/indirector/msgpack.rb +82 -0
- data/lib/puppet/indirector/node/exec.rb +1 -1
- data/lib/puppet/indirector/node/ldap.rb +3 -3
- data/lib/puppet/indirector/node/msgpack.rb +7 -0
- data/lib/puppet/indirector/node/yaml.rb +15 -0
- data/lib/puppet/indirector/queue.rb +3 -2
- data/lib/puppet/indirector/report/msgpack.rb +11 -0
- data/lib/puppet/indirector/request.rb +17 -20
- data/lib/puppet/indirector/resource/rest.rb +1 -1
- data/lib/puppet/indirector/resource_type/parser.rb +3 -13
- data/lib/puppet/indirector/rest.rb +6 -7
- data/lib/puppet/indirector/ssl_file.rb +7 -7
- data/lib/puppet/indirector/yaml.rb +9 -13
- data/lib/puppet/metatype/manager.rb +12 -7
- data/lib/puppet/module.rb +14 -9
- data/lib/puppet/module_tool.rb +21 -26
- data/lib/puppet/module_tool/applications/application.rb +1 -1
- data/lib/puppet/module_tool/applications/generator.rb +2 -1
- data/lib/puppet/module_tool/applications/installer.rb +9 -4
- data/lib/puppet/module_tool/applications/uninstaller.rb +10 -7
- data/lib/puppet/module_tool/applications/unpacker.rb +1 -1
- data/lib/puppet/module_tool/applications/upgrader.rb +11 -8
- data/lib/puppet/module_tool/checksums.rb +1 -1
- data/lib/puppet/module_tool/contents_description.rb +2 -0
- data/lib/puppet/module_tool/dependency.rb +4 -5
- data/lib/puppet/module_tool/errors.rb +2 -0
- data/lib/puppet/module_tool/install_directory.rb +3 -0
- data/lib/puppet/module_tool/metadata.rb +3 -5
- data/lib/puppet/module_tool/modulefile.rb +3 -0
- data/lib/puppet/module_tool/shared_behaviors.rb +6 -1
- data/lib/puppet/module_tool/skeleton.rb +3 -0
- data/lib/puppet/module_tool/tar.rb +3 -0
- data/lib/puppet/network/auth_config_parser.rb +1 -1
- data/lib/puppet/network/authconfig.rb +5 -2
- data/lib/puppet/network/authentication.rb +7 -2
- data/lib/puppet/network/authorization.rb +2 -2
- data/lib/puppet/network/format_support.rb +4 -0
- data/lib/puppet/network/formats.rb +9 -14
- data/lib/puppet/network/http.rb +11 -0
- data/lib/puppet/network/http/api.rb +0 -2
- data/lib/puppet/network/http/api/v1.rb +146 -11
- data/lib/puppet/network/http/api/v2.rb +32 -0
- data/lib/puppet/network/http/api/v2/authorization.rb +13 -0
- data/lib/puppet/network/http/api/v2/environments.rb +21 -0
- data/lib/puppet/network/http/connection.rb +94 -37
- data/lib/puppet/network/http/error.rb +69 -0
- data/lib/puppet/network/http/handler.rb +28 -196
- data/lib/puppet/network/http/issues.rb +9 -0
- data/lib/puppet/network/http/memory_response.rb +13 -0
- data/lib/puppet/network/http/rack/rest.rb +10 -18
- data/lib/puppet/network/http/request.rb +56 -0
- data/lib/puppet/network/http/response.rb +11 -0
- data/lib/puppet/network/http/route.rb +91 -0
- data/lib/puppet/network/http/webrick.rb +1 -1
- data/lib/puppet/network/http/webrick/rest.rb +7 -12
- data/lib/puppet/network/http_pool.rb +3 -3
- data/lib/puppet/network/rights.rb +4 -4
- data/lib/puppet/node.rb +23 -14
- data/lib/puppet/node/environment.rb +149 -125
- data/lib/puppet/node/facts.rb +6 -5
- data/lib/puppet/parameter.rb +1 -1
- data/lib/puppet/parser/ast.rb +1 -1
- data/lib/puppet/parser/ast/block_expression.rb +1 -6
- data/lib/puppet/parser/ast/collexpr.rb +54 -2
- data/lib/puppet/parser/ast/lambda.rb +9 -0
- data/lib/puppet/parser/ast/leaf.rb +15 -0
- data/lib/puppet/parser/ast/pops_bridge.rb +168 -0
- data/lib/puppet/parser/code_merger.rb +13 -0
- data/lib/puppet/parser/collector.rb +1 -1
- data/lib/puppet/parser/compiler.rb +28 -30
- data/lib/puppet/parser/e4_parser_adapter.rb +81 -0
- data/lib/puppet/parser/e_parser_adapter.rb +0 -1
- data/lib/puppet/parser/files.rb +12 -7
- data/lib/puppet/parser/functions.rb +36 -29
- data/lib/puppet/parser/functions/collect.rb +1 -1
- data/lib/puppet/parser/functions/defined.rb +40 -16
- data/lib/puppet/parser/functions/each.rb +55 -41
- data/lib/puppet/parser/functions/epp.rb +41 -0
- data/lib/puppet/parser/functions/extlookup.rb +2 -2
- data/lib/puppet/parser/functions/file.rb +1 -1
- data/lib/puppet/parser/functions/filter.rb +68 -16
- data/lib/puppet/parser/functions/generate.rb +1 -1
- data/lib/puppet/parser/functions/include.rb +3 -2
- data/lib/puppet/parser/functions/inline_epp.rb +79 -0
- data/lib/puppet/parser/functions/inline_template.rb +1 -1
- data/lib/puppet/parser/functions/lookup.rb +127 -27
- data/lib/puppet/parser/functions/map.rb +64 -12
- data/lib/puppet/parser/functions/reduce.rb +40 -16
- data/lib/puppet/parser/functions/select.rb +1 -1
- data/lib/puppet/parser/functions/slice.rb +42 -23
- data/lib/puppet/parser/grammar.ra +3 -0
- data/lib/puppet/parser/lexer.rb +10 -9
- data/lib/puppet/parser/parser.rb +15 -12
- data/lib/puppet/parser/parser_factory.rb +26 -1
- data/lib/puppet/parser/parser_support.rb +13 -4
- data/lib/puppet/parser/resource.rb +1 -1
- data/lib/puppet/parser/scope.rb +246 -97
- data/lib/puppet/parser/templatewrapper.rb +1 -1
- data/lib/puppet/parser/type_loader.rb +13 -2
- data/lib/puppet/pops.rb +15 -1
- data/lib/puppet/pops/adapters.rb +64 -32
- data/lib/puppet/pops/binder/binder.rb +122 -150
- data/lib/puppet/pops/binder/binder_issues.rb +1 -21
- data/lib/puppet/pops/binder/bindings_checker.rb +0 -20
- data/lib/puppet/pops/binder/bindings_composer.rb +4 -70
- data/lib/puppet/pops/binder/bindings_factory.rb +16 -58
- data/lib/puppet/pops/binder/bindings_label_provider.rb +0 -3
- data/lib/puppet/pops/binder/bindings_loader.rb +13 -4
- data/lib/puppet/pops/binder/bindings_model.rb +17 -31
- data/lib/puppet/pops/binder/bindings_model_dumper.rb +2 -20
- data/lib/puppet/pops/binder/config/binder_config.rb +8 -40
- data/lib/puppet/pops/binder/config/binder_config_checker.rb +2 -43
- data/lib/puppet/pops/binder/config/issues.rb +1 -21
- data/lib/puppet/pops/binder/injector.rb +86 -7
- data/lib/puppet/pops/binder/injector_entry.rb +6 -2
- data/lib/puppet/pops/binder/key_factory.rb +7 -1
- data/lib/puppet/pops/binder/lookup.rb +191 -0
- data/lib/puppet/pops/binder/producers.rb +5 -5
- data/lib/puppet/pops/binder/scheme_handler/symbolic_scheme.rb +2 -3
- data/lib/puppet/pops/binder/system_bindings.rb +4 -16
- data/lib/puppet/pops/containment.rb +72 -5
- data/lib/puppet/pops/evaluator/access_operator.rb +548 -0
- data/lib/puppet/pops/evaluator/closure.rb +57 -0
- data/lib/puppet/pops/evaluator/compare_operator.rb +168 -0
- data/lib/puppet/pops/evaluator/epp_evaluator.rb +87 -0
- data/lib/puppet/pops/evaluator/evaluator_impl.rb +1069 -0
- data/lib/puppet/pops/evaluator/external_syntax_support.rb +49 -0
- data/lib/puppet/pops/evaluator/relationship_operator.rb +156 -0
- data/lib/puppet/pops/evaluator/runtime3_support.rb +489 -0
- data/lib/puppet/pops/issue_reporter.rb +8 -4
- data/lib/puppet/pops/issues.rb +199 -4
- data/lib/puppet/pops/label_provider.rb +5 -0
- data/lib/puppet/pops/model/ast_transformer.rb +55 -31
- data/lib/puppet/pops/model/ast_tree_dumper.rb +9 -1
- data/lib/puppet/pops/model/factory.rb +265 -111
- data/lib/puppet/pops/model/model.rb +179 -140
- data/lib/puppet/pops/model/model_label_provider.rb +38 -9
- data/lib/puppet/pops/model/model_tree_dumper.rb +38 -13
- data/lib/puppet/pops/parser/code_merger.rb +17 -0
- data/lib/puppet/pops/parser/egrammar.ra +110 -61
- data/lib/puppet/pops/parser/eparser.rb +1415 -1092
- data/lib/puppet/pops/parser/epp_parser.rb +51 -0
- data/lib/puppet/pops/parser/epp_support.rb +247 -0
- data/lib/puppet/pops/parser/evaluating_parser.rb +53 -15
- data/lib/puppet/pops/parser/heredoc_support.rb +139 -0
- data/lib/puppet/pops/parser/interpolation_support.rb +227 -0
- data/lib/puppet/pops/parser/lexer.rb +83 -192
- data/lib/puppet/pops/parser/lexer2.rb +684 -0
- data/lib/puppet/pops/parser/lexer_support.rb +107 -0
- data/lib/puppet/pops/parser/locatable.rb +23 -0
- data/lib/puppet/pops/parser/locator.rb +291 -0
- data/lib/puppet/pops/parser/makefile +1 -8
- data/lib/puppet/pops/parser/parser_support.rb +76 -48
- data/lib/puppet/pops/parser/slurp_support.rb +95 -0
- data/lib/puppet/pops/patterns.rb +13 -4
- data/lib/puppet/pops/types/class_loader.rb +2 -2
- data/lib/puppet/pops/types/enumeration.rb +34 -0
- data/lib/puppet/pops/types/type_calculator.rb +983 -58
- data/lib/puppet/pops/types/type_factory.rb +203 -15
- data/lib/puppet/pops/types/type_parser.rb +355 -12
- data/lib/puppet/pops/types/types.rb +314 -24
- data/lib/puppet/pops/utils.rb +23 -7
- data/lib/puppet/pops/validation.rb +14 -8
- data/lib/puppet/pops/validation/checker3_1.rb +17 -12
- data/lib/puppet/pops/validation/checker4_0.rb +514 -0
- data/lib/puppet/pops/validation/validator_factory_4_0.rb +31 -0
- data/lib/puppet/pops/visitor.rb +146 -4
- data/lib/puppet/property.rb +1 -1
- data/lib/puppet/property/ensure.rb +1 -1
- data/lib/puppet/provider.rb +47 -26
- data/lib/puppet/provider/aixobject.rb +3 -3
- data/lib/puppet/provider/augeas/augeas.rb +11 -11
- data/lib/puppet/provider/cron/crontab.rb +10 -1
- data/lib/puppet/provider/exec.rb +1 -1
- data/lib/puppet/provider/exec/posix.rb +1 -1
- data/lib/puppet/provider/exec/windows.rb +1 -1
- data/lib/puppet/provider/file/posix.rb +2 -2
- data/lib/puppet/provider/file/windows.rb +15 -9
- data/lib/puppet/provider/group/aix.rb +2 -2
- data/lib/puppet/provider/macauthorization/macauthorization.rb +3 -3
- data/lib/puppet/provider/mount.rb +7 -0
- data/lib/puppet/provider/mount/parsed.rb +0 -1
- data/lib/puppet/provider/naginator.rb +1 -1
- data/lib/puppet/provider/nameservice.rb +3 -3
- data/lib/puppet/provider/nameservice/directoryservice.rb +3 -3
- data/lib/puppet/provider/package/aix.rb +1 -1
- data/lib/puppet/provider/package/appdmg.rb +1 -4
- data/lib/puppet/provider/package/apple.rb +1 -1
- data/lib/puppet/provider/package/apt.rb +1 -1
- data/lib/puppet/provider/package/blastwave.rb +1 -1
- data/lib/puppet/provider/package/fink.rb +1 -1
- data/lib/puppet/provider/package/gem.rb +3 -3
- data/lib/puppet/provider/package/openbsd.rb +6 -4
- data/lib/puppet/provider/package/pacman.rb +58 -5
- data/lib/puppet/provider/package/pip.rb +2 -2
- data/lib/puppet/provider/package/pkgdmg.rb +25 -10
- data/lib/puppet/provider/package/pkgin.rb +48 -23
- data/lib/puppet/provider/package/pkgutil.rb +1 -1
- data/lib/puppet/provider/package/ports.rb +1 -1
- data/lib/puppet/provider/package/portupgrade.rb +7 -7
- data/lib/puppet/provider/package/rpm.rb +16 -8
- data/lib/puppet/provider/package/windows.rb +1 -1
- data/lib/puppet/provider/package/windows/package.rb +1 -1
- data/lib/puppet/provider/parsedfile.rb +1 -1
- data/lib/puppet/provider/selboolean/getsetsebool.rb +1 -1
- data/lib/puppet/provider/selmodule/semodule.rb +5 -5
- data/lib/puppet/provider/service/base.rb +1 -1
- data/lib/puppet/provider/service/bsd.rb +3 -3
- data/lib/puppet/provider/service/daemontools.rb +20 -20
- data/lib/puppet/provider/service/debian.rb +1 -1
- data/lib/puppet/provider/service/freebsd.rb +3 -3
- data/lib/puppet/provider/service/gentoo.rb +2 -2
- data/lib/puppet/provider/service/init.rb +5 -5
- data/lib/puppet/provider/service/launchd.rb +4 -4
- data/lib/puppet/provider/service/redhat.rb +2 -2
- data/lib/puppet/provider/service/runit.rb +4 -4
- data/lib/puppet/provider/service/service.rb +3 -4
- data/lib/puppet/provider/service/smf.rb +1 -1
- data/lib/puppet/provider/service/src.rb +3 -3
- data/lib/puppet/provider/service/systemd.rb +4 -4
- data/lib/puppet/provider/service/upstart.rb +22 -7
- data/lib/puppet/provider/service/windows.rb +7 -7
- data/lib/puppet/provider/ssh_authorized_key/parsed.rb +3 -3
- data/lib/puppet/provider/user/aix.rb +5 -5
- data/lib/puppet/provider/user/directoryservice.rb +8 -5
- data/lib/puppet/provider/user/ldap.rb +1 -1
- data/lib/puppet/provider/user/pw.rb +1 -1
- data/lib/puppet/provider/user/user_role_add.rb +2 -2
- data/lib/puppet/provider/user/useradd.rb +19 -5
- data/lib/puppet/provider/yumrepo/inifile.rb +187 -0
- data/lib/puppet/provider/zone/solaris.rb +4 -4
- data/lib/puppet/rails.rb +16 -11
- data/lib/puppet/rails/benchmark.rb +1 -1
- data/lib/puppet/rails/resource.rb +5 -1
- data/lib/puppet/reference/configuration.rb +1 -1
- data/lib/puppet/reference/report.rb +1 -1
- data/lib/puppet/relationship.rb +10 -5
- data/lib/puppet/reports/http.rb +8 -2
- data/lib/puppet/reports/rrdgraph.rb +1 -1
- data/lib/puppet/reports/store.rb +3 -3
- data/lib/puppet/reports/tagmail.rb +4 -4
- data/lib/puppet/resource.rb +37 -44
- data/lib/puppet/resource/catalog.rb +18 -20
- data/lib/puppet/resource/status.rb +7 -6
- data/lib/puppet/resource/type.rb +6 -5
- data/lib/puppet/resource/type_collection.rb +2 -2
- data/lib/puppet/run.rb +9 -8
- data/lib/puppet/settings.rb +395 -244
- data/lib/puppet/settings/base_setting.rb +10 -4
- data/lib/puppet/settings/config_file.rb +81 -44
- data/lib/puppet/settings/directory_setting.rb +1 -2
- data/lib/puppet/settings/file_setting.rb +12 -5
- data/lib/puppet/settings/ini_file.rb +171 -0
- data/lib/puppet/ssl/base.rb +4 -0
- data/lib/puppet/ssl/certificate_authority.rb +16 -11
- data/lib/puppet/ssl/certificate_authority/interface.rb +3 -2
- data/lib/puppet/ssl/certificate_factory.rb +50 -5
- data/lib/puppet/ssl/certificate_request.rb +2 -2
- data/lib/puppet/ssl/certificate_request_attributes.rb +1 -1
- data/lib/puppet/ssl/certificate_revocation_list.rb +3 -1
- data/lib/puppet/ssl/host.rb +9 -8
- data/lib/puppet/ssl/inventory.rb +1 -1
- data/lib/puppet/ssl/key.rb +1 -1
- data/lib/puppet/ssl/validator/default_validator.rb +1 -1
- data/lib/puppet/status.rb +8 -7
- data/lib/puppet/test/test_helper.rb +35 -4
- data/lib/puppet/transaction/event.rb +6 -5
- data/lib/puppet/transaction/report.rb +10 -10
- data/lib/puppet/type.rb +1 -3
- data/lib/puppet/type/augeas.rb +2 -1
- data/lib/puppet/type/cron.rb +41 -11
- data/lib/puppet/type/exec.rb +5 -5
- data/lib/puppet/type/file.rb +42 -4
- data/lib/puppet/type/file/content.rb +5 -6
- data/lib/puppet/type/file/ensure.rb +3 -3
- data/lib/puppet/type/file/source.rb +12 -6
- data/lib/puppet/type/file/target.rb +5 -5
- data/lib/puppet/type/k5login.rb +4 -4
- data/lib/puppet/type/mount.rb +1 -1
- data/lib/puppet/type/package.rb +79 -3
- data/lib/puppet/type/resources.rb +34 -5
- data/lib/puppet/type/selboolean.rb +1 -1
- data/lib/puppet/type/selmodule.rb +1 -1
- data/lib/puppet/type/ssh_authorized_key.rb +2 -1
- data/lib/puppet/type/sshkey.rb +2 -1
- data/lib/puppet/type/tidy.rb +1 -1
- data/lib/puppet/type/user.rb +4 -1
- data/lib/puppet/type/yumrepo.rb +219 -344
- data/lib/puppet/type/zone.rb +15 -5
- data/lib/puppet/util.rb +14 -13
- data/lib/puppet/util/adsi.rb +19 -3
- data/lib/puppet/util/autoload.rb +27 -24
- data/lib/puppet/util/backups.rb +6 -6
- data/lib/puppet/util/checksums.rb +2 -2
- data/lib/puppet/util/classgen.rb +1 -1
- data/lib/puppet/util/colors.rb +4 -12
- data/lib/puppet/util/command_line.rb +2 -2
- data/lib/puppet/util/command_line/trollop.rb +3 -3
- data/lib/puppet/util/docs.rb +2 -2
- data/lib/puppet/util/errors.rb +8 -1
- data/lib/puppet/util/execution.rb +12 -5
- data/lib/puppet/util/filetype.rb +5 -5
- data/lib/puppet/util/inifile.rb +19 -4
- data/lib/puppet/util/instrumentation/data.rb +5 -0
- data/lib/puppet/util/instrumentation/indirection_probe.rb +6 -1
- data/lib/puppet/util/instrumentation/listener.rb +6 -1
- data/lib/puppet/util/json_lockfile.rb +4 -1
- data/lib/puppet/util/ldap/connection.rb +1 -1
- data/lib/puppet/util/lockfile.rb +10 -6
- data/lib/puppet/util/log.rb +6 -1
- data/lib/puppet/util/log/destinations.rb +2 -2
- data/lib/puppet/util/metric.rb +9 -4
- data/lib/puppet/util/nagios_maker.rb +26 -1
- data/lib/puppet/util/network_device.rb +1 -1
- data/lib/puppet/util/network_device/config.rb +1 -1
- data/lib/puppet/util/network_device/transport/ssh.rb +3 -3
- data/lib/puppet/util/plugins.rb +1 -1
- data/lib/puppet/util/profiler.rb +13 -1
- data/lib/puppet/util/pson.rb +1 -1
- data/lib/puppet/util/queue/stomp.rb +2 -2
- data/lib/puppet/util/rdoc.rb +1 -1
- data/lib/puppet/util/rdoc/generators/puppet_generator.rb +1 -1
- data/lib/puppet/util/rdoc/parser/puppet_parser_core.rb +19 -19
- data/lib/puppet/util/reference.rb +1 -1
- data/lib/puppet/util/resource_template.rb +1 -1
- data/lib/puppet/util/retryaction.rb +1 -1
- data/lib/puppet/util/selinux.rb +2 -2
- data/lib/puppet/util/storage.rb +3 -3
- data/lib/puppet/util/symbolic_file_mode.rb +1 -1
- data/lib/puppet/util/tag_set.rb +15 -3
- data/lib/puppet/util/tagging.rb +12 -17
- data/lib/puppet/util/watched_file.rb +1 -1
- data/lib/puppet/util/watcher.rb +1 -1
- data/lib/puppet/util/windows/error.rb +2 -2
- data/lib/puppet/util/windows/file.rb +20 -4
- data/lib/puppet/util/windows/registry.rb +2 -2
- data/lib/puppet/vendor/safe_yaml/CHANGES.md +1 -1
- data/lib/puppet/version.rb +1 -1
- data/lib/puppetx.rb +1 -21
- data/lib/puppetx/puppet/syntax_checker.rb +1 -1
- data/lib/puppetx/puppetlabs/syntax_checkers/json.rb +9 -11
- data/spec/fixtures/integration/node/environment/sitedir/00_a.pp +2 -0
- data/spec/fixtures/integration/node/environment/sitedir/01_b.pp +6 -0
- data/spec/fixtures/{unit/pops/binder/hiera2/yaml_backend/empty/common.yaml → integration/node/environment/sitedir/03_empty.pp} +0 -0
- data/spec/fixtures/integration/node/environment/sitedir/04_include.pp +2 -0
- data/spec/fixtures/integration/provider/cron/crontab/purged +8 -0
- data/spec/fixtures/releases/jamtur01-apache/lib/puppet/provider/a2mod/debian.rb +1 -1
- data/spec/fixtures/unit/pops/binder/bindings_composer/ok/binder_config.yaml +3 -12
- data/spec/fixtures/unit/pops/binder/bindings_composer/ok/lib/puppet/bindings/confdirtest.rb +10 -0
- data/spec/fixtures/unit/pops/binder/bindings_composer/ok/modules/awesome2/lib/puppet/bindings/awesome2/default.rb +20 -0
- data/spec/fixtures/unit/pops/binder/bindings_composer/ok/modules/{awesome/lib/puppetx/awesome → awesome2/lib/puppetx/awesome2}/echo_scheme_handler.rb +2 -2
- data/spec/fixtures/unit/pops/binder/bindings_composer/ok/modules/bad/lib/puppet/bindings/bad/default.rb +5 -0
- data/spec/fixtures/unit/pops/binder/bindings_composer/ok/modules/good/lib/puppet/bindings/good/default.rb +6 -0
- data/spec/fixtures/unit/pops/binder/config/binder_config/ok/binder_config.yaml +2 -2
- data/spec/fixtures/unit/provider/service/systemd/{list_units → list_units_services} +0 -1
- data/spec/integration/agent/logging_spec.rb +1 -1
- data/spec/integration/application/apply_spec.rb +78 -3
- data/spec/integration/application/doc_spec.rb +3 -2
- data/spec/integration/configurer_spec.rb +5 -3
- data/spec/integration/directory_environments_spec.rb +50 -0
- data/spec/integration/indirector/direct_file_server_spec.rb +1 -1
- data/spec/integration/indirector/file_content/file_server_spec.rb +4 -5
- data/spec/integration/network/authconfig_spec.rb +4 -4
- data/spec/integration/network/formats_spec.rb +1 -1
- data/spec/integration/node/environment_spec.rb +67 -15
- data/spec/integration/node/facts_spec.rb +1 -1
- data/spec/integration/node_spec.rb +1 -1
- data/spec/integration/parser/catalog_spec.rb +100 -60
- data/spec/integration/parser/compiler_spec.rb +102 -13
- data/spec/integration/parser/future_compiler_spec.rb +416 -0
- data/spec/integration/parser/parser_spec.rb +44 -105
- data/spec/integration/parser/scope_spec.rb +614 -528
- data/spec/integration/provider/cron/crontab_spec.rb +21 -0
- data/spec/integration/provider/mount_spec.rb +15 -2
- data/spec/integration/resource/catalog_spec.rb +1 -1
- data/spec/integration/resource/type_collection_spec.rb +3 -4
- data/spec/integration/ssl/autosign_spec.rb +1 -1
- data/spec/integration/ssl/certificate_revocation_list_spec.rb +1 -1
- data/spec/integration/ssl/host_spec.rb +1 -1
- data/spec/integration/transaction_spec.rb +13 -13
- data/spec/integration/type/exec_spec.rb +2 -2
- data/spec/integration/type/file_spec.rb +114 -41
- data/spec/integration/type/nagios_spec.rb +80 -0
- data/spec/integration/type/tidy_spec.rb +2 -2
- data/spec/integration/util/execution_spec.rb +17 -0
- data/spec/integration/util/rdoc/parser_spec.rb +1 -1
- data/spec/integration/util/settings_spec.rb +1 -1
- data/spec/integration/util/windows/security_spec.rb +27 -2
- data/spec/lib/matchers/include.rb +27 -0
- data/spec/lib/matchers/include_spec.rb +32 -0
- data/spec/lib/matchers/json.rb +135 -79
- data/spec/lib/matchers/match_tokens2.rb +74 -0
- data/spec/lib/matchers/resource.rb +35 -0
- data/spec/lib/puppet/indirector/indirector_testing/memory.rb +7 -0
- data/spec/lib/puppet/indirector/indirector_testing/msgpack.rb +6 -0
- data/spec/lib/puppet/indirector_testing.rb +12 -2
- data/spec/lib/puppet_spec/files.rb +1 -0
- data/spec/lib/puppet_spec/matchers.rb +5 -0
- data/spec/lib/puppet_spec/modules.rb +1 -1
- data/spec/lib/puppet_spec/scope.rb +14 -0
- data/spec/shared_behaviours/file_server_terminus.rb +2 -2
- data/spec/spec_helper.rb +47 -17
- data/spec/unit/agent_spec.rb +8 -1
- data/spec/unit/application/agent_spec.rb +5 -4
- data/spec/unit/application/apply_spec.rb +34 -15
- data/spec/unit/application/device_spec.rb +27 -32
- data/spec/unit/application/doc_spec.rb +4 -4
- data/spec/unit/application/filebucket_spec.rb +1 -1
- data/spec/unit/application/master_spec.rb +2 -2
- data/spec/unit/application_spec.rb +1 -1
- data/spec/unit/configurer/downloader_spec.rb +1 -1
- data/spec/unit/configurer/fact_handler_spec.rb +5 -16
- data/spec/unit/configurer_spec.rb +2 -2
- data/spec/unit/confine/exists_spec.rb +5 -5
- data/spec/unit/context/trusted_information_spec.rb +124 -0
- data/spec/unit/context_spec.rb +74 -0
- data/spec/unit/environments_spec.rb +126 -0
- data/spec/unit/face/config_spec.rb +31 -16
- data/spec/unit/face/module/build_spec.rb +1 -0
- data/spec/unit/face/module/install_spec.rb +21 -104
- data/spec/unit/face/module/list_spec.rb +52 -36
- data/spec/unit/face/module/uninstall_spec.rb +18 -25
- data/spec/unit/face/parser_spec.rb +39 -23
- data/spec/unit/file_bucket/dipper_spec.rb +2 -2
- data/spec/unit/file_serving/base_spec.rb +9 -13
- data/spec/unit/file_serving/configuration/parser_spec.rb +8 -2
- data/spec/unit/file_serving/configuration_spec.rb +7 -7
- data/spec/unit/file_serving/content_spec.rb +7 -12
- data/spec/unit/file_serving/fileset_spec.rb +49 -53
- data/spec/unit/file_serving/metadata_spec.rb +83 -32
- data/spec/unit/file_serving/mount/file_spec.rb +10 -10
- data/spec/unit/file_system/tempfile_spec.rb +3 -3
- data/spec/unit/file_system_spec.rb +508 -0
- data/spec/unit/forge/errors_spec.rb +1 -1
- data/spec/unit/forge/repository_spec.rb +1 -3
- data/spec/unit/hiera/scope_spec.rb +6 -2
- data/spec/unit/hiera_puppet_spec.rb +13 -6
- data/spec/unit/indirector/catalog/msgpack_spec.rb +12 -0
- data/spec/unit/indirector/catalog/static_compiler_spec.rb +42 -11
- data/spec/unit/indirector/direct_file_server_spec.rb +6 -6
- data/spec/unit/indirector/facts/facter_spec.rb +5 -5
- data/spec/unit/indirector/file_bucket_file/file_spec.rb +4 -4
- data/spec/unit/indirector/file_metadata/file_spec.rb +2 -2
- data/spec/unit/indirector/file_server_spec.rb +4 -4
- data/spec/unit/indirector/json_spec.rb +6 -6
- data/spec/unit/indirector/key/file_spec.rb +8 -8
- data/spec/unit/indirector/msgpack_spec.rb +191 -0
- data/spec/unit/indirector/node/active_record_spec.rb +1 -1
- data/spec/unit/indirector/node/ldap_spec.rb +16 -7
- data/spec/unit/indirector/node/msgpack_spec.rb +24 -0
- data/spec/unit/indirector/node/plain_spec.rb +1 -1
- data/spec/unit/indirector/queue_spec.rb +1 -1
- data/spec/unit/indirector/report/msgpack_spec.rb +28 -0
- data/spec/unit/indirector/request_spec.rb +16 -8
- data/spec/unit/indirector/rest_spec.rb +0 -4
- data/spec/unit/indirector/ssl_file_spec.rb +12 -11
- data/spec/unit/indirector/yaml_spec.rb +4 -4
- data/spec/unit/man_spec.rb +32 -0
- data/spec/unit/module_spec.rb +60 -46
- data/spec/unit/module_tool/applications/checksummer_spec.rb +1 -1
- data/spec/unit/module_tool/applications/installer_spec.rb +53 -16
- data/spec/unit/module_tool/applications/uninstaller_spec.rb +26 -25
- data/spec/unit/module_tool/tar_spec.rb +1 -1
- data/spec/unit/module_tool_spec.rb +17 -90
- data/spec/unit/network/authconfig_spec.rb +3 -4
- data/spec/unit/network/authentication_spec.rb +20 -6
- data/spec/unit/network/authorization_spec.rb +11 -1
- data/spec/unit/network/formats_spec.rb +32 -9
- data/spec/unit/network/http/api/v1_spec.rb +365 -62
- data/spec/unit/network/http/api/v2/authorization_spec.rb +57 -0
- data/spec/unit/network/http/api/v2/environments_spec.rb +42 -0
- data/spec/unit/network/http/api/v2_spec.rb +14 -0
- data/spec/unit/network/http/connection_spec.rb +39 -5
- data/spec/unit/network/http/error_spec.rb +30 -0
- data/spec/unit/network/http/handler_spec.rb +69 -419
- data/spec/unit/network/http/rack/rest_spec.rb +20 -28
- data/spec/unit/network/http/route_spec.rb +75 -0
- data/spec/unit/network/http/webrick/rest_spec.rb +21 -58
- data/spec/unit/network/http_pool_spec.rb +3 -3
- data/spec/unit/network/rights_spec.rb +2 -2
- data/spec/unit/node/environment_spec.rb +108 -89
- data/spec/unit/node/facts_spec.rb +5 -12
- data/spec/unit/node_spec.rb +22 -22
- data/spec/unit/parser/ast/collection_spec.rb +1 -1
- data/spec/unit/parser/ast/leaf_spec.rb +2 -0
- data/spec/unit/parser/ast/resource_spec.rb +1 -1
- data/spec/unit/parser/compiler_spec.rb +5 -3
- data/spec/unit/parser/files_spec.rb +40 -50
- data/spec/unit/parser/functions/defined_spec.rb +80 -18
- data/spec/unit/parser/functions/epp_spec.rb +88 -0
- data/spec/unit/parser/functions/fqdn_rand_spec.rb +4 -1
- data/spec/unit/parser/functions/generate_spec.rb +6 -2
- data/spec/unit/parser/functions/hiera_array_spec.rb +5 -2
- data/spec/unit/parser/functions/hiera_hash_spec.rb +4 -1
- data/spec/unit/parser/functions/hiera_include_spec.rb +6 -3
- data/spec/unit/parser/functions/hiera_spec.rb +5 -2
- data/spec/unit/parser/functions/include_spec.rb +0 -1
- data/spec/unit/parser/functions/inline_epp_spec.rb +82 -0
- data/spec/unit/parser/functions/lookup_spec.rb +66 -16
- data/spec/unit/parser/functions_spec.rb +25 -91
- data/spec/unit/parser/lexer_spec.rb +1 -1
- data/spec/unit/parser/methods/filter_spec.rb +56 -0
- data/spec/unit/parser/methods/map_spec.rb +94 -5
- data/spec/unit/parser/methods/reduce_spec.rb +10 -0
- data/spec/unit/parser/methods/shared.rb +2 -18
- data/spec/unit/parser/methods/slice_spec.rb +39 -1
- data/spec/unit/parser/parser_spec.rb +14 -10
- data/spec/unit/parser/resource_spec.rb +3 -9
- data/spec/unit/parser/scope_spec.rb +81 -78
- data/spec/unit/parser/type_loader_spec.rb +0 -4
- data/spec/unit/pops/benchmark_spec.rb +142 -0
- data/spec/unit/pops/binder/binder_spec.rb +15 -34
- data/spec/unit/pops/binder/bindings_checker_spec.rb +0 -41
- data/spec/unit/pops/binder/bindings_composer_spec.rb +6 -31
- data/spec/unit/pops/binder/config/binder_config_spec.rb +5 -18
- data/spec/unit/pops/binder/injector_spec.rb +76 -81
- data/spec/unit/pops/evaluator/access_ops_spec.rb +376 -0
- data/spec/unit/pops/evaluator/arithmetic_ops_spec.rb +77 -0
- data/spec/unit/pops/evaluator/basic_expressions_spec.rb +103 -0
- data/spec/unit/pops/evaluator/collections_ops_spec.rb +111 -0
- data/spec/unit/pops/evaluator/comparison_ops_spec.rb +256 -0
- data/spec/unit/pops/evaluator/conditionals_spec.rb +190 -0
- data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +1045 -0
- data/spec/unit/pops/evaluator/evaluator_rspec_helper.rb +75 -0
- data/spec/unit/pops/evaluator/logical_ops_spec.rb +90 -0
- data/spec/unit/pops/evaluator/string_interpolation_spec.rb +44 -0
- data/spec/unit/pops/evaluator/variables_spec.rb +194 -0
- data/spec/unit/pops/factory_spec.rb +6 -29
- data/spec/unit/pops/issues_spec.rb +1 -1
- data/spec/unit/pops/model/ast_transformer_spec.rb +6 -9
- data/spec/unit/pops/model/model_spec.rb +2 -2
- data/spec/unit/pops/parser/epp_parser_spec.rb +86 -0
- data/spec/unit/pops/parser/evaluating_parser_spec.rb +4 -2
- data/spec/unit/pops/parser/lexer2_spec.rb +428 -0
- data/spec/unit/pops/parser/lexer_spec.rb +25 -86
- data/spec/unit/pops/parser/parse_basic_expressions_spec.rb +29 -4
- data/spec/unit/pops/parser/parse_calls_spec.rb +10 -6
- data/spec/unit/pops/parser/parse_conditionals_spec.rb +0 -9
- data/spec/unit/pops/parser/parse_containers_spec.rb +43 -12
- data/spec/unit/pops/parser/parse_heredoc_spec.rb +73 -0
- data/spec/unit/pops/parser/parse_resource_spec.rb +14 -0
- data/spec/unit/pops/parser/parser_spec.rb +3 -1
- data/spec/unit/pops/transformer/transform_basic_expressions_spec.rb +4 -4
- data/spec/unit/pops/transformer/transform_calls_spec.rb +41 -6
- data/spec/unit/pops/transformer/transform_conditionals_spec.rb +0 -9
- data/spec/unit/pops/transformer/transform_containers_spec.rb +12 -4
- data/spec/unit/pops/types/enumeration_spec.rb +50 -0
- data/spec/unit/pops/types/type_calculator_spec.rb +1171 -196
- data/spec/unit/pops/types/type_factory_spec.rb +108 -4
- data/spec/unit/pops/types/type_parser_spec.rb +114 -10
- data/spec/unit/pops/validator/validator_spec.rb +36 -1
- data/spec/unit/provider/augeas/augeas_spec.rb +39 -16
- data/spec/unit/provider/cron/parsed_spec.rb +27 -31
- data/spec/unit/provider/file/posix_spec.rb +2 -2
- data/spec/unit/provider/group/windows_adsi_spec.rb +1 -0
- data/spec/unit/provider/mount_spec.rb +12 -1
- data/spec/unit/provider/nameservice/directoryservice_spec.rb +3 -3
- data/spec/unit/provider/package/apt_spec.rb +1 -1
- data/spec/unit/provider/package/aptrpm_spec.rb +1 -1
- data/spec/unit/provider/package/gem_spec.rb +12 -0
- data/spec/unit/provider/package/msi_spec.rb +4 -0
- data/spec/unit/provider/package/openbsd_spec.rb +10 -10
- data/spec/unit/provider/package/pacman_spec.rb +36 -7
- data/spec/unit/provider/package/pkgin_spec.rb +57 -55
- data/spec/unit/provider/package/rpm_spec.rb +51 -6
- data/spec/unit/provider/service/base_spec.rb +4 -4
- data/spec/unit/provider/service/daemontools_spec.rb +8 -13
- data/spec/unit/provider/service/freebsd_spec.rb +3 -3
- data/spec/unit/provider/service/gentoo_spec.rb +24 -24
- data/spec/unit/provider/service/init_spec.rb +15 -15
- data/spec/unit/provider/service/openbsd_spec.rb +16 -16
- data/spec/unit/provider/service/openrc_spec.rb +20 -20
- data/spec/unit/provider/service/openwrt_spec.rb +1 -1
- data/spec/unit/provider/service/runit_spec.rb +5 -8
- data/spec/unit/provider/service/src_spec.rb +4 -4
- data/spec/unit/provider/service/systemd_spec.rb +24 -14
- data/spec/unit/provider/service/upstart_spec.rb +12 -4
- data/spec/unit/provider/service/windows_spec.rb +1 -1
- data/spec/unit/provider/ssh_authorized_key/parsed_spec.rb +21 -23
- data/spec/unit/provider/user/directoryservice_spec.rb +7 -7
- data/spec/unit/provider/user/useradd_spec.rb +43 -15
- data/spec/unit/provider/user/windows_adsi_spec.rb +1 -0
- data/spec/unit/provider/yumrepo/inifile_spec.rb +105 -0
- data/spec/unit/provider/zone/solaris_spec.rb +1 -1
- data/spec/unit/provider_spec.rb +120 -62
- data/spec/unit/rails/host_spec.rb +1 -1
- data/spec/unit/rails/param_value_spec.rb +4 -0
- data/spec/unit/relationship_spec.rb +4 -4
- data/spec/unit/reports/http_spec.rb +14 -3
- data/spec/unit/reports/rrdgraph_spec.rb +0 -1
- data/spec/unit/reports/store_spec.rb +2 -2
- data/spec/unit/resource/catalog_spec.rb +17 -29
- data/spec/unit/resource/status_spec.rb +1 -1
- data/spec/unit/resource/type_collection_spec.rb +28 -47
- data/spec/unit/resource/type_spec.rb +12 -23
- data/spec/unit/resource_spec.rb +54 -93
- data/spec/unit/run_spec.rb +3 -3
- data/spec/unit/settings/autosign_setting_spec.rb +1 -1
- data/spec/unit/settings/config_file_spec.rb +68 -15
- data/spec/unit/settings/file_setting_spec.rb +2 -2
- data/spec/unit/settings/ini_file_spec.rb +184 -0
- data/spec/unit/settings_spec.rb +137 -79
- data/spec/unit/ssl/certificate_authority/interface_spec.rb +3 -1
- data/spec/unit/ssl/certificate_authority_spec.rb +11 -9
- data/spec/unit/ssl/certificate_factory_spec.rb +19 -4
- data/spec/unit/ssl/certificate_request_attributes_spec.rb +1 -1
- data/spec/unit/ssl/certificate_revocation_list_spec.rb +101 -72
- data/spec/unit/ssl/host_spec.rb +8 -20
- data/spec/unit/ssl/inventory_spec.rb +2 -2
- data/spec/unit/ssl/key_spec.rb +4 -4
- data/spec/unit/status_spec.rb +6 -4
- data/spec/unit/transaction/additional_resource_generator_spec.rb +3 -11
- data/spec/unit/transaction/event_spec.rb +2 -2
- data/spec/unit/transaction/report_spec.rb +24 -15
- data/spec/unit/transaction/resource_harness_spec.rb +1 -1
- data/spec/unit/type/cron_spec.rb +39 -1
- data/spec/unit/type/file/content_spec.rb +4 -5
- data/spec/unit/type/file/ctime_spec.rb +1 -1
- data/spec/unit/type/file/mode_spec.rb +5 -4
- data/spec/unit/type/file/mtime_spec.rb +1 -1
- data/spec/unit/type/file/source_spec.rb +30 -7
- data/spec/unit/type/file_spec.rb +8 -8
- data/spec/unit/type/k5login_spec.rb +3 -3
- data/spec/unit/type/nagios_spec.rb +6 -0
- data/spec/unit/type/package/package_settings_spec.rb +135 -0
- data/spec/unit/type/package_spec.rb +13 -1
- data/spec/unit/type/resources_spec.rb +155 -0
- data/spec/unit/type/service_spec.rb +3 -3
- data/spec/unit/type/ssh_authorized_key_spec.rb +96 -93
- data/spec/unit/type/sshkey_spec.rb +39 -30
- data/spec/unit/type/tidy_spec.rb +19 -12
- data/spec/unit/type/user_spec.rb +47 -2
- data/spec/unit/type/whit_spec.rb +2 -2
- data/spec/unit/type/yumrepo_spec.rb +32 -177
- data/spec/unit/type/zone_spec.rb +2 -2
- data/spec/unit/type_spec.rb +11 -0
- data/spec/unit/util/adsi_spec.rb +48 -1
- data/spec/unit/util/autoload_spec.rb +24 -39
- data/spec/unit/util/backups_spec.rb +25 -28
- data/spec/unit/util/checksums_spec.rb +1 -3
- data/spec/unit/util/colors_spec.rb +14 -0
- data/spec/unit/util/docs_spec.rb +9 -0
- data/spec/unit/util/execution_spec.rb +1 -1
- data/spec/unit/util/filetype_spec.rb +7 -7
- data/spec/unit/util/instrumentation/data_spec.rb +3 -1
- data/spec/unit/util/instrumentation/indirection_probe_spec.rb +2 -0
- data/spec/unit/util/instrumentation/listener_spec.rb +3 -2
- data/spec/unit/util/json_lockfile_spec.rb +25 -4
- data/spec/unit/util/lockfile_spec.rb +49 -7
- data/spec/unit/util/log/destinations_spec.rb +1 -0
- data/spec/unit/util/log_spec.rb +1 -1
- data/spec/unit/util/metric_spec.rb +1 -1
- data/spec/unit/util/pidlock_spec.rb +6 -6
- data/spec/unit/util/pson_spec.rb +2 -2
- data/spec/unit/util/rdoc/parser_spec.rb +32 -29
- data/spec/unit/util/resource_template_spec.rb +3 -3
- data/spec/unit/util/selinux_spec.rb +5 -5
- data/spec/unit/util/storage_spec.rb +4 -4
- data/spec/unit/util/tag_set_spec.rb +1 -1
- data/spec/unit/util/watcher_spec.rb +1 -4
- data/spec/unit/util/yaml_spec.rb +2 -2
- data/spec/unit/util_spec.rb +7 -7
- data/tasks/benchmark.rake +0 -1
- data/tasks/parallel.rake +408 -0
- data/tasks/yard.rake +59 -0
- metadata +2889 -2782
- checksums.yaml +0 -7
- data/README_DEVELOPER.md +0 -809
- data/lib/puppet/file_system/file.rb +0 -271
- data/lib/puppet/network/http/rack/httphandler.rb +0 -13
- data/lib/puppet/pops/binder/hiera2.rb +0 -10
- data/lib/puppet/pops/binder/hiera2/bindings_provider.rb +0 -148
- data/lib/puppet/pops/binder/hiera2/config.rb +0 -69
- data/lib/puppet/pops/binder/hiera2/config_checker.rb +0 -68
- data/lib/puppet/pops/binder/hiera2/diagnostic_producer.rb +0 -36
- data/lib/puppet/pops/binder/hiera2/issues.rb +0 -67
- data/lib/puppet/pops/binder/hiera2/json_backend.rb +0 -18
- data/lib/puppet/pops/binder/hiera2/yaml_backend.rb +0 -21
- data/lib/puppet/pops/binder/scheme_handler/confdir_hiera_scheme.rb +0 -67
- data/lib/puppet/pops/binder/scheme_handler/module_hiera_scheme.rb +0 -92
- data/lib/puppet/pops/parser/grammar.ra +0 -746
- data/lib/puppet/provider/port/parsed.rb +0 -173
- data/lib/puppet/type/port.rb +0 -119
- data/lib/puppetx/puppet/hiera2_backend.rb +0 -31
- data/spec/fixtures/unit/pops/binder/bindings_composer/hiera1config/binder_config.yaml +0 -18
- data/spec/fixtures/unit/pops/binder/bindings_composer/hiera1config/hiera.yaml +0 -8
- data/spec/fixtures/unit/pops/binder/bindings_composer/hiera1config/modules/good/common.yaml +0 -1
- data/spec/fixtures/unit/pops/binder/bindings_composer/hiera1config/modules/good/hiera.yaml +0 -10
- data/spec/fixtures/unit/pops/binder/bindings_composer/ok/common.yaml +0 -1
- data/spec/fixtures/unit/pops/binder/bindings_composer/ok/hiera.yaml +0 -11
- data/spec/fixtures/unit/pops/binder/bindings_composer/ok/localhost.yaml +0 -1
- data/spec/fixtures/unit/pops/binder/bindings_composer/ok/modules/awesome/common.yaml +0 -3
- data/spec/fixtures/unit/pops/binder/bindings_composer/ok/modules/awesome/hiera.yaml +0 -13
- data/spec/fixtures/unit/pops/binder/bindings_composer/ok/modules/awesome/lib/puppet/bindings/awesome/default.rb +0 -4
- data/spec/fixtures/unit/pops/binder/bindings_composer/ok/modules/awesome/lib/puppetx/awesome/echo_backend.rb +0 -11
- data/spec/fixtures/unit/pops/binder/bindings_composer/ok/modules/awesome/localhost.yaml +0 -1
- data/spec/fixtures/unit/pops/binder/bindings_composer/ok/modules/bad/common.yaml +0 -3
- data/spec/fixtures/unit/pops/binder/bindings_composer/ok/modules/bad/hiera_config.yaml +0 -9
- data/spec/fixtures/unit/pops/binder/bindings_composer/ok/modules/good/common.yaml +0 -2
- data/spec/fixtures/unit/pops/binder/bindings_composer/ok/modules/good/hiera.yaml +0 -11
- data/spec/fixtures/unit/pops/binder/hiera2/bindings_provider/ok/hiera.yaml +0 -9
- data/spec/fixtures/unit/pops/binder/hiera2/bindings_provider/ok/node.example.com.json +0 -9
- data/spec/fixtures/unit/pops/binder/hiera2/bindings_provider/ok/node.example.com.yaml +0 -5
- data/spec/fixtures/unit/pops/binder/hiera2/config/bad_syntax/hiera.yaml +0 -10
- data/spec/fixtures/unit/pops/binder/hiera2/config/malformed_hierarchy/hiera.yaml +0 -8
- data/spec/fixtures/unit/pops/binder/hiera2/config/missing/foo.txt +0 -1
- data/spec/fixtures/unit/pops/binder/hiera2/config/no_backends/hiera.yaml +0 -7
- data/spec/fixtures/unit/pops/binder/hiera2/config/no_hierarchy/hiera.yaml +0 -4
- data/spec/fixtures/unit/pops/binder/hiera2/config/not_a_hash/hiera.yaml +0 -2
- data/spec/fixtures/unit/pops/binder/hiera2/config/ok/hiera.yaml +0 -8
- data/spec/fixtures/unit/pops/binder/hiera2/yaml_backend/invalid/common.yaml +0 -1
- data/spec/fixtures/unit/pops/binder/hiera2/yaml_backend/ok/common.yaml +0 -2
- data/spec/unit/file_system/file_spec.rb +0 -486
- data/spec/unit/pops/binder/hiera2/bindings_provider_spec.rb +0 -74
- data/spec/unit/pops/binder/hiera2/config_spec.rb +0 -61
- data/spec/unit/pops/binder/hiera2/yaml_backend_spec.rb +0 -33
@@ -57,9 +57,9 @@ use your local file bucket by specifying '--local'.
|
|
57
57
|
|
58
58
|
OPTIONS
|
59
59
|
-------
|
60
|
-
Note that any
|
60
|
+
Note that any setting that's valid in the configuration
|
61
61
|
file is also a valid long argument. For example, 'ssldir' is a valid
|
62
|
-
|
62
|
+
setting, so you can specify '--ssldir <directory>' as an
|
63
63
|
argument.
|
64
64
|
|
65
65
|
See the configuration file documentation at
|
@@ -129,7 +129,7 @@ Copyright (c) 2011 Puppet Labs, LLC Licensed under the Apache 2.0 License
|
|
129
129
|
raise "You must specify a file to back up" unless args.length > 0
|
130
130
|
|
131
131
|
args.each do |file|
|
132
|
-
unless Puppet::FileSystem
|
132
|
+
unless Puppet::FileSystem.exist?(file)
|
133
133
|
$stderr.puts "#{file}: no such file"
|
134
134
|
next
|
135
135
|
end
|
@@ -102,9 +102,9 @@ about security settings.
|
|
102
102
|
|
103
103
|
OPTIONS
|
104
104
|
-------
|
105
|
-
Note that any
|
105
|
+
Note that any setting that's valid in the configuration
|
106
106
|
file is also a valid long argument. For example, 'ssldir' is a valid
|
107
|
-
|
107
|
+
setting, so you can specify '--ssldir <directory>' as an
|
108
108
|
argument.
|
109
109
|
|
110
110
|
See the configuration file documentation at
|
@@ -170,7 +170,7 @@ Copyright (c) 2012 Puppet Labs, LLC Licensed under the Apache 2.0 License
|
|
170
170
|
|
171
171
|
puts PSON::pretty_generate(catalog.to_resource, :allow_nan => true, :max_nesting => false)
|
172
172
|
rescue => detail
|
173
|
-
|
173
|
+
Puppet.log_exception(detail, "Failed to compile catalog for node #{options[:node]}: #{detail}")
|
174
174
|
exit(30)
|
175
175
|
end
|
176
176
|
exit(0)
|
@@ -42,13 +42,13 @@ class Puppet::Application::Queue < Puppet::Application
|
|
42
42
|
def help
|
43
43
|
<<-HELP
|
44
44
|
|
45
|
-
puppet-queue(8) --
|
45
|
+
puppet-queue(8) -- Deprecated queuing daemon for asynchronous storeconfigs
|
46
46
|
========
|
47
47
|
|
48
48
|
SYNOPSIS
|
49
49
|
--------
|
50
50
|
Retrieves serialized storeconfigs records from a queue and processes
|
51
|
-
them in order.
|
51
|
+
them in order. THIS FEATURE IS DEPRECATED; use PuppetDB instead.
|
52
52
|
|
53
53
|
|
54
54
|
USAGE
|
@@ -60,19 +60,19 @@ DESCRIPTION
|
|
60
60
|
-----------
|
61
61
|
This application runs as a daemon and processes storeconfigs data,
|
62
62
|
retrieving the data from a stomp server message queue and writing it to
|
63
|
-
a database.
|
63
|
+
a database. It was once necessary as a workaround for the poor performance
|
64
|
+
of ActiveRecord-based storeconfigs, but has been supplanted by the PuppetDB
|
65
|
+
service, which gives better performance with less complexity.
|
64
66
|
|
65
|
-
For more information,
|
66
|
-
|
67
|
-
up asynchronous storeconfigs at:
|
68
|
-
http://projects.puppetlabs.com/projects/1/wiki/Using_Stored_Configuration
|
67
|
+
For more information, see the PuppetDB documentation at
|
68
|
+
http://docs.puppetlabs.com/puppetdb/latest
|
69
69
|
|
70
70
|
|
71
71
|
OPTIONS
|
72
72
|
-------
|
73
|
-
Note that any
|
73
|
+
Note that any setting that's valid in the configuration
|
74
74
|
file is also a valid long argument. For example, 'server' is a valid
|
75
|
-
|
75
|
+
setting, so you can specify '--server <servername>' as
|
76
76
|
an argument.
|
77
77
|
|
78
78
|
See the configuration file documentation at
|
@@ -71,9 +71,9 @@ and then apply the saved file as a Puppet transaction.
|
|
71
71
|
|
72
72
|
OPTIONS
|
73
73
|
-------
|
74
|
-
Note that any
|
74
|
+
Note that any setting that's valid in the configuration
|
75
75
|
file is also a valid long argument. For example, 'ssldir' is a valid
|
76
|
-
|
76
|
+
setting, so you can specify '--ssldir <directory>' as an
|
77
77
|
argument.
|
78
78
|
|
79
79
|
See the configuration file documentation at
|
data/lib/puppet/bindings.rb
CHANGED
@@ -74,7 +74,7 @@ class Puppet::Bindings
|
|
74
74
|
end
|
75
75
|
|
76
76
|
def self.register_proc(name, block)
|
77
|
-
adapter = NamedBindingsAdapter.adapt(
|
77
|
+
adapter = NamedBindingsAdapter.adapt(Puppet.lookup(:current_environment))
|
78
78
|
adapter[name] = block
|
79
79
|
end
|
80
80
|
|
@@ -83,7 +83,7 @@ class Puppet::Bindings
|
|
83
83
|
# @api public
|
84
84
|
#
|
85
85
|
def self.register(named_bindings)
|
86
|
-
adapter = NamedBindingsAdapter.adapt(
|
86
|
+
adapter = NamedBindingsAdapter.adapt(Puppet.lookup(:current_environment))
|
87
87
|
adapter[named_bindings.name] = named_bindings
|
88
88
|
end
|
89
89
|
|
@@ -91,7 +91,7 @@ class Puppet::Bindings
|
|
91
91
|
entry = get(name)
|
92
92
|
return entry unless entry.is_a?(Proc)
|
93
93
|
named_bindings = Puppet::Pops::Binder::BindingsFactory.safe_named_bindings(name, scope, &entry).model
|
94
|
-
adapter = NamedBindingsAdapter.adapt(
|
94
|
+
adapter = NamedBindingsAdapter.adapt(Puppet.lookup(:current_environment))
|
95
95
|
adapter[named_bindings.name] = named_bindings
|
96
96
|
named_bindings
|
97
97
|
end
|
@@ -102,7 +102,7 @@ class Puppet::Bindings
|
|
102
102
|
# @api public
|
103
103
|
#
|
104
104
|
def self.get(name)
|
105
|
-
adapter = NamedBindingsAdapter.adapt(
|
105
|
+
adapter = NamedBindingsAdapter.adapt(Puppet.lookup(:current_environment))
|
106
106
|
adapter[name]
|
107
107
|
end
|
108
108
|
|
@@ -112,7 +112,7 @@ class Puppet::Bindings
|
|
112
112
|
|
113
113
|
# Supports Enumerable iteration (k,v) over the named bindings hash.
|
114
114
|
def self.each
|
115
|
-
adapter = NamedBindingsAdapter.adapt(
|
115
|
+
adapter = NamedBindingsAdapter.adapt(Puppet.lookup(:current_environment))
|
116
116
|
adapter.each_pair {|k,v| yield k,v }
|
117
117
|
end
|
118
118
|
|
@@ -144,4 +144,4 @@ class Puppet::Bindings
|
|
144
144
|
end
|
145
145
|
end
|
146
146
|
|
147
|
-
end
|
147
|
+
end
|
data/lib/puppet/configurer.rb
CHANGED
@@ -44,10 +44,10 @@ class Puppet::Configurer
|
|
44
44
|
rescue => detail
|
45
45
|
Puppet.log_exception(detail, "Removing corrupt state file #{Puppet[:statefile]}: #{detail}")
|
46
46
|
begin
|
47
|
-
Puppet::FileSystem
|
47
|
+
Puppet::FileSystem.unlink(Puppet[:statefile])
|
48
48
|
retry
|
49
49
|
rescue => detail
|
50
|
-
raise Puppet::Error.new("Cannot remove #{Puppet[:statefile]}: #{detail}")
|
50
|
+
raise Puppet::Error.new("Cannot remove #{Puppet[:statefile]}: #{detail}", detail)
|
51
51
|
end
|
52
52
|
end
|
53
53
|
|
@@ -148,20 +148,23 @@ class Puppet::Configurer
|
|
148
148
|
query_options = get_facts(options)
|
149
149
|
end
|
150
150
|
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
if node.
|
155
|
-
|
156
|
-
|
157
|
-
|
151
|
+
# We only need to find out the environment to run in if we don't already have a catalog
|
152
|
+
unless options[:catalog]
|
153
|
+
begin
|
154
|
+
if node = Puppet::Node.indirection.find(Puppet[:node_name_value],
|
155
|
+
:environment => @environment, :ignore_cache => true)
|
156
|
+
if node.environment.to_s != @environment
|
157
|
+
Puppet.warning "Local environment: \"#{@environment}\" doesn't match server specified node environment \"#{node.environment}\", switching agent to \"#{node.environment}\"."
|
158
|
+
@environment = node.environment.to_s
|
159
|
+
query_options = nil
|
160
|
+
end
|
158
161
|
end
|
162
|
+
rescue SystemExit,NoMemoryError
|
163
|
+
raise
|
164
|
+
rescue Exception => detail
|
165
|
+
Puppet.warning("Unable to fetch my node definition, but the agent run will continue:")
|
166
|
+
Puppet.warning(detail)
|
159
167
|
end
|
160
|
-
rescue SystemExit,NoMemoryError
|
161
|
-
raise
|
162
|
-
rescue Exception => detail
|
163
|
-
Puppet.warning("Unable to fetch my node definition, but the agent run will continue:")
|
164
|
-
Puppet.warning(detail)
|
165
168
|
end
|
166
169
|
|
167
170
|
query_options = get_facts(options) unless query_options
|
@@ -23,7 +23,7 @@ module Puppet::Configurer::FactHandler
|
|
23
23
|
rescue Exception => detail
|
24
24
|
message = "Could not retrieve local facts: #{detail}"
|
25
25
|
Puppet.log_exception(detail, message)
|
26
|
-
raise Puppet::Error, message
|
26
|
+
raise Puppet::Error, message, detail.backtrace
|
27
27
|
end
|
28
28
|
end
|
29
29
|
|
@@ -0,0 +1,26 @@
|
|
1
|
+
class Puppet::Confine::Any < Puppet::Confine
|
2
|
+
def self.summarize(confines)
|
3
|
+
confines.inject(0) { |count, confine| count + confine.summary }
|
4
|
+
end
|
5
|
+
|
6
|
+
def pass?(value)
|
7
|
+
!! value
|
8
|
+
end
|
9
|
+
|
10
|
+
def message(value)
|
11
|
+
"0 confines (of #{value.length}) were true"
|
12
|
+
end
|
13
|
+
|
14
|
+
def summary
|
15
|
+
result.find_all { |v| v == true }.length
|
16
|
+
end
|
17
|
+
|
18
|
+
def valid?
|
19
|
+
if @values.any? { |value| pass?(value) }
|
20
|
+
true
|
21
|
+
else
|
22
|
+
Puppet.debug("#{label}: #{message(@values)}")
|
23
|
+
false
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
data/lib/puppet/confiner.rb
CHANGED
@@ -13,6 +13,7 @@ module Puppet::Confiner
|
|
13
13
|
# * `:true` => a predicate code block returning true
|
14
14
|
# * `:false` => a predicate code block returning false
|
15
15
|
# * `:feature` => name of system feature that must be present
|
16
|
+
# * `:any` => an array of expressions that will be ORed together
|
16
17
|
#
|
17
18
|
# @example
|
18
19
|
# confine :operatingsystem => [:redhat, :fedora]
|
@@ -0,0 +1,55 @@
|
|
1
|
+
# Puppet::Context is a system for tracking services and contextual information
|
2
|
+
# that puppet needs to be able to run. Values are "bound" in a context when it is created
|
3
|
+
# and cannot be changed; however a child context can be created, using
|
4
|
+
# {#override}, that provides a different value.
|
5
|
+
#
|
6
|
+
# @api private
|
7
|
+
class Puppet::Context
|
8
|
+
require 'puppet/context/trusted_information'
|
9
|
+
|
10
|
+
class UndefinedBindingError < Puppet::Error; end
|
11
|
+
class StackUnderflow < Puppet::Error; end
|
12
|
+
|
13
|
+
# @api private
|
14
|
+
def initialize(initial_bindings)
|
15
|
+
@stack = []
|
16
|
+
@table = initial_bindings
|
17
|
+
@description = "root"
|
18
|
+
end
|
19
|
+
|
20
|
+
# @api private
|
21
|
+
def push(overrides, description = "")
|
22
|
+
@stack.push([@table, @description])
|
23
|
+
@table = @table.merge(overrides || {})
|
24
|
+
@description = description
|
25
|
+
end
|
26
|
+
|
27
|
+
# @api private
|
28
|
+
def pop
|
29
|
+
if @stack.empty?
|
30
|
+
raise(StackUnderflow, "Attempted to pop, but already at root of the context stack.")
|
31
|
+
else
|
32
|
+
(@table, @description) = @stack.pop
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
# @api private
|
37
|
+
def lookup(name, &block)
|
38
|
+
if @table.include?(name)
|
39
|
+
@table[name]
|
40
|
+
elsif block
|
41
|
+
block.call
|
42
|
+
else
|
43
|
+
raise UndefinedBindingError, "no '#{name}' in #{@table.inspect} at top of #{@stack.inspect}"
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
# @api private
|
48
|
+
def override(bindings, description = "", &block)
|
49
|
+
push(bindings, description)
|
50
|
+
|
51
|
+
yield
|
52
|
+
ensure
|
53
|
+
pop
|
54
|
+
end
|
55
|
+
end
|
@@ -0,0 +1,56 @@
|
|
1
|
+
# @api private
|
2
|
+
class Puppet::Context::TrustedInformation
|
3
|
+
# one of 'remote', 'local', or false, where 'remote' is authenticated via cert,
|
4
|
+
# 'local' is trusted by virtue of running on the same machine (not a remote
|
5
|
+
# request), and false is an unauthenticated remote request.
|
6
|
+
#
|
7
|
+
# @return [String, Boolean]
|
8
|
+
attr_reader :authenticated
|
9
|
+
|
10
|
+
# The validated certificate name used for the request
|
11
|
+
#
|
12
|
+
# @return [String]
|
13
|
+
attr_reader :certname
|
14
|
+
|
15
|
+
# Extra information that comes from the trusted certificate's extensions.
|
16
|
+
#
|
17
|
+
# @return [Hash{Object => Object}]
|
18
|
+
attr_reader :extensions
|
19
|
+
|
20
|
+
def initialize(authenticated, certname, extensions)
|
21
|
+
@authenticated = authenticated.freeze
|
22
|
+
@certname = certname.freeze
|
23
|
+
@extensions = extensions.freeze
|
24
|
+
end
|
25
|
+
|
26
|
+
def self.remote(authenticated, node_name, certificate)
|
27
|
+
if authenticated
|
28
|
+
extensions = {}
|
29
|
+
if certificate.nil?
|
30
|
+
Puppet.info('TrustedInformation expected a certificate, but none was given.')
|
31
|
+
else
|
32
|
+
extensions = Hash[certificate.custom_extensions.collect do |ext|
|
33
|
+
[ext['oid'].freeze, ext['value'].freeze]
|
34
|
+
end]
|
35
|
+
end
|
36
|
+
new('remote', node_name, extensions)
|
37
|
+
else
|
38
|
+
new(false, nil, {})
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
def self.local(node)
|
43
|
+
# Always trust local data by picking up the available parameters.
|
44
|
+
client_cert = node ? node.parameters['clientcert'] : nil
|
45
|
+
|
46
|
+
new('local', client_cert, {})
|
47
|
+
end
|
48
|
+
|
49
|
+
def to_h
|
50
|
+
{
|
51
|
+
'authenticated'.freeze => authenticated,
|
52
|
+
'certname'.freeze => certname,
|
53
|
+
'extensions'.freeze => extensions
|
54
|
+
}.freeze
|
55
|
+
end
|
56
|
+
end
|
data/lib/puppet/defaults.rb
CHANGED
@@ -196,6 +196,11 @@ module Puppet
|
|
196
196
|
is used to find modules and much more. For servers (i.e., `puppet master`)
|
197
197
|
this provides the default environment for nodes we know nothing about."
|
198
198
|
},
|
199
|
+
:environmentpath => {
|
200
|
+
:default => "$confdir/environments",
|
201
|
+
:desc => "A path of environment directories",
|
202
|
+
:type => :path,
|
203
|
+
},
|
199
204
|
:diff_args => {
|
200
205
|
:default => default_diffargs,
|
201
206
|
:desc => "Which arguments to pass to the diff command when printing differences between
|
@@ -251,7 +256,7 @@ module Puppet
|
|
251
256
|
:type => :terminus,
|
252
257
|
:default => nil,
|
253
258
|
:desc => "How to store cached nodes.
|
254
|
-
Valid values are (none), 'json', 'yaml' or write only yaml ('write_only_yaml').
|
259
|
+
Valid values are (none), 'json', 'msgpack', 'yaml' or write only yaml ('write_only_yaml').
|
255
260
|
The master application defaults to 'write_only_yaml', all others to none.",
|
256
261
|
},
|
257
262
|
:data_binding_terminus => {
|
@@ -266,8 +271,9 @@ module Puppet
|
|
266
271
|
},
|
267
272
|
:binder => {
|
268
273
|
:default => false,
|
269
|
-
:desc => "Turns the binding system on or off. This includes
|
270
|
-
|
274
|
+
:desc => "Turns the binding system on or off. This includes bindings in modules.
|
275
|
+
The binding system aggregates data from modules and other locations and makes them available for lookup.
|
276
|
+
The binding system is experimental and any or all of it may change.",
|
271
277
|
:type => :boolean,
|
272
278
|
},
|
273
279
|
:binder_config => {
|
@@ -286,7 +292,7 @@ module Puppet
|
|
286
292
|
:catalog_cache_terminus => {
|
287
293
|
:type => :terminus,
|
288
294
|
:default => nil,
|
289
|
-
:desc => "How to store cached catalogs. Valid values are 'json' and 'yaml'. The agent application defaults to 'json'."
|
295
|
+
:desc => "How to store cached catalogs. Valid values are 'json', 'msgpack' and 'yaml'. The agent application defaults to 'json'."
|
290
296
|
},
|
291
297
|
:facts_terminus => {
|
292
298
|
:default => 'facter',
|
@@ -358,11 +364,11 @@ module Puppet
|
|
358
364
|
:hook => proc do |value|
|
359
365
|
if value
|
360
366
|
# This reconfigures the termini for Node, Facts, and Catalog
|
361
|
-
Puppet.settings
|
367
|
+
Puppet.settings.override_default(:storeconfigs, true)
|
362
368
|
|
363
369
|
# But then we modify the configuration
|
364
370
|
Puppet::Resource::Catalog.indirection.cache_class = :queue
|
365
|
-
Puppet.settings
|
371
|
+
Puppet.settings.override_default(:catalog_cache_terminus, :queue)
|
366
372
|
else
|
367
373
|
raise "Cannot disable asynchronous storeconfigs in a running process"
|
368
374
|
end
|
@@ -377,7 +383,7 @@ module Puppet
|
|
377
383
|
`active_record` backend, but will disable external tools that search the storeconfigs database.
|
378
384
|
Thinning catalogs is generally unnecessary when using PuppetDB to store catalogs.",
|
379
385
|
:hook => proc do |value|
|
380
|
-
Puppet.settings
|
386
|
+
Puppet.settings.override_default(:storeconfigs, true) if value
|
381
387
|
end
|
382
388
|
},
|
383
389
|
:config_version => {
|
@@ -421,6 +427,11 @@ module Puppet
|
|
421
427
|
:type => :boolean,
|
422
428
|
:desc => "Stores trusted node data in a hash called $trusted.
|
423
429
|
When true also prevents $trusted from being overridden in any scope.",
|
430
|
+
},
|
431
|
+
:immutable_node_data => {
|
432
|
+
:default => '$trusted_node_data',
|
433
|
+
:type => :boolean,
|
434
|
+
:desc => "When true, also prevents $trusted and $facts from being overridden in any scope",
|
424
435
|
}
|
425
436
|
)
|
426
437
|
Puppet.define_settings(:module_tool,
|
@@ -533,7 +544,9 @@ EOT
|
|
533
544
|
:certdir => {
|
534
545
|
:default => "$ssldir/certs",
|
535
546
|
:type => :directory,
|
547
|
+
:mode => 0755,
|
536
548
|
:owner => "service",
|
549
|
+
:group => "service",
|
537
550
|
:desc => "The certificate directory."
|
538
551
|
},
|
539
552
|
:ssldir => {
|
@@ -541,18 +554,23 @@ EOT
|
|
541
554
|
:type => :directory,
|
542
555
|
:mode => 0771,
|
543
556
|
:owner => "service",
|
557
|
+
:group => "service",
|
544
558
|
:desc => "Where SSL certificates are kept."
|
545
559
|
},
|
546
560
|
:publickeydir => {
|
547
561
|
:default => "$ssldir/public_keys",
|
548
562
|
:type => :directory,
|
563
|
+
:mode => 0755,
|
549
564
|
:owner => "service",
|
565
|
+
:group => "service",
|
550
566
|
:desc => "The public key directory."
|
551
567
|
},
|
552
568
|
:requestdir => {
|
553
569
|
:default => "$ssldir/certificate_requests",
|
554
570
|
:type => :directory,
|
571
|
+
:mode => 0755,
|
555
572
|
:owner => "service",
|
573
|
+
:group => "service",
|
556
574
|
:desc => "Where host certificate requests are stored."
|
557
575
|
},
|
558
576
|
:privatekeydir => {
|
@@ -560,6 +578,7 @@ EOT
|
|
560
578
|
:type => :directory,
|
561
579
|
:mode => 0750,
|
562
580
|
:owner => "service",
|
581
|
+
:group => "service",
|
563
582
|
:desc => "The private key directory."
|
564
583
|
},
|
565
584
|
:privatedir => {
|
@@ -567,6 +586,7 @@ EOT
|
|
567
586
|
:type => :directory,
|
568
587
|
:mode => 0750,
|
569
588
|
:owner => "service",
|
589
|
+
:group => "service",
|
570
590
|
:desc => "Where the client stores private certificate information."
|
571
591
|
},
|
572
592
|
:passfile => {
|
@@ -574,6 +594,7 @@ EOT
|
|
574
594
|
:type => :file,
|
575
595
|
:mode => 0640,
|
576
596
|
:owner => "service",
|
597
|
+
:group => "service",
|
577
598
|
:desc => "Where puppet agent stores the password for its private key.
|
578
599
|
Generally unused."
|
579
600
|
},
|
@@ -582,6 +603,7 @@ EOT
|
|
582
603
|
:type => :file,
|
583
604
|
:mode => 0644,
|
584
605
|
:owner => "service",
|
606
|
+
:group => "service",
|
585
607
|
:desc => "Where individual hosts store and look for their certificate requests."
|
586
608
|
},
|
587
609
|
:hostcert => {
|
@@ -589,13 +611,15 @@ EOT
|
|
589
611
|
:type => :file,
|
590
612
|
:mode => 0644,
|
591
613
|
:owner => "service",
|
614
|
+
:group => "service",
|
592
615
|
:desc => "Where individual hosts store and look for their certificates."
|
593
616
|
},
|
594
617
|
:hostprivkey => {
|
595
618
|
:default => "$privatekeydir/$certname.pem",
|
596
619
|
:type => :file,
|
597
|
-
:mode =>
|
620
|
+
:mode => 0640,
|
598
621
|
:owner => "service",
|
622
|
+
:group => "service",
|
599
623
|
:desc => "Where individual hosts store and look for their private key."
|
600
624
|
},
|
601
625
|
:hostpubkey => {
|
@@ -603,6 +627,7 @@ EOT
|
|
603
627
|
:type => :file,
|
604
628
|
:mode => 0644,
|
605
629
|
:owner => "service",
|
630
|
+
:group => "service",
|
606
631
|
:desc => "Where individual hosts store and look for their public key."
|
607
632
|
},
|
608
633
|
:localcacert => {
|
@@ -610,14 +635,16 @@ EOT
|
|
610
635
|
:type => :file,
|
611
636
|
:mode => 0644,
|
612
637
|
:owner => "service",
|
638
|
+
:group => "service",
|
613
639
|
:desc => "Where each client stores the CA certificate."
|
614
640
|
},
|
615
641
|
:ssl_client_ca_auth => {
|
616
642
|
:type => :file,
|
617
643
|
:mode => 0644,
|
618
644
|
:owner => "service",
|
645
|
+
:group => "service",
|
619
646
|
:desc => "Certificate authorities who issue server certificates. SSL servers will not be
|
620
|
-
considered authentic unless they
|
647
|
+
considered authentic unless they possess a certificate issued by an authority
|
621
648
|
listed in this file. If this setting has no value then the Puppet master's CA
|
622
649
|
certificate (localcacert) will be used."
|
623
650
|
},
|
@@ -625,8 +652,9 @@ EOT
|
|
625
652
|
:type => :file,
|
626
653
|
:mode => 0644,
|
627
654
|
:owner => "service",
|
655
|
+
:group => "service",
|
628
656
|
:desc => "Certificate authorities who issue client certificates. SSL clients will not be
|
629
|
-
considered authentic unless they
|
657
|
+
considered authentic unless they possess a certificate issued by an authority
|
630
658
|
listed in this file. If this setting has no value then the Puppet master's CA
|
631
659
|
certificate (localcacert) will be used."
|
632
660
|
},
|
@@ -635,6 +663,7 @@ EOT
|
|
635
663
|
:type => :file,
|
636
664
|
:mode => 0644,
|
637
665
|
:owner => "service",
|
666
|
+
:group => "service",
|
638
667
|
:desc => "Where the host's certificate revocation list can be found.
|
639
668
|
This is distinct from the certificate authority's CRL."
|
640
669
|
},
|
@@ -664,7 +693,7 @@ EOT
|
|
664
693
|
:type => :directory,
|
665
694
|
:owner => "service",
|
666
695
|
:group => "service",
|
667
|
-
:mode =>
|
696
|
+
:mode => 0755,
|
668
697
|
:desc => "The root directory for the certificate authority."
|
669
698
|
},
|
670
699
|
:cacert => {
|
@@ -672,7 +701,7 @@ EOT
|
|
672
701
|
:type => :file,
|
673
702
|
:owner => "service",
|
674
703
|
:group => "service",
|
675
|
-
:mode =>
|
704
|
+
:mode => 0644,
|
676
705
|
:desc => "The CA certificate."
|
677
706
|
},
|
678
707
|
:cakey => {
|
@@ -680,7 +709,7 @@ EOT
|
|
680
709
|
:type => :file,
|
681
710
|
:owner => "service",
|
682
711
|
:group => "service",
|
683
|
-
:mode =>
|
712
|
+
:mode => 0640,
|
684
713
|
:desc => "The CA private key."
|
685
714
|
},
|
686
715
|
:capub => {
|
@@ -688,6 +717,7 @@ EOT
|
|
688
717
|
:type => :file,
|
689
718
|
:owner => "service",
|
690
719
|
:group => "service",
|
720
|
+
:mode => 0644,
|
691
721
|
:desc => "The CA public key."
|
692
722
|
},
|
693
723
|
:cacrl => {
|
@@ -695,8 +725,7 @@ EOT
|
|
695
725
|
:type => :file,
|
696
726
|
:owner => "service",
|
697
727
|
:group => "service",
|
698
|
-
:mode =>
|
699
|
-
|
728
|
+
:mode => 0644,
|
700
729
|
:desc => "The certificate revocation list (CRL) for the CA. Will be used if present but otherwise ignored.",
|
701
730
|
},
|
702
731
|
:caprivatedir => {
|
@@ -704,7 +733,7 @@ EOT
|
|
704
733
|
:type => :directory,
|
705
734
|
:owner => "service",
|
706
735
|
:group => "service",
|
707
|
-
:mode =>
|
736
|
+
:mode => 0750,
|
708
737
|
:desc => "Where the CA stores private certificate information."
|
709
738
|
},
|
710
739
|
:csrdir => {
|
@@ -712,6 +741,7 @@ EOT
|
|
712
741
|
:type => :directory,
|
713
742
|
:owner => "service",
|
714
743
|
:group => "service",
|
744
|
+
:mode => 0755,
|
715
745
|
:desc => "Where the CA stores certificate requests"
|
716
746
|
},
|
717
747
|
:signeddir => {
|
@@ -719,7 +749,7 @@ EOT
|
|
719
749
|
:type => :directory,
|
720
750
|
:owner => "service",
|
721
751
|
:group => "service",
|
722
|
-
:mode =>
|
752
|
+
:mode => 0755,
|
723
753
|
:desc => "Where the CA stores signed certificates."
|
724
754
|
},
|
725
755
|
:capass => {
|
@@ -727,7 +757,7 @@ EOT
|
|
727
757
|
:type => :file,
|
728
758
|
:owner => "service",
|
729
759
|
:group => "service",
|
730
|
-
:mode =>
|
760
|
+
:mode => 0640,
|
731
761
|
:desc => "Where the CA stores the password for the private key."
|
732
762
|
},
|
733
763
|
:serial => {
|
@@ -775,7 +805,7 @@ EOT
|
|
775
805
|
:ca_ttl => {
|
776
806
|
:default => "5y",
|
777
807
|
:type => :duration,
|
778
|
-
:desc => "The default TTL for new certificates.
|
808
|
+
:desc => "The default TTL for new certificates.
|
779
809
|
#{AS_DURATION}"
|
780
810
|
},
|
781
811
|
:req_bits => {
|
@@ -841,7 +871,8 @@ EOT
|
|
841
871
|
:manifest => {
|
842
872
|
:default => "$manifestdir/site.pp",
|
843
873
|
:type => :file,
|
844
|
-
:desc => "The entry-point manifest for puppet master
|
874
|
+
:desc => "The entry-point manifest file for puppet master or a directory of manifests
|
875
|
+
to be evaluated in alphabetical order.",
|
845
876
|
},
|
846
877
|
:code => {
|
847
878
|
:default => "",
|
@@ -902,9 +933,15 @@ EOT
|
|
902
933
|
:type => :boolean,
|
903
934
|
:desc => "Whether the master should function as a certificate authority.",
|
904
935
|
},
|
905
|
-
:
|
936
|
+
:basemodulepath => {
|
906
937
|
:default => "$confdir/modules#{File::PATH_SEPARATOR}/usr/share/puppet/modules",
|
907
938
|
:type => :path,
|
939
|
+
:desc => "The base non-environment specific search path for modules, included
|
940
|
+
also in all directory environment and default legacy environment modulepaths.",
|
941
|
+
},
|
942
|
+
:modulepath => {
|
943
|
+
:default => "$basemodulepath",
|
944
|
+
:type => :path,
|
908
945
|
:desc => "The search path for modules, as a list of directories separated by the system
|
909
946
|
path separator character. (The POSIX path separator is ':', and the
|
910
947
|
Windows path separator is ';'.)",
|
@@ -1189,7 +1226,7 @@ EOT
|
|
1189
1226
|
:hook => proc { |value|
|
1190
1227
|
if value
|
1191
1228
|
Puppet.deprecation_warning "Setting 'catalog_format' is deprecated; use 'preferred_serialization_format' instead."
|
1192
|
-
Puppet.settings
|
1229
|
+
Puppet.settings.override_default(:preferred_serialization_format, value)
|
1193
1230
|
end
|
1194
1231
|
}
|
1195
1232
|
},
|
@@ -1711,7 +1748,7 @@ EOT
|
|
1711
1748
|
if value
|
1712
1749
|
if not Puppet.settings[:async_storeconfigs]
|
1713
1750
|
Puppet::Resource::Catalog.indirection.cache_class = :store_configs
|
1714
|
-
Puppet.settings
|
1751
|
+
Puppet.settings.override_default(:catalog_cache_terminus, :store_configs)
|
1715
1752
|
end
|
1716
1753
|
Puppet::Node::Facts.indirection.cache_class = :store_configs
|
1717
1754
|
|
@@ -1754,19 +1791,46 @@ EOT
|
|
1754
1791
|
:default => "current",
|
1755
1792
|
:desc => <<-'EOT'
|
1756
1793
|
Selects the parser to use for parsing puppet manifests (in puppet DSL
|
1757
|
-
language/'.pp' files). Available choices are `current` (the default)
|
1794
|
+
language/'.pp' files). Available choices are `current` (the default)
|
1758
1795
|
and `future`.
|
1759
1796
|
|
1760
1797
|
The `curent` parser means that the released version of the parser should
|
1761
1798
|
be used.
|
1762
1799
|
|
1763
1800
|
The `future` parser is a "time travel to the future" allowing early
|
1764
|
-
exposure to new language features. What these
|
1801
|
+
exposure to new language features. What these features are will vary from
|
1765
1802
|
release to release and they may be invididually configurable.
|
1766
1803
|
|
1767
1804
|
Available Since Puppet 3.2.
|
1768
1805
|
EOT
|
1769
1806
|
},
|
1807
|
+
:evaluator => {
|
1808
|
+
:default => "future",
|
1809
|
+
:hook => proc do |value|
|
1810
|
+
if !['future', 'current'].include?(value)
|
1811
|
+
raise "evaluator can only be set to 'future' or 'current', got '#{value}'"
|
1812
|
+
end
|
1813
|
+
end,
|
1814
|
+
:desc => <<-'EOT'
|
1815
|
+
Which evaluator to use when compiling Puppet manifests. Valid values
|
1816
|
+
are `current` and `future` (the default).
|
1817
|
+
|
1818
|
+
**Note:** This setting is only used when `parser = future`. It allows
|
1819
|
+
testers to turn off the `future` evaluator when doing detailed tests and
|
1820
|
+
comparisons of the new compilation system.
|
1821
|
+
|
1822
|
+
Evaluation is the second stage of catalog compilation. After the parser
|
1823
|
+
converts a manifest to a model of expressions, the evaluator processes
|
1824
|
+
each expression. (For example, a resource declaration signals the
|
1825
|
+
evaluator to add a resource to the catalog).
|
1826
|
+
|
1827
|
+
The `future` parser and evaluator are slated to become default in Puppet
|
1828
|
+
4. Their purpose is to add new features and improve consistency
|
1829
|
+
and reliability.
|
1830
|
+
|
1831
|
+
Available Since Puppet 3.5.
|
1832
|
+
EOT
|
1833
|
+
},
|
1770
1834
|
:max_errors => {
|
1771
1835
|
:default => 10,
|
1772
1836
|
:desc => <<-'EOT'
|
@@ -1790,8 +1854,15 @@ EOT
|
|
1790
1854
|
warnings in case multiple errors have been detected. A value of 0 is the
|
1791
1855
|
same as value 1. The count is per manifest.
|
1792
1856
|
EOT
|
1857
|
+
},
|
1858
|
+
:strict_variables => {
|
1859
|
+
:default => false,
|
1860
|
+
:type => :boolean,
|
1861
|
+
:desc => <<-'EOT'
|
1862
|
+
Makes the parser raise errors when referencing unknown variables. (This does not affect
|
1863
|
+
referencing variables that are explicitly set to undef).
|
1864
|
+
EOT
|
1793
1865
|
}
|
1794
|
-
|
1795
1866
|
)
|
1796
1867
|
define_settings(:puppetdoc,
|
1797
1868
|
:document_all => {
|