puppet 4.4.0 → 4.5.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 +5 -5
- data/Gemfile +2 -2
- data/LICENSE +2 -2
- data/README.md +5 -0
- data/conf/puppet.conf +1 -1
- data/ext/project_data.yaml +2 -0
- data/ext/redhat/puppet.spec.erb +0 -9
- data/ext/upload_facts.rb +1 -1
- data/lib/hiera_puppet.rb +6 -14
- data/lib/puppet/application/agent.rb +3 -4
- data/lib/puppet/application/apply.rb +1 -1
- data/lib/puppet/application/ca.rb +1 -0
- data/lib/puppet/application/cert.rb +1 -1
- data/lib/puppet/application/filebucket.rb +1 -1
- data/lib/puppet/application/inspect.rb +2 -2
- data/lib/puppet/application/lookup.rb +8 -20
- data/lib/puppet/application/master.rb +1 -1
- data/lib/puppet/application/resource.rb +1 -5
- data/lib/puppet/data_providers/hiera_config.rb +2 -4
- data/lib/puppet/data_providers/hiera_interpolate.rb +12 -105
- data/lib/puppet/data_providers/json_data_provider_factory.rb +1 -8
- data/lib/puppet/data_providers/yaml_data_provider_factory.rb +2 -8
- data/lib/puppet/defaults.rb +104 -25
- data/lib/puppet/face/config.rb +1 -1
- data/lib/puppet/face/help/man.erb +1 -1
- data/lib/puppet/file_system/uniquefile.rb +2 -2
- data/lib/puppet/file_system/windows.rb +1 -15
- data/lib/puppet/functions/assert_type.rb +1 -1
- data/lib/puppet/functions/dig.rb +39 -0
- data/lib/puppet/functions/hiera_include.rb +2 -2
- data/lib/puppet/functions/inline_epp.rb +1 -1
- data/lib/puppet/functions/lest.rb +53 -0
- data/lib/puppet/functions/lookup.rb +40 -30
- data/lib/puppet/functions/new.rb +502 -0
- data/lib/puppet/functions/regsubst.rb +11 -10
- data/lib/puppet/functions/then.rb +74 -0
- data/lib/puppet/functions/type.rb +4 -4
- data/lib/puppet/functions/with.rb +1 -1
- data/lib/puppet/functions.rb +69 -0
- data/lib/puppet/indirector/catalog/compiler.rb +4 -1
- data/lib/puppet/indirector/msgpack.rb +1 -1
- data/lib/puppet/indirector/resource_type/parser.rb +5 -0
- data/lib/puppet/indirector/rest.rb +5 -1
- data/lib/puppet/indirector/terminus.rb +4 -4
- data/lib/puppet/loaders.rb +2 -0
- data/lib/puppet/metatype/manager.rb +19 -2
- data/lib/puppet/module.rb +3 -3
- data/lib/puppet/module_tool/applications/application.rb +1 -1
- data/lib/puppet/module_tool/applications/builder.rb +2 -2
- data/lib/puppet/module_tool/skeleton/templates/generator/Gemfile +6 -2
- data/lib/puppet/module_tool/skeleton/templates/generator/Rakefile +19 -4
- data/lib/puppet/module_tool/skeleton/templates/generator/{tests → examples}/init.pp.erb +1 -1
- data/lib/puppet/module_tool/skeleton/templates/generator/spec/classes/init_spec.rb.erb +0 -1
- data/lib/puppet/network/auth_config_parser.rb +1 -1
- data/lib/puppet/network/http/api/indirected_routes.rb +0 -2
- data/lib/puppet/network/http/api/master/v3/environment.rb +6 -2
- data/lib/puppet/network/http/rack/rest.rb +10 -1
- data/lib/puppet/parser/ast/pops_bridge.rb +20 -3
- data/lib/puppet/parser/compiler/catalog_validator/relationship_validator.rb +24 -2
- data/lib/puppet/parser/e4_parser_adapter.rb +13 -12
- data/lib/puppet/parser/environment_compiler.rb +2 -2
- data/lib/puppet/parser/functions/hiera_include.rb +2 -2
- data/lib/puppet/parser/functions/inline_epp.rb +1 -1
- data/lib/puppet/parser/functions/lookup.rb +0 -3
- data/lib/puppet/parser/resource.rb +14 -5
- data/lib/puppet/parser/scope.rb +18 -15
- data/lib/puppet/plugins/data_providers/data_provider.rb +19 -8
- data/lib/puppet/pops/adapters.rb +5 -1
- data/lib/puppet/pops/evaluator/access_operator.rb +77 -15
- data/lib/puppet/pops/evaluator/closure.rb +10 -5
- data/lib/puppet/pops/evaluator/compare_operator.rb +34 -4
- data/lib/puppet/pops/evaluator/evaluator_impl.rb +75 -22
- data/lib/puppet/pops/evaluator/literal_evaluator.rb +7 -6
- data/lib/puppet/pops/evaluator/runtime3_converter.rb +13 -1
- data/lib/puppet/pops/evaluator/runtime3_support.rb +14 -4
- data/lib/puppet/pops/functions/dispatcher.rb +1 -1
- data/lib/puppet/pops/issues.rb +18 -2
- data/lib/puppet/pops/loader/base_loader.rb +48 -7
- data/lib/puppet/pops/loader/dependency_loader.rb +27 -2
- data/lib/puppet/pops/loader/loader.rb +12 -0
- data/lib/puppet/pops/loader/predefined_loader.rb +29 -0
- data/lib/puppet/pops/loader/runtime3_type_loader.rb +57 -0
- data/lib/puppet/pops/loader/static_loader.rb +92 -5
- data/lib/puppet/pops/loader/type_definition_instantiator.rb +25 -3
- data/lib/puppet/pops/loaders.rb +84 -14
- data/lib/puppet/pops/lookup/explainer.rb +38 -1
- data/lib/puppet/pops/lookup/interpolation.rb +115 -0
- data/lib/puppet/pops/lookup/sub_lookup.rb +86 -0
- data/lib/puppet/pops/merge_strategy.rb +0 -10
- data/lib/puppet/pops/model/ast_transformer.rb +8 -1
- data/lib/puppet/pops/model/factory.rb +31 -8
- data/lib/puppet/pops/model/model.rb +8 -0
- data/lib/puppet/pops/model/model_label_provider.rb +1 -0
- data/lib/puppet/pops/model/model_meta.rb +7 -1
- data/lib/puppet/pops/model/model_tree_dumper.rb +4 -0
- data/lib/puppet/pops/parser/egrammar.ra +24 -7
- data/lib/puppet/pops/parser/eparser.rb +863 -798
- data/lib/puppet/pops/parser/evaluating_parser.rb +4 -0
- data/lib/puppet/pops/parser/locator.rb +8 -4
- data/lib/puppet/pops/pcore.rb +30 -0
- data/lib/puppet/pops/types/class_loader.rb +2 -4
- data/lib/puppet/pops/types/implementation_registry.rb +146 -0
- data/lib/puppet/pops/types/iterable.rb +4 -4
- data/lib/puppet/pops/types/p_object_type.rb +846 -0
- data/lib/puppet/pops/types/p_runtime_type.rb +102 -0
- data/lib/puppet/pops/types/p_sem_ver_range_type.rb +164 -0
- data/lib/puppet/pops/types/p_sem_ver_type.rb +113 -0
- data/lib/puppet/pops/types/puppet_object.rb +21 -0
- data/lib/puppet/pops/types/recursion_guard.rb +10 -0
- data/lib/puppet/pops/types/ruby_generator.rb +258 -0
- data/lib/puppet/pops/types/string_converter.rb +922 -0
- data/lib/puppet/pops/types/type_asserter.rb +2 -2
- data/lib/puppet/pops/types/type_calculator.rb +30 -6
- data/lib/puppet/pops/types/type_conversion_error.rb +15 -0
- data/lib/puppet/pops/types/type_factory.rb +49 -16
- data/lib/puppet/pops/types/type_formatter.rb +341 -106
- data/lib/puppet/pops/types/type_mismatch_describer.rb +132 -41
- data/lib/puppet/pops/types/type_parser.rb +205 -197
- data/lib/puppet/pops/types/types.rb +722 -202
- data/lib/puppet/pops/validation/checker4_0.rb +66 -4
- data/lib/puppet/pops/validation/validator_factory_4_0.rb +1 -0
- data/lib/puppet/pops/validation.rb +1 -1
- data/lib/puppet/pops/visitor.rb +3 -1
- data/lib/puppet/pops.rb +6 -0
- data/lib/puppet/property.rb +1 -1
- data/lib/puppet/provider/augeas/augeas.rb +1 -1
- data/lib/puppet/provider/package/pip.rb +64 -20
- data/lib/puppet/provider/package/pip3.rb +2 -0
- data/lib/puppet/provider/package/puppet_gem.rb +0 -0
- data/lib/puppet/provider/package/rpm.rb +112 -0
- data/lib/puppet/provider/package/yum.rb +7 -68
- data/lib/puppet/provider/service/daemontools.rb +3 -3
- data/lib/puppet/provider/service/init.rb +4 -2
- data/lib/puppet/provider/service/runit.rb +3 -3
- data/lib/puppet/provider/service/smf.rb +6 -3
- data/lib/puppet/provider/service/systemd.rb +59 -73
- data/lib/puppet/provider/user/user_role_add.rb +3 -1
- data/lib/puppet/reference/providers.rb +2 -3
- data/lib/puppet/resource/catalog.rb +34 -30
- data/lib/puppet/resource/type_collection.rb +23 -8
- data/lib/puppet/resource.rb +54 -37
- data/lib/puppet/settings/base_setting.rb +9 -3
- data/lib/puppet/settings/symbolic_enum_setting.rb +17 -0
- data/lib/puppet/settings.rb +5 -3
- data/lib/puppet/ssl/oids.rb +24 -2
- data/lib/puppet/test/test_helper.rb +0 -1
- data/lib/puppet/transaction.rb +0 -24
- data/lib/puppet/type/exec.rb +17 -17
- data/lib/puppet/type/file/content.rb +8 -8
- data/lib/puppet/type/file/ensure.rb +4 -4
- data/lib/puppet/type/file/source.rb +4 -4
- data/lib/puppet/type/file/target.rb +2 -2
- data/lib/puppet/type/file.rb +15 -5
- data/lib/puppet/type/filebucket.rb +1 -1
- data/lib/puppet/type/mount.rb +18 -1
- data/lib/puppet/type/package.rb +3 -3
- data/lib/puppet/type/schedule.rb +5 -5
- data/lib/puppet/type/service.rb +15 -0
- data/lib/puppet/type/sshkey.rb +5 -3
- data/lib/puppet/type/stage.rb +1 -1
- data/lib/puppet/type/tidy.rb +3 -3
- data/lib/puppet/type/zone.rb +5 -5
- data/lib/puppet/type.rb +13 -7
- data/lib/puppet/util/feature.rb +1 -1
- data/lib/puppet/util/monkey_patches.rb +18 -5
- data/lib/puppet/util/network_device/cisco/device.rb +16 -6
- data/lib/puppet/util/network_device/cisco/interface.rb +5 -6
- data/lib/puppet/util/plist.rb +3 -3
- data/lib/puppet/util/windows/file.rb +40 -10
- data/lib/puppet/util/windows.rb +1 -0
- data/lib/puppet/version.rb +1 -1
- data/spec/fixtures/unit/application/environments/production/data/common.yaml +13 -0
- data/spec/fixtures/unit/data_providers/environments/hiera_env_config/data1/third_utf8.json +3 -0
- data/spec/fixtures/unit/data_providers/environments/hiera_env_config/data1/utf8.yaml +3 -0
- data/spec/fixtures/unit/data_providers/environments/hiera_env_config/hiera.yaml +5 -1
- data/spec/fixtures/unit/data_providers/environments/hiera_env_config/manifests/site.pp +2 -2
- data/spec/fixtures/unit/data_providers/environments/production/modules/abc/lib/puppet/functions/abc/data.rb +2 -1
- data/spec/fixtures/unit/data_providers/environments/production/modules/abc/manifests/init.pp +2 -1
- data/spec/fixtures/unit/functions/lookup/environments/production/modules/empty_key_json/data/empty_key.json +1 -0
- data/spec/fixtures/unit/functions/lookup/environments/production/modules/empty_key_json/hiera.yaml +5 -0
- data/spec/fixtures/unit/functions/lookup/environments/production/modules/empty_key_json/manifests/init.pp +2 -0
- data/spec/fixtures/unit/functions/lookup/environments/production/modules/empty_key_json/metadata.json +9 -0
- data/spec/fixtures/unit/functions/lookup/environments/production/modules/empty_key_yaml/data/empty_key.yaml +1 -0
- data/spec/fixtures/unit/functions/lookup/environments/production/modules/empty_key_yaml/hiera.yaml +5 -0
- data/spec/fixtures/unit/functions/lookup/environments/production/modules/empty_key_yaml/manifests/init.pp +2 -0
- data/spec/fixtures/unit/functions/lookup/environments/production/modules/empty_key_yaml/metadata.json +9 -0
- data/spec/fixtures/unit/functions/lookup/environments/production/modules/empty_yaml/data/empty.yaml +1 -0
- data/spec/fixtures/unit/parser/lexer/subclass_name_duplication.pp +0 -0
- data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/usee/lib/puppet/type/usee_type.rb +5 -0
- data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/manifests/init.pp +6 -0
- data/spec/fixtures/unit/pops/parser/lexer/subclass_name_duplication.pp +0 -0
- data/spec/fixtures/unit/provider/service/smf/svcs.out +4 -3
- data/spec/integration/agent/logging_spec.rb +0 -0
- data/spec/integration/application/apply_spec.rb +0 -0
- data/spec/integration/application/doc_spec.rb +0 -0
- data/spec/integration/configurer_spec.rb +0 -0
- data/spec/integration/data_binding_spec.rb +0 -34
- data/spec/integration/defaults_spec.rb +0 -0
- data/spec/integration/faces/ca_spec.rb +0 -0
- data/spec/integration/faces/documentation_spec.rb +0 -0
- data/spec/integration/file_serving/fileset_spec.rb +0 -0
- data/spec/integration/file_serving/terminus_helper_spec.rb +0 -0
- data/spec/integration/indirector/catalog/compiler_spec.rb +0 -0
- data/spec/integration/indirector/direct_file_server_spec.rb +0 -0
- data/spec/integration/indirector/file_content/file_server_spec.rb +0 -0
- data/spec/integration/indirector/file_metadata/file_server_spec.rb +0 -0
- data/spec/integration/indirector/node/ldap_spec.rb +0 -0
- data/spec/integration/module_tool/tar/mini_spec.rb +27 -27
- data/spec/integration/network/formats_spec.rb +0 -0
- data/spec/integration/node/environment_spec.rb +0 -0
- data/spec/integration/node/facts_spec.rb +0 -0
- data/spec/integration/node_spec.rb +0 -0
- data/spec/integration/parser/catalog_spec.rb +14 -2
- data/spec/integration/parser/collection_spec.rb +0 -0
- data/spec/integration/parser/compiler_spec.rb +94 -3
- data/spec/integration/parser/functions/require_spec.rb +0 -0
- data/spec/integration/parser/parameter_defaults_spec.rb +19 -1
- data/spec/integration/parser/resource_expressions_spec.rb +1 -1
- data/spec/integration/provider/mailalias/aliases_spec.rb +0 -0
- data/spec/integration/provider/mount_spec.rb +0 -0
- data/spec/integration/provider/service/init_spec.rb +0 -0
- data/spec/integration/provider/ssh_authorized_key_spec.rb +0 -0
- data/spec/integration/reference/providers_spec.rb +0 -0
- data/spec/integration/reports_spec.rb +0 -0
- data/spec/integration/resource/catalog_spec.rb +0 -0
- data/spec/integration/resource/type_collection_spec.rb +8 -0
- data/spec/integration/ssl/certificate_authority_spec.rb +0 -0
- data/spec/integration/ssl/certificate_request_spec.rb +0 -0
- data/spec/integration/ssl/certificate_revocation_list_spec.rb +0 -0
- data/spec/integration/ssl/host_spec.rb +0 -0
- data/spec/integration/transaction/report_spec.rb +0 -0
- data/spec/integration/transaction_spec.rb +0 -0
- data/spec/integration/type/exec_spec.rb +0 -0
- data/spec/integration/type/file_spec.rb +0 -0
- data/spec/integration/type/package_spec.rb +0 -0
- data/spec/integration/type/tidy_spec.rb +0 -0
- data/spec/integration/type_spec.rb +0 -0
- data/spec/integration/util/autoload_spec.rb +0 -0
- data/spec/integration/util/rdoc/parser_spec.rb +0 -0
- data/spec/integration/util/settings_spec.rb +26 -0
- data/spec/integration/util/windows/registry_spec.rb +0 -0
- data/spec/integration/util/windows/security_spec.rb +0 -0
- data/spec/integration/util/windows/user_spec.rb +0 -0
- data/spec/integration/util_spec.rb +0 -0
- data/spec/lib/puppet/face/1.0.0/huzzah.rb +0 -0
- data/spec/lib/puppet/face/basetest.rb +0 -0
- data/spec/lib/puppet/face/huzzah.rb +0 -0
- data/spec/lib/puppet_spec/compiler.rb +11 -4
- data/spec/lib/puppet_spec/files.rb +0 -0
- data/spec/lib/puppet_spec/fixtures.rb +0 -0
- data/spec/lib/puppet_spec/verbose.rb +0 -0
- data/spec/shared_behaviours/all_parsedfile_providers.rb +0 -0
- data/spec/shared_behaviours/file_server_terminus.rb +0 -0
- data/spec/shared_behaviours/file_serving.rb +0 -0
- data/spec/shared_behaviours/memory_terminus.rb +0 -0
- data/spec/shared_behaviours/path_parameters.rb +0 -0
- data/spec/shared_behaviours/things_that_declare_options.rb +0 -0
- data/spec/shared_contexts/types_setup.rb +4 -0
- data/spec/spec_helper.rb +0 -0
- data/spec/unit/agent/locker_spec.rb +0 -0
- data/spec/unit/agent_spec.rb +0 -0
- data/spec/unit/application/agent_spec.rb +0 -0
- data/spec/unit/application/apply_spec.rb +0 -0
- data/spec/unit/application/cert_spec.rb +0 -0
- data/spec/unit/application/certificate_spec.rb +0 -0
- data/spec/unit/application/config_spec.rb +0 -0
- data/spec/unit/application/describe_spec.rb +0 -0
- data/spec/unit/application/device_spec.rb +0 -0
- data/spec/unit/application/doc_spec.rb +0 -0
- data/spec/unit/application/face_base_spec.rb +0 -0
- data/spec/unit/application/facts_spec.rb +0 -0
- data/spec/unit/application/filebucket_spec.rb +0 -0
- data/spec/unit/application/indirection_base_spec.rb +0 -0
- data/spec/unit/application/inspect_spec.rb +19 -8
- data/spec/unit/application/lookup_spec.rb +92 -10
- data/spec/unit/application/master_spec.rb +0 -0
- data/spec/unit/application/resource_spec.rb +0 -0
- data/spec/unit/application_spec.rb +0 -0
- data/spec/unit/appmgmt_spec.rb +44 -35
- data/spec/unit/capability_spec.rb +33 -53
- data/spec/unit/configurer/downloader_factory_spec.rb +0 -0
- data/spec/unit/configurer/downloader_spec.rb +0 -0
- data/spec/unit/configurer/fact_handler_spec.rb +0 -0
- data/spec/unit/configurer/plugin_handler_spec.rb +0 -0
- data/spec/unit/configurer_spec.rb +0 -0
- data/spec/unit/confine/exists_spec.rb +0 -0
- data/spec/unit/confine/false_spec.rb +0 -0
- data/spec/unit/confine/feature_spec.rb +0 -0
- data/spec/unit/confine/true_spec.rb +0 -0
- data/spec/unit/confine/variable_spec.rb +0 -0
- data/spec/unit/confine_collection_spec.rb +0 -0
- data/spec/unit/confine_spec.rb +0 -0
- data/spec/unit/confiner_spec.rb +0 -0
- data/spec/unit/daemon_spec.rb +0 -0
- data/spec/unit/data_providers/function_data_provider_spec.rb +19 -1
- data/spec/unit/data_providers/hiera_data_provider_spec.rb +2 -2
- data/spec/unit/defaults_spec.rb +18 -0
- data/spec/unit/external/pson_spec.rb +0 -0
- data/spec/unit/face/catalog_spec.rb +0 -0
- data/spec/unit/face/certificate_spec.rb +0 -0
- data/spec/unit/face/config_spec.rb +0 -0
- data/spec/unit/face/facts_spec.rb +0 -0
- data/spec/unit/face/file_spec.rb +0 -0
- data/spec/unit/face/help_spec.rb +0 -0
- data/spec/unit/face/node_spec.rb +0 -0
- data/spec/unit/face/plugin_spec.rb +0 -0
- data/spec/unit/face_spec.rb +0 -0
- data/spec/unit/file_bucket/dipper_spec.rb +0 -0
- data/spec/unit/file_bucket/file_spec.rb +0 -0
- data/spec/unit/file_serving/base_spec.rb +0 -0
- data/spec/unit/file_serving/configuration/parser_spec.rb +0 -0
- data/spec/unit/file_serving/configuration_spec.rb +0 -0
- data/spec/unit/file_serving/content_spec.rb +0 -0
- data/spec/unit/file_serving/fileset_spec.rb +0 -0
- data/spec/unit/file_serving/metadata_spec.rb +0 -0
- data/spec/unit/file_serving/mount/file_spec.rb +0 -0
- data/spec/unit/file_serving/mount/modules_spec.rb +0 -0
- data/spec/unit/file_serving/mount/pluginfacts_spec.rb +0 -0
- data/spec/unit/file_serving/mount/plugins_spec.rb +0 -0
- data/spec/unit/file_serving/mount_spec.rb +0 -0
- data/spec/unit/file_serving/terminus_helper_spec.rb +0 -0
- data/spec/unit/file_serving/terminus_selector_spec.rb +0 -0
- data/spec/unit/file_system/uniquefile_spec.rb +20 -0
- data/spec/unit/file_system_spec.rb +61 -0
- data/spec/unit/functions/assert_type_spec.rb +8 -0
- data/spec/unit/functions/defined_spec.rb +0 -0
- data/spec/unit/functions/dig_spec.rb +58 -0
- data/spec/unit/functions/hiera_spec.rb +0 -0
- data/spec/unit/functions/lest_spec.rb +34 -0
- data/spec/unit/functions/lookup_spec.rb +109 -3
- data/spec/unit/functions/new_spec.rb +543 -0
- data/spec/unit/functions/regsubst_spec.rb +8 -0
- data/spec/unit/functions/split_spec.rb +0 -0
- data/spec/unit/functions/then_spec.rb +40 -0
- data/spec/unit/functions/versioncmp_spec.rb +0 -0
- data/spec/unit/functions4_spec.rb +78 -10
- data/spec/unit/graph/relationship_graph_spec.rb +0 -0
- data/spec/unit/graph/simple_graph_spec.rb +0 -0
- data/spec/unit/hiera_puppet_spec.rb +49 -8
- data/spec/unit/indirector/catalog/compiler_spec.rb +7 -0
- data/spec/unit/indirector/catalog/json_spec.rb +0 -0
- data/spec/unit/indirector/catalog/msgpack_spec.rb +0 -0
- data/spec/unit/indirector/catalog/rest_spec.rb +0 -0
- data/spec/unit/indirector/catalog/static_compiler_spec.rb +0 -0
- data/spec/unit/indirector/catalog/store_configs_spec.rb +0 -0
- data/spec/unit/indirector/catalog/yaml_spec.rb +0 -0
- data/spec/unit/indirector/certificate/ca_spec.rb +0 -0
- data/spec/unit/indirector/certificate/disabled_ca_spec.rb +0 -0
- data/spec/unit/indirector/certificate/file_spec.rb +0 -0
- data/spec/unit/indirector/certificate/rest_spec.rb +0 -0
- data/spec/unit/indirector/certificate_request/ca_spec.rb +0 -0
- data/spec/unit/indirector/certificate_request/disabled_ca_spec.rb +0 -0
- data/spec/unit/indirector/certificate_request/file_spec.rb +0 -0
- data/spec/unit/indirector/certificate_request/rest_spec.rb +0 -0
- data/spec/unit/indirector/certificate_revocation_list/ca_spec.rb +0 -0
- data/spec/unit/indirector/certificate_revocation_list/disabled_ca_spec.rb +0 -0
- data/spec/unit/indirector/certificate_revocation_list/file_spec.rb +0 -0
- data/spec/unit/indirector/certificate_revocation_list/rest_spec.rb +0 -0
- data/spec/unit/indirector/certificate_status/file_spec.rb +0 -0
- data/spec/unit/indirector/certificate_status/rest_spec.rb +0 -0
- data/spec/unit/indirector/code_spec.rb +0 -0
- data/spec/unit/indirector/direct_file_server_spec.rb +0 -0
- data/spec/unit/indirector/envelope_spec.rb +0 -0
- data/spec/unit/indirector/exec_spec.rb +0 -0
- data/spec/unit/indirector/face_spec.rb +0 -0
- data/spec/unit/indirector/facts/facter_spec.rb +0 -0
- data/spec/unit/indirector/facts/network_device_spec.rb +0 -0
- data/spec/unit/indirector/facts/store_configs_spec.rb +0 -0
- data/spec/unit/indirector/facts/yaml_spec.rb +0 -0
- data/spec/unit/indirector/file_bucket_file/file_spec.rb +0 -0
- data/spec/unit/indirector/file_bucket_file/rest_spec.rb +0 -0
- data/spec/unit/indirector/file_content/file_server_spec.rb +0 -0
- data/spec/unit/indirector/file_content/file_spec.rb +0 -0
- data/spec/unit/indirector/file_content/rest_spec.rb +0 -0
- data/spec/unit/indirector/file_metadata/file_server_spec.rb +0 -0
- data/spec/unit/indirector/file_metadata/file_spec.rb +0 -0
- data/spec/unit/indirector/file_metadata/rest_spec.rb +0 -0
- data/spec/unit/indirector/file_server_spec.rb +0 -0
- data/spec/unit/indirector/indirection_spec.rb +0 -0
- data/spec/unit/indirector/json_spec.rb +0 -0
- data/spec/unit/indirector/key/ca_spec.rb +0 -0
- data/spec/unit/indirector/key/disabled_ca_spec.rb +0 -0
- data/spec/unit/indirector/key/file_spec.rb +0 -0
- data/spec/unit/indirector/ldap_spec.rb +0 -0
- data/spec/unit/indirector/memory_spec.rb +0 -0
- data/spec/unit/indirector/msgpack_spec.rb +11 -1
- data/spec/unit/indirector/node/exec_spec.rb +0 -0
- data/spec/unit/indirector/node/ldap_spec.rb +0 -0
- data/spec/unit/indirector/node/memory_spec.rb +0 -0
- data/spec/unit/indirector/node/msgpack_spec.rb +0 -0
- data/spec/unit/indirector/node/plain_spec.rb +0 -0
- data/spec/unit/indirector/node/rest_spec.rb +0 -0
- data/spec/unit/indirector/node/store_configs_spec.rb +0 -0
- data/spec/unit/indirector/node/yaml_spec.rb +0 -0
- data/spec/unit/indirector/plain_spec.rb +0 -0
- data/spec/unit/indirector/report/msgpack_spec.rb +0 -0
- data/spec/unit/indirector/report/processor_spec.rb +0 -0
- data/spec/unit/indirector/report/rest_spec.rb +0 -0
- data/spec/unit/indirector/report/yaml_spec.rb +0 -0
- data/spec/unit/indirector/request_spec.rb +0 -0
- data/spec/unit/indirector/resource/ral_spec.rb +0 -0
- data/spec/unit/indirector/resource/store_configs_spec.rb +0 -0
- data/spec/unit/indirector/resource_type/parser_spec.rb +5 -0
- data/spec/unit/indirector/resource_type/rest_spec.rb +0 -0
- data/spec/unit/indirector/rest_spec.rb +12 -0
- data/spec/unit/indirector/ssl_file_spec.rb +0 -0
- data/spec/unit/indirector/status/rest_spec.rb +0 -0
- data/spec/unit/indirector/store_configs_spec.rb +0 -0
- data/spec/unit/indirector/terminus_spec.rb +0 -0
- data/spec/unit/indirector/yaml_spec.rb +0 -0
- data/spec/unit/indirector_spec.rb +0 -0
- data/spec/unit/interface/action_builder_spec.rb +0 -0
- data/spec/unit/interface/action_manager_spec.rb +0 -0
- data/spec/unit/interface/action_spec.rb +0 -0
- data/spec/unit/interface/documentation_spec.rb +0 -0
- data/spec/unit/interface/face_collection_spec.rb +0 -0
- data/spec/unit/interface/option_builder_spec.rb +0 -0
- data/spec/unit/interface/option_spec.rb +0 -0
- data/spec/unit/interface_spec.rb +0 -0
- data/spec/unit/man_spec.rb +0 -0
- data/spec/unit/module_spec.rb +30 -6
- data/spec/unit/module_tool/applications/builder_spec.rb +23 -3
- data/spec/unit/module_tool_spec.rb +0 -0
- data/spec/unit/network/auth_config_parser_spec.rb +16 -0
- data/spec/unit/network/authconfig_spec.rb +0 -0
- data/spec/unit/network/authstore_spec.rb +0 -0
- data/spec/unit/network/format_handler_spec.rb +0 -0
- data/spec/unit/network/format_spec.rb +0 -0
- data/spec/unit/network/formats_spec.rb +0 -0
- data/spec/unit/network/http/api/indirected_routes_spec.rb +21 -13
- data/spec/unit/network/http/api/master/v3/environment_spec.rb +60 -0
- data/spec/unit/network/http/api/master/v3_spec.rb +0 -0
- data/spec/unit/network/http/compression_spec.rb +0 -0
- data/spec/unit/network/http/connection_spec.rb +0 -0
- data/spec/unit/network/http/factory_spec.rb +0 -0
- data/spec/unit/network/http/handler_spec.rb +0 -0
- data/spec/unit/network/http/nocache_pool_spec.rb +0 -0
- data/spec/unit/network/http/pool_spec.rb +0 -0
- data/spec/unit/network/http/rack/rest_spec.rb +7 -0
- data/spec/unit/network/http/rack_spec.rb +0 -0
- data/spec/unit/network/http/session_spec.rb +0 -0
- data/spec/unit/network/http/site_spec.rb +0 -0
- data/spec/unit/network/http/webrick/rest_spec.rb +0 -0
- data/spec/unit/network/http/webrick_spec.rb +0 -0
- data/spec/unit/network/http_pool_spec.rb +0 -0
- data/spec/unit/network/http_spec.rb +0 -0
- data/spec/unit/network/resolver_spec.rb +0 -0
- data/spec/unit/network/rights_spec.rb +0 -0
- data/spec/unit/network/server_spec.rb +0 -0
- data/spec/unit/node/environment_spec.rb +10 -0
- data/spec/unit/node/facts_spec.rb +0 -0
- data/spec/unit/node_spec.rb +0 -0
- data/spec/unit/other/selinux_spec.rb +0 -0
- data/spec/unit/parameter/path_spec.rb +0 -0
- data/spec/unit/parameter/value_collection_spec.rb +0 -0
- data/spec/unit/parameter/value_spec.rb +0 -0
- data/spec/unit/parameter_spec.rb +0 -0
- data/spec/unit/parser/ast/leaf_spec.rb +0 -0
- data/spec/unit/parser/compiler_spec.rb +20 -1
- data/spec/unit/parser/files_spec.rb +0 -0
- data/spec/unit/parser/functions/create_resources_spec.rb +2 -2
- data/spec/unit/parser/functions/defined_spec.rb +0 -0
- data/spec/unit/parser/functions/digest_spec.rb +0 -0
- data/spec/unit/parser/functions/fail_spec.rb +0 -0
- data/spec/unit/parser/functions/file_spec.rb +0 -0
- data/spec/unit/parser/functions/fqdn_rand_spec.rb +0 -0
- data/spec/unit/parser/functions/generate_spec.rb +0 -0
- data/spec/unit/parser/functions/hiera_spec.rb +0 -0
- data/spec/unit/parser/functions/include_spec.rb +0 -0
- data/spec/unit/parser/functions/inline_template_spec.rb +0 -0
- data/spec/unit/parser/functions/realize_spec.rb +0 -0
- data/spec/unit/parser/functions/regsubst_spec.rb +0 -0
- data/spec/unit/parser/functions/require_spec.rb +0 -0
- data/spec/unit/parser/functions/scanf_spec.rb +0 -0
- data/spec/unit/parser/functions/shared.rb +1 -1
- data/spec/unit/parser/functions/shellquote_spec.rb +0 -0
- data/spec/unit/parser/functions/split_spec.rb +0 -0
- data/spec/unit/parser/functions/sprintf_spec.rb +0 -0
- data/spec/unit/parser/functions/tag_spec.rb +0 -0
- data/spec/unit/parser/functions/template_spec.rb +0 -0
- data/spec/unit/parser/functions/versioncmp_spec.rb +0 -0
- data/spec/unit/parser/functions_spec.rb +0 -0
- data/spec/unit/parser/relationship_spec.rb +0 -0
- data/spec/unit/parser/resource/param_spec.rb +0 -0
- data/spec/unit/parser/resource_spec.rb +8 -1
- data/spec/unit/parser/scope_spec.rb +45 -0
- data/spec/unit/parser/templatewrapper_spec.rb +0 -0
- data/spec/unit/parser/type_loader_spec.rb +0 -0
- data/spec/unit/pops/evaluator/access_ops_spec.rb +14 -0
- data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +13 -5
- data/spec/unit/pops/loaders/loaders_spec.rb +8 -8
- data/spec/unit/pops/loaders/static_loader_spec.rb +92 -1
- data/spec/unit/pops/lookup/interpolation_spec.rb +313 -0
- data/spec/unit/pops/parser/lexer2_spec.rb +2 -9
- data/spec/unit/pops/parser/parse_application_spec.rb +3 -8
- data/spec/unit/pops/parser/parse_basic_expressions_spec.rb +19 -0
- data/spec/unit/pops/parser/parse_capabilities_spec.rb +3 -10
- data/spec/unit/pops/parser/parse_site_spec.rb +19 -10
- data/spec/unit/pops/parser/parser_rspec_helper.rb +0 -4
- data/spec/unit/pops/types/enumeration_spec.rb +13 -12
- data/spec/unit/pops/types/iterable_spec.rb +2 -2
- data/spec/unit/pops/types/p_object_type_spec.rb +1060 -0
- data/spec/unit/pops/types/p_sem_ver_type_spec.rb +285 -0
- data/spec/unit/pops/types/recursion_guard_spec.rb +19 -17
- data/spec/unit/pops/types/ruby_generator_spec.rb +261 -0
- data/spec/unit/pops/types/string_converter_spec.rb +904 -0
- data/spec/unit/pops/types/type_asserter_spec.rb +3 -3
- data/spec/unit/pops/types/type_calculator_spec.rb +462 -412
- data/spec/unit/pops/types/type_factory_spec.rb +129 -88
- data/spec/unit/pops/types/type_formatter_spec.rb +80 -8
- data/spec/unit/pops/types/type_mismatch_describer_spec.rb +27 -2
- data/spec/unit/pops/types/type_parser_spec.rb +55 -16
- data/spec/unit/pops/types/types_spec.rb +320 -0
- data/spec/unit/pops/validator/validator_spec.rb +84 -10
- data/spec/unit/property/ensure_spec.rb +0 -0
- data/spec/unit/property/keyvalue_spec.rb +0 -0
- data/spec/unit/property/list_spec.rb +0 -0
- data/spec/unit/property/ordered_list_spec.rb +0 -0
- data/spec/unit/property_spec.rb +0 -0
- data/spec/unit/provider/augeas/augeas_spec.rb +0 -0
- data/spec/unit/provider/cisco_spec.rb +0 -0
- data/spec/unit/provider/command_spec.rb +0 -0
- data/spec/unit/provider/cron/crontab_spec.rb +0 -0
- data/spec/unit/provider/exec/posix_spec.rb +0 -0
- data/spec/unit/provider/exec/shell_spec.rb +0 -0
- data/spec/unit/provider/exec/windows_spec.rb +0 -0
- data/spec/unit/provider/exec_spec.rb +0 -0
- data/spec/unit/provider/file/posix_spec.rb +0 -0
- data/spec/unit/provider/file/windows_spec.rb +0 -0
- data/spec/unit/provider/group/groupadd_spec.rb +0 -0
- data/spec/unit/provider/group/ldap_spec.rb +0 -0
- data/spec/unit/provider/group/pw_spec.rb +0 -0
- data/spec/unit/provider/group/windows_adsi_spec.rb +0 -0
- data/spec/unit/provider/host/parsed_spec.rb +0 -0
- data/spec/unit/provider/interface/cisco_spec.rb +0 -0
- data/spec/unit/provider/ldap_spec.rb +0 -0
- data/spec/unit/provider/macauthorization_spec.rb +0 -0
- data/spec/unit/provider/mcx/mcxcontent_spec.rb +0 -0
- data/spec/unit/provider/mount/parsed_spec.rb +0 -0
- data/spec/unit/provider/mount_spec.rb +0 -0
- data/spec/unit/provider/naginator_spec.rb +0 -0
- data/spec/unit/provider/nameservice/directoryservice_spec.rb +0 -0
- data/spec/unit/provider/nameservice_spec.rb +0 -0
- data/spec/unit/provider/network_device_spec.rb +0 -0
- data/spec/unit/provider/package/aix_spec.rb +0 -0
- data/spec/unit/provider/package/appdmg_spec.rb +0 -0
- data/spec/unit/provider/package/apt_spec.rb +0 -0
- data/spec/unit/provider/package/aptitude_spec.rb +0 -0
- data/spec/unit/provider/package/aptrpm_spec.rb +0 -0
- data/spec/unit/provider/package/dpkg_spec.rb +0 -0
- data/spec/unit/provider/package/freebsd_spec.rb +0 -0
- data/spec/unit/provider/package/gem_spec.rb +0 -0
- data/spec/unit/provider/package/hpux_spec.rb +0 -0
- data/spec/unit/provider/package/macports_spec.rb +0 -0
- data/spec/unit/provider/package/nim_spec.rb +0 -0
- data/spec/unit/provider/package/openbsd_spec.rb +0 -0
- data/spec/unit/provider/package/opkg_spec.rb +0 -0
- data/spec/unit/provider/package/pacman_spec.rb +0 -0
- data/spec/unit/provider/package/pip3_spec.rb +9 -262
- data/spec/unit/provider/package/pip_spec.rb +85 -22
- data/spec/unit/provider/package/pkg_spec.rb +0 -0
- data/spec/unit/provider/package/pkgutil_spec.rb +0 -0
- data/spec/unit/provider/package/puppet_gem_spec.rb +0 -0
- data/spec/unit/provider/package/rpm_spec.rb +160 -3
- data/spec/unit/provider/package/sun_spec.rb +0 -0
- data/spec/unit/provider/package/windows/package_spec.rb +0 -0
- data/spec/unit/provider/package/windows_spec.rb +0 -0
- data/spec/unit/provider/package/yum_spec.rb +23 -134
- data/spec/unit/provider/package/zypper_spec.rb +0 -0
- data/spec/unit/provider/parsedfile_spec.rb +0 -0
- data/spec/unit/provider/selboolean_spec.rb +0 -0
- data/spec/unit/provider/selmodule_spec.rb +0 -0
- data/spec/unit/provider/service/base_spec.rb +0 -0
- data/spec/unit/provider/service/bsd_spec.rb +0 -0
- data/spec/unit/provider/service/daemontools_spec.rb +0 -0
- data/spec/unit/provider/service/debian_spec.rb +0 -0
- data/spec/unit/provider/service/freebsd_spec.rb +0 -0
- data/spec/unit/provider/service/gentoo_spec.rb +0 -0
- data/spec/unit/provider/service/init_spec.rb +0 -0
- data/spec/unit/provider/service/launchd_spec.rb +0 -0
- data/spec/unit/provider/service/openbsd_spec.rb +0 -0
- data/spec/unit/provider/service/openrc_spec.rb +0 -0
- data/spec/unit/provider/service/openwrt_spec.rb +0 -0
- data/spec/unit/provider/service/rcng_spec.rb +0 -0
- data/spec/unit/provider/service/redhat_spec.rb +0 -0
- data/spec/unit/provider/service/runit_spec.rb +0 -0
- data/spec/unit/provider/service/smf_spec.rb +14 -2
- data/spec/unit/provider/service/src_spec.rb +0 -0
- data/spec/unit/provider/service/systemd_spec.rb +34 -42
- data/spec/unit/provider/service/upstart_spec.rb +0 -0
- data/spec/unit/provider/service/windows_spec.rb +0 -0
- data/spec/unit/provider/ssh_authorized_key/parsed_spec.rb +0 -0
- data/spec/unit/provider/sshkey/parsed_spec.rb +0 -0
- data/spec/unit/provider/user/directoryservice_spec.rb +0 -0
- data/spec/unit/provider/user/hpux_spec.rb +0 -0
- data/spec/unit/provider/user/ldap_spec.rb +0 -0
- data/spec/unit/provider/user/openbsd_spec.rb +0 -0
- data/spec/unit/provider/user/pw_spec.rb +0 -0
- data/spec/unit/provider/user/user_role_add_spec.rb +0 -0
- data/spec/unit/provider/user/useradd_spec.rb +0 -0
- data/spec/unit/provider/user/windows_adsi_spec.rb +0 -0
- data/spec/unit/provider/vlan/cisco_spec.rb +0 -0
- data/spec/unit/provider/zfs/zfs_spec.rb +0 -0
- data/spec/unit/provider/zone/solaris_spec.rb +0 -0
- data/spec/unit/provider/zpool/zpool_spec.rb +0 -0
- data/spec/unit/provider_spec.rb +0 -0
- data/spec/unit/puppet_spec.rb +0 -0
- data/spec/unit/relationship_spec.rb +0 -0
- data/spec/unit/reports/http_spec.rb +0 -0
- data/spec/unit/reports/store_spec.rb +0 -0
- data/spec/unit/reports_spec.rb +0 -0
- data/spec/unit/resource/capability_finder_spec.rb +10 -2
- data/spec/unit/resource/catalog_spec.rb +27 -0
- data/spec/unit/resource/status_spec.rb +0 -0
- data/spec/unit/resource/type_collection_helper_spec.rb +0 -0
- data/spec/unit/resource/type_collection_spec.rb +0 -0
- data/spec/unit/resource/type_spec.rb +0 -0
- data/spec/unit/resource_spec.rb +0 -0
- data/spec/unit/settings/directory_setting_spec.rb +0 -0
- data/spec/unit/settings/duration_setting_spec.rb +0 -0
- data/spec/unit/settings/file_setting_spec.rb +6 -0
- data/spec/unit/settings/path_setting_spec.rb +0 -0
- data/spec/unit/settings/priority_setting_spec.rb +0 -0
- data/spec/unit/settings_spec.rb +1 -1
- data/spec/unit/ssl/base_spec.rb +0 -0
- data/spec/unit/ssl/certificate_authority/interface_spec.rb +0 -0
- data/spec/unit/ssl/certificate_authority_spec.rb +0 -0
- data/spec/unit/ssl/certificate_factory_spec.rb +0 -0
- data/spec/unit/ssl/certificate_request_spec.rb +0 -0
- data/spec/unit/ssl/certificate_revocation_list_spec.rb +0 -0
- data/spec/unit/ssl/certificate_spec.rb +0 -0
- data/spec/unit/ssl/configuration_spec.rb +0 -0
- data/spec/unit/ssl/host_spec.rb +0 -0
- data/spec/unit/ssl/inventory_spec.rb +0 -0
- data/spec/unit/ssl/key_spec.rb +0 -0
- data/spec/unit/status_spec.rb +0 -0
- data/spec/unit/transaction/additional_resource_generator_spec.rb +80 -65
- data/spec/unit/transaction/event_manager_spec.rb +0 -0
- data/spec/unit/transaction/event_spec.rb +0 -0
- data/spec/unit/transaction/report_spec.rb +0 -0
- data/spec/unit/transaction/resource_harness_spec.rb +0 -0
- data/spec/unit/transaction_spec.rb +0 -0
- data/spec/unit/type/augeas_spec.rb +0 -0
- data/spec/unit/type/component_spec.rb +0 -0
- data/spec/unit/type/computer_spec.rb +0 -0
- data/spec/unit/type/cron_spec.rb +0 -0
- data/spec/unit/type/exec_spec.rb +0 -0
- data/spec/unit/type/file/checksum_spec.rb +0 -0
- data/spec/unit/type/file/checksum_value_spec.rb +0 -0
- data/spec/unit/type/file/content_spec.rb +0 -0
- data/spec/unit/type/file/ctime_spec.rb +0 -0
- data/spec/unit/type/file/ensure_spec.rb +0 -0
- data/spec/unit/type/file/group_spec.rb +0 -0
- data/spec/unit/type/file/mode_spec.rb +0 -0
- data/spec/unit/type/file/mtime_spec.rb +0 -0
- data/spec/unit/type/file/owner_spec.rb +0 -0
- data/spec/unit/type/file/selinux_spec.rb +0 -0
- data/spec/unit/type/file/source_spec.rb +0 -0
- data/spec/unit/type/file/type_spec.rb +0 -0
- data/spec/unit/type/file_spec.rb +0 -0
- data/spec/unit/type/filebucket_spec.rb +0 -0
- data/spec/unit/type/group_spec.rb +0 -0
- data/spec/unit/type/host_spec.rb +0 -0
- data/spec/unit/type/interface_spec.rb +0 -0
- data/spec/unit/type/k5login_spec.rb +0 -0
- data/spec/unit/type/macauthorization_spec.rb +0 -0
- data/spec/unit/type/mailalias_spec.rb +0 -0
- data/spec/unit/type/maillist_spec.rb +0 -0
- data/spec/unit/type/mcx_spec.rb +0 -0
- data/spec/unit/type/mount_spec.rb +51 -10
- data/spec/unit/type/nagios_spec.rb +0 -0
- data/spec/unit/type/noop_metaparam_spec.rb +0 -0
- data/spec/unit/type/package/package_settings_spec.rb +0 -0
- data/spec/unit/type/package_spec.rb +0 -0
- data/spec/unit/type/resources_spec.rb +0 -0
- data/spec/unit/type/schedule_spec.rb +0 -0
- data/spec/unit/type/selboolean_spec.rb +0 -0
- data/spec/unit/type/selmodule_spec.rb +0 -0
- data/spec/unit/type/service_spec.rb +16 -0
- data/spec/unit/type/ssh_authorized_key_spec.rb +0 -0
- data/spec/unit/type/sshkey_spec.rb +0 -0
- data/spec/unit/type/stage_spec.rb +0 -0
- data/spec/unit/type/tidy_spec.rb +0 -0
- data/spec/unit/type/user_spec.rb +0 -0
- data/spec/unit/type/vlan_spec.rb +0 -0
- data/spec/unit/type/whit_spec.rb +0 -0
- data/spec/unit/type/yumrepo_spec.rb +0 -0
- data/spec/unit/type/zfs_spec.rb +0 -0
- data/spec/unit/type/zone_spec.rb +0 -0
- data/spec/unit/type/zpool_spec.rb +0 -0
- data/spec/unit/type_spec.rb +14 -0
- data/spec/unit/util/autoload_spec.rb +0 -0
- data/spec/unit/util/backups_spec.rb +0 -0
- data/spec/unit/util/checksums_spec.rb +0 -0
- data/spec/unit/util/colors_spec.rb +0 -0
- data/spec/unit/util/command_line_spec.rb +0 -0
- data/spec/unit/util/constant_inflector_spec.rb +0 -0
- data/spec/unit/util/diff_spec.rb +0 -0
- data/spec/unit/util/errors_spec.rb +0 -0
- data/spec/unit/util/execution_spec.rb +0 -0
- data/spec/unit/util/execution_stub_spec.rb +0 -0
- data/spec/unit/util/feature_spec.rb +1 -1
- data/spec/unit/util/filetype_spec.rb +0 -0
- data/spec/unit/util/ldap/connection_spec.rb +0 -0
- data/spec/unit/util/ldap/generator_spec.rb +0 -0
- data/spec/unit/util/ldap/manager_spec.rb +0 -0
- data/spec/unit/util/log/destinations_spec.rb +0 -0
- data/spec/unit/util/log_spec.rb +0 -0
- data/spec/unit/util/logging_spec.rb +0 -0
- data/spec/unit/util/metric_spec.rb +0 -0
- data/spec/unit/util/monkey_patches_spec.rb +79 -3
- data/spec/unit/util/nagios_maker_spec.rb +0 -0
- data/spec/unit/util/network_device/cisco/device_spec.rb +1 -1
- data/spec/unit/util/network_device/cisco/facts_spec.rb +0 -0
- data/spec/unit/util/network_device/cisco/interface_spec.rb +0 -0
- data/spec/unit/util/network_device/config_spec.rb +0 -0
- data/spec/unit/util/network_device/ipcalc_spec.rb +0 -0
- data/spec/unit/util/network_device/transport/base_spec.rb +0 -0
- data/spec/unit/util/network_device/transport/ssh_spec.rb +0 -0
- data/spec/unit/util/network_device/transport/telnet_spec.rb +0 -0
- data/spec/unit/util/package_spec.rb +0 -0
- data/spec/unit/util/posix_spec.rb +0 -0
- data/spec/unit/util/rdoc_spec.rb +0 -0
- data/spec/unit/util/resource_template_spec.rb +0 -0
- data/spec/unit/util/retry_action_spec.rb +0 -0
- data/spec/unit/util/run_mode_spec.rb +0 -0
- data/spec/unit/util/selinux_spec.rb +0 -0
- data/spec/unit/util/storage_spec.rb +0 -0
- data/spec/unit/util/suidmanager_spec.rb +0 -0
- data/spec/unit/util/symbolic_file_mode_spec.rb +0 -0
- data/spec/unit/util/tagging_spec.rb +0 -0
- data/spec/unit/util/user_attr_spec.rb +0 -0
- data/spec/unit/util/warnings_spec.rb +0 -0
- data/spec/unit/util/windows/adsi_spec.rb +0 -0
- data/spec/unit/util/windows/file_spec.rb +34 -0
- data/spec/unit/util/windows/root_certs_spec.rb +0 -0
- data/spec/unit/util/windows/sid_spec.rb +0 -0
- data/spec/unit/util_spec.rb +0 -0
- data/spec/watchr.rb +0 -0
- metadata +3402 -3337
- checksums.yaml +0 -7
- data/ext/puppet-nm-dispatcher +0 -13
- data/lib/puppet/pops/types/types_meta.rb +0 -0
- data/spec/integration/provider/package_spec.rb +0 -35
- data/spec/unit/data_providers/hiera_interpolation_spec.rb +0 -57
|
@@ -238,7 +238,6 @@ module Puppet::Test
|
|
|
238
238
|
#
|
|
239
239
|
# I would make these even shorter, but OpenSSL doesn't support anything
|
|
240
240
|
# below 512 bits. Sad, really, because a 0 bit key would be just fine.
|
|
241
|
-
Puppet[:req_bits] = 512
|
|
242
241
|
Puppet[:keylength] = 512
|
|
243
242
|
|
|
244
243
|
# Although we setup a testing context during initialization, some tests
|
data/lib/puppet/transaction.rb
CHANGED
|
@@ -275,30 +275,6 @@ class Puppet::Transaction
|
|
|
275
275
|
resource_status(resource).failed_dependencies = failed.to_a
|
|
276
276
|
end
|
|
277
277
|
|
|
278
|
-
# A general method for recursively generating new resources from a
|
|
279
|
-
# resource.
|
|
280
|
-
def generate_additional_resources(resource)
|
|
281
|
-
return unless resource.respond_to?(:generate)
|
|
282
|
-
begin
|
|
283
|
-
made = resource.generate
|
|
284
|
-
rescue => detail
|
|
285
|
-
resource.log_exception(detail, "Failed to generate additional resources using 'generate': #{detail}")
|
|
286
|
-
end
|
|
287
|
-
return unless made
|
|
288
|
-
made = [made] unless made.is_a?(Array)
|
|
289
|
-
made.uniq.each do |res|
|
|
290
|
-
begin
|
|
291
|
-
res.tag(*resource.tags)
|
|
292
|
-
@catalog.add_resource(res)
|
|
293
|
-
res.finish
|
|
294
|
-
add_conditional_directed_dependency(resource, res)
|
|
295
|
-
generate_additional_resources(res)
|
|
296
|
-
rescue Puppet::Resource::Catalog::DuplicateResourceError
|
|
297
|
-
res.info "Duplicate generated resource; skipping"
|
|
298
|
-
end
|
|
299
|
-
end
|
|
300
|
-
end
|
|
301
|
-
|
|
302
278
|
# Should we ignore tags?
|
|
303
279
|
def ignore_tags?
|
|
304
280
|
! @catalog.host_config?
|
data/lib/puppet/type/exec.rb
CHANGED
|
@@ -340,15 +340,15 @@ module Puppet
|
|
|
340
340
|
other object; it is useful for triggering an action:
|
|
341
341
|
|
|
342
342
|
# Pull down the main aliases file
|
|
343
|
-
file {
|
|
344
|
-
source =>
|
|
343
|
+
file { '/etc/aliases':
|
|
344
|
+
source => 'puppet://server/module/aliases',
|
|
345
345
|
}
|
|
346
346
|
|
|
347
347
|
# Rebuild the database, but only when the file changes
|
|
348
348
|
exec { newaliases:
|
|
349
|
-
path => [
|
|
350
|
-
subscribe => File[
|
|
351
|
-
refreshonly => true
|
|
349
|
+
path => ['/usr/bin', '/usr/sbin'],
|
|
350
|
+
subscribe => File['/etc/aliases'],
|
|
351
|
+
refreshonly => true,
|
|
352
352
|
}
|
|
353
353
|
|
|
354
354
|
Note that only `subscribe` and `notify` can trigger actions, not `require`,
|
|
@@ -377,10 +377,10 @@ module Puppet
|
|
|
377
377
|
This parameter doesn't cause Puppet to create a file; it is only
|
|
378
378
|
useful if **the command itself** creates a file.
|
|
379
379
|
|
|
380
|
-
exec {
|
|
381
|
-
cwd =>
|
|
382
|
-
creates =>
|
|
383
|
-
path => [
|
|
380
|
+
exec { 'tar -xf /Volumes/nfs02/important.tar':
|
|
381
|
+
cwd => '/var/tmp',
|
|
382
|
+
creates => '/var/tmp/myfile',
|
|
383
|
+
path => ['/usr/bin', '/usr/sbin',],
|
|
384
384
|
}
|
|
385
385
|
|
|
386
386
|
In this example, `myfile` is assumed to be a file inside
|
|
@@ -404,9 +404,9 @@ module Puppet
|
|
|
404
404
|
If this parameter is set, then this `exec` will run unless
|
|
405
405
|
the command has an exit code of 0. For example:
|
|
406
406
|
|
|
407
|
-
exec {
|
|
408
|
-
path =>
|
|
409
|
-
unless =>
|
|
407
|
+
exec { '/bin/echo root >> /usr/lib/cron/cron.allow':
|
|
408
|
+
path => '/usr/bin:/usr/sbin:/bin',
|
|
409
|
+
unless => 'grep root /usr/lib/cron/cron.allow 2>/dev/null',
|
|
410
410
|
}
|
|
411
411
|
|
|
412
412
|
This would add `root` to the cron.allow file (on Solaris) unless
|
|
@@ -420,7 +420,7 @@ module Puppet
|
|
|
420
420
|
|
|
421
421
|
Also note that unless can take an array as its value, e.g.:
|
|
422
422
|
|
|
423
|
-
unless => [
|
|
423
|
+
unless => ['test -f /tmp/file1', 'test -f /tmp/file2'],
|
|
424
424
|
|
|
425
425
|
This will only run the exec if _all_ conditions in the array return false.
|
|
426
426
|
EOT
|
|
@@ -455,9 +455,9 @@ module Puppet
|
|
|
455
455
|
If this parameter is set, then this `exec` will only run if
|
|
456
456
|
the command has an exit code of 0. For example:
|
|
457
457
|
|
|
458
|
-
exec {
|
|
459
|
-
path =>
|
|
460
|
-
onlyif =>
|
|
458
|
+
exec { 'logrotate':
|
|
459
|
+
path => '/usr/bin:/usr/sbin:/bin',
|
|
460
|
+
onlyif => 'test `du /var/log/messages | cut -f1` -gt 100000',
|
|
461
461
|
}
|
|
462
462
|
|
|
463
463
|
This would run `logrotate` only if that test returned true.
|
|
@@ -471,7 +471,7 @@ module Puppet
|
|
|
471
471
|
|
|
472
472
|
Also note that onlyif can take an array as its value, e.g.:
|
|
473
473
|
|
|
474
|
-
onlyif => [
|
|
474
|
+
onlyif => ['test -f /tmp/file1', 'test -f /tmp/file2'],
|
|
475
475
|
|
|
476
476
|
This will only run the exec if _all_ conditions in the array return true.
|
|
477
477
|
EOT
|
|
@@ -23,20 +23,20 @@ module Puppet
|
|
|
23
23
|
the manifest...
|
|
24
24
|
|
|
25
25
|
define resolve(nameserver1, nameserver2, domain, search) {
|
|
26
|
-
$str = "search $search
|
|
27
|
-
domain $domain
|
|
28
|
-
nameserver $nameserver1
|
|
29
|
-
nameserver $nameserver2
|
|
26
|
+
$str = "search ${search}
|
|
27
|
+
domain ${domain}
|
|
28
|
+
nameserver ${nameserver1}
|
|
29
|
+
nameserver ${nameserver2}
|
|
30
30
|
"
|
|
31
31
|
|
|
32
|
-
file {
|
|
33
|
-
content =>
|
|
32
|
+
file { '/etc/resolv.conf':
|
|
33
|
+
content => $str,
|
|
34
34
|
}
|
|
35
35
|
}
|
|
36
36
|
|
|
37
37
|
...but for larger files, this attribute is more useful when combined with the
|
|
38
|
-
[template](https://docs.puppetlabs.com/
|
|
39
|
-
or [file](https://docs.puppetlabs.com/
|
|
38
|
+
[template](https://docs.puppetlabs.com/puppet/latest/reference/function.html#template)
|
|
39
|
+
or [file](https://docs.puppetlabs.com/puppet/latest/reference/function.html#file)
|
|
40
40
|
function.
|
|
41
41
|
EOT
|
|
42
42
|
|
|
@@ -36,13 +36,13 @@ module Puppet
|
|
|
36
36
|
|
|
37
37
|
# Equivalent resources:
|
|
38
38
|
|
|
39
|
-
file {
|
|
40
|
-
ensure =>
|
|
39
|
+
file { '/etc/inetd.conf':
|
|
40
|
+
ensure => '/etc/inet/inetd.conf',
|
|
41
41
|
}
|
|
42
42
|
|
|
43
|
-
file {
|
|
43
|
+
file { '/etc/inetd.conf':
|
|
44
44
|
ensure => link,
|
|
45
|
-
target =>
|
|
45
|
+
target => '/etc/inet/inetd.conf',
|
|
46
46
|
}
|
|
47
47
|
|
|
48
48
|
However, we recommend using `link` and `target` explicitly, since this
|
|
@@ -52,11 +52,11 @@ module Puppet
|
|
|
52
52
|
use the first source that exists. This can be used to serve different
|
|
53
53
|
files to different system types:
|
|
54
54
|
|
|
55
|
-
file {
|
|
55
|
+
file { '/etc/nfs.conf':
|
|
56
56
|
source => [
|
|
57
|
-
"puppet:///modules/nfs/conf.$host",
|
|
58
|
-
"puppet:///modules/nfs/conf.$operatingsystem",
|
|
59
|
-
|
|
57
|
+
"puppet:///modules/nfs/conf.${host}",
|
|
58
|
+
"puppet:///modules/nfs/conf.${operatingsystem}",
|
|
59
|
+
'puppet:///modules/nfs/conf'
|
|
60
60
|
]
|
|
61
61
|
}
|
|
62
62
|
|
|
@@ -7,9 +7,9 @@ module Puppet
|
|
|
7
7
|
Symlink targets can be relative, as well as absolute:
|
|
8
8
|
|
|
9
9
|
# (Useful on Solaris)
|
|
10
|
-
file {
|
|
10
|
+
file { '/etc/inetd.conf':
|
|
11
11
|
ensure => link,
|
|
12
|
-
target =>
|
|
12
|
+
target => 'inet/inetd.conf',
|
|
13
13
|
}
|
|
14
14
|
|
|
15
15
|
Directories of symlinks can be served recursively by instead using the
|
data/lib/puppet/type/file.rb
CHANGED
|
@@ -236,11 +236,9 @@ Puppet::Type.newtype(:file) do
|
|
|
236
236
|
|
|
237
237
|
newparam(:links) do
|
|
238
238
|
desc "How to handle links during file actions. During file copying,
|
|
239
|
-
`follow` will copy the target file instead of the link
|
|
240
|
-
will copy the link itself,
|
|
241
|
-
|
|
242
|
-
(because you cannot really ignore links entirely during local
|
|
243
|
-
recursion), and `follow` will manage the file to which the link points."
|
|
239
|
+
`follow` will copy the target file instead of the link and `manage`
|
|
240
|
+
will copy the link itself. When not copying, `manage` will manage
|
|
241
|
+
the link, and `follow` will manage the file to which the link points."
|
|
244
242
|
|
|
245
243
|
newvalues(:follow, :manage)
|
|
246
244
|
|
|
@@ -856,6 +854,18 @@ Puppet::Type.newtype(:file) do
|
|
|
856
854
|
devfail 'a property should have been provided if write_temporary_file? returned true' if property.nil?
|
|
857
855
|
content_checksum = property.write(file)
|
|
858
856
|
file.flush
|
|
857
|
+
begin
|
|
858
|
+
file.fsync
|
|
859
|
+
rescue NotImplementedError
|
|
860
|
+
# fsync may not be implemented by Ruby on all platforms, but
|
|
861
|
+
# there is absolutely no recovery path if we detect that. So, we just
|
|
862
|
+
# ignore the return code.
|
|
863
|
+
#
|
|
864
|
+
# However, don't be fooled: that is accepting that we are running in
|
|
865
|
+
# an unsafe fashion. If you are porting to a new platform don't stub
|
|
866
|
+
# that out.
|
|
867
|
+
end
|
|
868
|
+
|
|
859
869
|
fail_if_checksum_is_wrong(file.path, content_checksum) if validate_checksum?
|
|
860
870
|
if self[:validate_cmd]
|
|
861
871
|
output = Puppet::Util::Execution.execute(self[:validate_cmd].gsub(self[:validate_replacement], file.path), :failonfail => true, :combine => true)
|
|
@@ -21,7 +21,7 @@ module Puppet
|
|
|
21
21
|
puppet master's filebucket with the _desired_ content for each file,
|
|
22
22
|
then instructs the agent to retrieve the content for a specific
|
|
23
23
|
checksum. For more details,
|
|
24
|
-
[see the `static_compiler` section in the catalog indirection docs](https://docs.puppetlabs.com/
|
|
24
|
+
[see the `static_compiler` section in the catalog indirection docs](https://docs.puppetlabs.com/puppet/latest/reference/indirection.html#catalog).
|
|
25
25
|
|
|
26
26
|
To use a central filebucket for backups, you will usually want to declare
|
|
27
27
|
a filebucket resource and a resource default for the `backup` attribute
|
data/lib/puppet/type/mount.rb
CHANGED
|
@@ -14,7 +14,11 @@ module Puppet
|
|
|
14
14
|
|
|
15
15
|
**Autorequires:** If Puppet is managing any parents of a mount resource ---
|
|
16
16
|
that is, other mount points higher up in the filesystem --- the child
|
|
17
|
-
mount will autorequire them.
|
|
17
|
+
mount will autorequire them. If Puppet is managing the file path of a
|
|
18
|
+
mount point, the mount resource will autorequire it.
|
|
19
|
+
|
|
20
|
+
**Autobefores:** If Puppet is managing any child file paths of a mount
|
|
21
|
+
point, the mount resource will autobefore them."
|
|
18
22
|
|
|
19
23
|
feature :refreshable, "The provider can remount the filesystem.",
|
|
20
24
|
:methods => [:remount]
|
|
@@ -293,5 +297,18 @@ module Puppet
|
|
|
293
297
|
dependencies[0..-2]
|
|
294
298
|
end
|
|
295
299
|
|
|
300
|
+
# Autorequire the mount point's file resource
|
|
301
|
+
autorequire(:file) { Pathname.new(self[:name]) }
|
|
302
|
+
|
|
303
|
+
# Autobefore the mount point's child file paths
|
|
304
|
+
autobefore(:file) do
|
|
305
|
+
dependencies = []
|
|
306
|
+
file_resources = catalog.resources.select { |resource| resource.type == :file }
|
|
307
|
+
children_file_resources = file_resources.select { |resource| File.expand_path(resource[:path]) =~ %r(#{self[:name]}/.) }
|
|
308
|
+
children_file_resources.each do |child|
|
|
309
|
+
dependencies.push Pathname.new(child[:path])
|
|
310
|
+
end
|
|
311
|
+
dependencies
|
|
312
|
+
end
|
|
296
313
|
end
|
|
297
314
|
end
|
data/lib/puppet/type/package.rb
CHANGED
|
@@ -238,8 +238,8 @@ module Puppet
|
|
|
238
238
|
}
|
|
239
239
|
|
|
240
240
|
package { 'openssl':
|
|
241
|
+
ensure => installed,
|
|
241
242
|
name => $ssl,
|
|
242
|
-
ensure => installed
|
|
243
243
|
}
|
|
244
244
|
|
|
245
245
|
. etc. .
|
|
@@ -250,9 +250,9 @@ module Puppet
|
|
|
250
250
|
}
|
|
251
251
|
|
|
252
252
|
package { 'openssh':
|
|
253
|
-
name => $ssh
|
|
254
253
|
ensure => installed,
|
|
255
|
-
|
|
254
|
+
name => $ssh,
|
|
255
|
+
require => Package['openssl'],
|
|
256
256
|
}
|
|
257
257
|
|
|
258
258
|
"
|
data/lib/puppet/type/schedule.rb
CHANGED
|
@@ -2,7 +2,7 @@ module Puppet
|
|
|
2
2
|
Type.newtype(:schedule) do
|
|
3
3
|
@doc = <<-'EOT'
|
|
4
4
|
Define schedules for Puppet. Resources can be limited to a schedule by using the
|
|
5
|
-
[`schedule`](https://docs.puppetlabs.com/
|
|
5
|
+
[`schedule`](https://docs.puppetlabs.com/puppet/latest/reference/metaparameter.html#schedule)
|
|
6
6
|
metaparameter.
|
|
7
7
|
|
|
8
8
|
Currently, **schedules can only be used to stop a resource from being
|
|
@@ -24,7 +24,7 @@ module Puppet
|
|
|
24
24
|
the hours of two and 4 AM, then you would use this schedule:
|
|
25
25
|
|
|
26
26
|
schedule { 'maint':
|
|
27
|
-
range =>
|
|
27
|
+
range => '2 - 4',
|
|
28
28
|
period => daily,
|
|
29
29
|
repeat => 1,
|
|
30
30
|
}
|
|
@@ -57,10 +57,10 @@ module Puppet
|
|
|
57
57
|
|
|
58
58
|
schedule { 'everyday':
|
|
59
59
|
period => daily,
|
|
60
|
-
range =>
|
|
60
|
+
range => '2 - 4',
|
|
61
61
|
}
|
|
62
62
|
|
|
63
|
-
exec {
|
|
63
|
+
exec { '/usr/bin/apt-get update':
|
|
64
64
|
schedule => 'everyday',
|
|
65
65
|
}
|
|
66
66
|
|
|
@@ -77,7 +77,7 @@ module Puppet
|
|
|
77
77
|
separator. For instance:
|
|
78
78
|
|
|
79
79
|
schedule { 'maintenance':
|
|
80
|
-
range =>
|
|
80
|
+
range => '1:30 - 4:30',
|
|
81
81
|
}
|
|
82
82
|
|
|
83
83
|
This is mostly useful for restricting certain resources to being
|
data/lib/puppet/type/service.rb
CHANGED
|
@@ -73,6 +73,17 @@ module Puppet
|
|
|
73
73
|
provider.enabled?
|
|
74
74
|
end
|
|
75
75
|
|
|
76
|
+
# This only makes sense on systemd systems. Static services cannot be enabled
|
|
77
|
+
# or disabled manually.
|
|
78
|
+
def insync?(current)
|
|
79
|
+
if provider.respond_to?(:cached_enabled?) && provider.cached_enabled? == 'static'
|
|
80
|
+
Puppet.debug("Unable to enable or disable static service #{@resource[:name]}")
|
|
81
|
+
return true
|
|
82
|
+
end
|
|
83
|
+
|
|
84
|
+
super(current)
|
|
85
|
+
end
|
|
86
|
+
|
|
76
87
|
validate do |value|
|
|
77
88
|
if value == :manual and !Puppet.features.microsoft_windows?
|
|
78
89
|
raise Puppet::Error.new("Setting enable to manual is only supported on Microsoft Windows.")
|
|
@@ -239,5 +250,9 @@ module Puppet
|
|
|
239
250
|
debug "Skipping restart; service is not running"
|
|
240
251
|
end
|
|
241
252
|
end
|
|
253
|
+
|
|
254
|
+
def self.needs_ensure_retrieved
|
|
255
|
+
false
|
|
256
|
+
end
|
|
242
257
|
end
|
|
243
258
|
end
|
data/lib/puppet/type/sshkey.rb
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
module Puppet
|
|
2
2
|
Type.newtype(:sshkey) do
|
|
3
|
-
@doc = "Installs and manages ssh host keys.
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
@doc = "Installs and manages ssh host keys. By default, this type will
|
|
4
|
+
install keys into `/etc/ssh/ssh_known_hosts`. To manage ssh keys in a
|
|
5
|
+
different `known_hosts` file, such as a user's personal `known_hosts`,
|
|
6
|
+
pass its path to the `target` parameter. See the `ssh_authorized_key`
|
|
7
|
+
type to manage authorized keys."
|
|
6
8
|
|
|
7
9
|
ensurable
|
|
8
10
|
|
data/lib/puppet/type/stage.rb
CHANGED
|
@@ -2,7 +2,7 @@ Puppet::Type.newtype(:stage) do
|
|
|
2
2
|
desc "A resource type for creating new run stages. Once a stage is available,
|
|
3
3
|
classes can be assigned to it by declaring them with the resource-like syntax
|
|
4
4
|
and using
|
|
5
|
-
[the `stage` metaparameter](https://docs.puppetlabs.com/
|
|
5
|
+
[the `stage` metaparameter](https://docs.puppetlabs.com/puppet/latest/reference/metaparameter.html#stage).
|
|
6
6
|
|
|
7
7
|
Note that new stages are not useful unless you also declare their order
|
|
8
8
|
in relation to the default `main` stage.
|
data/lib/puppet/type/tidy.rb
CHANGED
|
@@ -56,10 +56,10 @@ Puppet::Type.newtype(:tidy) do
|
|
|
56
56
|
|
|
57
57
|
Example:
|
|
58
58
|
|
|
59
|
-
tidy {
|
|
60
|
-
age =>
|
|
59
|
+
tidy { '/tmp':
|
|
60
|
+
age => '1w',
|
|
61
61
|
recurse => 1,
|
|
62
|
-
matches => [
|
|
62
|
+
matches => [ '[0-9]pub*.tmp', '*.temp', 'tmpfile?' ],
|
|
63
63
|
}
|
|
64
64
|
|
|
65
65
|
This removes files from `/tmp` if they are one week old or older,
|
data/lib/puppet/type/zone.rb
CHANGED
|
@@ -282,11 +282,11 @@ end
|
|
|
282
282
|
|
|
283
283
|
And then call that:
|
|
284
284
|
|
|
285
|
-
zone { myzone:
|
|
286
|
-
ip =>
|
|
287
|
-
sysidcfg => template(
|
|
288
|
-
path =>
|
|
289
|
-
realhostname =>
|
|
285
|
+
zone { 'myzone':
|
|
286
|
+
ip => 'bge0:192.168.0.23',
|
|
287
|
+
sysidcfg => template('site/sysidcfg.erb'),
|
|
288
|
+
path => '/opt/zones/myzone',
|
|
289
|
+
realhostname => 'fully.qualified.domain.name',
|
|
290
290
|
}
|
|
291
291
|
|
|
292
292
|
The `sysidcfg` only matters on the first booting of the zone,
|
data/lib/puppet/type.rb
CHANGED
|
@@ -1044,6 +1044,12 @@ class Type
|
|
|
1044
1044
|
insync
|
|
1045
1045
|
end
|
|
1046
1046
|
|
|
1047
|
+
# Says if the ensure property should be retrieved if the resource is ensurable
|
|
1048
|
+
# Defaults to true. Some resource type classes can override it
|
|
1049
|
+
def self.needs_ensure_retrieved
|
|
1050
|
+
true
|
|
1051
|
+
end
|
|
1052
|
+
|
|
1047
1053
|
# Retrieves the current value of all contained properties.
|
|
1048
1054
|
# Parameters and meta-parameters are not included in the result.
|
|
1049
1055
|
# @todo As oposed to all non contained properties? How is this different than any of the other
|
|
@@ -1058,7 +1064,7 @@ class Type
|
|
|
1058
1064
|
# Provide the name, so we know we'll always refer to a real thing
|
|
1059
1065
|
result[:name] = self[:name] unless self[:name] == title
|
|
1060
1066
|
|
|
1061
|
-
if ensure_prop = property(:ensure) or (self.class.validattr?(:ensure) and ensure_prop = newattr(:ensure))
|
|
1067
|
+
if ensure_prop = property(:ensure) or (self.class.needs_ensure_retrieved and self.class.validattr?(:ensure) and ensure_prop = newattr(:ensure))
|
|
1062
1068
|
result[:ensure] = ensure_state = ensure_prop.retrieve
|
|
1063
1069
|
else
|
|
1064
1070
|
ensure_state = nil
|
|
@@ -1246,7 +1252,7 @@ class Type
|
|
|
1246
1252
|
event _would_ have been sent.
|
|
1247
1253
|
|
|
1248
1254
|
**Important note:**
|
|
1249
|
-
[The `noop` setting](https://docs.puppetlabs.com/
|
|
1255
|
+
[The `noop` setting](https://docs.puppetlabs.com/puppet/latest/reference/configuration.html#noop)
|
|
1250
1256
|
allows you to globally enable or disable noop mode, but it will _not_ override
|
|
1251
1257
|
the `noop` metaparameter on individual resources. That is, the value of the
|
|
1252
1258
|
global `noop` setting will _only_ affect resources that do not have an explicit
|
|
@@ -1266,7 +1272,7 @@ class Type
|
|
|
1266
1272
|
The value of this metaparameter must be the `name` of a `schedule`
|
|
1267
1273
|
resource. This means you must declare a schedule resource, then
|
|
1268
1274
|
refer to it by name; see
|
|
1269
|
-
[the docs for the `schedule` type](https://docs.puppetlabs.com/
|
|
1275
|
+
[the docs for the `schedule` type](https://docs.puppetlabs.com/puppet/latest/reference/type.html#schedule)
|
|
1270
1276
|
for more info.
|
|
1271
1277
|
|
|
1272
1278
|
schedule { 'everyday':
|
|
@@ -1441,7 +1447,7 @@ class Type
|
|
|
1441
1447
|
}
|
|
1442
1448
|
|
|
1443
1449
|
Tags are useful for things like applying a subset of a host's configuration
|
|
1444
|
-
with [the `tags` setting](/
|
|
1450
|
+
with [the `tags` setting](/puppet/latest/reference/configuration.html#tags)
|
|
1445
1451
|
(e.g. `puppet agent --test --tags bootstrap`)."
|
|
1446
1452
|
|
|
1447
1453
|
munge do |tags|
|
|
@@ -1531,12 +1537,12 @@ class Type
|
|
|
1531
1537
|
:event => self.class.events,
|
|
1532
1538
|
:callback => method
|
|
1533
1539
|
}
|
|
1534
|
-
self.debug
|
|
1540
|
+
self.debug { "subscribes to #{related_resource.ref}" }
|
|
1535
1541
|
else
|
|
1536
1542
|
# If there's no callback, there's no point in even adding
|
|
1537
1543
|
# a label.
|
|
1538
1544
|
subargs = nil
|
|
1539
|
-
self.debug
|
|
1545
|
+
self.debug { "subscribes to #{related_resource.ref}" }
|
|
1540
1546
|
end
|
|
1541
1547
|
|
|
1542
1548
|
Puppet::Relationship.new(source, target, subargs)
|
|
@@ -1630,7 +1636,7 @@ class Type
|
|
|
1630
1636
|
By default, all classes are declared in the `main` stage. To assign a class
|
|
1631
1637
|
to a different stage, you must:
|
|
1632
1638
|
|
|
1633
|
-
* Declare the new stage as a [`stage` resource](https://docs.puppetlabs.com/
|
|
1639
|
+
* Declare the new stage as a [`stage` resource](https://docs.puppetlabs.com/puppet/latest/reference/type.html#stage).
|
|
1634
1640
|
* Declare an order relationship between the new stage and the `main` stage.
|
|
1635
1641
|
* Use the resource-like syntax to declare the class, and set the `stage`
|
|
1636
1642
|
metaparameter to the name of the desired stage.
|
data/lib/puppet/util/feature.rb
CHANGED
|
@@ -32,7 +32,7 @@ class Puppet::Util::Feature
|
|
|
32
32
|
# configured to always cache
|
|
33
33
|
if block_given? ||
|
|
34
34
|
@results[name] ||
|
|
35
|
-
(@results.has_key?(name)
|
|
35
|
+
(@results.has_key?(name) && (Puppet[:always_cache_features] || !Puppet[:always_retry_plugins]))
|
|
36
36
|
@results[name]
|
|
37
37
|
else
|
|
38
38
|
@results[name] = test(name, options)
|
|
@@ -20,6 +20,14 @@ end
|
|
|
20
20
|
|
|
21
21
|
class Symbol
|
|
22
22
|
def <=> (other)
|
|
23
|
+
if (other.class != Symbol)
|
|
24
|
+
case Puppet[:strict]
|
|
25
|
+
when :warning
|
|
26
|
+
Puppet.warn_once('deprecation', 'symbol_comparison', 'Comparing Symbols to non-Symbol values is deprecated')
|
|
27
|
+
when :error
|
|
28
|
+
raise ArgumentError.new("Comparing Symbols to non-Symbol values is no longer allowed")
|
|
29
|
+
end
|
|
30
|
+
end
|
|
23
31
|
self.to_s <=> other.to_s
|
|
24
32
|
end
|
|
25
33
|
|
|
@@ -114,15 +122,20 @@ if Puppet::Util::Platform.windows?
|
|
|
114
122
|
require 'openssl'
|
|
115
123
|
|
|
116
124
|
class OpenSSL::X509::Store
|
|
125
|
+
@puppet_certs_loaded = false
|
|
117
126
|
alias __original_set_default_paths set_default_paths
|
|
118
127
|
def set_default_paths
|
|
119
128
|
# This can be removed once openssl integrates with windows
|
|
120
129
|
# cert store, see https://rt.openssl.org/Ticket/Display.html?id=2158
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
130
|
+
unless @puppet_certs_loaded
|
|
131
|
+
@puppet_certs_loaded = true
|
|
132
|
+
|
|
133
|
+
Puppet::Util::Windows::RootCerts.instance.to_a.uniq { |cert| cert.to_der }.each do |x509|
|
|
134
|
+
begin
|
|
135
|
+
add_cert(x509)
|
|
136
|
+
rescue OpenSSL::X509::StoreError => e
|
|
137
|
+
warn "Failed to add #{x509.subject.to_s}"
|
|
138
|
+
end
|
|
126
139
|
end
|
|
127
140
|
end
|
|
128
141
|
|
|
@@ -47,7 +47,13 @@ class Puppet::Util::NetworkDevice::Cisco::Device < Puppet::Util::NetworkDevice::
|
|
|
47
47
|
end
|
|
48
48
|
|
|
49
49
|
def execute(cmd)
|
|
50
|
-
transport.command(cmd)
|
|
50
|
+
transport.command(cmd) do |out|
|
|
51
|
+
if out =~ /^%/mo or out =~ /^Command rejected:/mo
|
|
52
|
+
# strip off the command just sent
|
|
53
|
+
error = out.sub(cmd,'')
|
|
54
|
+
Puppet.err "Error while executing '#{cmd}', device returned: #{error}"
|
|
55
|
+
end
|
|
56
|
+
end
|
|
51
57
|
end
|
|
52
58
|
|
|
53
59
|
def login
|
|
@@ -209,6 +215,12 @@ class Puppet::Util::NetworkDevice::Cisco::Device < Puppet::Util::NetworkDevice::
|
|
|
209
215
|
return
|
|
210
216
|
end
|
|
211
217
|
|
|
218
|
+
# Cisco VLANs are supposed to be alphanumeric only
|
|
219
|
+
if should[:description] =~ /[^\w]/
|
|
220
|
+
Puppet.err "Invalid VLAN name '#{should[:description]}' for Cisco device.\nVLAN name must be alphanumeric, no spaces or special characters."
|
|
221
|
+
return
|
|
222
|
+
end
|
|
223
|
+
|
|
212
224
|
# We're creating or updating an entry
|
|
213
225
|
execute("conf t")
|
|
214
226
|
execute("vlan #{id}")
|
|
@@ -250,12 +262,10 @@ class Puppet::Util::NetworkDevice::Cisco::Device < Puppet::Util::NetworkDevice::
|
|
|
250
262
|
else
|
|
251
263
|
raise "Unknown switchport encapsulation: #{$1} for #{interface}"
|
|
252
264
|
end
|
|
253
|
-
when /^Access Mode VLAN:\s+(.*) \(
|
|
254
|
-
|
|
255
|
-
when /^Access Mode VLAN:\s+(.*) \(.*\)$/
|
|
256
|
-
trunking[:access_vlan] = $1 if trunking[:mode] != :trunk
|
|
265
|
+
when /^Access Mode VLAN:\s+(.*) \((.*)\)$/
|
|
266
|
+
trunking[:access_vlan] = $1 if $2 != '(Inactive)'
|
|
257
267
|
when /^Trunking Native Mode VLAN:\s+(.*) \(.*\)$/
|
|
258
|
-
trunking[:native_vlan] = $1
|
|
268
|
+
trunking[:native_vlan] = $1
|
|
259
269
|
when /^Trunking VLANs Enabled:\s+(.*)$/
|
|
260
270
|
next if trunking[:mode] == :access
|
|
261
271
|
vlans = $1
|
|
@@ -45,11 +45,6 @@ class Puppet::Util::NetworkDevice::Cisco::Interface
|
|
|
45
45
|
should[:access_vlan] = should[:native_vlan]
|
|
46
46
|
end
|
|
47
47
|
|
|
48
|
-
# Don't change non-operational mode parameters
|
|
49
|
-
next if property == :access_vlan and should[:mode] == :trunk
|
|
50
|
-
next if property == :native_vlan and should[:mode] == :access
|
|
51
|
-
next if property == :encapsulation and should[:mode] == :access
|
|
52
|
-
|
|
53
48
|
Puppet.debug("comparing #{property}: #{is[property]} == #{should[property]}")
|
|
54
49
|
|
|
55
50
|
# They're equal, so do nothing.
|
|
@@ -89,7 +84,11 @@ class Puppet::Util::NetworkDevice::Cisco::Interface
|
|
|
89
84
|
|
|
90
85
|
def command(command)
|
|
91
86
|
transport.command(command) do |out|
|
|
92
|
-
|
|
87
|
+
if out =~ /^%/mo or out =~ /^Command rejected:/mo
|
|
88
|
+
# strip off the command just sent
|
|
89
|
+
error = out.sub(command,'')
|
|
90
|
+
Puppet.err "Error while executing '#{command}', device returned: #{error}"
|
|
91
|
+
end
|
|
93
92
|
end
|
|
94
93
|
end
|
|
95
94
|
end
|
data/lib/puppet/util/plist.rb
CHANGED
|
@@ -115,16 +115,16 @@ module Puppet::Util::Plist
|
|
|
115
115
|
begin
|
|
116
116
|
plist_to_save = CFPropertyList::List.new
|
|
117
117
|
plist_to_save.value = CFPropertyList.guess(plist)
|
|
118
|
-
plist_to_save.save(file_path, to_format(format))
|
|
118
|
+
plist_to_save.save(file_path, to_format(format), :formatted => true)
|
|
119
119
|
rescue IOError => e
|
|
120
|
-
Puppet.
|
|
120
|
+
Puppet.err("Unable to write the file #{file_path}. #{e.inspect}")
|
|
121
121
|
end
|
|
122
122
|
end
|
|
123
123
|
|
|
124
124
|
def dump_plist(plist_data, format = :xml)
|
|
125
125
|
plist_to_save = CFPropertyList::List.new
|
|
126
126
|
plist_to_save.value = CFPropertyList.guess(plist_data)
|
|
127
|
-
plist_to_save.to_str(to_format(format))
|
|
127
|
+
plist_to_save.to_str(to_format(format), :formatted => true)
|
|
128
128
|
end
|
|
129
129
|
end
|
|
130
130
|
end
|