puppet 3.1.1 → 3.2.0.rc1
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of puppet might be problematic. Click here for more details.
- data/CONTRIBUTING.md +2 -2
- data/Gemfile +32 -19
- data/README_DEVELOPER.md +332 -14
- data/Rakefile +9 -5
- data/ext/build_defaults.yaml +2 -3
- data/ext/debian/changelog.erb +6 -0
- data/ext/debian/control +6 -6
- data/ext/envpuppet +4 -4
- data/ext/project_data.yaml +1 -0
- data/ext/puppet-nm-dispatcher +13 -0
- data/ext/redhat/puppet.spec.erb +17 -0
- data/ext/suse/client.init +1 -1
- data/ext/systemd/puppetagent.service +2 -2
- data/ext/systemd/puppetmaster.service +2 -2
- data/lib/hiera/scope.rb +29 -11
- data/lib/hiera_puppet.rb +1 -3
- data/lib/puppet/agent.rb +3 -3
- data/lib/puppet/application.rb +2 -2
- data/lib/puppet/application/agent.rb +27 -12
- data/lib/puppet/application/apply.rb +11 -1
- data/lib/puppet/application/describe.rb +1 -1
- data/lib/puppet/application/doc.rb +13 -9
- data/lib/puppet/application/filebucket.rb +0 -1
- data/lib/puppet/application/kick.rb +1 -0
- data/lib/puppet/application/master.rb +16 -8
- data/lib/puppet/daemon.rb +19 -64
- data/lib/puppet/defaults.rb +61 -5
- data/lib/puppet/error.rb +15 -4
- data/lib/puppet/external/nagios/grammar.ry +1 -1
- data/lib/puppet/external/nagios/makefile +1 -1
- data/lib/puppet/external/nagios/parser.rb +185 -618
- data/lib/puppet/external/pson/pure/parser.rb +47 -1
- data/lib/puppet/face/certificate.rb +3 -3
- data/lib/puppet/face/module.rb +1 -1
- data/lib/puppet/face/module/changes.rb +3 -1
- data/lib/puppet/face/module/uninstall.rb +1 -1
- data/lib/puppet/face/node/clean.rb +5 -5
- data/lib/puppet/feature/base.rb +3 -1
- data/lib/puppet/feature/libuser.rb +8 -0
- data/lib/puppet/file_serving/fileset.rb +9 -1
- data/lib/puppet/forge.rb +28 -5
- data/lib/puppet/forge/errors.rb +34 -0
- data/lib/puppet/forge/repository.rb +1 -1
- data/lib/puppet/indirector.rb +4 -1
- data/lib/puppet/indirector/catalog/compiler.rb +37 -30
- data/lib/puppet/indirector/facts/inventory_active_record.rb +1 -0
- data/lib/puppet/indirector/indirection.rb +28 -15
- data/lib/puppet/indirector/rest.rb +18 -10
- data/lib/puppet/interface.rb +11 -4
- data/lib/puppet/interface/action.rb +1 -3
- data/lib/puppet/interface/action_builder.rb +0 -3
- data/lib/puppet/interface/action_manager.rb +0 -3
- data/lib/puppet/interface/face_collection.rb +0 -2
- data/lib/puppet/interface/option.rb +0 -2
- data/lib/puppet/interface/option_builder.rb +0 -2
- data/lib/puppet/interface/option_manager.rb +0 -2
- data/lib/puppet/metatype/manager.rb +1 -1
- data/lib/puppet/module_tool.rb +1 -0
- data/lib/puppet/module_tool/applications/application.rb +0 -3
- data/lib/puppet/module_tool/applications/builder.rb +8 -20
- data/lib/puppet/module_tool/applications/checksummer.rb +1 -1
- data/lib/puppet/module_tool/applications/installer.rb +1 -0
- data/lib/puppet/module_tool/applications/unpacker.rb +3 -11
- data/lib/puppet/module_tool/checksums.rb +1 -1
- data/lib/puppet/module_tool/errors/installer.rb +18 -1
- data/lib/puppet/module_tool/modulefile.rb +2 -2
- data/lib/puppet/module_tool/skeleton/templates/generator/Modulefile.erb +1 -1
- data/lib/puppet/module_tool/tar.rb +17 -0
- data/lib/puppet/module_tool/tar/gnu.rb +9 -0
- data/lib/puppet/module_tool/tar/mini.rb +39 -0
- data/lib/puppet/module_tool/tar/solaris.rb +5 -0
- data/lib/puppet/network/http.rb +1 -0
- data/lib/puppet/network/http/connection.rb +9 -23
- data/lib/puppet/network/http/handler.rb +38 -7
- data/lib/puppet/network/http/rack/rest.rb +14 -3
- data/lib/puppet/network/http/webrick.rb +3 -1
- data/lib/puppet/network/http/webrick/rest.rb +11 -2
- data/lib/puppet/node/environment.rb +3 -1
- data/lib/puppet/parameter.rb +32 -29
- data/lib/puppet/parameter/package_options.rb +1 -1
- data/lib/puppet/parameter/path.rb +1 -1
- data/lib/puppet/parameter/value.rb +1 -1
- data/lib/puppet/parameter/value_collection.rb +7 -3
- data/lib/puppet/parser/ast.rb +3 -1
- data/lib/puppet/parser/ast/arithmetic_operator.rb +56 -12
- data/lib/puppet/parser/ast/astarray.rb +1 -1
- data/lib/puppet/parser/ast/block_expression.rb +41 -0
- data/lib/puppet/parser/ast/function.rb +13 -2
- data/lib/puppet/parser/ast/lambda.rb +107 -0
- data/lib/puppet/parser/ast/leaf.rb +1 -2
- data/lib/puppet/parser/ast/method_call.rb +77 -0
- data/lib/puppet/parser/ast/vardef.rb +7 -0
- data/lib/puppet/parser/compiler.rb +27 -16
- data/lib/puppet/parser/e_parser_adapter.rb +120 -0
- data/lib/puppet/parser/files.rb +7 -6
- data/lib/puppet/parser/functions.rb +10 -8
- data/lib/puppet/parser/functions/collect.rb +43 -0
- data/lib/puppet/parser/functions/each.rb +96 -0
- data/lib/puppet/parser/functions/foreach.rb +96 -0
- data/lib/puppet/parser/functions/fqdn_rand.rb +2 -2
- data/lib/puppet/parser/functions/hiera.rb +20 -2
- data/lib/puppet/parser/functions/hiera_array.rb +21 -2
- data/lib/puppet/parser/functions/hiera_hash.rb +23 -2
- data/lib/puppet/parser/functions/hiera_include.rb +33 -2
- data/lib/puppet/parser/functions/inline_template.rb +4 -4
- data/lib/puppet/parser/functions/reduce.rb +74 -0
- data/lib/puppet/parser/functions/reject.rb +46 -0
- data/lib/puppet/parser/functions/select.rb +46 -0
- data/lib/puppet/parser/functions/slice.rb +96 -0
- data/lib/puppet/parser/functions/template.rb +2 -2
- data/lib/puppet/parser/grammar.ra +7 -4
- data/lib/puppet/parser/lexer.rb +10 -0
- data/lib/puppet/parser/methods.rb +69 -0
- data/lib/puppet/parser/parser.rb +855 -808
- data/lib/puppet/parser/parser_factory.rb +62 -0
- data/lib/puppet/parser/parser_support.rb +8 -2
- data/lib/puppet/parser/scope.rb +153 -47
- data/lib/puppet/parser/templatewrapper.rb +28 -21
- data/lib/puppet/parser/type_loader.rb +3 -1
- data/lib/puppet/pops.rb +40 -0
- data/lib/puppet/pops/adaptable.rb +190 -0
- data/lib/puppet/pops/adapters.rb +65 -0
- data/lib/puppet/pops/containment.rb +37 -0
- data/lib/puppet/pops/issues.rb +258 -0
- data/lib/puppet/pops/label_provider.rb +71 -0
- data/lib/puppet/pops/model/ast_transformer.rb +636 -0
- data/lib/puppet/pops/model/ast_tree_dumper.rb +378 -0
- data/lib/puppet/pops/model/factory.rb +804 -0
- data/lib/puppet/pops/model/model.rb +567 -0
- data/lib/puppet/pops/model/model_label_provider.rb +75 -0
- data/lib/puppet/pops/model/model_tree_dumper.rb +352 -0
- data/lib/puppet/pops/model/tree_dumper.rb +59 -0
- data/lib/puppet/pops/parser/egrammar.ra +723 -0
- data/lib/puppet/pops/parser/eparser.rb +2300 -0
- data/lib/puppet/pops/parser/grammar.ra +746 -0
- data/lib/puppet/pops/parser/lexer.rb +842 -0
- data/lib/puppet/pops/parser/makefile +13 -0
- data/lib/puppet/pops/parser/parser_support.rb +203 -0
- data/lib/puppet/pops/patterns.rb +35 -0
- data/lib/puppet/pops/utils.rb +104 -0
- data/lib/puppet/pops/validation.rb +297 -0
- data/lib/puppet/pops/validation/checker3_1.rb +551 -0
- data/lib/puppet/pops/validation/validator_factory_3_1.rb +41 -0
- data/lib/puppet/pops/visitable.rb +6 -0
- data/lib/puppet/pops/visitor.rb +50 -0
- data/lib/puppet/property.rb +37 -28
- data/lib/puppet/property/ensure.rb +2 -2
- data/lib/puppet/property/ordered_list.rb +1 -1
- data/lib/puppet/provider.rb +26 -30
- data/lib/puppet/provider/aixobject.rb +45 -44
- data/lib/puppet/provider/augeas/augeas.rb +0 -1
- data/lib/puppet/provider/confiner.rb +1 -1
- data/lib/puppet/provider/cron/crontab.rb +107 -67
- data/lib/puppet/provider/group/groupadd.rb +59 -3
- data/lib/puppet/provider/interface/cisco.rb +4 -4
- data/lib/puppet/provider/mount/parsed.rb +1 -1
- data/lib/puppet/provider/nameservice.rb +22 -6
- data/lib/puppet/provider/nameservice/pw.rb +1 -1
- data/lib/puppet/provider/package/aix.rb +28 -4
- data/lib/puppet/provider/package/gem.rb +0 -2
- data/lib/puppet/provider/package/macports.rb +1 -1
- data/lib/puppet/provider/package/nim.rb +249 -4
- data/lib/puppet/provider/package/opkg.rb +77 -0
- data/lib/puppet/provider/package/pacman.rb +2 -2
- data/lib/puppet/provider/package/rpm.rb +30 -16
- data/lib/puppet/provider/package/yum.rb +3 -3
- data/lib/puppet/provider/parsedfile.rb +80 -3
- data/lib/puppet/provider/selmodule/semodule.rb +2 -2
- data/lib/puppet/provider/service/debian.rb +0 -4
- data/lib/puppet/provider/service/freebsd.rb +2 -2
- data/lib/puppet/provider/service/gentoo.rb +0 -9
- data/lib/puppet/provider/service/init.rb +27 -2
- data/lib/puppet/provider/service/launchd.rb +1 -1
- data/lib/puppet/provider/service/openwrt.rb +36 -0
- data/lib/puppet/provider/service/redhat.rb +0 -9
- data/lib/puppet/provider/service/src.rb +38 -4
- data/lib/puppet/provider/service/systemd.rb +2 -2
- data/lib/puppet/provider/service/upstart.rb +1 -8
- data/lib/puppet/provider/user/aix.rb +4 -10
- data/lib/puppet/provider/user/pw.rb +6 -10
- data/lib/puppet/provider/user/useradd.rb +129 -31
- data/lib/puppet/provider/vlan/cisco.rb +4 -4
- data/lib/puppet/reference/function.rb +2 -2
- data/lib/puppet/reference/indirection.rb +46 -5
- data/lib/puppet/reference/metaparameter.rb +2 -2
- data/lib/puppet/reports.rb +5 -5
- data/lib/puppet/reports/rrdgraph.rb +4 -4
- data/lib/puppet/reports/tagmail.rb +1 -1
- data/lib/puppet/resource.rb +1 -1
- data/lib/puppet/resource/type.rb +13 -11
- data/lib/puppet/scheduler.rb +16 -0
- data/lib/puppet/scheduler/job.rb +53 -0
- data/lib/puppet/scheduler/scheduler.rb +45 -0
- data/lib/puppet/scheduler/splay_job.rb +32 -0
- data/lib/puppet/scheduler/timer.rb +13 -0
- data/lib/puppet/settings/base_setting.rb +1 -1
- data/lib/puppet/simple_graph.rb +4 -4
- data/lib/puppet/ssl/base.rb +12 -2
- data/lib/puppet/ssl/certificate.rb +4 -1
- data/lib/puppet/ssl/certificate_request.rb +4 -1
- data/lib/puppet/ssl/certificate_revocation_list.rb +4 -1
- data/lib/puppet/ssl/configuration.rb +32 -0
- data/lib/puppet/ssl/host.rb +18 -21
- data/lib/puppet/ssl/key.rb +4 -1
- data/lib/puppet/ssl/validator.rb +116 -0
- data/lib/puppet/transaction.rb +1 -1
- data/lib/puppet/transaction/event.rb +3 -10
- data/lib/puppet/transaction/event_manager.rb +8 -1
- data/lib/puppet/transaction/report.rb +17 -16
- data/lib/puppet/type.rb +77 -69
- data/lib/puppet/type/cron.rb +20 -8
- data/lib/puppet/type/exec.rb +9 -3
- data/lib/puppet/type/file.rb +95 -21
- data/lib/puppet/type/file/content.rb +1 -1
- data/lib/puppet/type/file/mode.rb +7 -1
- data/lib/puppet/type/file/source.rb +2 -2
- data/lib/puppet/type/group.rb +11 -0
- data/lib/puppet/type/scheduled_task.rb +5 -1
- data/lib/puppet/type/service.rb +1 -1
- data/lib/puppet/type/ssh_authorized_key.rb +2 -2
- data/lib/puppet/type/user.rb +24 -6
- data/lib/puppet/util.rb +12 -2
- data/lib/puppet/util/classgen.rb +4 -4
- data/lib/puppet/util/colors.rb +55 -0
- data/lib/puppet/util/command_line/trollop.rb +4 -4
- data/lib/puppet/util/errors.rb +39 -3
- data/lib/puppet/util/fileparsing.rb +5 -0
- data/lib/puppet/util/filetype.rb +11 -9
- data/lib/puppet/util/instrumentation/instrumentable.rb +2 -2
- data/lib/puppet/util/libuser.conf +15 -0
- data/lib/puppet/util/libuser.rb +12 -0
- data/lib/puppet/util/monkey_patches.rb +48 -0
- data/lib/puppet/util/network_device.rb +1 -1
- data/lib/puppet/util/network_device/base.rb +2 -2
- data/lib/puppet/util/network_device/cisco/device.rb +29 -19
- data/lib/puppet/util/network_device/config.rb +5 -2
- data/lib/puppet/util/network_device/ipcalc.rb +1 -1
- data/lib/puppet/util/network_device/transport/ssh.rb +4 -3
- data/lib/puppet/util/network_device/transport/telnet.rb +4 -2
- data/lib/puppet/util/plugins.rb +4 -4
- data/lib/puppet/util/posix.rb +1 -1
- data/lib/puppet/util/profiler.rb +28 -0
- data/lib/puppet/util/profiler/logging.rb +47 -0
- data/lib/puppet/util/profiler/none.rb +8 -0
- data/lib/puppet/util/profiler/object_counts.rb +17 -0
- data/lib/puppet/util/profiler/wall_clock.rb +34 -0
- data/lib/puppet/util/provider_features.rb +1 -1
- data/lib/puppet/util/rdoc/parser.rb +5 -5
- data/lib/puppet/util/ssl.rb +38 -0
- data/lib/puppet/util/subclass_loader.rb +1 -5
- data/lib/puppet/util/windows.rb +1 -0
- data/lib/puppet/util/windows/process.rb +3 -0
- data/lib/puppet/util/windows/root_certs.rb +86 -0
- data/lib/puppet/util/windows/security.rb +1 -0
- data/lib/puppet/version.rb +1 -1
- data/spec/fixtures/integration/provider/cron/crontab/create_normal_entry +19 -0
- data/spec/fixtures/integration/provider/cron/crontab/create_special_entry +18 -0
- data/spec/fixtures/integration/provider/cron/crontab/crontab_user1 +15 -0
- data/spec/fixtures/integration/provider/cron/crontab/crontab_user2 +4 -0
- data/spec/fixtures/integration/provider/cron/crontab/modify_entry +13 -0
- data/spec/fixtures/integration/provider/cron/crontab/moved_cronjob_input1 +15 -0
- data/spec/fixtures/integration/provider/cron/crontab/moved_cronjob_input2 +6 -0
- data/spec/fixtures/integration/provider/cron/crontab/remove_named_resource +12 -0
- data/spec/fixtures/integration/provider/cron/crontab/remove_unnamed_resource +14 -0
- data/spec/fixtures/unit/pops/parser/lexer/aliastest.pp +16 -0
- data/spec/fixtures/unit/pops/parser/lexer/append.pp +11 -0
- data/spec/fixtures/unit/pops/parser/lexer/argumentdefaults.pp +14 -0
- data/spec/fixtures/unit/pops/parser/lexer/arithmetic_expression.pp +8 -0
- data/spec/fixtures/unit/pops/parser/lexer/arraytrailingcomma.pp +3 -0
- data/spec/fixtures/unit/pops/parser/lexer/casestatement.pp +65 -0
- data/spec/fixtures/unit/pops/parser/lexer/classheirarchy.pp +15 -0
- data/spec/fixtures/unit/pops/parser/lexer/classincludes.pp +17 -0
- data/spec/fixtures/unit/pops/parser/lexer/classpathtest.pp +11 -0
- data/spec/fixtures/unit/pops/parser/lexer/collection.pp +10 -0
- data/spec/fixtures/unit/pops/parser/lexer/collection_override.pp +8 -0
- data/spec/fixtures/unit/pops/parser/lexer/collection_within_virtual_definitions.pp +20 -0
- data/spec/fixtures/unit/pops/parser/lexer/componentmetaparams.pp +11 -0
- data/spec/fixtures/unit/pops/parser/lexer/componentrequire.pp +8 -0
- data/spec/fixtures/unit/pops/parser/lexer/deepclassheirarchy.pp +23 -0
- data/spec/fixtures/unit/pops/parser/lexer/defineoverrides.pp +17 -0
- data/spec/fixtures/unit/pops/parser/lexer/emptyclass.pp +9 -0
- data/spec/fixtures/unit/pops/parser/lexer/emptyexec.pp +3 -0
- data/spec/fixtures/unit/pops/parser/lexer/emptyifelse.pp +9 -0
- data/spec/fixtures/unit/pops/parser/lexer/falsevalues.pp +3 -0
- data/spec/fixtures/unit/pops/parser/lexer/filecreate.pp +11 -0
- data/spec/fixtures/unit/pops/parser/lexer/fqdefinition.pp +5 -0
- data/spec/fixtures/unit/pops/parser/lexer/fqparents.pp +11 -0
- data/spec/fixtures/unit/pops/parser/lexer/funccomma.pp +5 -0
- data/spec/fixtures/unit/pops/parser/lexer/hash.pp +33 -0
- data/spec/fixtures/unit/pops/parser/lexer/ifexpression.pp +12 -0
- data/spec/fixtures/unit/pops/parser/lexer/implicititeration.pp +15 -0
- data/spec/fixtures/unit/pops/parser/lexer/multilinecomments.pp +10 -0
- data/spec/fixtures/unit/pops/parser/lexer/multipleclass.pp +9 -0
- data/spec/fixtures/unit/pops/parser/lexer/multipleinstances.pp +7 -0
- data/spec/fixtures/unit/pops/parser/lexer/multisubs.pp +13 -0
- data/spec/fixtures/unit/pops/parser/lexer/namevartest.pp +9 -0
- data/spec/fixtures/unit/pops/parser/lexer/scopetest.pp +13 -0
- data/spec/fixtures/unit/pops/parser/lexer/selectorvalues.pp +49 -0
- data/spec/fixtures/unit/pops/parser/lexer/simpledefaults.pp +5 -0
- data/spec/fixtures/unit/pops/parser/lexer/simpleselector.pp +38 -0
- data/spec/fixtures/unit/pops/parser/lexer/singleary.pp +19 -0
- data/spec/fixtures/unit/pops/parser/lexer/singlequote.pp +11 -0
- data/spec/fixtures/unit/pops/parser/lexer/singleselector.pp +22 -0
- data/spec/fixtures/unit/pops/parser/lexer/subclass_name_duplication.pp +11 -0
- data/spec/fixtures/unit/pops/parser/lexer/tag.pp +9 -0
- data/spec/fixtures/unit/pops/parser/lexer/tagged.pp +35 -0
- data/spec/fixtures/unit/pops/parser/lexer/virtualresources.pp +14 -0
- data/spec/fixtures/unit/provider/cron/crontab/single_line.yaml +4 -4
- data/spec/fixtures/unit/provider/cron/crontab/vixie_header.txt +3 -0
- data/spec/fixtures/unit/provider/cron/parsed/managed +6 -0
- data/spec/fixtures/unit/provider/cron/parsed/simple +9 -0
- data/spec/fixtures/unit/provider/parsedfile/simple.txt +4 -0
- data/spec/fixtures/unit/provider/service/systemd/list_units +18 -0
- data/spec/integration/parser/collector_spec.rb +1 -1
- data/spec/integration/parser/compiler_spec.rb +252 -227
- data/spec/integration/parser/parser_spec.rb +171 -53
- data/spec/integration/parser/scope_spec.rb +1 -1
- data/spec/integration/provider/cron/crontab_spec.rb +187 -0
- data/spec/integration/provider/service/systemd_spec.rb +20 -0
- data/spec/integration/type/file_spec.rb +21 -21
- data/spec/integration/type/package_spec.rb +1 -1
- data/spec/lib/puppet_spec/database.rb +2 -5
- data/spec/spec_helper.rb +6 -1
- data/spec/unit/application/apply_spec.rb +16 -1
- data/spec/unit/application/describe_spec.rb +1 -1
- data/spec/unit/application/doc_spec.rb +55 -32
- data/spec/unit/application/kick_spec.rb +8 -6
- data/spec/unit/application/master_spec.rb +4 -4
- data/spec/unit/daemon_spec.rb +1 -1
- data/spec/unit/forge/errors_spec.rb +40 -0
- data/spec/unit/forge/repository_spec.rb +11 -1
- data/spec/unit/forge_spec.rb +13 -3
- data/spec/unit/hiera/backend/puppet_backend_spec.rb +1 -0
- data/spec/unit/hiera/scope_spec.rb +48 -25
- data/spec/unit/indirector/catalog/active_record_spec.rb +6 -3
- data/spec/unit/indirector/catalog/compiler_spec.rb +3 -28
- data/spec/unit/indirector/catalog/static_compiler_spec.rb +1 -1
- data/spec/unit/indirector/facts/inventory_active_record_spec.rb +154 -150
- data/spec/unit/indirector/indirection_spec.rb +5 -0
- data/spec/unit/indirector/resource/active_record_spec.rb +5 -22
- data/spec/unit/indirector_spec.rb +7 -1
- data/spec/unit/interface/action_builder_spec.rb +1 -1
- data/spec/unit/interface/action_manager_spec.rb +0 -2
- data/spec/unit/interface/action_spec.rb +1 -1
- data/spec/unit/interface/documentation_spec.rb +0 -2
- data/spec/unit/interface/face_collection_spec.rb +1 -1
- data/spec/unit/interface/option_builder_spec.rb +1 -1
- data/spec/unit/interface/option_spec.rb +0 -1
- data/spec/unit/module_spec.rb +17 -19
- data/spec/unit/module_tool/application_spec.rb +1 -3
- data/spec/unit/module_tool/applications/builder_spec.rb +38 -0
- data/spec/unit/module_tool/applications/checksummer_spec.rb +134 -0
- data/spec/unit/module_tool/applications/installer_spec.rb +71 -91
- data/spec/unit/module_tool/applications/searcher_spec.rb +1 -3
- data/spec/unit/module_tool/applications/uninstaller_spec.rb +18 -26
- data/spec/unit/module_tool/applications/unpacker_spec.rb +19 -52
- data/spec/unit/module_tool/tar/gnu_spec.rb +19 -0
- data/spec/unit/module_tool/tar/mini_spec.rb +59 -0
- data/spec/unit/module_tool/tar/solaris_spec.rb +19 -0
- data/spec/unit/network/http/connection_spec.rb +17 -2
- data/spec/unit/network/http/handler_spec.rb +195 -167
- data/spec/unit/network/http/rack/rest_spec.rb +26 -4
- data/spec/unit/network/http/webrick/rest_spec.rb +28 -1
- data/spec/unit/network/http/webrick_spec.rb +12 -3
- data/spec/unit/node/environment_spec.rb +421 -404
- data/spec/unit/parser/ast/arithmetic_operator_spec.rb +98 -2
- data/spec/unit/parser/collector_spec.rb +4 -4
- data/spec/unit/parser/compiler_spec.rb +13 -13
- data/spec/unit/parser/eparser_adapter_spec.rb +407 -0
- data/spec/unit/parser/functions/extlookup_spec.rb +20 -17
- data/spec/unit/parser/functions/fqdn_rand_spec.rb +5 -0
- data/spec/unit/parser/functions/hiera_include_spec.rb +0 -2
- data/spec/unit/parser/functions/hiera_spec.rb +0 -2
- data/spec/unit/parser/functions_spec.rb +27 -15
- data/spec/unit/parser/methods/collect_spec.rb +110 -0
- data/spec/unit/parser/methods/each_spec.rb +91 -0
- data/spec/unit/parser/methods/foreach_spec.rb +91 -0
- data/spec/unit/parser/methods/reduce_spec.rb +67 -0
- data/spec/unit/parser/methods/reject_spec.rb +73 -0
- data/spec/unit/parser/methods/select_spec.rb +79 -0
- data/spec/unit/parser/methods/shared.rb +61 -0
- data/spec/unit/parser/methods/slice_spec.rb +97 -0
- data/spec/unit/parser/parser_spec.rb +2 -2
- data/spec/unit/parser/scope_spec.rb +39 -16
- data/spec/unit/parser/templatewrapper_spec.rb +6 -5
- data/spec/unit/parser/type_loader_spec.rb +191 -165
- data/spec/unit/pops/adaptable_spec.rb +143 -0
- data/spec/unit/pops/containment_spec.rb +25 -0
- data/spec/unit/pops/factory_rspec_helper.rb +77 -0
- data/spec/unit/pops/factory_spec.rb +329 -0
- data/spec/unit/pops/issues_spec.rb +26 -0
- data/spec/unit/pops/label_provider_spec.rb +42 -0
- data/spec/unit/pops/model/ast_transformer_spec.rb +65 -0
- data/spec/unit/pops/model/model_spec.rb +37 -0
- data/spec/unit/pops/parser/lexer_spec.rb +884 -0
- data/spec/unit/pops/parser/parse_basic_expressions_spec.rb +248 -0
- data/spec/unit/pops/parser/parse_calls_spec.rb +93 -0
- data/spec/unit/pops/parser/parse_conditionals_spec.rb +159 -0
- data/spec/unit/pops/parser/parse_containers_spec.rb +175 -0
- data/spec/unit/pops/parser/parse_resource_spec.rb +228 -0
- data/spec/unit/pops/parser/parser_rspec_helper.rb +11 -0
- data/spec/unit/pops/parser/parser_spec.rb +15 -0
- data/spec/unit/pops/parser/rgen_sanitycheck_spec.rb +16 -0
- data/spec/unit/pops/transformer/transform_basic_expressions_spec.rb +243 -0
- data/spec/unit/pops/transformer/transform_calls_spec.rb +80 -0
- data/spec/unit/pops/transformer/transform_conditionals_spec.rb +132 -0
- data/spec/unit/pops/transformer/transform_containers_spec.rb +182 -0
- data/spec/unit/pops/transformer/transform_resource_spec.rb +185 -0
- data/spec/unit/pops/transformer/transformer_rspec_helper.rb +27 -0
- data/spec/unit/pops/visitor_spec.rb +94 -0
- data/spec/unit/property_spec.rb +11 -0
- data/spec/unit/provider/augeas/augeas_spec.rb +3 -0
- data/spec/unit/provider/cron/crontab_spec.rb +97 -7
- data/spec/unit/provider/cron/parsed_spec.rb +325 -0
- data/spec/unit/provider/exec/posix_spec.rb +1 -1
- data/spec/unit/provider/group/groupadd_spec.rb +33 -3
- data/spec/unit/provider/group/pw_spec.rb +5 -5
- data/spec/unit/provider/nameservice_spec.rb +304 -0
- data/spec/unit/provider/package/aix_spec.rb +53 -11
- data/spec/unit/provider/package/aptrpm_spec.rb +6 -0
- data/spec/unit/provider/package/gem_spec.rb +6 -11
- data/spec/unit/provider/package/nim_spec.rb +216 -7
- data/spec/unit/provider/package/opkg_spec.rb +180 -0
- data/spec/unit/provider/package/rpm_spec.rb +149 -3
- data/spec/unit/provider/package/yum_spec.rb +6 -5
- data/spec/unit/provider/parsedfile_spec.rb +122 -28
- data/spec/unit/provider/service/freebsd_spec.rb +18 -0
- data/spec/unit/provider/service/init_spec.rb +108 -87
- data/spec/unit/provider/service/launchd_spec.rb +2 -2
- data/spec/unit/provider/service/openwrt_spec.rb +109 -0
- data/spec/unit/provider/service/src_spec.rb +117 -41
- data/spec/unit/provider/service/systemd_spec.rb +125 -17
- data/spec/unit/provider/service/upstart_spec.rb +1 -1
- data/spec/unit/provider/user/aix_spec.rb +42 -0
- data/spec/unit/provider/user/directoryservice_spec.rb +1 -0
- data/spec/unit/provider/user/pw_spec.rb +24 -12
- data/spec/unit/provider/user/user_role_add_spec.rb +1 -1
- data/spec/unit/provider/user/useradd_spec.rb +179 -15
- data/spec/unit/resource/type_spec.rb +3 -3
- data/spec/unit/scheduler/job_spec.rb +79 -0
- data/spec/unit/scheduler/scheduler_spec.rb +129 -0
- data/spec/unit/scheduler/splay_job_spec.rb +35 -0
- data/spec/unit/ssl/base_spec.rb +3 -9
- data/spec/unit/ssl/certificate_authority_spec.rb +1 -0
- data/spec/unit/ssl/certificate_request_spec.rb +3 -1
- data/spec/unit/ssl/certificate_spec.rb +3 -1
- data/spec/unit/ssl/configuration_spec.rb +74 -0
- data/spec/unit/ssl/host_spec.rb +28 -7
- data/spec/unit/ssl/validator_spec.rb +311 -0
- data/spec/unit/transaction/event_manager_spec.rb +49 -0
- data/spec/unit/transaction/event_spec.rb +20 -5
- data/spec/unit/transaction/report_spec.rb +8 -0
- data/spec/unit/type/cron_spec.rb +9 -0
- data/spec/unit/type/exec_spec.rb +11 -0
- data/spec/unit/type/file/content_spec.rb +20 -20
- data/spec/unit/type/file/mode_spec.rb +6 -0
- data/spec/unit/type/file/source_spec.rb +9 -7
- data/spec/unit/type/file_spec.rb +22 -3
- data/spec/unit/type/service_spec.rb +34 -21
- data/spec/unit/type_spec.rb +46 -1
- data/spec/unit/util/backups_spec.rb +2 -2
- data/spec/unit/util/execution_spec.rb +4 -1
- data/spec/unit/util/filetype_spec.rb +6 -0
- data/spec/unit/util/monkey_patches_spec.rb +18 -0
- data/spec/unit/util/network_device/cisco/device_spec.rb +37 -0
- data/spec/unit/util/network_device/config_spec.rb +14 -0
- data/spec/unit/util/network_device_spec.rb +3 -3
- data/spec/unit/util/profiler/logging_spec.rb +81 -0
- data/spec/unit/util/profiler/none_spec.rb +12 -0
- data/spec/unit/util/profiler/object_counts_spec.rb +14 -0
- data/spec/unit/util/profiler/wall_clock_spec.rb +13 -0
- data/spec/unit/util/pson_spec.rb +5 -0
- data/spec/unit/util/ssl_spec.rb +51 -0
- data/spec/unit/util/windows/root_certs_spec.rb +15 -0
- data/spec/unit/util_spec.rb +28 -0
- metadata +2593 -2307
- data/spec/unit/module_tool/applications/application_spec.rb +0 -19
data/Rakefile
CHANGED
@@ -57,12 +57,16 @@ if File.exist?(build_defs_file)
|
|
57
57
|
end
|
58
58
|
|
59
59
|
task :default do
|
60
|
-
|
60
|
+
sh %{rake -T}
|
61
61
|
end
|
62
62
|
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
63
|
+
task :spec do
|
64
|
+
sh %{rspec -fd spec}
|
65
|
+
end
|
66
|
+
|
67
|
+
namespace "ci" do
|
68
|
+
task :spec do
|
69
|
+
ENV["LOG_SPEC_ORDER"] = "true"
|
70
|
+
sh %{rspec -r yarjuf -f JUnit -o result.xml -fd spec}
|
67
71
|
end
|
68
72
|
end
|
data/ext/build_defaults.yaml
CHANGED
@@ -2,15 +2,14 @@
|
|
2
2
|
packaging_url: 'git://github.com/puppetlabs/packaging.git --branch=master'
|
3
3
|
packaging_repo: 'packaging'
|
4
4
|
default_cow: 'base-squeeze-i386.cow'
|
5
|
-
cows: 'base-lucid-i386.cow base-
|
5
|
+
cows: 'base-lucid-i386.cow base-oneiric-i386.cow base-precise-i386.cow base-quantal-i386.cow base-raring-i386.cow base-sid-i386.cow base-squeeze-i386.cow base-stable-i386.cow base-testing-i386.cow base-unstable-i386.cow base-wheezy-i386.cow'
|
6
6
|
pbuild_conf: '/etc/pbuilderrc'
|
7
7
|
packager: 'puppetlabs'
|
8
8
|
gpg_name: 'info@puppetlabs.com'
|
9
9
|
gpg_key: '4BD6EC30'
|
10
10
|
sign_tar: FALSE
|
11
11
|
# a space separated list of mock configs
|
12
|
-
final_mocks: 'pl-5-i386 pl-6-i386 fedora-
|
13
|
-
rc_mocks: 'pl-5-i386-dev pl-6-i386-dev fedora-16-i386-dev fedora-17-i386-dev'
|
12
|
+
final_mocks: 'pl-el-5-i386 pl-el-6-i386 pl-fedora-17-i386 pl-fedora-18-i386'
|
14
13
|
yum_host: 'burji.puppetlabs.com'
|
15
14
|
yum_repo_path: '/opt/repository/yum/'
|
16
15
|
build_gem: TRUE
|
data/ext/debian/changelog.erb
CHANGED
@@ -4,6 +4,12 @@ puppet (<%= @debversion %>) hardy lucid natty oneiric unstable sid squeeze wheez
|
|
4
4
|
|
5
5
|
-- Puppet Labs Release <info@puppetlabs.com> <%= Time.now.strftime("%a, %d %b %Y %H:%M:%S %z")%>
|
6
6
|
|
7
|
+
puppet (3.2.0-0.1rc0puppetlabs1) lucid oneiric precise unstable sid squeeze wheezy precise; urgency=low
|
8
|
+
|
9
|
+
* Add ruby-rgen dependency for new parser in Puppet 3.2
|
10
|
+
|
11
|
+
-- Matthaus Owens <matthaus@puppetlabs.com> Fri, 12 Apr 2013 14:45:14 +0000
|
12
|
+
|
7
13
|
puppet (3.1.0-0.1rc1puppetlabs1) lucid natty oneiric precise unstable sid squeeze wheezy precise; urgency=low
|
8
14
|
|
9
15
|
* Add extlookup2hiera manpage to puppet-common.manpages
|
data/ext/debian/control
CHANGED
@@ -11,9 +11,9 @@ Homepage: http://projects.puppetlabs.com/projects/puppet
|
|
11
11
|
|
12
12
|
Package: puppet-common
|
13
13
|
Architecture: all
|
14
|
-
Depends: ${misc:Depends}, ruby | ruby-interpreter, libxmlrpc-ruby, libopenssl-ruby, libshadow-ruby1.8
|
14
|
+
Depends: ${misc:Depends}, ruby | ruby-interpreter, libxmlrpc-ruby, libopenssl-ruby, ruby-shadow | libshadow-ruby1.8, libaugeas-ruby | libaugeas-ruby1.9.1 | libaugeas-ruby1.8, adduser, lsb-base, sysv-rc (>= 2.86) | file-rc, hiera (>= 1.0.0), facter (>= 1.6.12), ruby-rgen
|
15
15
|
Recommends: lsb-release, debconf-utils
|
16
|
-
Suggests: libselinux-ruby1.8
|
16
|
+
Suggests: ruby-selinux | libselinux-ruby1.8, librrd-ruby1.9.1 | librrd-ruby1.8
|
17
17
|
Breaks: puppet (<< 2.6.0~rc2-1), puppetmaster (<< 0.25.4-1)
|
18
18
|
Provides: hiera-puppet
|
19
19
|
Conflicts: hiera-puppet
|
@@ -62,7 +62,7 @@ Replaces: puppetmaster (<< 2.6.1~rc2-1)
|
|
62
62
|
Suggests: apache2 | nginx, puppet-el, vim-puppet, stompserver, ruby-stomp | libstomp-ruby1.8,
|
63
63
|
rdoc, ruby-ldap | libldap-ruby1.8, puppetdb-terminus
|
64
64
|
Description: Puppet master common scripts
|
65
|
-
This package contains common scripts for the puppet master,
|
65
|
+
This package contains common scripts for the puppet master,
|
66
66
|
which is the server hosting manifests and files for the puppet nodes.
|
67
67
|
.
|
68
68
|
Puppet lets you centrally manage every important aspect of your system
|
@@ -80,8 +80,8 @@ Package: puppetmaster
|
|
80
80
|
Architecture: all
|
81
81
|
Depends: ${misc:Depends}, ruby | ruby-interpreter, puppetmaster-common (= ${source:Version}), facter (>= 1.6.12), lsb-base
|
82
82
|
Breaks: puppet (<< 0.24.7-1)
|
83
|
-
Suggests: apache2 | nginx, puppet-el, vim-puppet, stompserver, libstomp-ruby1.8
|
84
|
-
rdoc, libldap-ruby1.8
|
83
|
+
Suggests: apache2 | nginx, puppet-el, vim-puppet, stompserver, ruby-stomp | libstomp-ruby1.8,
|
84
|
+
rdoc, ruby-ldap | libldap-ruby1.8, puppetdb-terminus
|
85
85
|
Description: Centralized configuration management - master startup and compatibility scripts
|
86
86
|
This package contains the startup and compatibility scripts for the puppet
|
87
87
|
master, which is the server hosting manifests and files for the puppet nodes.
|
@@ -136,7 +136,7 @@ Description: syntax highlighting for puppet manifests in emacs
|
|
136
136
|
|
137
137
|
Package: puppet-testsuite
|
138
138
|
Architecture: all
|
139
|
-
Depends: ${misc:Depends}, ruby | ruby-interpreter, puppet-common (= ${source:Version}), facter (>= 1.6.12), lsb-base, rails (>= 1.2.3-2), rdoc, libldap-ruby1.8
|
139
|
+
Depends: ${misc:Depends}, ruby | ruby-interpreter, puppet-common (= ${source:Version}), facter (>= 1.6.12), lsb-base, rails (>= 1.2.3-2), rdoc, ruby-ldap | libldap-ruby1.8, ruby-rspec | librspec-ruby, git-core, ruby-mocha | libmocha-ruby1.8
|
140
140
|
Recommends: cron
|
141
141
|
Description: Centralized configuration management - test suite
|
142
142
|
This package provides all the tests from the upstream puppet source code.
|
data/ext/envpuppet
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
#! /bin/
|
1
|
+
#! /bin/sh
|
2
2
|
#
|
3
3
|
# Jeff McCune <jeff@puppetlabs.com>
|
4
4
|
# 2010-10-20
|
@@ -34,7 +34,7 @@
|
|
34
34
|
set -e
|
35
35
|
set -u
|
36
36
|
|
37
|
-
if [
|
37
|
+
if [ "${1:-}" = "--help" ]; then
|
38
38
|
cat <<EO_HELP
|
39
39
|
This command reconfigures the environment once for development.
|
40
40
|
It is designed to wrap around any other command, specifically puppet
|
@@ -99,7 +99,7 @@ myrubylib="${myrubylib}:${ENVPUPPET_BASEDIR}/facter/lib"
|
|
99
99
|
mypath="${mypath}:${ENVPUPPET_BASEDIR}/hiera/bin"
|
100
100
|
myrubylib="${myrubylib}:${ENVPUPPET_BASEDIR}/hiera/lib"
|
101
101
|
|
102
|
-
if [
|
102
|
+
if [ "${ENVPUPPET_BLEEDING:-}" = "true" ]; then
|
103
103
|
# git://github.com/puppetlabs/facter.git
|
104
104
|
mypath="${mypath}:${ENVPUPPET_BASEDIR}/puppet-interfaces/bin"
|
105
105
|
myrubylib="${myrubylib}:${ENVPUPPET_BASEDIR}/puppet-interfaces/lib"
|
@@ -126,7 +126,7 @@ export ENVPUPPET_OLD_RUBYLIB="${RUBYLIB:-}"
|
|
126
126
|
export PATH="${mypath%%:}"
|
127
127
|
export RUBYLIB="${myrubylib%%:}"
|
128
128
|
|
129
|
-
if [
|
129
|
+
if [ $# -eq 0 ]; then
|
130
130
|
echo "export ENVPUPPET_OLD_PATH='${ENVPUPPET_OLD_PATH}'"
|
131
131
|
echo "export ENVPUPPET_OLD_RUBYLIB='${ENVPUPPET_OLD_RUBYLIB}'"
|
132
132
|
echo "export ENVPUPPET_BASEDIR='${ENVPUPPET_BASEDIR}'"
|
data/ext/project_data.yaml
CHANGED
@@ -0,0 +1,13 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
#
|
3
|
+
# Restart puppet on network changes to pickup changes to /etc/resolv.conf
|
4
|
+
#
|
5
|
+
# https://projects.puppetlabs.com/issues/2776
|
6
|
+
# https://bugzilla.redhat.com/532085
|
7
|
+
|
8
|
+
|
9
|
+
if [ -f "/bin/systemctl" ] ; then
|
10
|
+
[[ $2 =~ ^(up|down)$ ]] && /bin/systemctl try-restart puppet.service || :
|
11
|
+
else
|
12
|
+
[[ $2 =~ ^(up|down)$ ]] && /sbin/service puppet condrestart || :
|
13
|
+
fi
|
data/ext/redhat/puppet.spec.erb
CHANGED
@@ -56,6 +56,7 @@ Requires: facter >= 1.6.11
|
|
56
56
|
# Ruby 1.8.7 available for el5 at: yum.puppetlabs.com/el/5/devel/$ARCH
|
57
57
|
Requires: ruby >= 1.8.7
|
58
58
|
Requires: hiera >= 1.0.0
|
59
|
+
Requires: ruby-rgen
|
59
60
|
Obsoletes: hiera-puppet < 1.0.0
|
60
61
|
Provides: hiera-puppet >= 1.0.0
|
61
62
|
%{!?_without_augeas:Requires: ruby-augeas}
|
@@ -168,12 +169,22 @@ echo "D /var/run/%{name} 0755 %{name} %{name} -" > \
|
|
168
169
|
# Create puppet modules directory for puppet module tool
|
169
170
|
mkdir -p %{buildroot}%{_sysconfdir}/%{name}/modules
|
170
171
|
|
172
|
+
|
173
|
+
# Install a NetworkManager dispatcher script to pickup changes to
|
174
|
+
# # /etc/resolv.conf and such (https://bugzilla.redhat.com/532085).
|
175
|
+
mkdir -p %{buildroot}%{_sysconfdir}/NetworkManager/dispatcher.d
|
176
|
+
cp -pr ext/puppet-nm-dispatcher \
|
177
|
+
%{buildroot}%{_sysconfdir}/NetworkManager/dispatcher.d/98-%{name}
|
178
|
+
|
171
179
|
%files
|
172
180
|
%defattr(-, root, root, 0755)
|
173
181
|
%doc LICENSE README.md examples
|
174
182
|
%{_bindir}/puppet
|
175
183
|
%{_bindir}/extlookup2hiera
|
176
184
|
%{puppet_libdir}/*
|
185
|
+
%dir %{_sysconfdir}/NetworkManager
|
186
|
+
%dir %{_sysconfdir}/NetworkManager/dispatcher.d
|
187
|
+
%{_sysconfdir}/NetworkManager/dispatcher.d/98-puppet
|
177
188
|
%if 0%{?_with_systemd}
|
178
189
|
%{_unitdir}/puppetagent.service
|
179
190
|
%else
|
@@ -380,12 +391,18 @@ rm -rf %{buildroot}
|
|
380
391
|
* <%= Time.now.strftime("%a %b %d %Y") %> Puppet Labs Release <info@puppetlabs.com> - <%= @rpmversion %>-<%= @rpmrelease %>
|
381
392
|
- Build for <%= @version %>
|
382
393
|
|
394
|
+
* Fri Apr 12 2013 Matthaus Owens <matthaus@puppetlabs.com> - 3.2.0-0.1rc0
|
395
|
+
- Add requires on ruby-rgen for new parser in Puppet 3.2
|
396
|
+
|
383
397
|
* Fri Jan 25 2013 Matthaus Owens <matthaus@puppetlabs.com> - 3.1.0-0.1rc1
|
384
398
|
- Add extlookup2hiera.8.gz to the files list
|
385
399
|
|
386
400
|
* Wed Jan 9 2013 Ryan Uber <ru@ryanuber.com> - 3.1.0-0.1rc1
|
387
401
|
- Work-around for RH Bugzilla 681540
|
388
402
|
|
403
|
+
* Fri Dec 28 2012 Michael Stahnke <stahnma@puppetlabs.com> - 3.0.2-2
|
404
|
+
- Added a script for Network Manager for bug https://bugzilla.redhat.com/532085
|
405
|
+
|
389
406
|
* Tue Dec 18 2012 Matthaus Owens <matthaus@puppetlabs.com>
|
390
407
|
- Remove for loop on examples/ code which no longer exists. Add --no-run-if-empty to xargs invocations.
|
391
408
|
|
data/ext/suse/client.init
CHANGED
@@ -39,7 +39,7 @@ puppetd=${PUPPETD-/usr/bin/puppet}
|
|
39
39
|
RETVAL=0
|
40
40
|
|
41
41
|
PUPPET_OPTS="agent"
|
42
|
-
[ -n "${PUPPET_SERVER}" ] && PUPPET_OPTS="--server=${PUPPET_SERVER}"
|
42
|
+
[ -n "${PUPPET_SERVER}" ] && PUPPET_OPTS="${PUPPET_OPTS} --server=${PUPPET_SERVER}"
|
43
43
|
[ -n "$PUPPET_LOG" ] && PUPPET_OPTS="${PUPPET_OPTS} --logdest=${PUPPET_LOG}"
|
44
44
|
[ -n "$PUPPET_PORT" ] && PUPPET_OPTS="${PUPPET_OPTS} --port=${PUPPET_PORT}"
|
45
45
|
|
@@ -5,9 +5,9 @@ After=basic.target network.target
|
|
5
5
|
|
6
6
|
[Service]
|
7
7
|
Type=forking
|
8
|
+
EnvironmentFile=-/etc/sysconfig/puppetagent
|
8
9
|
PIDFile=/run/puppet/agent.pid
|
9
|
-
|
10
|
-
ExecStart=/usr/bin/puppet agent
|
10
|
+
ExecStart=/usr/bin/puppet agent $PUPPET_EXTRA_OPTS
|
11
11
|
|
12
12
|
[Install]
|
13
13
|
WantedBy=multi-user.target
|
@@ -5,9 +5,9 @@ After=basic.target network.target
|
|
5
5
|
|
6
6
|
[Service]
|
7
7
|
Type=forking
|
8
|
+
EnvironmentFile=-/etc/sysconfig/puppetmaster
|
8
9
|
PIDFile=/run/puppet/master.pid
|
9
|
-
|
10
|
-
ExecStart=/usr/bin/puppet master
|
10
|
+
ExecStart=/usr/bin/puppet master $PUPPETMASTER_EXTRA_OPTS
|
11
11
|
|
12
12
|
[Install]
|
13
13
|
WantedBy=multi-user.target
|
data/lib/hiera/scope.rb
CHANGED
@@ -1,5 +1,9 @@
|
|
1
1
|
class Hiera
|
2
2
|
class Scope
|
3
|
+
CALLING_CLASS = "calling_class"
|
4
|
+
CALLING_MODULE = "calling_module"
|
5
|
+
MODULE_NAME = "module_name"
|
6
|
+
|
3
7
|
attr_reader :real
|
4
8
|
|
5
9
|
def initialize(real)
|
@@ -7,23 +11,27 @@ class Hiera
|
|
7
11
|
end
|
8
12
|
|
9
13
|
def [](key)
|
10
|
-
if key ==
|
11
|
-
ans = @real
|
12
|
-
elsif key ==
|
13
|
-
ans = @real.
|
14
|
+
if key == CALLING_CLASS
|
15
|
+
ans = find_hostclass(@real)
|
16
|
+
elsif key == CALLING_MODULE
|
17
|
+
ans = @real.lookupvar(MODULE_NAME)
|
14
18
|
else
|
15
19
|
ans = @real.lookupvar(key)
|
16
20
|
end
|
17
21
|
|
18
|
-
|
19
|
-
|
20
|
-
|
22
|
+
if ans.nil? or ans == ""
|
23
|
+
nil
|
24
|
+
else
|
25
|
+
ans
|
26
|
+
end
|
21
27
|
end
|
22
28
|
|
23
29
|
def include?(key)
|
24
|
-
|
25
|
-
|
26
|
-
|
30
|
+
if key == CALLING_CLASS or key == CALLING_MODULE
|
31
|
+
true
|
32
|
+
else
|
33
|
+
@real.lookupvar(key) != ""
|
34
|
+
end
|
27
35
|
end
|
28
36
|
|
29
37
|
def catalog
|
@@ -37,6 +45,16 @@ class Hiera
|
|
37
45
|
def compiler
|
38
46
|
@real.compiler
|
39
47
|
end
|
48
|
+
|
49
|
+
def find_hostclass(scope)
|
50
|
+
if scope.source and scope.source.type == :hostclass
|
51
|
+
return scope.source.name.downcase
|
52
|
+
elsif scope.parent
|
53
|
+
return find_hostclass(scope.parent)
|
54
|
+
else
|
55
|
+
return nil
|
56
|
+
end
|
57
|
+
end
|
58
|
+
private :find_hostclass
|
40
59
|
end
|
41
60
|
end
|
42
|
-
|
data/lib/hiera_puppet.rb
CHANGED
@@ -6,9 +6,7 @@ module HieraPuppet
|
|
6
6
|
module_function
|
7
7
|
|
8
8
|
def lookup(key, default, scope, override, resolution_type)
|
9
|
-
|
10
|
-
scope = Hiera::Scope.new(scope)
|
11
|
-
end
|
9
|
+
scope = Hiera::Scope.new(scope)
|
12
10
|
|
13
11
|
answer = hiera.lookup(key, default, scope, override, resolution_type)
|
14
12
|
|
data/lib/puppet/agent.rb
CHANGED
@@ -37,7 +37,7 @@ class Puppet::Agent
|
|
37
37
|
|
38
38
|
result = nil
|
39
39
|
block_run = Puppet::Application.controlled_run do
|
40
|
-
splay
|
40
|
+
splay client_options.fetch :splay, Puppet[:splay]
|
41
41
|
result = run_in_fork(should_fork) do
|
42
42
|
with_client do |client|
|
43
43
|
begin
|
@@ -66,8 +66,8 @@ class Puppet::Agent
|
|
66
66
|
end
|
67
67
|
|
68
68
|
# Sleep when splay is enabled; else just return.
|
69
|
-
def splay
|
70
|
-
return unless
|
69
|
+
def splay(do_splay = Puppet[:splay])
|
70
|
+
return unless do_splay
|
71
71
|
return if splayed?
|
72
72
|
|
73
73
|
time = rand(Puppet[:splaylimit] + 1)
|
data/lib/puppet/application.rb
CHANGED
@@ -376,8 +376,8 @@ class Application
|
|
376
376
|
setup_logs
|
377
377
|
end
|
378
378
|
|
379
|
-
def setup_logs
|
380
|
-
if options[:debug] or options[:verbose]
|
379
|
+
def setup_logs(is_daemon = false)
|
380
|
+
if options[:debug] or options[:verbose] or is_daemon
|
381
381
|
Puppet::Util::Log.newdestination(:console)
|
382
382
|
if options[:debug]
|
383
383
|
Puppet::Util::Log.level = :debug
|
@@ -166,16 +166,16 @@ when signing certificates).
|
|
166
166
|
|
167
167
|
OPTIONS
|
168
168
|
-------
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
an argument.
|
169
|
+
|
170
|
+
Note that any Puppet setting that's valid in the configuration file is also a
|
171
|
+
valid long argument. For example, 'server' is a valid setting, so you can
|
172
|
+
specify '--server <servername>' as an argument. Boolean settings translate into
|
173
|
+
'--setting' and '--no-setting' pairs.
|
173
174
|
|
174
175
|
See the configuration file documentation at
|
175
176
|
http://docs.puppetlabs.com/references/stable/configuration.html for the
|
176
|
-
full list of acceptable
|
177
|
-
|
178
|
-
'--genconfig'.
|
177
|
+
full list of acceptable settings. A commented list of all settings can also be
|
178
|
+
generated by running puppet agent with '--genconfig'.
|
179
179
|
|
180
180
|
* --certname:
|
181
181
|
Set the certname (unique ID) of the client. The master reads this
|
@@ -183,12 +183,17 @@ configuration options can also be generated by running puppet agent with
|
|
183
183
|
fully-qualified domain name, to determine which configurations the
|
184
184
|
node will receive. Use this option to debug setup problems or
|
185
185
|
implement unusual node identification schemes.
|
186
|
+
(This is a Puppet setting, and can go in puppet.conf.)
|
186
187
|
|
187
188
|
* --daemonize:
|
188
189
|
Send the process into the background. This is the default.
|
190
|
+
(This is a Puppet setting, and can go in puppet.conf. Note the special 'no-'
|
191
|
+
prefix for boolean settings on the command line.)
|
189
192
|
|
190
193
|
* --no-daemonize:
|
191
194
|
Do not send the process into the background.
|
195
|
+
(This is a Puppet setting, and can go in puppet.conf. Note the special 'no-'
|
196
|
+
prefix for boolean settings on the command line.)
|
192
197
|
|
193
198
|
* --debug:
|
194
199
|
Enable full debugging.
|
@@ -240,26 +245,34 @@ configuration options can also be generated by running puppet agent with
|
|
240
245
|
file. Defaults to sending messages to syslog, or the console if
|
241
246
|
debugging or verbosity is enabled.
|
242
247
|
|
248
|
+
* --masterport:
|
249
|
+
The port on which to contact the puppet master.
|
250
|
+
(This is a Puppet setting, and can go in puppet.conf.)
|
251
|
+
|
243
252
|
* --no-client:
|
244
|
-
Do not create a config client. This will cause the daemon to start
|
245
|
-
but not check configuration unless it is triggered with `puppet
|
246
|
-
kick`. This only makes sense when puppet agent is being run with
|
253
|
+
Do not create a config client. This will cause the daemon to start
|
254
|
+
but not check configuration unless it is triggered with `puppet
|
255
|
+
kick`. This only makes sense when puppet agent is being run with
|
247
256
|
listen = true in puppet.conf or was started with the `--listen` option.
|
248
257
|
|
249
258
|
* --noop:
|
250
259
|
Use 'noop' mode where the daemon runs in a no-op or dry-run mode. This
|
251
260
|
is useful for seeing what changes Puppet will make without actually
|
252
261
|
executing the changes.
|
262
|
+
(This is a Puppet setting, and can go in puppet.conf. Note the special 'no-'
|
263
|
+
prefix for boolean settings on the command line.)
|
253
264
|
|
254
265
|
* --onetime:
|
255
266
|
Run the configuration once. Runs a single (normally daemonized) Puppet
|
256
267
|
run. Useful for interactively running puppet agent when used in
|
257
268
|
conjunction with the --no-daemonize option.
|
269
|
+
(This is a Puppet setting, and can go in puppet.conf. Note the special 'no-'
|
270
|
+
prefix for boolean settings on the command line.)
|
258
271
|
|
259
272
|
* --test:
|
260
273
|
Enable the most common options used for testing. These are 'onetime',
|
261
274
|
'verbose', 'ignorecache', 'no-daemonize', 'no-usecacheonfailure',
|
262
|
-
'detailed-
|
275
|
+
'detailed-exitcodes', 'no-splay', and 'show_diff'.
|
263
276
|
|
264
277
|
* --verbose:
|
265
278
|
Turn on verbose reporting.
|
@@ -274,6 +287,8 @@ configuration options can also be generated by running puppet agent with
|
|
274
287
|
it to sign a certificate request. This is useful for the initial setup
|
275
288
|
of a puppet client. You can turn off waiting for certificates by
|
276
289
|
specifying a time of 0.
|
290
|
+
(This is a Puppet setting, and can go in puppet.conf. Note the special 'no-'
|
291
|
+
prefix for boolean settings on the command line.)
|
277
292
|
|
278
293
|
|
279
294
|
EXAMPLE
|
@@ -430,7 +445,7 @@ Copyright (c) 2011 Puppet Labs, LLC Licensed under the Apache 2.0 License
|
|
430
445
|
def setup
|
431
446
|
setup_test if options[:test]
|
432
447
|
|
433
|
-
setup_logs
|
448
|
+
setup_logs(true)
|
434
449
|
|
435
450
|
exit(Puppet.settings.print_configs ? 0 : 1) if Puppet.settings.print_configs?
|
436
451
|
|