puppet 4.10.0 → 5.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CONTRIBUTING.md +17 -0
- data/Gemfile +6 -10
- data/MAINTAINERS +0 -5
- data/Rakefile +2 -1
- data/conf/auth.conf +21 -0
- data/conf/fileserver.conf +7 -12
- data/conf/hiera.yaml +11 -0
- data/ext/debian/puppet-common.install +0 -1
- data/ext/debian/puppet-common.manpages +0 -2
- data/ext/hiera/hiera.yaml +15 -0
- data/ext/logcheck/puppet +1 -1
- data/ext/project_data.yaml +3 -6
- data/ext/puppet-test +0 -24
- data/ext/rack/config.ru +2 -2
- data/ext/redhat/puppet.spec.erb +0 -3
- data/ext/windows/service/daemon.rb +8 -14
- data/install.rb +1 -1
- data/lib/hiera/puppet_function.rb +1 -1
- data/lib/puppet/agent/disabler.rb +3 -3
- data/lib/puppet/agent/locker.rb +3 -3
- data/lib/puppet/agent.rb +27 -16
- data/lib/puppet/application/agent.rb +16 -9
- data/lib/puppet/application/apply.rb +19 -17
- data/lib/puppet/application/cert.rb +2 -2
- data/lib/puppet/application/describe.rb +2 -2
- data/lib/puppet/application/device.rb +71 -46
- data/lib/puppet/application/doc.rb +9 -9
- data/lib/puppet/application/face_base.rb +8 -13
- data/lib/puppet/application/filebucket.rb +8 -8
- data/lib/puppet/application/lookup.rb +101 -88
- data/lib/puppet/application/master.rb +15 -23
- data/lib/puppet/application/resource.rb +20 -17
- data/lib/puppet/application.rb +11 -11
- data/lib/puppet/configurer/downloader.rb +2 -2
- data/lib/puppet/configurer/fact_handler.rb +13 -4
- data/lib/puppet/configurer.rb +29 -28
- data/lib/puppet/context/trusted_information.rb +1 -1
- data/lib/puppet/context.rb +5 -5
- data/lib/puppet/defaults.rb +58 -104
- data/lib/puppet/error.rb +1 -1
- data/lib/puppet/etc.rb +75 -39
- data/lib/puppet/external/pson/common.rb +4 -0
- data/lib/puppet/face/ca.rb +50 -43
- data/lib/puppet/face/catalog/select.rb +4 -4
- data/lib/puppet/face/catalog.rb +2 -2
- data/lib/puppet/face/certificate.rb +21 -21
- data/lib/puppet/face/certificate_request.rb +1 -1
- data/lib/puppet/face/certificate_revocation_list.rb +1 -1
- data/lib/puppet/face/config.rb +10 -10
- data/lib/puppet/face/epp.rb +38 -38
- data/lib/puppet/face/facts.rb +5 -5
- data/lib/puppet/face/generate.rb +8 -8
- data/lib/puppet/face/help.rb +8 -8
- data/lib/puppet/face/key.rb +3 -3
- data/lib/puppet/face/man.rb +7 -7
- data/lib/puppet/face/module/build.rb +7 -7
- data/lib/puppet/face/module/changes.rb +6 -6
- data/lib/puppet/face/module/generate.rb +24 -24
- data/lib/puppet/face/module/install.rb +13 -9
- data/lib/puppet/face/module/list.rb +16 -12
- data/lib/puppet/face/module/search.rb +4 -4
- data/lib/puppet/face/module/uninstall.rb +13 -10
- data/lib/puppet/face/module/upgrade.rb +11 -7
- data/lib/puppet/face/module.rb +3 -3
- data/lib/puppet/face/node/clean.rb +8 -8
- data/lib/puppet/face/node.rb +6 -6
- data/lib/puppet/face/parser.rb +17 -17
- data/lib/puppet/face/plugin.rb +7 -7
- data/lib/puppet/face/report.rb +10 -10
- data/lib/puppet/face/resource.rb +13 -13
- data/lib/puppet/face/status.rb +5 -5
- data/lib/puppet/feature/base.rb +4 -3
- data/lib/puppet/feature/eventlog.rb +1 -1
- data/lib/puppet/file_bucket/dipper.rb +9 -9
- data/lib/puppet/file_bucket/file.rb +4 -17
- data/lib/puppet/file_serving/base.rb +3 -3
- data/lib/puppet/file_serving/configuration/parser.rb +12 -12
- data/lib/puppet/file_serving/configuration.rb +3 -3
- data/lib/puppet/file_serving/content.rb +1 -1
- data/lib/puppet/file_serving/fileset.rb +7 -5
- data/lib/puppet/file_serving/http_metadata.rb +1 -1
- data/lib/puppet/file_serving/metadata.rb +9 -9
- data/lib/puppet/file_serving/mount/file.rb +6 -6
- data/lib/puppet/file_serving/mount/modules.rb +1 -1
- data/lib/puppet/file_serving/mount.rb +1 -1
- data/lib/puppet/file_serving/terminus_selector.rb +1 -1
- data/lib/puppet/file_system/file_impl.rb +2 -2
- data/lib/puppet/file_system/memory_impl.rb +1 -1
- data/lib/puppet/file_system/path_pattern.rb +6 -6
- data/lib/puppet/file_system/uniquefile.rb +2 -2
- data/lib/puppet/file_system/windows.rb +3 -3
- data/lib/puppet/forge/cache.rb +1 -0
- data/lib/puppet/forge/errors.rb +12 -12
- data/lib/puppet/forge/repository.rb +2 -1
- data/lib/puppet/forge.rb +10 -8
- data/lib/puppet/functions/annotate.rb +108 -0
- data/lib/puppet/functions/binary_file.rb +1 -1
- data/lib/puppet/functions/call.rb +42 -0
- data/lib/puppet/functions/defined.rb +4 -4
- data/lib/puppet/functions/dig.rb +1 -1
- data/lib/puppet/functions/eyaml_lookup_key.rb +16 -12
- data/lib/puppet/functions/hiera.rb +9 -2
- data/lib/puppet/functions/hiera_array.rb +9 -2
- data/lib/puppet/functions/hiera_hash.rb +10 -2
- data/lib/puppet/functions/hiera_include.rb +18 -4
- data/lib/puppet/functions/hocon_data.rb +8 -2
- data/lib/puppet/functions/json_data.rb +5 -1
- data/lib/puppet/functions/match.rb +2 -2
- data/lib/puppet/functions/reduce.rb +14 -2
- data/lib/puppet/functions/require.rb +1 -1
- data/lib/puppet/functions/slice.rb +3 -3
- data/lib/puppet/functions/strftime.rb +10 -2
- data/lib/puppet/functions/unique.rb +132 -0
- data/lib/puppet/functions/yaml_data.rb +4 -0
- data/lib/puppet/functions.rb +17 -45
- data/lib/puppet/generate/models/type/type.rb +6 -5
- data/lib/puppet/generate/templates/type/pcore.erb +1 -1
- data/lib/puppet/generate/type.rb +12 -12
- data/lib/puppet/graph/relationship_graph.rb +4 -1
- data/lib/puppet/graph/simple_graph.rb +45 -66
- data/lib/puppet/indirector/catalog/compiler.rb +61 -44
- data/lib/puppet/indirector/catalog/json.rb +18 -0
- data/lib/puppet/indirector/certificate/disabled_ca.rb +1 -1
- data/lib/puppet/indirector/certificate_request/ca.rb +3 -3
- data/lib/puppet/indirector/certificate_request/disabled_ca.rb +1 -1
- data/lib/puppet/indirector/certificate_revocation_list/disabled_ca.rb +1 -1
- data/lib/puppet/indirector/certificate_status/file.rb +6 -6
- data/lib/puppet/indirector/exec.rb +2 -2
- data/lib/puppet/indirector/face.rb +18 -18
- data/lib/puppet/indirector/file_bucket_file/file.rb +9 -8
- data/lib/puppet/indirector/file_metadata/http.rb +1 -1
- data/lib/puppet/indirector/file_server.rb +10 -2
- data/lib/puppet/indirector/hiera.rb +5 -3
- data/lib/puppet/indirector/indirection.rb +13 -15
- data/lib/puppet/indirector/json.rb +11 -12
- data/lib/puppet/indirector/key/disabled_ca.rb +1 -1
- data/lib/puppet/indirector/key/file.rb +2 -2
- data/lib/puppet/indirector/ldap.rb +6 -5
- data/lib/puppet/indirector/memory.rb +1 -1
- data/lib/puppet/indirector/msgpack.rb +8 -7
- data/lib/puppet/indirector/node/exec.rb +8 -6
- data/lib/puppet/indirector/node/ldap.rb +9 -7
- data/lib/puppet/indirector/node/plain.rb +2 -1
- data/lib/puppet/indirector/node/write_only_yaml.rb +6 -1
- data/lib/puppet/indirector/node/yaml.rb +0 -9
- data/lib/puppet/indirector/report/processor.rb +2 -2
- data/lib/puppet/indirector/report/rest.rb +13 -0
- data/lib/puppet/indirector/request.rb +9 -16
- data/lib/puppet/indirector/resource/ral.rb +1 -1
- data/lib/puppet/indirector/resource/validator.rb +1 -1
- data/lib/puppet/indirector/rest.rb +28 -10
- data/lib/puppet/indirector/ssl_file.rb +9 -9
- data/lib/puppet/indirector/terminus.rb +3 -3
- data/lib/puppet/indirector/yaml.rb +5 -5
- data/lib/puppet/indirector.rb +2 -2
- data/lib/puppet/info_service/class_information_service.rb +4 -5
- data/lib/puppet/interface/face_collection.rb +6 -1
- data/lib/puppet/interface.rb +2 -6
- data/lib/puppet/module.rb +12 -7
- data/lib/puppet/module_tool/applications/application.rb +8 -9
- data/lib/puppet/module_tool/applications/builder.rb +5 -6
- data/lib/puppet/module_tool/applications/checksummer.rb +2 -2
- data/lib/puppet/module_tool/applications/installer.rb +11 -10
- data/lib/puppet/module_tool/applications/searcher.rb +1 -1
- data/lib/puppet/module_tool/applications/uninstaller.rb +2 -1
- data/lib/puppet/module_tool/applications/unpacker.rb +3 -3
- data/lib/puppet/module_tool/applications/upgrader.rb +10 -9
- data/lib/puppet/module_tool/contents_description.rb +1 -1
- data/lib/puppet/module_tool/dependency.rb +0 -1
- data/lib/puppet/module_tool/errors/installer.rb +22 -22
- data/lib/puppet/module_tool/errors/shared.rb +44 -42
- data/lib/puppet/module_tool/errors/uninstaller.rb +13 -9
- data/lib/puppet/module_tool/errors/upgrader.rb +11 -11
- data/lib/puppet/module_tool/install_directory.rb +1 -1
- data/lib/puppet/module_tool/installed_modules.rb +3 -3
- data/lib/puppet/module_tool/local_tarball.rb +4 -4
- data/lib/puppet/module_tool/metadata.rb +16 -13
- data/lib/puppet/module_tool/shared_behaviors.rb +6 -6
- data/lib/puppet/module_tool/skeleton/templates/generator/Gemfile +1 -1
- data/lib/puppet/module_tool/skeleton/templates/generator/README.md.erb +10 -4
- data/lib/puppet/module_tool/skeleton/templates/generator/Rakefile +2 -2
- data/lib/puppet/module_tool/skeleton/templates/generator/examples/init.pp.erb +1 -1
- data/lib/puppet/module_tool/tar.rb +5 -4
- data/lib/puppet/module_tool.rb +7 -3
- data/lib/puppet/network/auth_config_parser.rb +12 -11
- data/lib/puppet/network/authconfig.rb +2 -2
- data/lib/puppet/network/authstore.rb +2 -2
- data/lib/puppet/network/format.rb +7 -7
- data/lib/puppet/network/format_handler.rb +12 -9
- data/lib/puppet/network/format_support.rb +11 -5
- data/lib/puppet/network/formats.rb +38 -27
- data/lib/puppet/network/http/api/indirected_routes.rb +72 -33
- data/lib/puppet/network/http/api/master/v3/environment.rb +33 -14
- data/lib/puppet/network/http/compression.rb +10 -7
- data/lib/puppet/network/http/connection.rb +19 -15
- data/lib/puppet/network/http/error.rb +14 -10
- data/lib/puppet/network/http/handler.rb +8 -4
- data/lib/puppet/network/http/issues.rb +1 -0
- data/lib/puppet/network/http/pool.rb +1 -1
- data/lib/puppet/network/http/rack/rest.rb +3 -2
- data/lib/puppet/network/http/rack.rb +2 -2
- data/lib/puppet/network/http/request.rb +34 -20
- data/lib/puppet/network/http/response.rb +13 -1
- data/lib/puppet/network/http/webrick/rest.rb +2 -2
- data/lib/puppet/network/http/webrick.rb +5 -5
- data/lib/puppet/network/rights.rb +6 -6
- data/lib/puppet/network/server.rb +2 -2
- data/lib/puppet/node/environment.rb +21 -4
- data/lib/puppet/node/facts.rb +0 -5
- data/lib/puppet/node.rb +25 -13
- data/lib/puppet/parameter/package_options.rb +1 -1
- data/lib/puppet/parameter/path.rb +3 -3
- data/lib/puppet/parameter/value_collection.rb +4 -4
- data/lib/puppet/parameter.rb +3 -28
- data/lib/puppet/parser/ast/node.rb +1 -1
- data/lib/puppet/parser/ast/pops_bridge.rb +3 -3
- data/lib/puppet/parser/ast/resource.rb +1 -1
- data/lib/puppet/parser/ast/resource_instance.rb +1 -1
- data/lib/puppet/parser/ast/resourceparam.rb +1 -1
- data/lib/puppet/parser/compiler/catalog_validator/env_relationship_validator.rb +2 -2
- data/lib/puppet/parser/compiler/catalog_validator/relationship_validator.rb +6 -9
- data/lib/puppet/parser/compiler/catalog_validator/site_validator.rb +1 -1
- data/lib/puppet/parser/compiler.rb +44 -113
- data/lib/puppet/parser/e4_parser_adapter.rb +1 -2
- data/lib/puppet/parser/environment_compiler.rb +13 -15
- data/lib/puppet/parser/functions/contain.rb +1 -1
- data/lib/puppet/parser/functions/create_resources.rb +11 -3
- data/lib/puppet/parser/functions/file.rb +1 -1
- data/lib/puppet/parser/functions/generate.rb +5 -4
- data/lib/puppet/parser/functions/hiera_include.rb +1 -1
- data/lib/puppet/parser/functions/include.rb +2 -1
- data/lib/puppet/parser/functions/inline_template.rb +1 -1
- data/lib/puppet/parser/functions/new.rb +14 -1
- data/lib/puppet/parser/functions/require.rb +1 -1
- data/lib/puppet/parser/functions.rb +6 -6
- data/lib/puppet/parser/parser_factory.rb +0 -30
- data/lib/puppet/parser/relationship.rb +49 -20
- data/lib/puppet/parser/resource/param.rb +0 -3
- data/lib/puppet/parser/resource.rb +31 -30
- data/lib/puppet/parser/scope.rb +124 -170
- data/lib/puppet/parser/templatewrapper.rb +2 -2
- data/lib/puppet/parser/type_loader.rb +1 -1
- data/lib/puppet/plugins/configuration.rb +15 -67
- data/lib/puppet/plugins/syntax_checkers.rb +6 -11
- data/lib/puppet/pops/adaptable.rb +8 -3
- data/lib/puppet/pops/adapters.rb +33 -87
- data/lib/puppet/pops/evaluator/access_operator.rb +10 -39
- data/lib/puppet/pops/evaluator/collector_transformer.rb +9 -14
- data/lib/puppet/pops/evaluator/collectors/catalog_collector.rb +2 -2
- data/lib/puppet/pops/evaluator/collectors/exported_collector.rb +3 -3
- data/lib/puppet/pops/evaluator/compare_operator.rb +7 -7
- data/lib/puppet/pops/evaluator/epp_evaluator.rb +1 -1
- data/lib/puppet/pops/evaluator/evaluator_impl.rb +45 -37
- data/lib/puppet/pops/evaluator/external_syntax_support.rb +2 -9
- data/lib/puppet/pops/evaluator/json_strict_literal_evaluator.rb +0 -2
- data/lib/puppet/pops/evaluator/puppet_proc.rb +1 -1
- data/lib/puppet/pops/evaluator/relationship_operator.rb +26 -9
- data/lib/puppet/pops/evaluator/runtime3_converter.rb +17 -1
- data/lib/puppet/pops/evaluator/runtime3_resource_support.rb +0 -2
- data/lib/puppet/pops/evaluator/runtime3_support.rb +44 -30
- data/lib/puppet/pops/functions/dispatch.rb +1 -6
- data/lib/puppet/pops/issues.rb +189 -161
- data/lib/puppet/pops/loader/base_loader.rb +2 -2
- data/lib/puppet/pops/loader/gem_support.rb +2 -2
- data/lib/puppet/pops/loader/loader.rb +4 -0
- data/lib/puppet/pops/loader/module_loaders.rb +59 -10
- data/lib/puppet/pops/loader/predefined_loader.rb +1 -6
- data/lib/puppet/pops/loader/puppet_function_instantiator.rb +8 -8
- data/lib/puppet/pops/loader/puppet_resource_type_impl_instantiator.rb +9 -10
- data/lib/puppet/pops/loader/ruby_function_instantiator.rb +3 -3
- data/lib/puppet/pops/loader/static_loader.rb +32 -63
- data/lib/puppet/pops/loader/type_definition_instantiator.rb +8 -8
- data/lib/puppet/pops/loader/typed_name.rb +6 -0
- data/lib/puppet/pops/loaders.rb +22 -20
- data/lib/puppet/pops/lookup/context.rb +1 -1
- data/lib/puppet/pops/lookup/data_provider.rb +3 -18
- data/lib/puppet/pops/lookup/environment_data_provider.rb +1 -1
- data/lib/puppet/pops/lookup/global_data_provider.rb +7 -10
- data/lib/puppet/pops/lookup/hiera_config.rb +13 -34
- data/lib/puppet/pops/lookup/interpolation.rb +9 -8
- data/lib/puppet/pops/lookup/invocation.rb +13 -3
- data/lib/puppet/pops/lookup/lookup_adapter.rb +30 -69
- data/lib/puppet/pops/lookup/lookup_key.rb +2 -2
- data/lib/puppet/pops/lookup/module_data_provider.rb +11 -3
- data/lib/puppet/pops/lookup/sub_lookup.rb +12 -10
- data/lib/puppet/pops/lookup.rb +7 -5
- data/lib/puppet/pops/merge_strategy.rb +16 -1
- data/lib/puppet/pops/model/ast.pp +692 -0
- data/lib/puppet/pops/model/ast.rb +4833 -0
- data/lib/puppet/pops/model/ast_transformer.rb +9 -10
- data/lib/puppet/pops/model/factory.rb +454 -527
- data/lib/puppet/pops/model/model_label_provider.rb +3 -2
- data/lib/puppet/pops/model/model_tree_dumper.rb +8 -7
- data/lib/puppet/pops/parser/egrammar.ra +66 -60
- data/lib/puppet/pops/parser/eparser.rb +1483 -1578
- data/lib/puppet/pops/parser/evaluating_parser.rb +5 -5
- data/lib/puppet/pops/parser/interpolation_support.rb +4 -4
- data/lib/puppet/pops/parser/lexer2.rb +27 -36
- data/lib/puppet/pops/parser/locator.rb +39 -16
- data/lib/puppet/pops/parser/parser_support.rb +25 -29
- data/lib/puppet/pops/pcore.rb +28 -21
- data/lib/puppet/pops/resource/param.rb +1 -1
- data/lib/puppet/pops/resource/resource_type_impl.rb +3 -3
- data/lib/puppet/pops/semantic_error.rb +12 -0
- data/lib/puppet/pops/serialization/abstract_writer.rb +9 -1
- data/lib/puppet/pops/serialization/deserializer.rb +8 -5
- data/lib/puppet/pops/serialization/from_data_converter.rb +181 -0
- data/lib/puppet/pops/serialization/json.rb +4 -4
- data/lib/puppet/pops/serialization/json_path.rb +126 -0
- data/lib/puppet/pops/serialization/object.rb +6 -6
- data/lib/puppet/pops/serialization/serializer.rb +32 -11
- data/lib/puppet/pops/serialization/to_data_converter.rb +292 -0
- data/lib/puppet/pops/serialization.rb +25 -1
- data/lib/puppet/pops/time/timespan.rb +11 -11
- data/lib/puppet/pops/time/timestamp.rb +8 -8
- data/lib/puppet/pops/types/annotatable.rb +7 -7
- data/lib/puppet/pops/types/annotation.rb +71 -0
- data/lib/puppet/pops/types/class_loader.rb +4 -6
- data/lib/puppet/pops/types/enumeration.rb +2 -2
- data/lib/puppet/pops/types/iterable.rb +2 -2
- data/lib/puppet/pops/types/p_binary_type.rb +7 -1
- data/lib/puppet/pops/types/p_meta_type.rb +16 -12
- data/lib/puppet/pops/types/p_object_type.rb +135 -96
- data/lib/puppet/pops/types/p_runtime_type.rb +1 -1
- data/lib/puppet/pops/types/p_sem_ver_range_type.rb +6 -2
- data/lib/puppet/pops/types/p_timespan_type.rb +55 -4
- data/lib/puppet/pops/types/p_type_set_type.rb +44 -36
- data/lib/puppet/pops/types/puppet_object.rb +13 -3
- data/lib/puppet/pops/types/ruby_generator.rb +291 -127
- data/lib/puppet/pops/types/ruby_method.rb +31 -0
- data/lib/puppet/pops/types/string_converter.rb +125 -59
- data/lib/puppet/pops/types/type_calculator.rb +55 -93
- data/lib/puppet/pops/types/type_factory.rb +34 -6
- data/lib/puppet/pops/types/type_formatter.rb +63 -15
- data/lib/puppet/pops/types/type_mismatch_describer.rb +8 -7
- data/lib/puppet/pops/types/type_parser.rb +28 -13
- data/lib/puppet/pops/types/type_set_reference.rb +7 -7
- data/lib/puppet/pops/types/types.rb +186 -186
- data/lib/puppet/pops/utils.rb +0 -24
- data/lib/puppet/pops/validation/checker4_0.rb +89 -75
- data/lib/puppet/pops/validation/validator_factory_4_0.rb +1 -1
- data/lib/puppet/pops/validation.rb +3 -9
- data/lib/puppet/pops/visitor.rb +21 -0
- data/lib/puppet/pops.rb +7 -37
- data/lib/puppet/property/ensure.rb +3 -3
- data/lib/puppet/property/list.rb +1 -10
- data/lib/puppet/property.rb +17 -14
- data/lib/puppet/provider/aixobject.rb +7 -7
- data/lib/puppet/provider/augeas/augeas.rb +37 -37
- data/lib/puppet/provider/command.rb +1 -1
- data/lib/puppet/provider/cron/crontab.rb +2 -2
- data/lib/puppet/provider/exec/posix.rb +4 -4
- data/lib/puppet/provider/exec/windows.rb +3 -3
- data/lib/puppet/provider/exec.rb +4 -4
- data/lib/puppet/provider/file/posix.rb +5 -5
- data/lib/puppet/provider/file/windows.rb +4 -4
- data/lib/puppet/provider/group/aix.rb +2 -2
- data/lib/puppet/provider/group/groupadd.rb +2 -2
- data/lib/puppet/provider/group/pw.rb +1 -1
- data/lib/puppet/provider/host/parsed.rb +1 -1
- data/lib/puppet/provider/macauthorization/macauthorization.rb +9 -9
- data/lib/puppet/provider/maillist/mailman.rb +2 -2
- data/lib/puppet/provider/mcx/mcxcontent.rb +3 -3
- data/lib/puppet/provider/mount/parsed.rb +10 -8
- data/lib/puppet/provider/mount.rb +2 -1
- data/lib/puppet/provider/naginator.rb +1 -1
- data/lib/puppet/provider/nameservice/directoryservice.rb +11 -11
- data/lib/puppet/provider/nameservice.rb +18 -10
- data/lib/puppet/provider/network_device.rb +2 -1
- data/lib/puppet/provider/package/aix.rb +5 -5
- data/lib/puppet/provider/package/appdmg.rb +2 -2
- data/lib/puppet/provider/package/apple.rb +1 -1
- data/lib/puppet/provider/package/apt.rb +4 -4
- data/lib/puppet/provider/package/aptitude.rb +1 -1
- data/lib/puppet/provider/package/aptrpm.rb +2 -2
- data/lib/puppet/provider/package/blastwave.rb +4 -4
- data/lib/puppet/provider/package/dpkg.rb +3 -3
- data/lib/puppet/provider/package/fink.rb +3 -3
- data/lib/puppet/provider/package/freebsd.rb +1 -1
- data/lib/puppet/provider/package/gem.rb +6 -6
- data/lib/puppet/provider/package/hpux.rb +1 -1
- data/lib/puppet/provider/package/nim.rb +15 -12
- data/lib/puppet/provider/package/openbsd.rb +4 -4
- data/lib/puppet/provider/package/opkg.rb +1 -1
- data/lib/puppet/provider/package/pacman.rb +9 -9
- data/lib/puppet/provider/package/pkg.rb +9 -9
- data/lib/puppet/provider/package/pkgdmg.rb +4 -4
- data/lib/puppet/provider/package/pkgin.rb +3 -3
- data/lib/puppet/provider/package/pkgng.rb +1 -1
- data/lib/puppet/provider/package/pkgutil.rb +6 -6
- data/lib/puppet/provider/package/portage.rb +167 -59
- data/lib/puppet/provider/package/ports.rb +3 -3
- data/lib/puppet/provider/package/portupgrade.rb +4 -4
- data/lib/puppet/provider/package/rpm.rb +7 -4
- data/lib/puppet/provider/package/rug.rb +1 -1
- data/lib/puppet/provider/package/sun.rb +3 -2
- data/lib/puppet/provider/package/up2date.rb +1 -1
- data/lib/puppet/provider/package/urpmi.rb +1 -1
- data/lib/puppet/provider/package/windows/package.rb +3 -3
- data/lib/puppet/provider/package/windows.rb +4 -4
- data/lib/puppet/provider/package/yum.rb +13 -13
- data/lib/puppet/provider/package/zypper.rb +1 -1
- data/lib/puppet/provider/parsedfile.rb +1 -1
- data/lib/puppet/provider/service/upstart.rb +0 -2
- data/lib/puppet/provider/user/aix.rb +1 -1
- data/lib/puppet/provider/user/ldap.rb +1 -1
- data/lib/puppet/provider/user/useradd.rb +1 -1
- data/lib/puppet/provider/yumrepo/inifile.rb +3 -3
- data/lib/puppet/provider.rb +2 -0
- data/lib/puppet/reference/configuration.rb +1 -1
- data/lib/puppet/reference/indirection.rb +1 -1
- data/lib/puppet/reference/metaparameter.rb +1 -1
- data/lib/puppet/reference/providers.rb +6 -6
- data/lib/puppet/reference/type.rb +2 -2
- data/lib/puppet/relationship.rb +7 -9
- data/lib/puppet/reports/http.rb +6 -2
- data/lib/puppet/resource/capability_finder.rb +2 -2
- data/lib/puppet/resource/catalog.rb +26 -41
- data/lib/puppet/resource/status.rb +13 -24
- data/lib/puppet/resource/type.rb +13 -61
- data/lib/puppet/resource/type_collection.rb +30 -23
- data/lib/puppet/resource.rb +85 -108
- data/lib/puppet/settings/array_setting.rb +1 -1
- data/lib/puppet/settings/autosign_setting.rb +1 -1
- data/lib/puppet/settings/boolean_setting.rb +1 -1
- data/lib/puppet/settings/config_file.rb +2 -2
- data/lib/puppet/settings/duration_setting.rb +1 -1
- data/lib/puppet/settings/enum_setting.rb +1 -1
- data/lib/puppet/settings/environment_conf.rb +2 -2
- data/lib/puppet/settings/file_setting.rb +2 -2
- data/lib/puppet/settings/priority_setting.rb +1 -1
- data/lib/puppet/settings/server_list_setting.rb +1 -1
- data/lib/puppet/settings/symbolic_enum_setting.rb +1 -1
- data/lib/puppet/settings/terminus_setting.rb +1 -1
- data/lib/puppet/settings/ttl_setting.rb +2 -2
- data/lib/puppet/settings.rb +1 -1
- data/lib/puppet/ssl/base.rb +2 -2
- data/lib/puppet/ssl/certificate_authority/interface.rb +13 -13
- data/lib/puppet/ssl/certificate_authority.rb +21 -21
- data/lib/puppet/ssl/certificate_factory.rb +2 -2
- data/lib/puppet/ssl/certificate_request.rb +14 -14
- data/lib/puppet/ssl/certificate_request_attributes.rb +3 -3
- data/lib/puppet/ssl/certificate_revocation_list.rb +3 -3
- data/lib/puppet/ssl/host.rb +29 -29
- data/lib/puppet/ssl/inventory.rb +1 -1
- data/lib/puppet/ssl/key.rb +1 -1
- data/lib/puppet/ssl/oids.rb +5 -5
- data/lib/puppet/ssl/validator/default_validator.rb +3 -4
- data/lib/puppet/syntax_checkers/base64.rb +7 -7
- data/lib/puppet/syntax_checkers/json.rb +5 -5
- data/lib/puppet/test/test_helper.rb +0 -4
- data/lib/puppet/transaction/additional_resource_generator.rb +4 -3
- data/lib/puppet/transaction/event.rb +19 -8
- data/lib/puppet/transaction/event_manager.rb +6 -6
- data/lib/puppet/transaction/persistence.rb +6 -6
- data/lib/puppet/transaction/report.rb +35 -41
- data/lib/puppet/transaction/resource_harness.rb +14 -12
- data/lib/puppet/transaction.rb +38 -20
- data/lib/puppet/type/augeas.rb +2 -2
- data/lib/puppet/type/cron.rb +14 -31
- data/lib/puppet/type/exec.rb +48 -42
- data/lib/puppet/type/file/content.rb +1 -1
- data/lib/puppet/type/file/group.rb +3 -3
- data/lib/puppet/type/file/mode.rb +10 -6
- data/lib/puppet/type/file/owner.rb +3 -3
- data/lib/puppet/type/file/selcontext.rb +18 -1
- data/lib/puppet/type/file/source.rb +14 -4
- data/lib/puppet/type/file.rb +21 -22
- data/lib/puppet/type/filebucket.rb +3 -8
- data/lib/puppet/type/group.rb +2 -2
- data/lib/puppet/type/host.rb +6 -6
- data/lib/puppet/type/interface.rb +1 -1
- data/lib/puppet/type/k5login.rb +1 -1
- data/lib/puppet/type/macauthorization.rb +1 -1
- data/lib/puppet/type/mailalias.rb +2 -18
- data/lib/puppet/type/maillist.rb +1 -1
- data/lib/puppet/type/mount.rb +8 -8
- data/lib/puppet/type/notify.rb +2 -0
- data/lib/puppet/type/package.rb +5 -5
- data/lib/puppet/type/resources.rb +6 -6
- data/lib/puppet/type/schedule.rb +9 -9
- data/lib/puppet/type/scheduled_task.rb +4 -4
- data/lib/puppet/type/service.rb +1 -1
- data/lib/puppet/type/ssh_authorized_key.rb +3 -19
- data/lib/puppet/type/sshkey.rb +4 -4
- data/lib/puppet/type/tidy.rb +15 -11
- data/lib/puppet/type/user.rb +29 -27
- data/lib/puppet/type/yumrepo.rb +8 -8
- data/lib/puppet/type/zone.rb +7 -7
- data/lib/puppet/type/zpool.rb +3 -3
- data/lib/puppet/type.rb +0 -6
- data/lib/puppet/util/at_fork/noop.rb +18 -0
- data/lib/puppet/util/at_fork/solaris.rb +158 -0
- data/lib/puppet/util/at_fork.rb +35 -0
- data/lib/puppet/util/autoload.rb +2 -2
- data/lib/puppet/util/backups.rb +6 -6
- data/lib/puppet/util/character_encoding.rb +77 -74
- data/lib/puppet/util/classgen.rb +4 -4
- data/lib/puppet/util/command_line/puppet_option_parser.rb +3 -3
- data/lib/puppet/util/command_line/trollop.rb +31 -31
- data/lib/puppet/util/command_line.rb +4 -4
- data/lib/puppet/util/diff.rb +1 -1
- data/lib/puppet/util/errors.rb +4 -4
- data/lib/puppet/util/execution.rb +8 -8
- data/lib/puppet/util/feature.rb +5 -5
- data/lib/puppet/util/fileparsing.rb +8 -8
- data/lib/puppet/util/filetype.rb +15 -15
- data/lib/puppet/util/http_proxy.rb +1 -1
- data/lib/puppet/util/inifile.rb +4 -4
- data/lib/puppet/util/instance_loader.rb +1 -1
- data/lib/puppet/util/json_lockfile.rb +4 -4
- data/lib/puppet/util/ldap/connection.rb +2 -2
- data/lib/puppet/util/ldap/manager.rb +2 -2
- data/lib/puppet/util/limits.rb +1 -1
- data/lib/puppet/util/log/destinations.rb +10 -16
- data/lib/puppet/util/log.rb +23 -16
- data/lib/puppet/util/logging.rb +11 -8
- data/lib/puppet/util/metric.rb +9 -6
- data/lib/puppet/util/monkey_patches.rb +30 -67
- data/lib/puppet/util/network_device/cisco/device.rb +7 -7
- data/lib/puppet/util/network_device/cisco/interface.rb +1 -1
- data/lib/puppet/util/network_device/config.rb +6 -6
- data/lib/puppet/util/network_device/transport/ssh.rb +6 -6
- data/lib/puppet/util/network_device.rb +1 -1
- data/lib/puppet/util/plist.rb +4 -2
- data/lib/puppet/util/posix.rb +5 -5
- data/lib/puppet/util/profiler/wall_clock.rb +1 -1
- data/lib/puppet/util/provider_features.rb +1 -1
- data/lib/puppet/util/psych_support.rb +3 -11
- data/lib/puppet/util/rdoc/generators/puppet_generator.rb +1 -1
- data/lib/puppet/util/rdoc.rb +4 -4
- data/lib/puppet/util/reference.rb +5 -5
- data/lib/puppet/util/resource_template.rb +1 -1
- data/lib/puppet/util/retry_action.rb +2 -2
- data/lib/puppet/util/selinux.rb +54 -12
- data/lib/puppet/util/splayer.rb +1 -1
- data/lib/puppet/util/storage.rb +5 -5
- data/lib/puppet/util/suidmanager.rb +4 -4
- data/lib/puppet/util/symbolic_file_mode.rb +9 -9
- data/lib/puppet/util/tag_set.rb +1 -4
- data/lib/puppet/util/tagging.rb +2 -2
- data/lib/puppet/util/windows/adsi.rb +14 -14
- data/lib/puppet/util/windows/api_types.rb +5 -2
- data/lib/puppet/util/windows/com.rb +4 -4
- data/lib/puppet/util/windows/error.rb +2 -2
- data/lib/puppet/util/windows/eventlog.rb +192 -0
- data/lib/puppet/util/windows/file.rb +4 -4
- data/lib/puppet/util/windows/principal.rb +6 -5
- data/lib/puppet/util/windows/process.rb +5 -5
- data/lib/puppet/util/windows/registry.rb +11 -11
- data/lib/puppet/util/windows/root_certs.rb +1 -1
- data/lib/puppet/util/windows/security.rb +14 -14
- data/lib/puppet/util/windows/sid.rb +6 -6
- data/lib/puppet/util/windows/taskscheduler.rb +62 -62
- data/lib/puppet/util/windows/user.rb +6 -6
- data/lib/puppet/util/windows.rb +2 -0
- data/lib/puppet/util.rb +138 -14
- data/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/gem_version.rb +1 -1
- data/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/version.rb +122 -114
- data/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/version_range.rb +678 -342
- data/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet.rb +2 -10
- data/lib/puppet/version.rb +1 -1
- data/lib/puppet.rb +47 -33
- data/locales/config.yaml +1 -1
- data/locales/puppet.pot +7931 -29
- data/man/man5/puppet.conf.5 +0 -22
- data/spec/fixtures/unit/data_providers/environments/production/modules/abc/metadata.json +9 -0
- data/spec/fixtures/unit/data_providers/environments/production/modules/xyz/metadata.json +9 -0
- data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/abc/metadata.json +9 -0
- data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/bad_data/metadata.json +9 -0
- data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/bca/metadata.json +9 -0
- data/spec/integration/application/apply_spec.rb +29 -22
- data/spec/integration/configurer_spec.rb +1 -1
- data/spec/integration/defaults_spec.rb +2 -2
- data/spec/integration/faces/documentation_spec.rb +2 -2
- data/spec/integration/indirector/file_content/file_server_spec.rb +1 -0
- data/spec/integration/indirector/file_metadata/file_server_spec.rb +1 -0
- data/spec/integration/parser/catalog_spec.rb +1 -1
- data/spec/integration/parser/class_spec.rb +6 -6
- data/spec/integration/parser/compiler_spec.rb +184 -142
- data/spec/integration/parser/dynamic_scoping_spec.rb +0 -1
- data/spec/integration/parser/pcore_resource_spec.rb +15 -0
- data/spec/integration/parser/scope_spec.rb +53 -4
- data/spec/integration/resource/catalog_spec.rb +0 -4
- data/spec/integration/resource/type_collection_spec.rb +6 -0
- data/spec/integration/transaction/report_spec.rb +2 -2
- data/spec/integration/transaction_spec.rb +2 -2
- data/spec/integration/type/file_spec.rb +29 -0
- data/spec/integration/type/package_spec.rb +7 -1
- data/spec/lib/matchers/json.rb +3 -3
- data/spec/lib/puppet/face/1.0.0/huzzah.rb +1 -1
- data/spec/lib/puppet/face/basetest.rb +1 -1
- data/spec/lib/puppet/face/huzzah.rb +1 -1
- data/spec/lib/puppet/face/version_matching.rb +1 -1
- data/spec/lib/puppet/indirector_testing.rb +4 -0
- data/spec/lib/puppet_spec/character_encoding.rb +12 -0
- data/spec/lib/puppet_spec/compiler.rb +8 -1
- data/spec/lib/puppet_spec/modules.rb +2 -2
- data/spec/lib/puppet_spec/network.rb +10 -6
- data/spec/shared_contexts/types_setup.rb +52 -15
- data/spec/shared_examples/rhel_package_provider.rb +10 -11
- data/spec/spec_helper.rb +0 -11
- data/spec/unit/agent_spec.rb +12 -1
- data/spec/unit/application/agent_spec.rb +7 -0
- data/spec/unit/application/apply_spec.rb +28 -13
- data/spec/unit/application/describe_spec.rb +19 -0
- data/spec/unit/application/device_spec.rb +41 -2
- data/spec/unit/application/face_base_spec.rb +6 -6
- data/spec/unit/application/master_spec.rb +22 -6
- data/spec/unit/application/resource_spec.rb +39 -1
- data/spec/unit/application_spec.rb +0 -6
- data/spec/unit/capability_spec.rb +2 -6
- data/spec/unit/configurer/fact_handler_spec.rb +76 -20
- data/spec/unit/configurer/plugin_handler_spec.rb +13 -19
- data/spec/unit/configurer_spec.rb +36 -19
- data/spec/unit/defaults_spec.rb +0 -30
- data/spec/unit/etc_spec.rb +361 -153
- data/spec/unit/face/module/list_spec.rb +60 -0
- data/spec/unit/file_bucket/file_spec.rb +3 -3
- data/spec/unit/file_serving/http_metadata_spec.rb +1 -1
- data/spec/unit/file_serving/metadata_spec.rb +35 -9
- data/spec/unit/forge/forge_spec.rb +112 -0
- data/spec/unit/forge/repository_spec.rb +4 -4
- data/spec/unit/functions/annotate_spec.rb +175 -0
- data/spec/unit/functions/break_spec.rb +29 -1
- data/spec/unit/functions/call_spec.rb +77 -0
- data/spec/unit/functions/contain_spec.rb +1 -1
- data/spec/unit/functions/lookup_fixture_spec.rb +1 -6
- data/spec/unit/functions/lookup_spec.rb +208 -3
- data/spec/unit/functions/new_spec.rb +1 -1
- data/spec/unit/functions/unique_spec.rb +111 -0
- data/spec/unit/functions4_spec.rb +2 -43
- data/spec/unit/graph/simple_graph_spec.rb +58 -55
- data/spec/unit/indirector/catalog/compiler_spec.rb +213 -153
- data/spec/unit/indirector/catalog/json_spec.rb +50 -1
- data/spec/unit/indirector/facts/facter_spec.rb +1 -2
- data/spec/unit/indirector/file_bucket_file/file_spec.rb +1 -1
- data/spec/unit/indirector/file_server_spec.rb +17 -2
- data/spec/unit/indirector/indirection_spec.rb +1 -36
- data/spec/unit/indirector/json_spec.rb +27 -6
- data/spec/unit/indirector/node/exec_spec.rb +12 -12
- data/spec/unit/indirector/node/ldap_spec.rb +29 -8
- data/spec/unit/indirector/node/plain_spec.rb +16 -6
- data/spec/unit/indirector/node/write_only_yaml_spec.rb +12 -0
- data/spec/unit/indirector/report/processor_spec.rb +2 -2
- data/spec/unit/indirector/report/rest_spec.rb +29 -3
- data/spec/unit/indirector/request_spec.rb +15 -4
- data/spec/unit/indirector/rest_spec.rb +57 -15
- data/spec/unit/interface/face_collection_spec.rb +7 -7
- data/spec/unit/module_spec.rb +10 -2
- data/spec/unit/module_tool/applications/installer_spec.rb +0 -1
- data/spec/unit/module_tool/applications/upgrader_spec.rb +0 -1
- data/spec/unit/module_tool/tar_spec.rb +16 -10
- data/spec/unit/network/format_handler_spec.rb +11 -11
- data/spec/unit/network/format_spec.rb +9 -0
- data/spec/unit/network/formats_spec.rb +322 -138
- data/spec/unit/network/http/api/indirected_routes_spec.rb +65 -55
- data/spec/unit/network/http/api/master/v3/environment_spec.rb +128 -2
- data/spec/unit/network/http/api/master/v3_spec.rb +1 -1
- data/spec/unit/network/http/api_spec.rb +1 -1
- data/spec/unit/network/http/compression_spec.rb +105 -88
- data/spec/unit/network/http/error_spec.rb +1 -2
- data/spec/unit/network/http/handler_spec.rb +8 -12
- data/spec/unit/network/http/rack/rest_spec.rb +3 -3
- data/spec/unit/network/http/request_spec.rb +110 -0
- data/spec/unit/network/http/response_spec.rb +108 -0
- data/spec/unit/node/facts_spec.rb +13 -13
- data/spec/unit/node_spec.rb +33 -10
- data/spec/unit/parameter_spec.rb +73 -5
- data/spec/unit/parser/compiler_spec.rb +1 -1
- data/spec/unit/parser/environment_compiler_spec.rb +0 -2
- data/spec/unit/parser/functions/create_resources_spec.rb +47 -6
- data/spec/unit/parser/resource_spec.rb +86 -24
- data/spec/unit/parser/scope_spec.rb +10 -79
- data/spec/unit/pops/benchmark_spec.rb +8 -26
- data/spec/unit/pops/containment_spec.rb +0 -26
- data/spec/unit/pops/evaluator/access_ops_spec.rb +103 -103
- data/spec/unit/pops/evaluator/arithmetic_ops_spec.rb +59 -6
- data/spec/unit/pops/evaluator/basic_expressions_spec.rb +5 -5
- data/spec/unit/pops/evaluator/comparison_ops_spec.rb +26 -26
- data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +59 -7
- data/spec/unit/pops/evaluator/evaluator_rspec_helper.rb +7 -7
- data/spec/unit/pops/evaluator/runtime3_converter_spec.rb +36 -1
- data/spec/unit/pops/evaluator/string_interpolation_spec.rb +10 -10
- data/spec/unit/pops/evaluator/variables_spec.rb +1 -1
- data/spec/unit/pops/factory_rspec_helper.rb +0 -4
- data/spec/unit/pops/factory_spec.rb +83 -83
- data/spec/unit/pops/loaders/loaders_spec.rb +209 -79
- data/spec/unit/pops/loaders/static_loader_spec.rb +2 -6
- data/spec/unit/pops/lookup/interpolation_spec.rb +50 -10
- data/spec/unit/pops/lookup/lookup_spec.rb +32 -0
- data/spec/unit/pops/model/model_spec.rb +10 -10
- data/spec/unit/pops/parser/epp_parser_spec.rb +1 -1
- data/spec/unit/pops/parser/lexer2_spec.rb +32 -29
- data/spec/unit/pops/parser/{source_pos_adapter_spec.rb → locator_spec.rb} +9 -11
- data/spec/unit/pops/parser/parse_application_spec.rb +0 -3
- data/spec/unit/pops/parser/parse_basic_expressions_spec.rb +4 -4
- data/spec/unit/pops/parser/parse_capabilities_spec.rb +0 -3
- data/spec/unit/pops/parser/parse_containers_spec.rb +17 -19
- data/spec/unit/pops/parser/parse_site_spec.rb +0 -3
- data/spec/unit/pops/parser/parser_spec.rb +8 -10
- data/spec/unit/pops/resource/resource_type_impl_spec.rb +1 -3
- data/spec/unit/pops/serialization/serialization_spec.rb +117 -5
- data/spec/unit/pops/serialization/to_from_hr_spec.rb +494 -0
- data/spec/unit/pops/time/timestamp_spec.rb +13 -0
- data/spec/unit/pops/types/iterable_spec.rb +1 -1
- data/spec/unit/pops/types/p_object_type_spec.rb +100 -14
- data/spec/unit/pops/types/p_sem_ver_type_spec.rb +12 -17
- data/spec/unit/pops/types/p_timestamp_type_spec.rb +8 -8
- data/spec/unit/pops/types/p_type_set_type_spec.rb +4 -12
- data/spec/unit/pops/types/ruby_generator_spec.rb +57 -20
- data/spec/unit/pops/types/string_converter_spec.rb +119 -16
- data/spec/unit/pops/types/type_acceptor_spec.rb +2 -2
- data/spec/unit/pops/types/type_calculator_spec.rb +211 -87
- data/spec/unit/pops/types/type_factory_spec.rb +9 -9
- data/spec/unit/pops/types/type_formatter_spec.rb +32 -19
- data/spec/unit/pops/types/type_parser_spec.rb +6 -6
- data/spec/unit/pops/types/types_spec.rb +53 -2
- data/spec/unit/pops/validator/validator_spec.rb +53 -61
- data/spec/unit/pops/visitor_spec.rb +1 -1
- data/spec/unit/property/list_spec.rb +2 -2
- data/spec/unit/provider/augeas/augeas_spec.rb +1 -1
- data/spec/unit/provider/nameservice/directoryservice_spec.rb +2 -0
- data/spec/unit/provider/nameservice_spec.rb +113 -3
- data/spec/unit/provider/package/portage_spec.rb +103 -17
- data/spec/unit/provider/package/rpm_spec.rb +14 -1
- data/spec/unit/provider/user/directoryservice_spec.rb +7 -7
- data/spec/unit/provider/user/useradd_spec.rb +13 -0
- data/spec/unit/puppet_spec.rb +2 -3
- data/spec/unit/relationship_spec.rb +15 -36
- data/spec/unit/reports/http_spec.rb +11 -8
- data/spec/unit/resource/catalog_spec.rb +81 -53
- data/spec/unit/resource/status_spec.rb +114 -103
- data/spec/unit/resource/type_collection_spec.rb +5 -5
- data/spec/unit/resource/type_spec.rb +4 -71
- data/spec/unit/resource_spec.rb +30 -34
- data/spec/unit/settings_spec.rb +4 -2
- data/spec/unit/ssl/host_spec.rb +34 -34
- data/spec/unit/status_spec.rb +7 -7
- data/spec/unit/transaction/event_spec.rb +18 -15
- data/spec/unit/transaction/report_spec.rb +100 -62
- data/spec/unit/transaction/resource_harness_spec.rb +3 -3
- data/spec/unit/transaction_spec.rb +53 -8
- data/spec/unit/type/file/group_spec.rb +2 -2
- data/spec/unit/type/file/mode_spec.rb +9 -9
- data/spec/unit/type/file/owner_spec.rb +2 -2
- data/spec/unit/type/file/selinux_spec.rb +2 -0
- data/spec/unit/type/file/source_spec.rb +13 -0
- data/spec/unit/type/file_spec.rb +46 -0
- data/spec/unit/type/ssh_authorized_key_spec.rb +2 -2
- data/spec/unit/type/user_spec.rb +2 -4
- data/spec/unit/util/at_fork_spec.rb +150 -0
- data/spec/unit/util/character_encoding_spec.rb +193 -52
- data/spec/unit/util/execution_spec.rb +31 -2
- data/spec/unit/util/log/destinations_spec.rb +5 -6
- data/spec/unit/util/log_spec.rb +62 -17
- data/spec/unit/util/metric_spec.rb +9 -2
- data/spec/unit/util/monkey_patches_spec.rb +6 -188
- data/spec/unit/util/run_mode_spec.rb +17 -10
- data/spec/unit/util/tag_set_spec.rb +2 -2
- data/spec/unit/util/tagging_spec.rb +55 -0
- data/spec/unit/util/windows/eventlog_spec.rb +123 -0
- data/spec/unit/util_spec.rb +237 -2
- data/tasks/benchmark.rake +3 -3
- data/tasks/cfpropertylist.rake +1 -1
- data/tasks/generate_ast_model.rake +78 -0
- metadata +3386 -3635
- checksums.yaml +0 -7
- data/bin/extlookup2hiera +0 -56
- data/ext/emacs/puppet-mode-init.el +0 -6
- data/ext/emacs/puppet-mode.el +0 -433
- data/ext/vim/README +0 -3
- data/ext/vim/ftdetect/puppet.vim +0 -2
- data/ext/vim/ftplugin/puppet.vim +0 -94
- data/ext/vim/indent/puppet.vim +0 -76
- data/ext/vim/syntax/puppet.vim +0 -115
- data/lib/puppet/application/file.rb +0 -4
- data/lib/puppet/application/inspect.rb +0 -182
- data/lib/puppet/application/resource_type.rb +0 -7
- data/lib/puppet/data_providers/data_adapter.rb +0 -37
- data/lib/puppet/data_providers/data_function_support.rb +0 -32
- data/lib/puppet/data_providers/function_env_data_provider.rb +0 -26
- data/lib/puppet/data_providers/function_module_data_provider.rb +0 -24
- data/lib/puppet/data_providers/hiera_config.rb +0 -151
- data/lib/puppet/data_providers/hiera_env_data_provider.rb +0 -25
- data/lib/puppet/data_providers/hiera_interpolate.rb +0 -21
- data/lib/puppet/data_providers/hiera_module_data_provider.rb +0 -30
- data/lib/puppet/data_providers/hiera_support.rb +0 -42
- data/lib/puppet/data_providers/json_data_provider_factory.rb +0 -38
- data/lib/puppet/data_providers/yaml_data_provider_factory.rb +0 -40
- data/lib/puppet/data_providers.rb +0 -34
- data/lib/puppet/face/file/download.rb +0 -56
- data/lib/puppet/face/file/store.rb +0 -21
- data/lib/puppet/face/file.rb +0 -50
- data/lib/puppet/face/resource_type.rb +0 -84
- data/lib/puppet/feature/cfacter.rb +0 -15
- data/lib/puppet/feature/external_facts.rb +0 -5
- data/lib/puppet/indirector/catalog/static_compiler.rb +0 -232
- data/lib/puppet/indirector/resource_type/parser.rb +0 -108
- data/lib/puppet/indirector/resource_type/rest.rb +0 -7
- data/lib/puppet/indirector/resource_type.rb +0 -5
- data/lib/puppet/parser/yaml_trimmer.rb +0 -7
- data/lib/puppet/plugins/binding_schemes.rb +0 -140
- data/lib/puppet/plugins/data_providers/data_provider.rb +0 -406
- data/lib/puppet/plugins/data_providers/registry.rb +0 -51
- data/lib/puppet/plugins/data_providers.rb +0 -45
- data/lib/puppet/pops/binder/binder.rb +0 -398
- data/lib/puppet/pops/binder/binder_issues.rb +0 -124
- data/lib/puppet/pops/binder/bindings_checker.rb +0 -201
- data/lib/puppet/pops/binder/bindings_composer.rb +0 -181
- data/lib/puppet/pops/binder/bindings_factory.rb +0 -813
- data/lib/puppet/pops/binder/bindings_label_provider.rb +0 -45
- data/lib/puppet/pops/binder/bindings_loader.rb +0 -87
- data/lib/puppet/pops/binder/bindings_model.rb +0 -70
- data/lib/puppet/pops/binder/bindings_model_dumper.rb +0 -215
- data/lib/puppet/pops/binder/bindings_model_meta.rb +0 -215
- data/lib/puppet/pops/binder/bindings_validator_factory.rb +0 -28
- data/lib/puppet/pops/binder/config/binder_config.rb +0 -107
- data/lib/puppet/pops/binder/config/binder_config_checker.rb +0 -142
- data/lib/puppet/pops/binder/config/diagnostic_producer.rb +0 -36
- data/lib/puppet/pops/binder/config/issues.rb +0 -90
- data/lib/puppet/pops/binder/injector.rb +0 -771
- data/lib/puppet/pops/binder/injector_entry.rb +0 -57
- data/lib/puppet/pops/binder/key_factory.rb +0 -65
- data/lib/puppet/pops/binder/producers.rb +0 -831
- data/lib/puppet/pops/binder/scheme_handler/confdir_scheme.rb +0 -34
- data/lib/puppet/pops/binder/scheme_handler/module_scheme.rb +0 -143
- data/lib/puppet/pops/binder/scheme_handler/symbolic_scheme.rb +0 -53
- data/lib/puppet/pops/binder/system_bindings.rb +0 -60
- data/lib/puppet/pops/containment.rb +0 -104
- data/lib/puppet/pops/model/model.rb +0 -131
- data/lib/puppet/pops/model/model_meta.rb +0 -629
- data/lib/puppet/pops/serialization/rgen.rb +0 -152
- data/lib/puppet/vendor/load_rgen.rb +0 -2
- data/lib/puppet/vendor/rgen/CHANGELOG +0 -197
- data/lib/puppet/vendor/rgen/MIT-LICENSE +0 -20
- data/lib/puppet/vendor/rgen/PUPPET_README.md +0 -6
- data/lib/puppet/vendor/rgen/README.rdoc +0 -78
- data/lib/puppet/vendor/rgen/Rakefile +0 -41
- data/lib/puppet/vendor/rgen/TODO +0 -41
- data/lib/puppet/vendor/rgen/anounce.txt +0 -61
- data/lib/puppet/vendor/rgen/design_rationale.txt +0 -71
- data/lib/puppet/vendor/rgen/lib/ea_support/ea_support.rb +0 -54
- data/lib/puppet/vendor/rgen/lib/ea_support/id_store.rb +0 -32
- data/lib/puppet/vendor/rgen/lib/ea_support/uml13_ea_metamodel.rb +0 -562
- data/lib/puppet/vendor/rgen/lib/ea_support/uml13_ea_metamodel_ext.rb +0 -45
- data/lib/puppet/vendor/rgen/lib/ea_support/uml13_ea_metamodel_generator.rb +0 -43
- data/lib/puppet/vendor/rgen/lib/ea_support/uml13_ea_to_uml13.rb +0 -103
- data/lib/puppet/vendor/rgen/lib/ea_support/uml13_to_uml13_ea.rb +0 -89
- data/lib/puppet/vendor/rgen/lib/metamodels/uml13_metamodel.rb +0 -559
- data/lib/puppet/vendor/rgen/lib/metamodels/uml13_metamodel_ext.rb +0 -26
- data/lib/puppet/vendor/rgen/lib/mmgen/metamodel_generator.rb +0 -20
- data/lib/puppet/vendor/rgen/lib/mmgen/mm_ext/ecore_mmgen_ext.rb +0 -91
- data/lib/puppet/vendor/rgen/lib/mmgen/mmgen.rb +0 -28
- data/lib/puppet/vendor/rgen/lib/mmgen/templates/annotations.tpl +0 -37
- data/lib/puppet/vendor/rgen/lib/mmgen/templates/metamodel_generator.tpl +0 -172
- data/lib/puppet/vendor/rgen/lib/rgen/array_extensions.rb +0 -45
- data/lib/puppet/vendor/rgen/lib/rgen/ecore/ecore.rb +0 -218
- data/lib/puppet/vendor/rgen/lib/rgen/ecore/ecore_builder_methods.rb +0 -81
- data/lib/puppet/vendor/rgen/lib/rgen/ecore/ecore_ext.rb +0 -69
- data/lib/puppet/vendor/rgen/lib/rgen/ecore/ecore_interface.rb +0 -47
- data/lib/puppet/vendor/rgen/lib/rgen/ecore/ecore_to_ruby.rb +0 -167
- data/lib/puppet/vendor/rgen/lib/rgen/ecore/ruby_to_ecore.rb +0 -91
- data/lib/puppet/vendor/rgen/lib/rgen/environment.rb +0 -129
- data/lib/puppet/vendor/rgen/lib/rgen/fragment/dump_file_cache.rb +0 -63
- data/lib/puppet/vendor/rgen/lib/rgen/fragment/fragmented_model.rb +0 -140
- data/lib/puppet/vendor/rgen/lib/rgen/fragment/model_fragment.rb +0 -289
- data/lib/puppet/vendor/rgen/lib/rgen/instantiator/abstract_instantiator.rb +0 -66
- data/lib/puppet/vendor/rgen/lib/rgen/instantiator/abstract_xml_instantiator.rb +0 -66
- data/lib/puppet/vendor/rgen/lib/rgen/instantiator/default_xml_instantiator.rb +0 -117
- data/lib/puppet/vendor/rgen/lib/rgen/instantiator/ecore_xml_instantiator.rb +0 -169
- data/lib/puppet/vendor/rgen/lib/rgen/instantiator/json_instantiator.rb +0 -126
- data/lib/puppet/vendor/rgen/lib/rgen/instantiator/json_parser.rb +0 -331
- data/lib/puppet/vendor/rgen/lib/rgen/instantiator/json_parser.y +0 -94
- data/lib/puppet/vendor/rgen/lib/rgen/instantiator/nodebased_xml_instantiator.rb +0 -137
- data/lib/puppet/vendor/rgen/lib/rgen/instantiator/qualified_name_resolver.rb +0 -97
- data/lib/puppet/vendor/rgen/lib/rgen/instantiator/reference_resolver.rb +0 -128
- data/lib/puppet/vendor/rgen/lib/rgen/instantiator/resolution_helper.rb +0 -47
- data/lib/puppet/vendor/rgen/lib/rgen/instantiator/xmi11_instantiator.rb +0 -168
- data/lib/puppet/vendor/rgen/lib/rgen/metamodel_builder/builder_extensions.rb +0 -556
- data/lib/puppet/vendor/rgen/lib/rgen/metamodel_builder/builder_runtime.rb +0 -174
- data/lib/puppet/vendor/rgen/lib/rgen/metamodel_builder/constant_order_helper.rb +0 -89
- data/lib/puppet/vendor/rgen/lib/rgen/metamodel_builder/data_types.rb +0 -77
- data/lib/puppet/vendor/rgen/lib/rgen/metamodel_builder/intermediate/annotation.rb +0 -30
- data/lib/puppet/vendor/rgen/lib/rgen/metamodel_builder/intermediate/feature.rb +0 -168
- data/lib/puppet/vendor/rgen/lib/rgen/metamodel_builder/mm_multiple.rb +0 -23
- data/lib/puppet/vendor/rgen/lib/rgen/metamodel_builder/module_extension.rb +0 -42
- data/lib/puppet/vendor/rgen/lib/rgen/metamodel_builder.rb +0 -224
- data/lib/puppet/vendor/rgen/lib/rgen/model_builder/builder_context.rb +0 -334
- data/lib/puppet/vendor/rgen/lib/rgen/model_builder/model_serializer.rb +0 -225
- data/lib/puppet/vendor/rgen/lib/rgen/model_builder/reference_resolver.rb +0 -156
- data/lib/puppet/vendor/rgen/lib/rgen/model_builder.rb +0 -32
- data/lib/puppet/vendor/rgen/lib/rgen/serializer/json_serializer.rb +0 -121
- data/lib/puppet/vendor/rgen/lib/rgen/serializer/opposite_reference_filter.rb +0 -18
- data/lib/puppet/vendor/rgen/lib/rgen/serializer/qualified_name_provider.rb +0 -47
- data/lib/puppet/vendor/rgen/lib/rgen/serializer/xmi11_serializer.rb +0 -116
- data/lib/puppet/vendor/rgen/lib/rgen/serializer/xmi20_serializer.rb +0 -71
- data/lib/puppet/vendor/rgen/lib/rgen/serializer/xml_serializer.rb +0 -98
- data/lib/puppet/vendor/rgen/lib/rgen/template_language/directory_template_container.rb +0 -83
- data/lib/puppet/vendor/rgen/lib/rgen/template_language/output_handler.rb +0 -87
- data/lib/puppet/vendor/rgen/lib/rgen/template_language/template_container.rb +0 -234
- data/lib/puppet/vendor/rgen/lib/rgen/template_language/template_helper.rb +0 -26
- data/lib/puppet/vendor/rgen/lib/rgen/template_language.rb +0 -297
- data/lib/puppet/vendor/rgen/lib/rgen/transformer.rb +0 -475
- data/lib/puppet/vendor/rgen/lib/rgen/util/auto_class_creator.rb +0 -61
- data/lib/puppet/vendor/rgen/lib/rgen/util/cached_glob.rb +0 -67
- data/lib/puppet/vendor/rgen/lib/rgen/util/file_cache_map.rb +0 -124
- data/lib/puppet/vendor/rgen/lib/rgen/util/file_change_detector.rb +0 -84
- data/lib/puppet/vendor/rgen/lib/rgen/util/method_delegation.rb +0 -114
- data/lib/puppet/vendor/rgen/lib/rgen/util/model_comparator.rb +0 -68
- data/lib/puppet/vendor/rgen/lib/rgen/util/model_comparator_base.rb +0 -142
- data/lib/puppet/vendor/rgen/lib/rgen/util/model_dumper.rb +0 -29
- data/lib/puppet/vendor/rgen/lib/rgen/util/name_helper.rb +0 -42
- data/lib/puppet/vendor/rgen/lib/rgen/util/pattern_matcher.rb +0 -329
- data/lib/puppet/vendor/rgen/lib/transformers/ecore_to_uml13.rb +0 -79
- data/lib/puppet/vendor/rgen/lib/transformers/uml13_to_ecore.rb +0 -127
- data/lib/puppet/vendor/rgen/test/array_extensions_test.rb +0 -64
- data/lib/puppet/vendor/rgen/test/ea_instantiator_test.rb +0 -35
- data/lib/puppet/vendor/rgen/test/ea_serializer_test.rb +0 -23
- data/lib/puppet/vendor/rgen/test/ecore_self_test.rb +0 -54
- data/lib/puppet/vendor/rgen/test/environment_test.rb +0 -90
- data/lib/puppet/vendor/rgen/test/json_test.rb +0 -171
- data/lib/puppet/vendor/rgen/test/metamodel_builder_test.rb +0 -1482
- data/lib/puppet/vendor/rgen/test/metamodel_from_ecore_test.rb +0 -57
- data/lib/puppet/vendor/rgen/test/metamodel_order_test.rb +0 -131
- data/lib/puppet/vendor/rgen/test/metamodel_roundtrip_test/TestModel.rb +0 -70
- data/lib/puppet/vendor/rgen/test/metamodel_roundtrip_test/houseMetamodel.ecore +0 -42
- data/lib/puppet/vendor/rgen/test/metamodel_roundtrip_test/houseMetamodel_from_ecore.rb +0 -44
- data/lib/puppet/vendor/rgen/test/metamodel_roundtrip_test/using_builtin_types.ecore +0 -9
- data/lib/puppet/vendor/rgen/test/metamodel_roundtrip_test.rb +0 -98
- data/lib/puppet/vendor/rgen/test/method_delegation_test.rb +0 -178
- data/lib/puppet/vendor/rgen/test/model_builder/builder_context_test.rb +0 -59
- data/lib/puppet/vendor/rgen/test/model_builder/builder_test.rb +0 -242
- data/lib/puppet/vendor/rgen/test/model_builder/ecore_original.rb +0 -163
- data/lib/puppet/vendor/rgen/test/model_builder/ecore_original_regenerated.rb +0 -163
- data/lib/puppet/vendor/rgen/test/model_builder/reference_resolver_test.rb +0 -156
- data/lib/puppet/vendor/rgen/test/model_builder/serializer_test.rb +0 -94
- data/lib/puppet/vendor/rgen/test/model_builder/statemachine_metamodel.rb +0 -42
- data/lib/puppet/vendor/rgen/test/model_builder/test_model/statemachine1.rb +0 -23
- data/lib/puppet/vendor/rgen/test/model_builder_test.rb +0 -6
- data/lib/puppet/vendor/rgen/test/model_fragment_test.rb +0 -30
- data/lib/puppet/vendor/rgen/test/output_handler_test.rb +0 -58
- data/lib/puppet/vendor/rgen/test/qualified_name_provider_test.rb +0 -48
- data/lib/puppet/vendor/rgen/test/qualified_name_resolver_test.rb +0 -102
- data/lib/puppet/vendor/rgen/test/reference_resolver_test.rb +0 -117
- data/lib/puppet/vendor/rgen/test/rgen_test.rb +0 -26
- data/lib/puppet/vendor/rgen/test/template_language_test/expected_result1.txt +0 -29
- data/lib/puppet/vendor/rgen/test/template_language_test/expected_result2.txt +0 -9
- data/lib/puppet/vendor/rgen/test/template_language_test/expected_result3.txt +0 -4
- data/lib/puppet/vendor/rgen/test/template_language_test/indentStringTestDefaultIndent.out +0 -1
- data/lib/puppet/vendor/rgen/test/template_language_test/indentStringTestTabIndent.out +0 -1
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/callback_indent_test/a.tpl +0 -12
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/callback_indent_test/b.tpl +0 -5
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/code/array.tpl +0 -11
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/content/author.tpl +0 -7
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/content/chapter.tpl +0 -5
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/define_local_test/local.tpl +0 -8
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/define_local_test/test.tpl +0 -8
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/evaluate_test/test.tpl +0 -7
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/indent_string_test.tpl +0 -12
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/index/c/cmod.tpl +0 -1
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/index/chapter.tpl +0 -3
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/no_backslash_r_test.tpl +0 -5
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/no_indent_test/no_indent.tpl +0 -3
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/no_indent_test/sub1/no_indent.tpl +0 -3
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/no_indent_test/test.tpl +0 -24
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/no_indent_test/test2.tpl +0 -13
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/no_indent_test/test3.tpl +0 -10
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/null_context_test.tpl +0 -17
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/root.tpl +0 -31
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/template_resolution_test/sub1/sub1.tpl +0 -3
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/template_resolution_test/sub1.tpl +0 -9
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/template_resolution_test/test.tpl +0 -4
- data/lib/puppet/vendor/rgen/test/template_language_test/testout.txt +0 -29
- data/lib/puppet/vendor/rgen/test/template_language_test.rb +0 -163
- data/lib/puppet/vendor/rgen/test/testmodel/class_model_checker.rb +0 -119
- data/lib/puppet/vendor/rgen/test/testmodel/ea_testmodel.eap +0 -0
- data/lib/puppet/vendor/rgen/test/testmodel/ea_testmodel.xml +0 -1029
- data/lib/puppet/vendor/rgen/test/testmodel/ea_testmodel_partial.xml +0 -317
- data/lib/puppet/vendor/rgen/test/testmodel/ecore_model_checker.rb +0 -101
- data/lib/puppet/vendor/rgen/test/testmodel/manual_testmodel.xml +0 -22
- data/lib/puppet/vendor/rgen/test/testmodel/object_model_checker.rb +0 -67
- data/lib/puppet/vendor/rgen/test/transformer_test.rb +0 -254
- data/lib/puppet/vendor/rgen/test/util/file_cache_map_test.rb +0 -99
- data/lib/puppet/vendor/rgen/test/util/pattern_matcher_test.rb +0 -97
- data/lib/puppet/vendor/rgen/test/util_test.rb +0 -5
- data/lib/puppet/vendor/rgen/test/xml_instantiator_test/simple_ecore_model_checker.rb +0 -94
- data/lib/puppet/vendor/rgen/test/xml_instantiator_test/simple_xmi_ecore_instantiator.rb +0 -53
- data/lib/puppet/vendor/rgen/test/xml_instantiator_test/simple_xmi_metamodel.rb +0 -49
- data/lib/puppet/vendor/rgen/test/xml_instantiator_test/simple_xmi_to_ecore.rb +0 -75
- data/lib/puppet/vendor/rgen/test/xml_instantiator_test.rb +0 -160
- data/lib/puppet/vendor/rgen_patch.rb +0 -132
- data/lib/semver.rb +0 -146
- data/man/man8/extlookup2hiera.8 +0 -10
- data/man/man8/puppet-file.8 +0 -189
- data/man/man8/puppet-resource_type.8 +0 -188
- data/spec/fixtures/unit/data_providers/environments/production/modules/abc/lib/puppet/bindings/abc/default.rb +0 -9
- data/spec/fixtures/unit/data_providers/environments/production/modules/xyz/lib/puppet/bindings/xyz/default.rb +0 -9
- data/spec/fixtures/unit/data_providers/environments/sample/environment.conf +0 -2
- data/spec/fixtures/unit/data_providers/environments/sample/modules/backend/hiera.yaml +0 -5
- data/spec/fixtures/unit/data_providers/environments/sample/modules/backend/lib/puppet/bindings/backend/default.rb +0 -9
- data/spec/fixtures/unit/data_providers/environments/sample/modules/backend/lib/puppet_x/backend/special_data_provider_factory.rb +0 -23
- data/spec/fixtures/unit/data_providers/environments/sample/modules/backend/manifests/init.pp +0 -5
- data/spec/fixtures/unit/data_providers/environments/sample/modules/backend/metadata.json +0 -9
- data/spec/fixtures/unit/data_providers/environments/sample/modules/dataprovider/lib/puppet/bindings/dataprovider/default.rb +0 -54
- data/spec/fixtures/unit/data_providers/environments/sample/modules/dataprovider/lib/puppet_x/helindbe/sample_env_data.rb +0 -33
- data/spec/fixtures/unit/data_providers/environments/sample/modules/dataprovider/lib/puppet_x/helindbe/sample_module_data.rb +0 -33
- data/spec/fixtures/unit/data_providers/environments/sample/modules/dataprovider/manifests/init.pp +0 -5
- data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/abc/lib/puppet/bindings/abc/default.rb +0 -9
- data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/bad_data/lib/puppet/bindings/bad_data/default.rb +0 -9
- data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/bca/lib/puppet/bindings/bca/default.rb +0 -9
- data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/metawcp/lib/puppet/bindings/metawcp/default.rb +0 -10
- data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/metawcp/lib/puppet_x/thallgren/sample_module_data.rb +0 -23
- data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/metawcp/manifests/init.pp +0 -3
- data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/metawcp/metadata.json +0 -9
- data/spec/unit/application/inspect_spec.rb +0 -305
- data/spec/unit/data_providers/custom_data_provider_spec.rb +0 -50
- data/spec/unit/face/file_spec.rb +0 -14
- data/spec/unit/indirector/catalog/static_compiler_spec.rb +0 -255
- data/spec/unit/indirector/resource_type/parser_spec.rb +0 -259
- data/spec/unit/indirector/resource_type/rest_spec.rb +0 -14
- data/spec/unit/pops/binder/binder_spec.rb +0 -43
- data/spec/unit/pops/binder/bindings_checker_spec.rb +0 -155
- data/spec/unit/pops/binder/bindings_composer_spec.rb +0 -64
- data/spec/unit/pops/binder/bindings_validator_factory_spec.rb +0 -18
- data/spec/unit/pops/binder/config/binder_config_spec.rb +0 -42
- data/spec/unit/pops/binder/injector_spec.rb +0 -768
- data/spec/unit/pops/parser/rgen_sanitycheck_spec.rb +0 -23
- data/spec/unit/pops/serialization/rgen_spec.rb +0 -88
- data/spec/unit/semver_spec.rb +0 -546
- /data/lib/puppet/vendor/semantic_puppet/{lib/semantic_puppet/locales → locales}/config.yaml +0 -0
data/lib/puppet/transaction.rb
CHANGED
|
@@ -43,7 +43,7 @@ class Puppet::Transaction
|
|
|
43
43
|
|
|
44
44
|
@persistence = Puppet::Transaction::Persistence.new
|
|
45
45
|
|
|
46
|
-
@report = report || Puppet::Transaction::Report.new(
|
|
46
|
+
@report = report || Puppet::Transaction::Report.new(catalog.version, catalog.environment)
|
|
47
47
|
|
|
48
48
|
@prioritizer = prioritizer
|
|
49
49
|
|
|
@@ -79,7 +79,7 @@ class Puppet::Transaction
|
|
|
79
79
|
prerun_errors.each do |res, detail|
|
|
80
80
|
res.log_exception(detail)
|
|
81
81
|
end
|
|
82
|
-
raise Puppet::Error, "Some pre-run checks failed"
|
|
82
|
+
raise Puppet::Error, _("Some pre-run checks failed")
|
|
83
83
|
end
|
|
84
84
|
end
|
|
85
85
|
|
|
@@ -95,7 +95,7 @@ class Puppet::Transaction
|
|
|
95
95
|
|
|
96
96
|
persistence.load if catalog.host_config?
|
|
97
97
|
|
|
98
|
-
Puppet.info "Applying configuration version '
|
|
98
|
+
Puppet.info _("Applying configuration version '%{version}'") % { version: catalog.version } if catalog.version
|
|
99
99
|
|
|
100
100
|
continue_while = lambda { !stop_processing? }
|
|
101
101
|
|
|
@@ -118,7 +118,7 @@ class Puppet::Transaction
|
|
|
118
118
|
# is one, it must have been selected by the user.
|
|
119
119
|
return if missing_tags?(resource)
|
|
120
120
|
if resource.provider
|
|
121
|
-
resource.err "Provider
|
|
121
|
+
resource.err _("Provider %{name} is not functional on this host") % { name: resource.provider.class.name }
|
|
122
122
|
else
|
|
123
123
|
providerless_types << resource.type
|
|
124
124
|
end
|
|
@@ -134,20 +134,35 @@ class Puppet::Transaction
|
|
|
134
134
|
teardown = lambda do
|
|
135
135
|
# Just once per type. No need to punish the user.
|
|
136
136
|
providerless_types.uniq.each do |type|
|
|
137
|
-
Puppet.err "Could not find a suitable provider for
|
|
137
|
+
Puppet.err _("Could not find a suitable provider for %{type}") % { type: type }
|
|
138
138
|
end
|
|
139
139
|
|
|
140
140
|
post_evalable_providers.each do |provider|
|
|
141
141
|
begin
|
|
142
142
|
provider.post_resource_eval
|
|
143
143
|
rescue => detail
|
|
144
|
-
Puppet.log_exception(detail, "post_resource_eval failed for provider
|
|
144
|
+
Puppet.log_exception(detail, _("post_resource_eval failed for provider %{provider}") % { provider: provider })
|
|
145
145
|
end
|
|
146
146
|
end
|
|
147
147
|
|
|
148
148
|
persistence.save if catalog.host_config?
|
|
149
149
|
end
|
|
150
150
|
|
|
151
|
+
# Graph cycles are returned as an array of arrays
|
|
152
|
+
# - outer array is an array of cycles
|
|
153
|
+
# - each inner array is an array of resources involved in a cycle
|
|
154
|
+
# Short circuit resource evaluation if we detect cycle(s) in the graph. Mark
|
|
155
|
+
# each corresponding resource as failed in the report before we fail to
|
|
156
|
+
# ensure accurate reporting.
|
|
157
|
+
graph_cycle_handler = lambda do |cycles|
|
|
158
|
+
cycles.flatten.uniq.each do |resource|
|
|
159
|
+
# We add a failed resource event to the status to ensure accurate
|
|
160
|
+
# reporting through the event manager.
|
|
161
|
+
resource_status(resource).fail_with_event(_('resource is part of a dependency cycle'))
|
|
162
|
+
end
|
|
163
|
+
raise Puppet::Error, _('One or more resource dependency cycles detected in graph')
|
|
164
|
+
end
|
|
165
|
+
|
|
151
166
|
# Generate the relationship graph, set up our generator to use it
|
|
152
167
|
# for eval_generate, then kick off our traversal.
|
|
153
168
|
generator.relationship_graph = relationship_graph
|
|
@@ -155,13 +170,14 @@ class Puppet::Transaction
|
|
|
155
170
|
:pre_process => pre_process,
|
|
156
171
|
:overly_deferred_resource_handler => overly_deferred_resource_handler,
|
|
157
172
|
:canceled_resource_handler => canceled_resource_handler,
|
|
173
|
+
:graph_cycle_handler => graph_cycle_handler,
|
|
158
174
|
:teardown => teardown) do |resource|
|
|
159
175
|
if resource.is_a?(Puppet::Type::Component)
|
|
160
|
-
Puppet.warning "Somehow left a component in the relationship graph"
|
|
176
|
+
Puppet.warning _("Somehow left a component in the relationship graph")
|
|
161
177
|
else
|
|
162
|
-
resource.info "Starting to evaluate the resource" if Puppet[:evaltrace] and @catalog.host_config?
|
|
178
|
+
resource.info _("Starting to evaluate the resource") if Puppet[:evaltrace] and @catalog.host_config?
|
|
163
179
|
seconds = thinmark { block.call(resource) }
|
|
164
|
-
resource.info "Evaluated in %0.2f seconds" % seconds if Puppet[:evaltrace] and @catalog.host_config?
|
|
180
|
+
resource.info _("Evaluated in %0.2f seconds") % seconds if Puppet[:evaltrace] and @catalog.host_config?
|
|
165
181
|
end
|
|
166
182
|
end
|
|
167
183
|
|
|
@@ -181,7 +197,9 @@ class Puppet::Transaction
|
|
|
181
197
|
|
|
182
198
|
# Are there any failed resources in this transaction?
|
|
183
199
|
def any_failed?
|
|
184
|
-
report.resource_statuses.values.detect { |status|
|
|
200
|
+
report.resource_statuses.values.detect { |status|
|
|
201
|
+
status.failed? || status.failed_to_restart?
|
|
202
|
+
}
|
|
185
203
|
end
|
|
186
204
|
|
|
187
205
|
# Find all of the changed resources.
|
|
@@ -229,9 +247,12 @@ class Puppet::Transaction
|
|
|
229
247
|
def apply(resource, ancestor = nil)
|
|
230
248
|
status = resource_harness.evaluate(resource)
|
|
231
249
|
add_resource_status(status)
|
|
232
|
-
|
|
250
|
+
ancestor ||= resource
|
|
251
|
+
if !(status.failed? || status.failed_to_restart?)
|
|
252
|
+
event_manager.queue_events(ancestor, status.events)
|
|
253
|
+
end
|
|
233
254
|
rescue => detail
|
|
234
|
-
resource.err "Could not evaluate:
|
|
255
|
+
resource.err _("Could not evaluate: %{detail}") % { detail: detail }
|
|
235
256
|
end
|
|
236
257
|
|
|
237
258
|
# Evaluate a single resource.
|
|
@@ -248,10 +269,6 @@ class Puppet::Transaction
|
|
|
248
269
|
end
|
|
249
270
|
end
|
|
250
271
|
|
|
251
|
-
def failed?(resource)
|
|
252
|
-
s = resource_status(resource) and s.failed?
|
|
253
|
-
end
|
|
254
|
-
|
|
255
272
|
# Does this resource have any failed dependencies?
|
|
256
273
|
def failed_dependencies?(resource)
|
|
257
274
|
# When we introduced the :whit into the graph, to reduce the combinatorial
|
|
@@ -265,7 +282,7 @@ class Puppet::Transaction
|
|
|
265
282
|
# See above. --daniel 2011-06-06
|
|
266
283
|
unless suppress_report then
|
|
267
284
|
s.failed_dependencies.each do |dep|
|
|
268
|
-
resource.notice "Dependency
|
|
285
|
+
resource.notice _("Dependency %{dep} has failures: %{status}") % { dep: dep, status: resource_status(dep).failed }
|
|
269
286
|
end
|
|
270
287
|
end
|
|
271
288
|
end
|
|
@@ -285,7 +302,7 @@ class Puppet::Transaction
|
|
|
285
302
|
relationship_graph.direct_dependencies_of(resource).each do |dep|
|
|
286
303
|
if (s = resource_status(dep))
|
|
287
304
|
failed.merge(s.failed_dependencies) if s.dependency_failed?
|
|
288
|
-
if s.failed?
|
|
305
|
+
if s.failed? || s.failed_to_restart?
|
|
289
306
|
failed.add(dep)
|
|
290
307
|
end
|
|
291
308
|
end
|
|
@@ -322,7 +339,8 @@ class Puppet::Transaction
|
|
|
322
339
|
begin
|
|
323
340
|
provider_class.prefetch(resources)
|
|
324
341
|
rescue LoadError, Puppet::MissingCommand => detail
|
|
325
|
-
|
|
342
|
+
#TRANSLATORS `prefetch` is a function name and should not be translated
|
|
343
|
+
Puppet.log_exception(detail, _("Could not prefetch %{type_name} provider '%{name}': %{detail}") % { type_name: type_name, name: provider_class.name, detail: detail })
|
|
326
344
|
end
|
|
327
345
|
@prefetched_providers[type_name][provider_class.name] = true
|
|
328
346
|
end
|
|
@@ -350,7 +368,7 @@ class Puppet::Transaction
|
|
|
350
368
|
# like class and stage. This is undesirable; while just skipping the
|
|
351
369
|
# output isn't perfect, it is RC-safe. --daniel 2011-06-07
|
|
352
370
|
unless resource.class == Puppet::Type.type(:whit) then
|
|
353
|
-
resource.warning "Skipping because of failed dependencies"
|
|
371
|
+
resource.warning _("Skipping because of failed dependencies")
|
|
354
372
|
end
|
|
355
373
|
elsif resource.virtual?
|
|
356
374
|
resource.debug "Skipping because virtual"
|
data/lib/puppet/type/augeas.rb
CHANGED
|
@@ -164,7 +164,7 @@ Puppet::Type.newtype(:augeas) do
|
|
|
164
164
|
validate do
|
|
165
165
|
has_lens = !self[:lens].nil?
|
|
166
166
|
has_incl = !self[:incl].nil?
|
|
167
|
-
self.fail "You must specify both the lens and incl parameters, or neither." if has_lens != has_incl
|
|
167
|
+
self.fail _("You must specify both the lens and incl parameters, or neither.") if has_lens != has_incl
|
|
168
168
|
end
|
|
169
169
|
|
|
170
170
|
newparam(:show_diff, :boolean => true, :parent => Puppet::Parameter::Boolean) do
|
|
@@ -188,7 +188,7 @@ Puppet::Type.newtype(:augeas) do
|
|
|
188
188
|
|
|
189
189
|
# Make output a bit prettier
|
|
190
190
|
def change_to_s(currentvalue, newvalue)
|
|
191
|
-
"executed successfully"
|
|
191
|
+
_("executed successfully")
|
|
192
192
|
end
|
|
193
193
|
|
|
194
194
|
# if the onlyif resource is provided, then the value is parsed.
|
data/lib/puppet/type/cron.rb
CHANGED
|
@@ -109,28 +109,23 @@ Puppet::Type.newtype(:cron) do
|
|
|
109
109
|
false
|
|
110
110
|
end
|
|
111
111
|
|
|
112
|
-
def should_to_s(
|
|
113
|
-
if
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
newvalue[0]
|
|
117
|
-
else
|
|
118
|
-
newvalue.join(",")
|
|
112
|
+
def should_to_s(value = @should)
|
|
113
|
+
if value
|
|
114
|
+
if value.is_a?(Array) && (name == :command || value[0].is_a?(Symbol))
|
|
115
|
+
value = value[0]
|
|
119
116
|
end
|
|
117
|
+
super(value)
|
|
120
118
|
else
|
|
121
119
|
nil
|
|
122
120
|
end
|
|
123
121
|
end
|
|
124
122
|
|
|
125
|
-
def is_to_s(
|
|
126
|
-
if
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
if self.name == :command or currentvalue[0].is_a? Symbol
|
|
130
|
-
currentvalue[0]
|
|
131
|
-
else
|
|
132
|
-
currentvalue.join(",")
|
|
123
|
+
def is_to_s(value = @is)
|
|
124
|
+
if value
|
|
125
|
+
if value.is_a?(Array) && (name == :command || value[0].is_a?(Symbol))
|
|
126
|
+
value = value[0]
|
|
133
127
|
end
|
|
128
|
+
super(value)
|
|
134
129
|
else
|
|
135
130
|
nil
|
|
136
131
|
end
|
|
@@ -195,7 +190,7 @@ Puppet::Type.newtype(:cron) do
|
|
|
195
190
|
if retval
|
|
196
191
|
return retval.to_s
|
|
197
192
|
else
|
|
198
|
-
self.fail "
|
|
193
|
+
self.fail _("%{value} is not a valid %{name}") % { value: value, name: self.class.name }
|
|
199
194
|
end
|
|
200
195
|
end
|
|
201
196
|
end
|
|
@@ -253,7 +248,7 @@ Puppet::Type.newtype(:cron) do
|
|
|
253
248
|
end
|
|
254
249
|
|
|
255
250
|
validate do |value|
|
|
256
|
-
raise ArgumentError, "Invalid special schedule
|
|
251
|
+
raise ArgumentError, _("Invalid special schedule %{value}") % { value: value.inspect } unless specials.include?(value)
|
|
257
252
|
end
|
|
258
253
|
|
|
259
254
|
def munge(value)
|
|
@@ -326,7 +321,7 @@ Puppet::Type.newtype(:cron) do
|
|
|
326
321
|
|
|
327
322
|
validate do |value|
|
|
328
323
|
unless value =~ /^\s*(\w+)\s*=\s*(.*)\s*$/ or value == :absent or value == "absent"
|
|
329
|
-
raise ArgumentError, "Invalid environment setting
|
|
324
|
+
raise ArgumentError, _("Invalid environment setting %{value}") % { value: value.inspect }
|
|
330
325
|
end
|
|
331
326
|
end
|
|
332
327
|
|
|
@@ -338,18 +333,6 @@ Puppet::Type.newtype(:cron) do
|
|
|
338
333
|
end
|
|
339
334
|
end
|
|
340
335
|
|
|
341
|
-
def is_to_s(newvalue)
|
|
342
|
-
if newvalue
|
|
343
|
-
if newvalue.is_a?(Array)
|
|
344
|
-
newvalue.join(",")
|
|
345
|
-
else
|
|
346
|
-
newvalue
|
|
347
|
-
end
|
|
348
|
-
else
|
|
349
|
-
nil
|
|
350
|
-
end
|
|
351
|
-
end
|
|
352
|
-
|
|
353
336
|
def should
|
|
354
337
|
@should
|
|
355
338
|
end
|
|
@@ -433,7 +416,7 @@ Puppet::Type.newtype(:cron) do
|
|
|
433
416
|
[ :minute, :hour, :weekday, :monthday, :month ].each do |field|
|
|
434
417
|
next unless self[field]
|
|
435
418
|
next if self[field] == :absent
|
|
436
|
-
raise ArgumentError, "
|
|
419
|
+
raise ArgumentError, _("%{cron} cannot specify both a special schedule and a value for %{field}") % { cron: self.ref, field: field }
|
|
437
420
|
end
|
|
438
421
|
end
|
|
439
422
|
|
data/lib/puppet/type/exec.rb
CHANGED
|
@@ -101,7 +101,7 @@ module Puppet
|
|
|
101
101
|
|
|
102
102
|
# Make output a bit prettier
|
|
103
103
|
def change_to_s(currentvalue, newvalue)
|
|
104
|
-
"executed successfully"
|
|
104
|
+
_("executed successfully")
|
|
105
105
|
end
|
|
106
106
|
|
|
107
107
|
# First verify that all of our checks pass.
|
|
@@ -135,7 +135,7 @@ module Puppet
|
|
|
135
135
|
end
|
|
136
136
|
end
|
|
137
137
|
rescue Timeout::Error
|
|
138
|
-
self.fail Puppet::Error, "Command exceeded timeout", $!
|
|
138
|
+
self.fail Puppet::Error, _("Command exceeded timeout"), $!
|
|
139
139
|
end
|
|
140
140
|
|
|
141
141
|
if log = @resource[:logoutput]
|
|
@@ -159,9 +159,9 @@ module Puppet
|
|
|
159
159
|
unless self.should.include?(@status.exitstatus.to_s)
|
|
160
160
|
if @resource.parameter(:command).sensitive
|
|
161
161
|
# Don't print sensitive commands in the clear
|
|
162
|
-
self.fail("[command redacted] returned
|
|
162
|
+
self.fail(_("[command redacted] returned %{status} instead of one of [%{expected}]") % { status: @status.exitstatus, expected: self.should.join(",") })
|
|
163
163
|
else
|
|
164
|
-
self.fail("'
|
|
164
|
+
self.fail(_("'%{cmd}' returned %{status} instead of one of [%{expected}]") % { cmd: self.resource[:command], status: @status.exitstatus, expected: self.should.join(",") })
|
|
165
165
|
end
|
|
166
166
|
end
|
|
167
167
|
|
|
@@ -179,7 +179,7 @@ module Puppet
|
|
|
179
179
|
any output is logged at the `err` log level."
|
|
180
180
|
|
|
181
181
|
validate do |command|
|
|
182
|
-
raise ArgumentError, "Command must be a String, got value of class
|
|
182
|
+
raise ArgumentError, _("Command must be a String, got value of class %{klass}") % { klass: command.class } unless command.is_a? String
|
|
183
183
|
end
|
|
184
184
|
end
|
|
185
185
|
|
|
@@ -208,9 +208,9 @@ module Puppet
|
|
|
208
208
|
|
|
209
209
|
validate do |user|
|
|
210
210
|
if Puppet.features.microsoft_windows?
|
|
211
|
-
self.fail "Unable to execute commands as other users on Windows"
|
|
211
|
+
self.fail _("Unable to execute commands as other users on Windows")
|
|
212
212
|
elsif !Puppet.features.root? && resource.current_username() != user
|
|
213
|
-
self.fail "Only root can execute commands as other users"
|
|
213
|
+
self.fail _("Only root can execute commands as other users")
|
|
214
214
|
end
|
|
215
215
|
end
|
|
216
216
|
end
|
|
@@ -241,10 +241,14 @@ module Puppet
|
|
|
241
241
|
end
|
|
242
242
|
|
|
243
243
|
newparam(:refresh) do
|
|
244
|
-
desc "
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
for
|
|
244
|
+
desc "An alternate command to run when the `exec` receives a refresh event
|
|
245
|
+
from another resource. By default, Puppet runs the main command again.
|
|
246
|
+
For more details, see the notes about refresh behavior above, in the
|
|
247
|
+
description for this resource type.
|
|
248
|
+
|
|
249
|
+
Note that this alternate command runs with the same `provider`, `path`,
|
|
250
|
+
`user`, and `group` as the main command. If the `path` isn't set, you
|
|
251
|
+
must fully qualify the command's name."
|
|
248
252
|
|
|
249
253
|
validate do |command|
|
|
250
254
|
provider.validatecmd(command)
|
|
@@ -261,7 +265,7 @@ module Puppet
|
|
|
261
265
|
values = [values] unless values.is_a? Array
|
|
262
266
|
values.each do |value|
|
|
263
267
|
unless value =~ /\w+=/
|
|
264
|
-
raise ArgumentError, "Invalid environment setting '
|
|
268
|
+
raise ArgumentError, _("Invalid environment setting '%{value}'") % { value: value }
|
|
265
269
|
end
|
|
266
270
|
end
|
|
267
271
|
end
|
|
@@ -274,7 +278,7 @@ module Puppet
|
|
|
274
278
|
if value =~ /^0?[0-7]{1,4}$/
|
|
275
279
|
return value.to_i(8)
|
|
276
280
|
else
|
|
277
|
-
raise Puppet::Error, "The umask specification is invalid:
|
|
281
|
+
raise Puppet::Error, _("The umask specification is invalid: %{value}") % { value: value.inspect }
|
|
278
282
|
end
|
|
279
283
|
end
|
|
280
284
|
end
|
|
@@ -290,7 +294,7 @@ module Puppet
|
|
|
290
294
|
begin
|
|
291
295
|
value = Float(value)
|
|
292
296
|
rescue ArgumentError
|
|
293
|
-
raise ArgumentError, "The timeout must be a number.", $!.backtrace
|
|
297
|
+
raise ArgumentError, _("The timeout must be a number."), $!.backtrace
|
|
294
298
|
end
|
|
295
299
|
[value, 0.0].max
|
|
296
300
|
end
|
|
@@ -308,11 +312,11 @@ module Puppet
|
|
|
308
312
|
munge do |value|
|
|
309
313
|
if value.is_a?(String)
|
|
310
314
|
unless value =~ /^[\d]+$/
|
|
311
|
-
raise ArgumentError, "Tries must be an integer"
|
|
315
|
+
raise ArgumentError, _("Tries must be an integer")
|
|
312
316
|
end
|
|
313
317
|
value = Integer(value)
|
|
314
318
|
end
|
|
315
|
-
raise ArgumentError, "Tries must be an integer >= 1" if value < 1
|
|
319
|
+
raise ArgumentError, _("Tries must be an integer >= 1") if value < 1
|
|
316
320
|
value
|
|
317
321
|
end
|
|
318
322
|
|
|
@@ -325,11 +329,11 @@ module Puppet
|
|
|
325
329
|
munge do |value|
|
|
326
330
|
if value.is_a?(String)
|
|
327
331
|
unless value =~ /^[-\d.]+$/
|
|
328
|
-
raise ArgumentError, "try_sleep must be a number"
|
|
332
|
+
raise ArgumentError, _("try_sleep must be a number")
|
|
329
333
|
end
|
|
330
334
|
value = Float(value)
|
|
331
335
|
end
|
|
332
|
-
raise ArgumentError, "try_sleep cannot be a negative number" if value < 0
|
|
336
|
+
raise ArgumentError, _("try_sleep cannot be a negative number") if value < 0
|
|
333
337
|
value
|
|
334
338
|
end
|
|
335
339
|
|
|
@@ -406,8 +410,10 @@ module Puppet
|
|
|
406
410
|
|
|
407
411
|
newcheck(:unless) do
|
|
408
412
|
desc <<-'EOT'
|
|
409
|
-
|
|
410
|
-
the
|
|
413
|
+
A test command that checks the state of the target system and restricts
|
|
414
|
+
when the `exec` can run. If present, Puppet runs this test command
|
|
415
|
+
first, then runs the main command unless the test has an exit code of 0
|
|
416
|
+
(success). For example:
|
|
411
417
|
|
|
412
418
|
exec { '/bin/echo root >> /usr/lib/cron/cron.allow':
|
|
413
419
|
path => '/usr/bin:/usr/sbin:/bin',
|
|
@@ -417,17 +423,16 @@ module Puppet
|
|
|
417
423
|
This would add `root` to the cron.allow file (on Solaris) unless
|
|
418
424
|
`grep` determines it's already there.
|
|
419
425
|
|
|
420
|
-
Note that this command
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
It also uses the same provider as the main command, so any behavior
|
|
424
|
-
that differs by provider will match.
|
|
426
|
+
Note that this test command runs with the same `provider`, `path`,
|
|
427
|
+
`user`, and `group` as the main command. If the `path` isn't set, you
|
|
428
|
+
must fully qualify the command's name.
|
|
425
429
|
|
|
426
|
-
|
|
430
|
+
This parameter can also take an array of commands. For example:
|
|
427
431
|
|
|
428
432
|
unless => ['test -f /tmp/file1', 'test -f /tmp/file2'],
|
|
429
433
|
|
|
430
|
-
This
|
|
434
|
+
This `exec` would only run if every command in the array has a
|
|
435
|
+
non-zero exit code.
|
|
431
436
|
EOT
|
|
432
437
|
|
|
433
438
|
validate do |cmds|
|
|
@@ -443,7 +448,7 @@ module Puppet
|
|
|
443
448
|
begin
|
|
444
449
|
output, status = provider.run(value, true)
|
|
445
450
|
rescue Timeout::Error
|
|
446
|
-
err "Check
|
|
451
|
+
err _("Check %{value} exceeded timeout") % { value: value.inspect }
|
|
447
452
|
return false
|
|
448
453
|
end
|
|
449
454
|
|
|
@@ -457,28 +462,29 @@ module Puppet
|
|
|
457
462
|
|
|
458
463
|
newcheck(:onlyif) do
|
|
459
464
|
desc <<-'EOT'
|
|
460
|
-
|
|
461
|
-
the
|
|
465
|
+
A test command that checks the state of the target system and restricts
|
|
466
|
+
when the `exec` can run. If present, Puppet runs this test command
|
|
467
|
+
first, and only runs the main command if the test has an exit code of 0
|
|
468
|
+
(success). For example:
|
|
462
469
|
|
|
463
470
|
exec { 'logrotate':
|
|
464
|
-
path
|
|
465
|
-
|
|
471
|
+
path => '/usr/bin:/usr/sbin:/bin',
|
|
472
|
+
provider => shell,
|
|
473
|
+
onlyif => 'test `du /var/log/messages | cut -f1` -gt 100000',
|
|
466
474
|
}
|
|
467
475
|
|
|
468
|
-
This would run `logrotate` only if that test
|
|
469
|
-
|
|
470
|
-
Note that this command follows the same rules as the main command,
|
|
471
|
-
such as which user and group it's run as.
|
|
472
|
-
This also means it must be fully qualified if the path is not set.
|
|
476
|
+
This would run `logrotate` only if that test returns true.
|
|
473
477
|
|
|
474
|
-
|
|
475
|
-
|
|
478
|
+
Note that this test command runs with the same `provider`, `path`,
|
|
479
|
+
`user`, and `group` as the main command. If the `path` isn't set, you
|
|
480
|
+
must fully qualify the command's name.
|
|
476
481
|
|
|
477
|
-
|
|
482
|
+
This parameter can also take an array of commands. For example:
|
|
478
483
|
|
|
479
484
|
onlyif => ['test -f /tmp/file1', 'test -f /tmp/file2'],
|
|
480
485
|
|
|
481
|
-
This
|
|
486
|
+
This `exec` would only run if every command in the array has an
|
|
487
|
+
exit code of 0 (success).
|
|
482
488
|
EOT
|
|
483
489
|
|
|
484
490
|
validate do |cmds|
|
|
@@ -494,7 +500,7 @@ module Puppet
|
|
|
494
500
|
begin
|
|
495
501
|
output, status = provider.run(value, true)
|
|
496
502
|
rescue Timeout::Error
|
|
497
|
-
err "Check
|
|
503
|
+
err _("Check %{value} exceeded timeout") % { value: value.inspect }
|
|
498
504
|
return false
|
|
499
505
|
end
|
|
500
506
|
|
|
@@ -22,7 +22,7 @@ module Puppet
|
|
|
22
22
|
With very small files, you can construct content strings directly in
|
|
23
23
|
the manifest...
|
|
24
24
|
|
|
25
|
-
define resolve(nameserver1, nameserver2, domain, search) {
|
|
25
|
+
define resolve($nameserver1, $nameserver2, $domain, $search) {
|
|
26
26
|
$str = "search ${search}
|
|
27
27
|
domain ${domain}
|
|
28
28
|
nameserver ${nameserver1}
|
|
@@ -10,7 +10,7 @@ module Puppet
|
|
|
10
10
|
On Windows, a user (such as "Administrator") can be set as a file's group
|
|
11
11
|
and a group (such as "Administrators") can be set as a file's owner;
|
|
12
12
|
however, a file's owner and group shouldn't be the same. (If the owner
|
|
13
|
-
is also the group, files with modes like `0640` will cause log churn, as
|
|
13
|
+
is also the group, files with modes like `"0640"` will cause log churn, as
|
|
14
14
|
they will always appear out of sync.)
|
|
15
15
|
EOT
|
|
16
16
|
|
|
@@ -31,11 +31,11 @@ module Puppet
|
|
|
31
31
|
|
|
32
32
|
# We want to print names, not numbers
|
|
33
33
|
def is_to_s(currentvalue)
|
|
34
|
-
provider.gid2name(currentvalue) || currentvalue
|
|
34
|
+
super(provider.gid2name(currentvalue) || currentvalue)
|
|
35
35
|
end
|
|
36
36
|
|
|
37
37
|
def should_to_s(newvalue)
|
|
38
|
-
provider.gid2name(newvalue) || newvalue
|
|
38
|
+
super(provider.gid2name(newvalue) || newvalue)
|
|
39
39
|
end
|
|
40
40
|
end
|
|
41
41
|
end
|
|
@@ -13,6 +13,10 @@ module Puppet
|
|
|
13
13
|
notation. This value **must** be specified as a string; do not use
|
|
14
14
|
un-quoted numbers to represent file modes.
|
|
15
15
|
|
|
16
|
+
If the mode is omitted (or explicitly set to `undef`), Puppet does not
|
|
17
|
+
enforce permissions on existing files and creates new files with
|
|
18
|
+
permissions of `0644`.
|
|
19
|
+
|
|
16
20
|
The `file` type uses traditional Unix permission schemes and translates
|
|
17
21
|
them to equivalent permissions for systems which represent permissions
|
|
18
22
|
differently, including Windows. For detailed ACL controls on Windows,
|
|
@@ -20,7 +24,7 @@ module Puppet
|
|
|
20
24
|
[the puppetlabs/acl module.](https://forge.puppetlabs.com/puppetlabs/acl)
|
|
21
25
|
|
|
22
26
|
Numeric modes should use the standard octal notation of
|
|
23
|
-
`<SETUID/SETGID/STICKY><OWNER><GROUP><OTHER>` (
|
|
27
|
+
`<SETUID/SETGID/STICKY><OWNER><GROUP><OTHER>` (for example, "0644").
|
|
24
28
|
|
|
25
29
|
* Each of the "owner," "group," and "other" digits should be a sum of the
|
|
26
30
|
permissions for that class of users, where read = 4, write = 2, and
|
|
@@ -50,7 +54,7 @@ module Puppet
|
|
|
50
54
|
* g (group's current permissions)
|
|
51
55
|
* o (other's current permissions)
|
|
52
56
|
|
|
53
|
-
Thus, mode `0664` could be represented symbolically as either `a=r,ug+w`
|
|
57
|
+
Thus, mode `"0664"` could be represented symbolically as either `a=r,ug+w`
|
|
54
58
|
or `ug=rw,o=r`. However, symbolic modes are more expressive than numeric
|
|
55
59
|
modes: a mode only affects the specified bits, so `mode => 'ug+w'` will
|
|
56
60
|
set the user and group write bits, without affecting any other bits.
|
|
@@ -66,8 +70,8 @@ module Puppet
|
|
|
66
70
|
`FILE_GENERIC_WRITE`, and `FILE_GENERIC_EXECUTE` access rights; a
|
|
67
71
|
file's owner always has the `FULL_CONTROL` right
|
|
68
72
|
* "Other" users can't have any permissions a file's group lacks,
|
|
69
|
-
and its group can't have any permissions its owner lacks; that is, 0644
|
|
70
|
-
is an acceptable mode, but 0464 is not.
|
|
73
|
+
and its group can't have any permissions its owner lacks; that is, "0644"
|
|
74
|
+
is an acceptable mode, but "0464" is not.
|
|
71
75
|
EOT
|
|
72
76
|
|
|
73
77
|
validate do |value|
|
|
@@ -157,7 +161,7 @@ module Puppet
|
|
|
157
161
|
end
|
|
158
162
|
|
|
159
163
|
def should_to_s(should_value)
|
|
160
|
-
should_value.rjust(4,
|
|
164
|
+
"'#{should_value.rjust(4, '0')}'"
|
|
161
165
|
end
|
|
162
166
|
|
|
163
167
|
def is_to_s(currentvalue)
|
|
@@ -166,7 +170,7 @@ module Puppet
|
|
|
166
170
|
# present to absent the mode will have a value of `:absent`.
|
|
167
171
|
super
|
|
168
172
|
else
|
|
169
|
-
currentvalue.rjust(4,
|
|
173
|
+
"'#{currentvalue.rjust(4, '0')}'"
|
|
170
174
|
end
|
|
171
175
|
end
|
|
172
176
|
end
|
|
@@ -9,7 +9,7 @@ module Puppet
|
|
|
9
9
|
On Windows, a group (such as "Administrators") can be set as a file's owner
|
|
10
10
|
and a user (such as "Administrator") can be set as a file's group; however,
|
|
11
11
|
a file's owner and group shouldn't be the same. (If the owner is also
|
|
12
|
-
the group, files with modes like `0640` will cause log churn, as they
|
|
12
|
+
the group, files with modes like `"0640"` will cause log churn, as they
|
|
13
13
|
will always appear out of sync.)
|
|
14
14
|
EOT
|
|
15
15
|
|
|
@@ -33,11 +33,11 @@ module Puppet
|
|
|
33
33
|
|
|
34
34
|
# We want to print names, not numbers
|
|
35
35
|
def is_to_s(currentvalue)
|
|
36
|
-
provider.uid2name(currentvalue) || currentvalue
|
|
36
|
+
super(provider.uid2name(currentvalue) || currentvalue)
|
|
37
37
|
end
|
|
38
38
|
|
|
39
39
|
def should_to_s(newvalue)
|
|
40
|
-
provider.uid2name(newvalue) || newvalue
|
|
40
|
+
super(provider.uid2name(newvalue) || newvalue)
|
|
41
41
|
end
|
|
42
42
|
end
|
|
43
43
|
end
|
|
@@ -29,7 +29,12 @@ module Puppet
|
|
|
29
29
|
def retrieve
|
|
30
30
|
return :absent unless @resource.stat
|
|
31
31
|
context = self.get_selinux_current_context(@resource[:path])
|
|
32
|
-
parse_selinux_context(name, context)
|
|
32
|
+
is = parse_selinux_context(name, context)
|
|
33
|
+
if name == :selrange and selinux_support?
|
|
34
|
+
self.selinux_category_to_label(is)
|
|
35
|
+
else
|
|
36
|
+
is
|
|
37
|
+
end
|
|
33
38
|
end
|
|
34
39
|
|
|
35
40
|
def retrieve_default_context(property)
|
|
@@ -58,6 +63,18 @@ module Puppet
|
|
|
58
63
|
end
|
|
59
64
|
end
|
|
60
65
|
|
|
66
|
+
def unsafe_munge(should)
|
|
67
|
+
if not selinux_support?
|
|
68
|
+
return should
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
if name == :selrange
|
|
72
|
+
self.selinux_category_to_label(should)
|
|
73
|
+
else
|
|
74
|
+
should
|
|
75
|
+
end
|
|
76
|
+
end
|
|
77
|
+
|
|
61
78
|
def sync
|
|
62
79
|
self.set_selinux_context(@resource[:path], @should, name)
|
|
63
80
|
:file_changed
|