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
data/CONTRIBUTING.md
CHANGED
@@ -9,7 +9,7 @@ top of things.
|
|
9
9
|
|
10
10
|
## Getting Started
|
11
11
|
|
12
|
-
* Make sure you have a [
|
12
|
+
* Make sure you have a [Jira account](http://tickets.puppetlabs.com)
|
13
13
|
* Make sure you have a [GitHub account](https://github.com/signup/free)
|
14
14
|
* Submit a ticket for your issue, assuming one does not already exist.
|
15
15
|
* Clearly describe the issue including steps to reproduce when it is a bug.
|
@@ -31,7 +31,7 @@ top of things.
|
|
31
31
|
* Make sure your commit messages are in the proper format.
|
32
32
|
|
33
33
|
````
|
34
|
-
(
|
34
|
+
(PUP-1234) Make the example in CONTRIBUTING imperative and concrete
|
35
35
|
|
36
36
|
Without this patch applied the example commit message in the CONTRIBUTING
|
37
37
|
document is not a concrete example. This is a problem because the
|
@@ -52,7 +52,7 @@ top of things.
|
|
52
52
|
### Documentation
|
53
53
|
|
54
54
|
For changes of a trivial nature to comments and documentation, it is not
|
55
|
-
always necessary to create a new ticket in
|
55
|
+
always necessary to create a new ticket in Jira. In this case, it is
|
56
56
|
appropriate to start the first line of a commit with '(doc)' instead of
|
57
57
|
a ticket number.
|
58
58
|
|
@@ -74,13 +74,13 @@ a ticket number.
|
|
74
74
|
* Sign the [Contributor License Agreement](http://links.puppetlabs.com/cla).
|
75
75
|
* Push your changes to a topic branch in your fork of the repository.
|
76
76
|
* Submit a pull request to the repository in the puppetlabs organization.
|
77
|
-
* Update your
|
78
|
-
* Include a link to the pull request in the ticket
|
77
|
+
* Update your Jira ticket to mark that you have submitted code and are ready for it to be reviewed (Status: Ready for Merge).
|
78
|
+
* Include a link to the pull request in the ticket.
|
79
79
|
|
80
80
|
# Additional Resources
|
81
81
|
|
82
82
|
* [More information on contributing](http://links.puppetlabs.com/contribute-to-puppet)
|
83
|
-
* [Bug tracker (
|
83
|
+
* [Bug tracker (Jira)](http://tickets.puppetlabs.com)
|
84
84
|
* [Contributor License Agreement](http://links.puppetlabs.com/cla)
|
85
85
|
* [General GitHub documentation](http://help.github.com/)
|
86
86
|
* [GitHub pull request documentation](http://help.github.com/send-pull-requests/)
|
data/Gemfile
CHANGED
@@ -19,7 +19,7 @@ platforms :ruby do
|
|
19
19
|
end
|
20
20
|
|
21
21
|
gem "puppet", :path => File.dirname(__FILE__), :require => false
|
22
|
-
gem "facter", *location_for(ENV['FACTER_LOCATION'] || '
|
22
|
+
gem "facter", *location_for(ENV['FACTER_LOCATION'] || ['> 1.6', '< 3'])
|
23
23
|
gem "hiera", *location_for(ENV['HIERA_LOCATION'] || '~> 1.0')
|
24
24
|
gem "rake", :require => false
|
25
25
|
gem "rgen", "0.6.5", :require => false
|
@@ -44,12 +44,20 @@ group(:development, :test) do
|
|
44
44
|
gem "multi_json", "1.7.7", :require => false
|
45
45
|
gem "json-schema", "2.1.1", :require => false
|
46
46
|
end
|
47
|
+
end
|
47
48
|
|
49
|
+
group(:development) do
|
50
|
+
case RUBY_VERSION
|
51
|
+
when /^1.8/
|
52
|
+
gem 'ruby-prof', "~> 0.13.1", :require => false
|
53
|
+
else
|
54
|
+
gem 'ruby-prof', :require => false
|
55
|
+
end
|
48
56
|
end
|
49
57
|
|
50
58
|
group(:extra) do
|
51
59
|
gem "rack", "~> 1.4", :require => false
|
52
|
-
gem "activerecord", '~> 3.
|
60
|
+
gem "activerecord", '~> 3.2', :require => false
|
53
61
|
gem "couchrest", '~> 1.0', :require => false
|
54
62
|
gem "net-ssh", '~> 2.1', :require => false
|
55
63
|
gem "puppetlabs_spec_helper", :require => false
|
@@ -59,20 +67,18 @@ group(:extra) do
|
|
59
67
|
gem "msgpack", :require => false
|
60
68
|
end
|
61
69
|
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
gem "windows-pr", "1.2.2", :require => false
|
75
|
-
gem "minitar", "0.5.4", :require => false
|
70
|
+
require 'yaml'
|
71
|
+
data = YAML.load_file(File.join(File.dirname(__FILE__), 'ext', 'project_data.yaml'))
|
72
|
+
bundle_platforms = data['bundle_platforms']
|
73
|
+
data['gem_platform_dependencies'].each_pair do |gem_platform, info|
|
74
|
+
if bundle_deps = info['gem_runtime_dependencies']
|
75
|
+
bundle_platform = bundle_platforms[gem_platform] or raise "Missing bundle_platform"
|
76
|
+
platform(bundle_platform.intern) do
|
77
|
+
bundle_deps.each_pair do |name, version|
|
78
|
+
gem(name, version, :require => false)
|
79
|
+
end
|
80
|
+
end
|
81
|
+
end
|
76
82
|
end
|
77
83
|
|
78
84
|
if File.exists? "#{__FILE__}.local"
|
data/LICENSE
CHANGED
data/README.md
CHANGED
@@ -13,6 +13,10 @@ Documentation
|
|
13
13
|
Documentation for Puppet and related projects can be found online at the
|
14
14
|
[Puppet Docs site](http://docs.puppetlabs.com).
|
15
15
|
|
16
|
+
HTTP API
|
17
|
+
--------
|
18
|
+
[HTTP API Index](api/docs/http_api_index.md)
|
19
|
+
|
16
20
|
Installation
|
17
21
|
------------
|
18
22
|
|
@@ -26,28 +30,46 @@ To install an open source release of Puppet,
|
|
26
30
|
If you need to run Puppet from source as a tester or developer,
|
27
31
|
[see the running from source guide on the docs site.](http://docs.puppetlabs.com/guides/from_source.html)
|
28
32
|
|
29
|
-
|
33
|
+
Developing and Contributing
|
30
34
|
------
|
31
35
|
|
32
|
-
|
33
|
-
|
34
|
-
and
|
35
|
-
|
36
|
+
We'd love to get contributions from you! For a quick guide to getting your
|
37
|
+
system setup for developing take a look at our [Quickstart
|
38
|
+
Guide](docs/quickstart.md). Once you are up and running, take a look at the
|
39
|
+
[Contribution Documents](CONTRIBUTING.md) to see how to get your changes merged
|
40
|
+
in.
|
41
|
+
|
42
|
+
For more complete docs on developing with puppet you can take a look at the
|
43
|
+
rest of the [developer documents](docs/index.md).
|
36
44
|
|
37
45
|
License
|
38
46
|
-------
|
39
47
|
|
40
|
-
See LICENSE file.
|
48
|
+
See [LICENSE](LICENSE) file.
|
41
49
|
|
42
50
|
Support
|
43
51
|
-------
|
44
52
|
|
45
|
-
Please log tickets and issues at our [
|
46
|
-
site](http://projects.puppetlabs.com). A [mailing
|
53
|
+
Please log tickets and issues at our [JIRA tracker](http://tickets.puppetlabs.com). A [mailing
|
47
54
|
list](https://groups.google.com/forum/?fromgroups#!forum/puppet-users) is
|
48
55
|
available for asking questions and getting help from others. In addition there
|
49
56
|
is an active #puppet channel on Freenode.
|
50
57
|
|
51
|
-
|
52
|
-
|
53
|
-
|
58
|
+
We use semantic version numbers for our releases, and recommend that users stay
|
59
|
+
as up-to-date as possible by upgrading to patch releases and minor releases as
|
60
|
+
they become available.
|
61
|
+
|
62
|
+
Bugfixes and ongoing development will occur in minor releases for the current
|
63
|
+
major version. Security fixes will be backported to a previous major version on
|
64
|
+
a best-effort basis, until the previous major version is no longer maintained.
|
65
|
+
|
66
|
+
|
67
|
+
For example: If a security vulnerability is discovered in Puppet 4.1.1, we
|
68
|
+
would fix it in the 4 series, most likely as 4.1.2. Maintainers would then make
|
69
|
+
a best effort to backport that fix onto the latest Puppet 3 release.
|
70
|
+
|
71
|
+
Long-term support, including security patches and bug fixes, is available for
|
72
|
+
commercial customers. Please see the following page for more details:
|
73
|
+
|
74
|
+
[Puppet Enterprise Support Lifecycle](http://puppetlabs.com/misc/puppet-enterprise-lifecycle)
|
75
|
+
|
data/Rakefile
CHANGED
data/conf/auth.conf
CHANGED
data/ext/build_defaults.yaml
CHANGED
@@ -9,7 +9,7 @@ gpg_name: 'info@puppetlabs.com'
|
|
9
9
|
gpg_key: '4BD6EC30'
|
10
10
|
sign_tar: FALSE
|
11
11
|
# a space separated list of mock configs
|
12
|
-
final_mocks: 'pl-el-5-i386 pl-el-6-i386 pl-
|
12
|
+
final_mocks: 'pl-el-5-i386 pl-el-6-i386 pl-el-7-x86_64 pl-fedora-19-i386 pl-fedora-20-i386'
|
13
13
|
yum_host: 'yum.puppetlabs.com'
|
14
14
|
yum_repo_path: '/opt/repository/yum/'
|
15
15
|
build_gem: TRUE
|
data/ext/debian/control
CHANGED
@@ -3,7 +3,7 @@ Section: admin
|
|
3
3
|
Priority: optional
|
4
4
|
Maintainer: Puppet Labs <info@puppetlabs.com>
|
5
5
|
Uploaders: Micah Anderson <micah@debian.org>, Andrew Pollock <apollock@debian.org>, Nigel Kersten <nigel@explanatorygap.net>, Stig Sandbeck Mathisen <ssm@debian.org>
|
6
|
-
Build-Depends-Indep: ruby | ruby-interpreter, libopenssl-ruby, facter (>= 1.
|
6
|
+
Build-Depends-Indep: ruby | ruby-interpreter, libopenssl-ruby | libopenssl-ruby1.9.1, facter (>= 1.7.0)
|
7
7
|
Build-Depends: debhelper (>= 7.0.0), openssl
|
8
8
|
Standards-Version: 3.9.1
|
9
9
|
Vcs-Git: git://github.com/puppetlabs/puppet
|
@@ -11,7 +11,7 @@ Homepage: http://projects.puppetlabs.com/projects/puppet
|
|
11
11
|
|
12
12
|
Package: puppet-common
|
13
13
|
Architecture: all
|
14
|
-
Depends: ${misc:Depends}, ruby | ruby-interpreter, libxmlrpc-ruby, libopenssl-ruby, ruby-shadow | libshadow-ruby1.8, libaugeas-ruby | libaugeas-ruby1.9.1 | libaugeas-ruby1.8, adduser, lsb-base, sysv-rc (>= 2.86) | file-rc, hiera (>= 1.0.0), facter (>= 1.
|
14
|
+
Depends: ${misc:Depends}, ruby | ruby-interpreter, libxmlrpc-ruby, libopenssl-ruby | libopenssl-ruby1.9.1, ruby-shadow | libshadow-ruby1.8, libaugeas-ruby | libaugeas-ruby1.9.1 | libaugeas-ruby1.8, adduser, lsb-base, sysv-rc (>= 2.86) | file-rc, hiera (>= 1.0.0), facter (>= 1.7.0), ruby-rgen (>= 0.6.5), libjson-ruby | ruby-json
|
15
15
|
Recommends: lsb-release, debconf-utils
|
16
16
|
Suggests: ruby-selinux | libselinux-ruby1.8, librrd-ruby1.9.1 | librrd-ruby1.8
|
17
17
|
Breaks: puppet (<< 2.6.0~rc2-1), puppetmaster (<< 0.25.4-1)
|
@@ -56,7 +56,7 @@ Description: Centralized configuration management - agent startup and compatibil
|
|
56
56
|
|
57
57
|
Package: puppetmaster-common
|
58
58
|
Architecture: all
|
59
|
-
Depends: ${misc:Depends}, ruby | ruby-interpreter, puppet-common (= ${binary:Version}), facter (>= 1.
|
59
|
+
Depends: ${misc:Depends}, ruby | ruby-interpreter, puppet-common (= ${binary:Version}), facter (>= 1.7.0), lsb-base
|
60
60
|
Breaks: puppet (<< 0.24.7-1), puppetmaster (<< 2.6.1~rc2-1)
|
61
61
|
Replaces: puppetmaster (<< 2.6.1~rc2-1)
|
62
62
|
Suggests: apache2 | nginx, puppet-el, vim-puppet, stompserver, ruby-stomp | libstomp-ruby1.8,
|
@@ -78,7 +78,7 @@ Description: Puppet master common scripts
|
|
78
78
|
|
79
79
|
Package: puppetmaster
|
80
80
|
Architecture: all
|
81
|
-
Depends: ${misc:Depends}, ruby | ruby-interpreter, puppetmaster-common (= ${source:Version}), facter (>= 1.
|
81
|
+
Depends: ${misc:Depends}, ruby | ruby-interpreter, puppetmaster-common (= ${source:Version}), facter (>= 1.7.0), lsb-base
|
82
82
|
Breaks: puppet (<< 0.24.7-1)
|
83
83
|
Suggests: apache2 | nginx, puppet-el, vim-puppet, stompserver, ruby-stomp | libstomp-ruby1.8,
|
84
84
|
rdoc, ruby-ldap | libldap-ruby1.8, puppetdb-terminus
|
@@ -99,7 +99,7 @@ Description: Centralized configuration management - master startup and compatibi
|
|
99
99
|
|
100
100
|
Package: puppetmaster-passenger
|
101
101
|
Architecture: all
|
102
|
-
Depends: ${misc:Depends}, ruby | ruby-interpreter, puppetmaster-common (= ${source:Version}), facter (>= 1.
|
102
|
+
Depends: ${misc:Depends}, ruby | ruby-interpreter, puppetmaster-common (= ${source:Version}), facter (>= 1.7.0), lsb-base, libapache2-mod-passenger
|
103
103
|
Conflicts: puppetmaster (<< 2.6.1~rc2-1)
|
104
104
|
Replaces: puppetmaster (<< 2.6.1~rc2-1)
|
105
105
|
Description: Centralised configuration management - master setup to run under mod passenger
|
@@ -136,7 +136,7 @@ Description: syntax highlighting for puppet manifests in emacs
|
|
136
136
|
|
137
137
|
Package: puppet-testsuite
|
138
138
|
Architecture: all
|
139
|
-
Depends: ${misc:Depends}, ruby | ruby-interpreter, puppet-common (= ${source:Version}), facter (>= 1.
|
139
|
+
Depends: ${misc:Depends}, ruby | ruby-interpreter, puppet-common (= ${source:Version}), facter (>= 1.7.0), lsb-base, rails (>= 1.2.3-2), rdoc, ruby-ldap | libldap-ruby1.8, ruby-rspec | librspec-ruby, git-core, ruby-mocha | libmocha-ruby1.8
|
140
140
|
Recommends: cron
|
141
141
|
Description: Centralized configuration management - test suite
|
142
142
|
This package provides all the tests from the upstream puppet source code.
|
data/ext/ips/transforms
CHANGED
@@ -27,7 +27,7 @@
|
|
27
27
|
<transform file path=var/svc/manifest/.*\.xml -> add restart_fmri svc:/system/manifest-import:default>
|
28
28
|
|
29
29
|
# we depend on facter
|
30
|
-
<transform pkg -> emit depend type=require fmri=application/facter@1.
|
30
|
+
<transform pkg -> emit depend type=require fmri=application/facter@1.7.0>
|
31
31
|
|
32
32
|
# preserve the old conf file on upgrade.
|
33
33
|
<transform file path=etc/puppet/(puppet|auth).conf -> add overlay true>
|
data/ext/nagios/naggen
CHANGED
@@ -21,7 +21,7 @@
|
|
21
21
|
#
|
22
22
|
# = Options
|
23
23
|
#
|
24
|
-
# Note that any
|
24
|
+
# Note that any setting that's valid in the configuration file
|
25
25
|
# is also a valid long argument. For example, 'ssldir' is a valid configuration
|
26
26
|
# parameter, so you can specify '--ssldir <directory>' as an argument.
|
27
27
|
#
|
data/ext/project_data.yaml
CHANGED
@@ -15,12 +15,32 @@ gem_executables: 'puppet'
|
|
15
15
|
gem_default_executables: 'puppet'
|
16
16
|
gem_forge_project: 'puppet'
|
17
17
|
gem_runtime_dependencies:
|
18
|
-
facter: '
|
18
|
+
facter: ['> 1.6', '< 3']
|
19
19
|
hiera: '~> 1.0'
|
20
20
|
rgen: '~> 0.6.5'
|
21
|
+
json_pure:
|
21
22
|
gem_rdoc_options:
|
22
23
|
- --title
|
23
24
|
- "Puppet - Configuration Management"
|
24
25
|
- --main
|
25
26
|
- README.md
|
26
27
|
- --line-numbers
|
28
|
+
gem_platform_dependencies:
|
29
|
+
x86-mingw32:
|
30
|
+
gem_runtime_dependencies:
|
31
|
+
# Pinning versions that require native extensions
|
32
|
+
ffi: '1.9.0'
|
33
|
+
sys-admin: '1.5.6'
|
34
|
+
win32-api: '1.4.8'
|
35
|
+
win32-dir: '~> 0.4.3'
|
36
|
+
win32-eventlog: '~> 0.5.3'
|
37
|
+
win32-process: '~> 0.6.5'
|
38
|
+
win32-security: '~> 0.1.4'
|
39
|
+
win32-service: '0.7.2'
|
40
|
+
win32-taskscheduler: '~> 0.2.2'
|
41
|
+
win32console: '1.3.2'
|
42
|
+
windows-api: '~> 0.4.2'
|
43
|
+
windows-pr: '~> 1.2.2'
|
44
|
+
minitar: '~> 0.5.4'
|
45
|
+
bundle_platforms:
|
46
|
+
x86-mingw32: mingw
|
data/ext/puppet-test
CHANGED
@@ -18,7 +18,7 @@
|
|
18
18
|
#
|
19
19
|
# = Options
|
20
20
|
#
|
21
|
-
# Note that any
|
21
|
+
# Note that any setting that's valid in the configuration file
|
22
22
|
# is also a valid long argument. For example, 'server' is a valid configuration
|
23
23
|
# parameter, so you can specify '--server <servername>' as an argument.
|
24
24
|
#
|
@@ -241,7 +241,7 @@ Suite.new :resource_type, "Managing resource types" do
|
|
241
241
|
ARGV.each do |name|
|
242
242
|
json = Puppet::Resource::Type.find(name).to_pson
|
243
243
|
data = PSON.parse(json)
|
244
|
-
p Puppet::Resource::Type.
|
244
|
+
p Puppet::Resource::Type.from_data_hash(data)
|
245
245
|
end
|
246
246
|
end
|
247
247
|
|
@@ -474,7 +474,7 @@ begin
|
|
474
474
|
explicit_waitforcert = false
|
475
475
|
result.each { |opt,arg|
|
476
476
|
case opt
|
477
|
-
# First check to see if the argument is a valid
|
477
|
+
# First check to see if the argument is a valid setting;
|
478
478
|
# if so, set it.
|
479
479
|
when "--compile"
|
480
480
|
$options[:suite] = :configuration
|
data/ext/redhat/puppet.spec.erb
CHANGED
@@ -20,6 +20,8 @@
|
|
20
20
|
%global rpmversion <%= @rpmversion %>
|
21
21
|
|
22
22
|
%global confdir ext/redhat
|
23
|
+
%global pending_upgrade_path %{_localstatedir}/lib/rpm-state/puppet
|
24
|
+
%global pending_upgrade_file %{pending_upgrade_path}/upgrade_pending
|
23
25
|
|
24
26
|
Name: puppet
|
25
27
|
Version: %{rpmversion}
|
@@ -34,12 +36,13 @@ Group: System Environment/Base
|
|
34
36
|
|
35
37
|
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
36
38
|
|
37
|
-
BuildRequires: facter
|
39
|
+
BuildRequires: facter >= 1:1.7.0
|
38
40
|
# Puppet 3.x drops ruby 1.8.5 support and adds ruby 1.9 support
|
39
41
|
BuildRequires: ruby >= 1.8.7
|
40
42
|
BuildArch: noarch
|
41
43
|
Requires: ruby >= 1.8
|
42
44
|
Requires: ruby-shadow
|
45
|
+
Requires: rubygem-json
|
43
46
|
|
44
47
|
# Pull in ruby selinux bindings where available
|
45
48
|
%if 0%{?fedora} || 0%{?rhel} >= 6
|
@@ -50,7 +53,7 @@ Requires: ruby-shadow
|
|
50
53
|
%endif
|
51
54
|
%endif
|
52
55
|
|
53
|
-
Requires: facter >= 1.
|
56
|
+
Requires: facter >= 1:1.7.0
|
54
57
|
# Puppet 3.x drops ruby 1.8.5 support and adds ruby 1.9 support
|
55
58
|
# Ruby 1.8.7 available for el5 at: yum.puppetlabs.com/el/5/devel/$ARCH
|
56
59
|
Requires: ruby >= 1.8.7
|
@@ -358,6 +361,23 @@ if [ "$1" -eq 0 ] ; then
|
|
358
361
|
/bin/systemctl stop puppet.service > /dev/null 2>&1 || :
|
359
362
|
/bin/systemctl daemon-reload >/dev/null 2>&1 || :
|
360
363
|
fi
|
364
|
+
|
365
|
+
if [ "$1" == "1" ]; then
|
366
|
+
/bin/systemctl is-enabled puppetagent.service > /dev/null 2>&1
|
367
|
+
if [ "$?" == "0" ]; then
|
368
|
+
/bin/systemctl --no-reload disable puppetagent.service > /dev/null 2>&1 ||:
|
369
|
+
/bin/systemctl stop puppetagent.service > /dev/null 2>&1 ||:
|
370
|
+
/bin/systemctl daemon-reload >/dev/null 2>&1 ||:
|
371
|
+
if [ ! -d %{pending_upgrade_path} ]; then
|
372
|
+
mkdir -p %{pending_upgrade_path}
|
373
|
+
fi
|
374
|
+
|
375
|
+
if [ ! -e %{pending_upgrade_file} ]; then
|
376
|
+
touch %{pending_upgrade_file}
|
377
|
+
fi
|
378
|
+
fi
|
379
|
+
fi
|
380
|
+
|
361
381
|
%else
|
362
382
|
if [ "$1" = 0 ] ; then
|
363
383
|
/sbin/service puppet stop > /dev/null 2>&1
|
@@ -383,6 +403,12 @@ fi
|
|
383
403
|
%postun
|
384
404
|
%if 0%{?_with_systemd}
|
385
405
|
if [ $1 -ge 1 ] ; then
|
406
|
+
if [ -e %{pending_upgrade_file} ]; then
|
407
|
+
/bin/systemctl --no-reload enable puppet.service > /dev/null 2>&1 ||:
|
408
|
+
/bin/systemctl start puppet.service > /dev/null 2>&1 ||:
|
409
|
+
/bin/systemctl daemon-reload >/dev/null 2>&1 ||:
|
410
|
+
rm %{pending_upgrade_file}
|
411
|
+
fi
|
386
412
|
# Package upgrade, not uninstall
|
387
413
|
/bin/systemctl try-restart puppetagent.service >/dev/null 2>&1 || :
|
388
414
|
fi
|
data/ext/suse/puppet.spec
CHANGED
@@ -14,7 +14,7 @@ Source0: http://puppetlabs.com/downloads/puppet/%{name}-%{version}.tar.gz
|
|
14
14
|
|
15
15
|
PreReq: %{insserv_prereq} %{fillup_prereq}
|
16
16
|
Requires: ruby >= 1.8.7
|
17
|
-
Requires: facter >= 1.
|
17
|
+
Requires: facter >= 1:1.7.0
|
18
18
|
Requires: cron
|
19
19
|
Requires: logrotate
|
20
20
|
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
data/ext/upload_facts.rb
CHANGED
@@ -53,7 +53,7 @@ uploaded.
|
|
53
53
|
|
54
54
|
= Options
|
55
55
|
|
56
|
-
Note that any
|
56
|
+
Note that any setting that's valid in the configuration file
|
57
57
|
is also a valid long argument. For example, 'server' is a valid configuration
|
58
58
|
parameter, so you can specify '--server <servername>' as an argument.
|
59
59
|
|
@@ -4,6 +4,7 @@ require 'fileutils'
|
|
4
4
|
require 'win32/daemon'
|
5
5
|
require 'win32/dir'
|
6
6
|
require 'win32/process'
|
7
|
+
require 'win32/eventlog'
|
7
8
|
|
8
9
|
require 'windows/synchronize'
|
9
10
|
require 'windows/handle'
|
@@ -13,6 +14,7 @@ class WindowsDaemon < Win32::Daemon
|
|
13
14
|
include Windows::Handle
|
14
15
|
include Windows::Process
|
15
16
|
|
17
|
+
@LOG_TO_FILE = false
|
16
18
|
LOG_FILE = File.expand_path(File.join(Dir::COMMON_APPDATA, 'PuppetLabs', 'puppet', 'var', 'log', 'windows.log'))
|
17
19
|
LEVELS = [:debug, :info, :notice, :err]
|
18
20
|
LEVELS.each do |level|
|
@@ -22,28 +24,46 @@ class WindowsDaemon < Win32::Daemon
|
|
22
24
|
end
|
23
25
|
|
24
26
|
def service_init
|
25
|
-
FileUtils.mkdir_p(File.dirname(LOG_FILE))
|
26
27
|
end
|
27
28
|
|
28
|
-
def service_main(*
|
29
|
-
|
30
|
-
|
29
|
+
def service_main(*argsv)
|
30
|
+
argsv = (argsv << ARGV).flatten.compact
|
31
|
+
args = argsv.join(' ')
|
32
|
+
@loglevel = LEVELS.index(argsv.index('--debug') ? :debug : :notice)
|
31
33
|
|
32
|
-
|
34
|
+
@LOG_TO_FILE = (argsv.index('--logtofile') ? true : false)
|
33
35
|
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
36
|
+
if (@LOG_TO_FILE)
|
37
|
+
FileUtils.mkdir_p(File.dirname(LOG_FILE))
|
38
|
+
args = args.gsub("--logtofile","")
|
39
|
+
end
|
40
|
+
basedir = File.expand_path(File.join(File.dirname(__FILE__), '..'))
|
41
|
+
|
42
|
+
# The puppet installer registers a 'Puppet' event source. For the moment events will be logged with this key, but
|
43
|
+
# it may be a good idea to split the Service and Puppet events later so it's easier to read in the windows Event Log.
|
44
|
+
#
|
45
|
+
# Example code to register an event source;
|
46
|
+
# eventlogdll = File.expand_path(File.join(basedir, 'puppet', 'ext', 'windows', 'eventlog', 'puppetres.dll'))
|
47
|
+
# if (File.exists?(eventlogdll))
|
48
|
+
# Win32::EventLog.add_event_source(
|
49
|
+
# 'source' => "Application",
|
50
|
+
# 'key_name' => "Puppet Agent",
|
51
|
+
# 'category_count' => 3,
|
52
|
+
# 'event_message_file' => eventlogdll,
|
53
|
+
# 'category_message_file' => eventlogdll
|
54
|
+
# )
|
55
|
+
# end
|
56
|
+
|
57
|
+
puppet = File.join(basedir, 'bin', 'puppet.bat')
|
58
|
+
unless File.exists?(puppet)
|
59
|
+
log_err("File not found: '#{puppet}'")
|
60
|
+
return
|
61
|
+
end
|
62
|
+
log_debug("Using '#{puppet}'")
|
38
63
|
|
39
|
-
|
40
|
-
puppet = File.join(basedir, 'bin', 'puppet.bat')
|
41
|
-
unless File.exists?(puppet)
|
42
|
-
log_err("File not found: '#{puppet}'")
|
43
|
-
return
|
44
|
-
end
|
64
|
+
log_notice('Service started')
|
45
65
|
|
46
|
-
|
66
|
+
while running? do
|
47
67
|
begin
|
48
68
|
runinterval = %x{ "#{puppet}" agent --configprint runinterval }.to_i
|
49
69
|
if runinterval == 0
|
@@ -55,12 +75,17 @@ class WindowsDaemon < Win32::Daemon
|
|
55
75
|
runinterval = 1800
|
56
76
|
end
|
57
77
|
|
58
|
-
|
59
|
-
|
78
|
+
if state == RUNNING or state == IDLE
|
79
|
+
log_notice("Executing agent with arguments: #{args}")
|
80
|
+
pid = Process.create(:command_line => "\"#{puppet}\" agent --onetime #{args}", :creation_flags => Process::CREATE_NEW_CONSOLE).process_id
|
81
|
+
log_debug("Process created: #{pid}")
|
82
|
+
else
|
83
|
+
log_debug("Service is paused. Not invoking Puppet agent")
|
84
|
+
end
|
60
85
|
|
61
86
|
log_debug("Service waiting for #{runinterval} seconds")
|
62
87
|
sleep(runinterval)
|
63
|
-
log_debug('Service
|
88
|
+
log_debug('Service woken up')
|
64
89
|
end
|
65
90
|
|
66
91
|
log_notice('Service stopped')
|
@@ -73,6 +98,26 @@ class WindowsDaemon < Win32::Daemon
|
|
73
98
|
Thread.main.wakeup
|
74
99
|
end
|
75
100
|
|
101
|
+
def service_pause
|
102
|
+
# The service will not stay in a paused stated, instead it will go back into a running state after a short period of time. This is an issue in the Win32-Service ruby code
|
103
|
+
# Raised bug https://github.com/djberg96/win32-service/issues/11 and is fixed in version 0.8.3.
|
104
|
+
# Because the Pause feature is so rarely used, there is no point in creating a workaround until puppet uses 0.8.3.
|
105
|
+
log_notice('Service pausing. The service will not stay paused. See Puppet Issue PUP-1471 for more information')
|
106
|
+
end
|
107
|
+
|
108
|
+
def service_resume
|
109
|
+
log_notice('Service resuming')
|
110
|
+
end
|
111
|
+
|
112
|
+
def service_shutdown
|
113
|
+
log_notice('Host shutting down')
|
114
|
+
end
|
115
|
+
|
116
|
+
# Interrogation handler is just for debug. Can be commented out or removed entirely.
|
117
|
+
# def service_interrogate
|
118
|
+
# log_debug('Service is being interrogated')
|
119
|
+
# end
|
120
|
+
|
76
121
|
def log_exception(e)
|
77
122
|
log_err(e.message)
|
78
123
|
log_err(e.backtrace.join("\n"))
|
@@ -80,7 +125,41 @@ class WindowsDaemon < Win32::Daemon
|
|
80
125
|
|
81
126
|
def log(msg, level)
|
82
127
|
if LEVELS.index(level) >= @loglevel
|
83
|
-
|
128
|
+
if (@LOG_TO_FILE)
|
129
|
+
File.open(LOG_FILE, 'a') { |f| f.puts("#{Time.now} Puppet (#{level}): #{msg}") }
|
130
|
+
end
|
131
|
+
|
132
|
+
case level
|
133
|
+
when :debug
|
134
|
+
report_windows_event(Win32::EventLog::INFO,0x01,msg.to_s)
|
135
|
+
when :info
|
136
|
+
report_windows_event(Win32::EventLog::INFO,0x01,msg.to_s)
|
137
|
+
when :notice
|
138
|
+
report_windows_event(Win32::EventLog::INFO,0x01,msg.to_s)
|
139
|
+
when :err
|
140
|
+
report_windows_event(Win32::EventLog::ERR,0x03,msg.to_s)
|
141
|
+
else
|
142
|
+
report_windows_event(Win32::EventLog::WARN,0x02,msg.to_s)
|
143
|
+
end
|
144
|
+
end
|
145
|
+
end
|
146
|
+
|
147
|
+
def report_windows_event(type,id,message)
|
148
|
+
begin
|
149
|
+
eventlog = nil
|
150
|
+
eventlog = Win32::EventLog.open("Application")
|
151
|
+
eventlog.report_event(
|
152
|
+
:source => "Puppet",
|
153
|
+
:event_type => type, # Win32::EventLog::INFO or WARN, ERROR
|
154
|
+
:event_id => id, # 0x01 or 0x02, 0x03 etc.
|
155
|
+
:data => message # "the message"
|
156
|
+
)
|
157
|
+
rescue Exception => e
|
158
|
+
# Ignore all errors
|
159
|
+
ensure
|
160
|
+
if (!eventlog.nil?)
|
161
|
+
eventlog.close
|
162
|
+
end
|
84
163
|
end
|
85
164
|
end
|
86
165
|
end
|