puppet 0.23.2 → 0.24.0
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/CHANGELOG +112 -1
- data/README +1 -1
- data/Rakefile +1 -2
- data/bin/filebucket +2 -3
- data/bin/puppet +55 -39
- data/bin/puppetca +20 -11
- data/bin/puppetd +30 -31
- data/bin/puppetdoc +27 -28
- data/bin/puppetmasterd +24 -42
- data/bin/puppetrun +3 -4
- data/bin/ralsh +5 -7
- data/conf/redhat/puppet.spec +4 -1
- data/conf/solaris/smf/svc-puppetd +1 -1
- data/conf/solaris/smf/svc-puppetmasterd +1 -1
- data/examples/code/allatonce +1 -1
- data/examples/code/assignments +1 -1
- data/examples/code/components +1 -1
- data/examples/code/file.bl +1 -1
- data/examples/code/filedefaults +1 -1
- data/examples/code/fileparsing +1 -1
- data/examples/code/filerecursion +1 -1
- data/examples/code/functions +1 -1
- data/examples/code/groups +1 -1
- data/examples/code/head +1 -1
- data/examples/code/importing +1 -1
- data/examples/code/modules/sample-module.pp +10 -0
- data/examples/code/modules/sample-module/README.txt +17 -0
- data/examples/code/modules/sample-module/lib/puppet/parser/functions/hostname_to_dn.rb +36 -0
- data/examples/code/modules/sample-module/manifests/init.pp +12 -0
- data/examples/code/modules/sample-module/templates/sample.erb +5 -0
- data/examples/code/nodes +1 -1
- data/examples/code/one +1 -1
- data/examples/code/relationships +1 -1
- data/examples/code/selectors +1 -1
- data/examples/code/simpletests +1 -1
- data/examples/root/etc/init.d/sleeper +1 -1
- data/examples/root/etc/puppet/fileserver.conf +1 -1
- data/ext/ldap/puppet.schema +1 -1
- data/ext/module_puppet +30 -21
- data/ext/puppet-test +3 -3
- data/ext/vim/filetype.vim +1 -1
- data/install.rb +1 -2
- data/lib/puppet.rb +20 -19
- data/lib/puppet/checksum.rb +57 -0
- data/lib/puppet/config_stores/rest.rb +1 -1
- data/lib/puppet/daemon.rb +0 -1
- data/lib/puppet/{configuration.rb → defaults.rb} +56 -23
- data/lib/puppet/dsl.rb +22 -116
- data/lib/puppet/error.rb +0 -9
- data/lib/puppet/event.rb +0 -1
- data/lib/puppet/external/gratr/rdot.rb +0 -1
- data/lib/puppet/external/lock.rb +0 -1
- data/lib/puppet/feature/base.rb +3 -2
- data/lib/puppet/feature/rails.rb +0 -1
- data/lib/puppet/file_serving.rb +7 -0
- data/lib/puppet/file_serving/configuration.rb +129 -0
- data/lib/puppet/file_serving/configuration/parser.rb +124 -0
- data/lib/puppet/file_serving/content.rb +34 -0
- data/lib/puppet/file_serving/file_base.rb +63 -0
- data/lib/puppet/file_serving/fileset.rb +138 -0
- data/lib/puppet/file_serving/indirection_hooks.rb +44 -0
- data/lib/puppet/file_serving/metadata.rb +69 -0
- data/lib/puppet/file_serving/mount.rb +186 -0
- data/lib/puppet/file_serving/terminus_helper.rb +19 -0
- data/lib/puppet/indirector.rb +68 -0
- data/lib/puppet/indirector/catalog/compiler.rb +173 -0
- data/lib/puppet/indirector/catalog/yaml.rb +24 -0
- data/lib/puppet/indirector/checksum/file.rb +33 -0
- data/lib/puppet/indirector/code.rb +6 -0
- data/lib/puppet/indirector/direct_file_server.rb +27 -0
- data/lib/puppet/indirector/exec.rb +57 -0
- data/lib/puppet/indirector/facts/facter.rb +65 -0
- data/lib/puppet/indirector/facts/memory.rb +9 -0
- data/lib/puppet/indirector/facts/yaml.rb +7 -0
- data/lib/puppet/indirector/file.rb +54 -0
- data/lib/puppet/indirector/file_content.rb +5 -0
- data/lib/puppet/indirector/file_content/file.rb +11 -0
- data/lib/puppet/indirector/file_content/file_server.rb +11 -0
- data/lib/puppet/indirector/file_content/modules.rb +11 -0
- data/lib/puppet/indirector/file_content/rest.rb +12 -0
- data/lib/puppet/indirector/file_metadata.rb +5 -0
- data/lib/puppet/indirector/file_metadata/file.rb +26 -0
- data/lib/puppet/indirector/file_metadata/file_server.rb +11 -0
- data/lib/puppet/indirector/file_metadata/modules.rb +17 -0
- data/lib/puppet/indirector/file_metadata/rest.rb +12 -0
- data/lib/puppet/indirector/file_server.rb +56 -0
- data/lib/puppet/indirector/indirection.rb +237 -0
- data/lib/puppet/indirector/ldap.rb +90 -0
- data/lib/puppet/indirector/memory.rb +21 -0
- data/lib/puppet/indirector/module_files.rb +82 -0
- data/lib/puppet/indirector/node/exec.rb +52 -0
- data/lib/puppet/indirector/node/ldap.rb +120 -0
- data/lib/puppet/indirector/node/memory.rb +10 -0
- data/lib/puppet/indirector/node/plain.rb +19 -0
- data/lib/puppet/indirector/node/rest.rb +7 -0
- data/lib/puppet/indirector/node/yaml.rb +7 -0
- data/lib/puppet/indirector/plain.rb +9 -0
- data/lib/puppet/indirector/report/processor.rb +50 -0
- data/lib/puppet/indirector/rest.rb +8 -0
- data/lib/puppet/indirector/ssl_rsa.rb +5 -0
- data/lib/puppet/indirector/ssl_rsa/file.rb +33 -0
- data/lib/puppet/indirector/terminus.rb +178 -0
- data/lib/puppet/indirector/yaml.rb +57 -0
- data/lib/puppet/metatype/attributes.rb +3 -3
- data/lib/puppet/metatype/closure.rb +0 -66
- data/lib/puppet/metatype/container.rb +0 -9
- data/lib/puppet/metatype/evaluation.rb +10 -2
- data/lib/puppet/metatype/instances.rb +16 -30
- data/lib/puppet/metatype/manager.rb +1 -2
- data/lib/puppet/metatype/metaparams.rb +27 -21
- data/lib/puppet/metatype/providers.rb +3 -2
- data/lib/puppet/metatype/relationships.rb +1 -2
- data/lib/puppet/metatype/schedules.rb +0 -1
- data/lib/puppet/metatype/tags.rb +0 -1
- data/lib/puppet/module.rb +60 -32
- data/lib/puppet/network/authconfig.rb +0 -1
- data/lib/puppet/network/authorization.rb +0 -1
- data/lib/puppet/network/authstore.rb +0 -1
- data/lib/puppet/network/client.rb +13 -4
- data/lib/puppet/network/client/ca.rb +4 -5
- data/lib/puppet/network/client/dipper.rb +0 -1
- data/lib/puppet/network/client/file.rb +0 -1
- data/lib/puppet/network/client/master.rb +127 -235
- data/lib/puppet/network/client/proxy.rb +0 -1
- data/lib/puppet/network/client/report.rb +0 -1
- data/lib/puppet/network/client/resource.rb +0 -1
- data/lib/puppet/network/client/runner.rb +0 -1
- data/lib/puppet/network/client/status.rb +0 -1
- data/lib/puppet/network/client_request.rb +0 -1
- data/lib/puppet/network/handler.rb +5 -2
- data/lib/puppet/network/handler/ca.rb +1 -2
- data/lib/puppet/network/handler/configuration.rb +184 -0
- data/lib/puppet/network/handler/filebucket.rb +1 -2
- data/lib/puppet/network/handler/fileserver.rb +279 -107
- data/lib/puppet/network/handler/master.rb +57 -152
- data/lib/puppet/network/handler/report.rb +6 -65
- data/lib/puppet/network/handler/resource.rb +5 -13
- data/lib/puppet/network/handler/runner.rb +3 -4
- data/lib/puppet/network/handler/status.rb +0 -1
- data/lib/puppet/network/http.rb +13 -0
- data/lib/puppet/network/http/handler.rb +109 -0
- data/lib/puppet/network/http/mongrel.rb +54 -0
- data/lib/puppet/network/http/mongrel/rest.rb +37 -0
- data/lib/puppet/network/http/mongrel/xmlrpc.rb +4 -0
- data/lib/puppet/network/http/webrick.rb +51 -0
- data/lib/puppet/network/http/webrick/rest.rb +41 -0
- data/lib/puppet/network/http/webrick/xmlrpc.rb +4 -0
- data/lib/puppet/network/http_server.rb +3 -0
- data/lib/puppet/network/{server → http_server}/mongrel.rb +11 -5
- data/lib/puppet/network/{server → http_server}/webrick.rb +9 -5
- data/lib/puppet/network/rest_controller.rb +2 -0
- data/lib/puppet/network/rights.rb +0 -1
- data/lib/puppet/network/server.rb +63 -3
- data/lib/puppet/network/xmlrpc/client.rb +90 -23
- data/lib/puppet/network/xmlrpc/processor.rb +0 -1
- data/lib/puppet/network/xmlrpc/server.rb +0 -1
- data/lib/puppet/network/xmlrpc/webrick_servlet.rb +0 -1
- data/lib/puppet/node.rb +165 -0
- data/lib/puppet/node/catalog.rb +480 -0
- data/lib/puppet/node/environment.rb +46 -0
- data/lib/puppet/node/facts.rb +36 -0
- data/lib/puppet/parameter.rb +34 -28
- data/lib/puppet/parser/ast.rb +0 -1
- data/lib/puppet/parser/ast/astarray.rb +30 -53
- data/lib/puppet/parser/ast/branch.rb +0 -10
- data/lib/puppet/parser/ast/caseopt.rb +0 -11
- data/lib/puppet/parser/ast/casestatement.rb +0 -12
- data/lib/puppet/parser/ast/collection.rb +1 -3
- data/lib/puppet/parser/ast/collexpr.rb +0 -2
- data/lib/puppet/parser/ast/{component.rb → definition.rb} +58 -72
- data/lib/puppet/parser/ast/else.rb +0 -10
- data/lib/puppet/parser/ast/function.rb +0 -2
- data/lib/puppet/parser/ast/hostclass.rb +21 -19
- data/lib/puppet/parser/ast/ifstatement.rb +0 -13
- data/lib/puppet/parser/ast/leaf.rb +0 -8
- data/lib/puppet/parser/ast/node.rb +13 -10
- data/lib/puppet/parser/ast/resource.rb +75 -0
- data/lib/puppet/parser/ast/{resourcedefaults.rb → resource_defaults.rb} +4 -20
- data/lib/puppet/parser/ast/{resourceoverride.rb → resource_override.rb} +3 -5
- data/lib/puppet/parser/ast/resource_reference.rb +66 -0
- data/lib/puppet/parser/ast/resourceparam.rb +0 -14
- data/lib/puppet/parser/ast/selector.rb +0 -10
- data/lib/puppet/parser/ast/tag.rb +0 -2
- data/lib/puppet/parser/ast/vardef.rb +0 -14
- data/lib/puppet/parser/collector.rb +83 -101
- data/lib/puppet/parser/compile.rb +509 -0
- data/lib/puppet/parser/functions.rb +10 -10
- data/lib/puppet/parser/interpreter.rb +44 -662
- data/lib/puppet/parser/lexer.rb +1 -3
- data/lib/puppet/parser/parser.rb +674 -701
- data/lib/puppet/parser/parser_support.rb +33 -24
- data/lib/puppet/parser/resource.rb +219 -162
- data/lib/puppet/parser/resource/param.rb +1 -2
- data/lib/puppet/parser/resource/reference.rb +24 -16
- data/lib/puppet/parser/scope.rb +48 -459
- data/lib/puppet/parser/templatewrapper.rb +4 -5
- data/lib/puppet/pgraph.rb +10 -13
- data/lib/puppet/property.rb +25 -41
- data/lib/puppet/propertychange.rb +0 -2
- data/lib/puppet/provider.rb +15 -11
- data/lib/puppet/provider/cron/crontab.rb +6 -7
- data/lib/puppet/provider/group/groupadd.rb +0 -1
- data/lib/puppet/provider/group/netinfo.rb +0 -1
- data/lib/puppet/provider/group/pw.rb +0 -1
- data/lib/puppet/provider/host/netinfo.rb +0 -1
- data/lib/puppet/provider/host/parsed.rb +0 -1
- data/lib/puppet/provider/interface/redhat.rb +90 -91
- data/lib/puppet/provider/interface/sunos.rb +98 -81
- data/lib/puppet/provider/mailalias/aliases.rb +0 -1
- data/lib/puppet/provider/maillist/mailman.rb +2 -3
- data/lib/puppet/provider/mount.rb +10 -9
- data/lib/puppet/provider/mount/netinfo.rb +0 -1
- data/lib/puppet/provider/mount/parsed.rb +0 -1
- data/lib/puppet/provider/nameservice.rb +0 -1
- data/lib/puppet/provider/nameservice/netinfo.rb +0 -1
- data/lib/puppet/provider/nameservice/objectadd.rb +0 -1
- data/lib/puppet/provider/nameservice/pw.rb +0 -1
- data/lib/puppet/provider/package.rb +0 -2
- data/lib/puppet/provider/package/appdmg.rb +0 -1
- data/lib/puppet/provider/package/apple.rb +0 -1
- data/lib/puppet/provider/package/apt.rb +0 -1
- data/lib/puppet/provider/package/aptitude.rb +0 -1
- data/lib/puppet/provider/package/aptrpm.rb +0 -1
- data/lib/puppet/provider/package/blastwave.rb +0 -1
- data/lib/puppet/provider/package/darwinport.rb +0 -1
- data/lib/puppet/provider/package/dpkg.rb +9 -1
- data/lib/puppet/provider/package/fink.rb +0 -1
- data/lib/puppet/provider/package/freebsd.rb +0 -1
- data/lib/puppet/provider/package/gem.rb +0 -1
- data/lib/puppet/provider/package/openbsd.rb +1 -2
- data/lib/puppet/provider/package/pkgdmg.rb +14 -15
- data/lib/puppet/provider/package/portage.rb +6 -7
- data/lib/puppet/provider/package/ports.rb +1 -4
- data/lib/puppet/provider/package/rpm.rb +31 -45
- data/lib/puppet/provider/package/sun.rb +0 -3
- data/lib/puppet/provider/package/sunfreeware.rb +0 -1
- data/lib/puppet/provider/package/up2date.rb +0 -1
- data/lib/puppet/provider/package/urpmi.rb +0 -1
- data/lib/puppet/provider/package/yum.rb +45 -14
- data/lib/puppet/provider/package/yumhelper.py +37 -0
- data/lib/puppet/provider/parsedfile.rb +2 -3
- data/lib/puppet/provider/port/parsed.rb +0 -1
- data/lib/puppet/provider/service/base.rb +4 -1
- data/lib/puppet/provider/service/debian.rb +5 -2
- data/lib/puppet/provider/service/freebsd.rb +51 -0
- data/lib/puppet/provider/service/init.rb +16 -40
- data/lib/puppet/provider/service/redhat.rb +1 -6
- data/lib/puppet/provider/service/smf.rb +0 -1
- data/lib/puppet/provider/sshkey/parsed.rb +0 -1
- data/lib/puppet/provider/user/netinfo.rb +0 -1
- data/lib/puppet/provider/user/pw.rb +0 -1
- data/lib/puppet/provider/user/useradd.rb +0 -1
- data/lib/puppet/provider/zone/solaris.rb +0 -1
- data/lib/puppet/rails.rb +35 -30
- data/lib/puppet/rails/database/schema.rb +0 -1
- data/lib/puppet/rails/host.rb +6 -15
- data/lib/puppet/rails/param_name.rb +1 -2
- data/lib/puppet/rails/param_value.rb +0 -1
- data/lib/puppet/rails/puppet_class.rb +0 -1
- data/lib/puppet/rails/resource.rb +3 -5
- data/lib/puppet/reference/configuration.rb +12 -6
- data/lib/puppet/reference/indirection.rb +34 -0
- data/lib/puppet/reference/node_source.rb +9 -0
- data/lib/puppet/relationship.rb +10 -8
- data/lib/puppet/reports.rb +51 -0
- data/lib/puppet/reports/log.rb +2 -3
- data/lib/puppet/reports/rrdgraph.rb +2 -5
- data/lib/puppet/reports/store.rb +6 -7
- data/lib/puppet/reports/tagmail.rb +2 -3
- data/lib/puppet/resource_reference.rb +79 -0
- data/lib/puppet/simple_graph.rb +251 -0
- data/lib/puppet/sslcertificates.rb +19 -15
- data/lib/puppet/sslcertificates/ca.rb +56 -15
- data/lib/puppet/sslcertificates/certificate.rb +0 -1
- data/lib/puppet/sslcertificates/inventory.rb +2 -6
- data/lib/puppet/sslcertificates/monkey_patch.rb +6 -0
- data/lib/puppet/sslcertificates/support.rb +4 -5
- data/lib/puppet/transaction.rb +93 -96
- data/lib/puppet/transaction/report.rb +5 -1
- data/lib/puppet/transportable.rb +79 -125
- data/lib/puppet/type.rb +44 -10
- data/lib/puppet/type/component.rb +25 -110
- data/lib/puppet/type/cron.rb +1 -2
- data/lib/puppet/type/exec.rb +19 -13
- data/lib/puppet/type/group.rb +0 -1
- data/lib/puppet/type/host.rb +0 -1
- data/lib/puppet/type/interface.rb +6 -3
- data/lib/puppet/type/k5login.rb +87 -0
- data/lib/puppet/type/mailalias.rb +0 -1
- data/lib/puppet/type/maillist.rb +0 -1
- data/lib/puppet/type/mount.rb +7 -13
- data/lib/puppet/type/notify.rb +0 -1
- data/lib/puppet/type/package.rb +7 -63
- data/lib/puppet/type/pfile.rb +25 -32
- data/lib/puppet/type/pfile/checksum.rb +0 -1
- data/lib/puppet/type/pfile/content.rb +18 -3
- data/lib/puppet/type/pfile/ensure.rb +5 -6
- data/lib/puppet/type/pfile/group.rb +4 -1
- data/lib/puppet/type/pfile/mode.rb +0 -1
- data/lib/puppet/type/pfile/owner.rb +6 -9
- data/lib/puppet/type/pfile/source.rb +28 -11
- data/lib/puppet/type/pfile/target.rb +2 -1
- data/lib/puppet/type/pfile/type.rb +0 -1
- data/lib/puppet/type/pfilebucket.rb +0 -1
- data/lib/puppet/type/port.rb +0 -1
- data/lib/puppet/type/resources.rb +0 -1
- data/lib/puppet/type/schedule.rb +17 -15
- data/lib/puppet/type/service.rb +23 -159
- data/lib/puppet/type/sshkey.rb +0 -1
- data/lib/puppet/type/tidy.rb +15 -7
- data/lib/puppet/type/user.rb +0 -1
- data/lib/puppet/type/zone.rb +0 -1
- data/lib/puppet/util.rb +1 -2
- data/lib/puppet/util/autoload.rb +21 -23
- data/lib/puppet/util/checksums.rb +37 -0
- data/lib/puppet/util/classgen.rb +0 -1
- data/lib/puppet/util/diff.rb +71 -0
- data/lib/puppet/util/docs.rb +8 -2
- data/lib/puppet/util/errors.rb +0 -1
- data/lib/puppet/util/execution.rb +0 -1
- data/lib/puppet/util/fact_store.rb +0 -1
- data/lib/puppet/util/feature.rb +31 -22
- data/lib/puppet/util/fileparsing.rb +3 -2
- data/lib/puppet/util/filetype.rb +30 -12
- data/lib/puppet/util/graph.rb +0 -1
- data/lib/puppet/util/inifile.rb +0 -1
- data/lib/puppet/util/instance_loader.rb +11 -4
- data/lib/puppet/util/loadedfile.rb +0 -1
- data/lib/puppet/util/log.rb +0 -1
- data/lib/puppet/util/log_paths.rb +0 -1
- data/lib/puppet/util/logging.rb +0 -1
- data/lib/puppet/util/metaid.rb +0 -1
- data/lib/puppet/util/methodhelper.rb +0 -2
- data/lib/puppet/util/metric.rb +1 -2
- data/lib/puppet/util/plist.rb +0 -1
- data/lib/puppet/util/plist/generator.rb +0 -1
- data/lib/puppet/util/plist/parser.rb +0 -1
- data/lib/puppet/util/posix.rb +7 -1
- data/lib/puppet/util/provider_features.rb +11 -12
- data/lib/puppet/util/rails/collection_merger.rb +0 -1
- data/lib/puppet/util/reference.rb +2 -3
- data/lib/puppet/util/{config.rb → settings.rb} +424 -300
- data/lib/puppet/util/storage.rb +1 -3
- data/lib/puppet/util/subclass_loader.rb +0 -1
- data/lib/puppet/util/suidmanager.rb +25 -42
- data/lib/puppet/util/uri_helper.rb +22 -0
- data/lib/puppet/util/variables.rb +0 -1
- data/lib/puppet/util/warnings.rb +0 -1
- data/test/Rakefile +1 -1
- data/test/certmgr/ca.rb +8 -2
- data/test/certmgr/certmgr.rb +14 -6
- data/test/certmgr/inventory.rb +18 -30
- data/test/certmgr/support.rb +3 -2
- data/test/executables/filebucket.rb +1 -2
- data/test/executables/puppetbin.rb +1 -2
- data/test/executables/puppetca.rb +7 -2
- data/test/executables/puppetd.rb +23 -29
- data/test/executables/puppetmasterd.rb +1 -2
- data/test/executables/puppetmodule.rb +1 -2
- data/test/language/ast.rb +24 -29
- data/test/language/ast/casestatement.rb +1 -2
- data/test/language/ast/definition.rb +166 -0
- data/test/language/ast/hostclass.rb +50 -29
- data/test/language/ast/resource.rb +59 -0
- data/test/language/ast/{resourceref.rb → resource_reference.rb} +30 -20
- data/test/language/ast/selector.rb +1 -2
- data/test/language/ast/variable.rb +1 -2
- data/test/language/compile.rb +569 -0
- data/test/language/functions.rb +57 -76
- data/test/language/lexer.rb +20 -3
- data/test/language/parser.rb +45 -33
- data/test/language/resource.rb +275 -308
- data/test/language/scope.rb +135 -410
- data/test/language/snippets.rb +19 -41
- data/test/language/transportable.rb +8 -29
- data/test/lib/mocha/auto_verify.rb +6 -6
- data/test/lib/mocha/deprecation.rb +22 -0
- data/test/lib/mocha/exception_raiser.rb +17 -0
- data/test/lib/mocha/expectation.rb +167 -84
- data/test/lib/mocha/infinite_range.rb +4 -6
- data/test/lib/mocha/inspect.rb +3 -1
- data/test/lib/mocha/is_a.rb +9 -0
- data/test/lib/mocha/missing_expectation.rb +27 -0
- data/test/lib/mocha/mock.rb +192 -5
- data/test/lib/mocha/multiple_yields.rb +20 -0
- data/test/lib/mocha/no_yields.rb +11 -0
- data/test/lib/mocha/object.rb +11 -1
- data/test/lib/mocha/parameter_matchers.rb +9 -0
- data/test/lib/mocha/parameter_matchers/all_of.rb +39 -0
- data/test/lib/mocha/parameter_matchers/any_of.rb +44 -0
- data/test/lib/mocha/parameter_matchers/anything.rb +30 -0
- data/test/lib/mocha/parameter_matchers/has_entry.rb +39 -0
- data/test/lib/mocha/parameter_matchers/has_key.rb +39 -0
- data/test/lib/mocha/parameter_matchers/has_value.rb +39 -0
- data/test/lib/mocha/parameter_matchers/includes.rb +37 -0
- data/test/lib/mocha/return_values.rb +31 -0
- data/test/lib/mocha/single_return_value.rb +24 -0
- data/test/lib/mocha/single_yield.rb +18 -0
- data/test/lib/mocha/standalone.rb +2 -0
- data/test/lib/mocha/stub.rb +18 -0
- data/test/lib/mocha/test_case_adapter.rb +3 -3
- data/test/lib/mocha/yield_parameters.rb +31 -0
- data/test/lib/puppettest.rb +38 -20
- data/test/lib/puppettest/certificates.rb +0 -1
- data/test/lib/puppettest/exetest.rb +0 -1
- data/test/lib/puppettest/fakes.rb +0 -1
- data/test/lib/puppettest/fileparsing.rb +8 -15
- data/test/lib/puppettest/filetesting.rb +0 -1
- data/test/lib/puppettest/parsertesting.rb +37 -23
- data/test/lib/puppettest/railstesting.rb +3 -6
- data/test/lib/puppettest/reporttesting.rb +0 -1
- data/test/lib/puppettest/resourcetesting.rb +6 -34
- data/test/lib/puppettest/runnable_test.rb +30 -0
- data/test/lib/puppettest/servertest.rb +2 -3
- data/test/lib/puppettest/support/assertions.rb +13 -41
- data/test/lib/puppettest/support/collection.rb +0 -1
- data/test/lib/puppettest/support/helpers.rb +0 -1
- data/test/lib/puppettest/support/resources.rb +17 -17
- data/test/lib/puppettest/support/utils.rb +45 -27
- data/test/lib/puppettest/testcase.rb +2 -21
- data/test/lib/rake/puppet_test_loader.rb +0 -1
- data/test/lib/rake/puppet_testtask.rb +0 -1
- data/test/network/authconfig.rb +1 -2
- data/test/network/authorization.rb +1 -2
- data/test/network/authstore.rb +1 -2
- data/test/network/client/ca.rb +12 -7
- data/test/network/client/client.rb +17 -22
- data/test/network/client/dipper.rb +1 -2
- data/test/network/client/master.rb +70 -184
- data/test/network/client/resource.rb +9 -2
- data/test/network/client_request.rb +1 -2
- data/test/network/daemon.rb +1 -2
- data/test/network/handler/bucket.rb +2 -31
- data/test/network/handler/ca.rb +9 -3
- data/test/network/handler/configuration.rb +160 -0
- data/test/network/handler/fileserver.rb +24 -5
- data/test/network/handler/handler.rb +1 -2
- data/test/network/handler/master.rb +38 -243
- data/test/network/handler/report.rb +2 -104
- data/test/network/handler/resource.rb +5 -3
- data/test/network/handler/runner.rb +22 -60
- data/test/network/rights.rb +1 -2
- data/test/network/server/mongrel_test.rb +2 -3
- data/test/network/server/webrick.rb +17 -11
- data/test/network/xmlrpc/client.rb +27 -12
- data/test/network/xmlrpc/processor.rb +3 -4
- data/test/network/xmlrpc/server.rb +1 -2
- data/test/network/xmlrpc/webrick_servlet.rb +8 -2
- data/test/other/dsl.rb +2 -4
- data/test/other/events.rb +14 -56
- data/test/other/overrides.rb +3 -6
- data/test/other/propertychange.rb +1 -2
- data/test/other/provider.rb +1 -2
- data/test/other/puppet.rb +1 -2
- data/test/other/relationships.rb +15 -17
- data/test/other/report.rb +14 -20
- data/test/other/transactions.rb +109 -192
- data/test/puppet/conffiles.rb +3 -5
- data/test/puppet/defaults.rb +1 -28
- data/test/puppet/errortest.rb +1 -2
- data/test/puppet/tc_suidmanager.rb +77 -63
- data/test/rails/ast.rb +4 -4
- data/test/rails/configuration.rb +71 -0
- data/test/rails/host.rb +19 -30
- data/test/rails/rails.rb +1 -2
- data/test/rails/railsparameter.rb +3 -4
- data/test/rails/railsresource.rb +6 -5
- data/test/ral/manager/attributes.rb +1 -2
- data/test/ral/manager/instances.rb +3 -3
- data/test/ral/manager/manager.rb +1 -2
- data/test/ral/manager/provider.rb +1 -2
- data/test/ral/manager/type.rb +89 -93
- data/test/ral/providers/cron/crontab.rb +9 -11
- data/test/ral/providers/group.rb +1 -2
- data/test/ral/providers/host/netinfo.rb +1 -2
- data/test/ral/providers/host/parsed.rb +1 -2
- data/test/ral/providers/mailalias/aliases.rb +1 -2
- data/test/ral/providers/mount/netinfo.rb +1 -2
- data/test/ral/providers/nameservice.rb +1 -2
- data/test/ral/providers/package.rb +5 -4
- data/test/ral/providers/package/apt.rb +0 -1
- data/test/ral/providers/package/aptrpm.rb +0 -1
- data/test/ral/providers/parsedfile.rb +1 -2
- data/test/ral/providers/port/parsed.rb +1 -2
- data/test/ral/providers/provider.rb +10 -5
- data/test/ral/providers/service/base.rb +1 -2
- data/test/ral/providers/service/debian.rb +58 -0
- data/test/ral/providers/sshkey/parsed.rb +1 -2
- data/test/ral/providers/user.rb +3 -2
- data/test/ral/providers/user/useradd.rb +0 -1
- data/test/ral/types/basic.rb +4 -9
- data/test/ral/types/cron.rb +6 -12
- data/test/ral/types/exec.rb +6 -7
- data/test/ral/types/file.rb +35 -14
- data/test/ral/types/file/target.rb +6 -5
- data/test/ral/types/filebucket.rb +3 -2
- data/test/ral/types/fileignoresource.rb +10 -42
- data/test/ral/types/filesources.rb +21 -60
- data/test/ral/types/group.rb +3 -3
- data/test/ral/types/host.rb +6 -3
- data/test/ral/types/mailalias.rb +1 -2
- data/test/ral/types/parameter.rb +5 -3
- data/test/ral/types/port.rb +1 -2
- data/test/ral/types/property.rb +3 -3
- data/test/ral/types/resources.rb +1 -2
- data/test/ral/types/service.rb +5 -3
- data/test/ral/types/sshkey.rb +5 -3
- data/test/ral/types/tidy.rb +63 -3
- data/test/ral/types/user.rb +10 -11
- data/test/ral/types/yumrepo.rb +1 -1
- data/test/ral/types/zone.rb +1 -2
- data/test/util/autoload.rb +23 -27
- data/test/util/classgen.rb +1 -2
- data/test/util/execution.rb +1 -2
- data/test/util/features.rb +1 -3
- data/test/util/fileparsing.rb +11 -3
- data/test/util/filetype.rb +1 -2
- data/test/util/inifile.rb +1 -1
- data/test/util/instance_loader.rb +5 -6
- data/test/util/loadedfile.rb +1 -2
- data/test/util/log.rb +1 -2
- data/test/util/metrics.rb +1 -2
- data/test/util/package.rb +1 -2
- data/test/util/posixtest.rb +1 -2
- data/test/util/{config.rb → settings.rb} +123 -265
- data/test/util/storage.rb +1 -2
- data/test/util/subclass_loader.rb +1 -2
- data/test/util/utiltest.rb +1 -111
- metadata +130 -112
- data/ext/tools/passwd2puppet +0 -45
- data/lib/puppet/fact_stores/yaml.rb +0 -42
- data/lib/puppet/network/handler/facts.rb +0 -70
- data/lib/puppet/parser/ast/resourcedef.rb +0 -222
- data/lib/puppet/parser/ast/resourceref.rb +0 -58
- data/test/language/ast/component.rb +0 -142
- data/test/language/collector.rb +0 -179
- data/test/language/interpreter.rb +0 -804
- data/test/language/node.rb +0 -126
- data/test/lib/mocha/mock_methods.rb +0 -122
- data/test/lib/puppettest/graph.rb +0 -41
- data/test/lib/spec.rb +0 -8
- data/test/lib/spec/callback.rb +0 -11
- data/test/lib/spec/callback/callback_container.rb +0 -60
- data/test/lib/spec/callback/extensions/module.rb +0 -24
- data/test/lib/spec/callback/extensions/object.rb +0 -37
- data/test/lib/spec/deprecated.rb +0 -3
- data/test/lib/spec/expectations.rb +0 -59
- data/test/lib/spec/expectations/differs/default.rb +0 -62
- data/test/lib/spec/expectations/errors.rb +0 -6
- data/test/lib/spec/expectations/extensions.rb +0 -3
- data/test/lib/spec/expectations/extensions/object.rb +0 -109
- data/test/lib/spec/expectations/extensions/proc.rb +0 -57
- data/test/lib/spec/expectations/extensions/string_and_symbol.rb +0 -17
- data/test/lib/spec/expectations/handler.rb +0 -47
- data/test/lib/spec/expectations/should.rb +0 -5
- data/test/lib/spec/expectations/should/base.rb +0 -64
- data/test/lib/spec/expectations/should/change.rb +0 -69
- data/test/lib/spec/expectations/should/have.rb +0 -128
- data/test/lib/spec/expectations/should/not.rb +0 -74
- data/test/lib/spec/expectations/should/should.rb +0 -81
- data/test/lib/spec/expectations/sugar.rb +0 -47
- data/test/lib/spec/matchers.rb +0 -160
- data/test/lib/spec/matchers/be.rb +0 -161
- data/test/lib/spec/matchers/be_close.rb +0 -37
- data/test/lib/spec/matchers/change.rb +0 -120
- data/test/lib/spec/matchers/eql.rb +0 -43
- data/test/lib/spec/matchers/equal.rb +0 -43
- data/test/lib/spec/matchers/has.rb +0 -44
- data/test/lib/spec/matchers/have.rb +0 -140
- data/test/lib/spec/matchers/include.rb +0 -50
- data/test/lib/spec/matchers/match.rb +0 -41
- data/test/lib/spec/matchers/raise_error.rb +0 -100
- data/test/lib/spec/matchers/respond_to.rb +0 -35
- data/test/lib/spec/matchers/satisfy.rb +0 -47
- data/test/lib/spec/matchers/throw_symbol.rb +0 -75
- data/test/lib/spec/mocks.rb +0 -232
- data/test/lib/spec/mocks/argument_expectation.rb +0 -132
- data/test/lib/spec/mocks/error_generator.rb +0 -85
- data/test/lib/spec/mocks/errors.rb +0 -10
- data/test/lib/spec/mocks/extensions/object.rb +0 -3
- data/test/lib/spec/mocks/message_expectation.rb +0 -231
- data/test/lib/spec/mocks/methods.rb +0 -40
- data/test/lib/spec/mocks/mock.rb +0 -26
- data/test/lib/spec/mocks/mock_handler.rb +0 -166
- data/test/lib/spec/mocks/order_group.rb +0 -29
- data/test/lib/spec/rake/spectask.rb +0 -173
- data/test/lib/spec/rake/verify_rcov.rb +0 -47
- data/test/lib/spec/runner.rb +0 -132
- data/test/lib/spec/runner/backtrace_tweaker.rb +0 -55
- data/test/lib/spec/runner/command_line.rb +0 -34
- data/test/lib/spec/runner/context.rb +0 -154
- data/test/lib/spec/runner/context_eval.rb +0 -142
- data/test/lib/spec/runner/context_runner.rb +0 -55
- data/test/lib/spec/runner/drb_command_line.rb +0 -21
- data/test/lib/spec/runner/execution_context.rb +0 -17
- data/test/lib/spec/runner/extensions/kernel.rb +0 -17
- data/test/lib/spec/runner/extensions/object.rb +0 -32
- data/test/lib/spec/runner/formatter.rb +0 -5
- data/test/lib/spec/runner/formatter/base_text_formatter.rb +0 -118
- data/test/lib/spec/runner/formatter/html_formatter.rb +0 -219
- data/test/lib/spec/runner/formatter/progress_bar_formatter.rb +0 -27
- data/test/lib/spec/runner/formatter/rdoc_formatter.rb +0 -22
- data/test/lib/spec/runner/formatter/specdoc_formatter.rb +0 -23
- data/test/lib/spec/runner/heckle_runner.rb +0 -71
- data/test/lib/spec/runner/heckle_runner_win.rb +0 -10
- data/test/lib/spec/runner/option_parser.rb +0 -224
- data/test/lib/spec/runner/reporter.rb +0 -105
- data/test/lib/spec/runner/spec_matcher.rb +0 -25
- data/test/lib/spec/runner/spec_parser.rb +0 -41
- data/test/lib/spec/runner/spec_should_raise_handler.rb +0 -74
- data/test/lib/spec/runner/specification.rb +0 -114
- data/test/lib/spec/translator.rb +0 -87
- data/test/lib/spec/version.rb +0 -30
- data/test/network/handler/facts.rb +0 -112
- data/test/other/pgraph.rb +0 -290
- data/test/other/relationship.rb +0 -74
- data/test/puppet/modules.rb +0 -59
- data/test/rails/collection.rb +0 -247
- data/test/rails/interpreter.rb +0 -91
- data/test/ral/providers/mount/parsed.rb +0 -251
- data/test/ral/providers/service.rb +0 -235
- data/test/ral/types/component.rb +0 -113
- data/test/ral/types/interface.rb +0 -40
- data/test/ral/types/mount.rb +0 -362
- data/test/ral/types/package.rb +0 -154
- data/test/ral/types/schedule.rb +0 -357
- data/test/tagging/tagging.rb +0 -170
- data/test/util/fact_store.rb +0 -67
- data/test/util/graph.rb +0 -108
@@ -0,0 +1,12 @@
|
|
1
|
+
# Jeff McCune <jeff.mccune@northstarlabs.net>
|
2
|
+
#
|
3
|
+
# Demonstration of a custom parser function and erb template within
|
4
|
+
# a module, working in concert.
|
5
|
+
|
6
|
+
class sample-module {
|
7
|
+
$fqdn_to_dn = hostname_to_dn($domain)
|
8
|
+
$sample_template = template("sample-module/sample.erb")
|
9
|
+
|
10
|
+
notice("hostname_to_dn module function returned: [$fqdn_to_dn]")
|
11
|
+
info("sample.erb looks like:\n$sample_template")
|
12
|
+
}
|
data/examples/code/nodes
CHANGED
data/examples/code/one
CHANGED
data/examples/code/relationships
CHANGED
data/examples/code/selectors
CHANGED
data/examples/code/simpletests
CHANGED
data/ext/ldap/puppet.schema
CHANGED
data/ext/module_puppet
CHANGED
@@ -61,7 +61,7 @@ options = [
|
|
61
61
|
]
|
62
62
|
|
63
63
|
# Add all of the config parameters as valid options.
|
64
|
-
Puppet.
|
64
|
+
Puppet.settings.addargs(options)
|
65
65
|
|
66
66
|
result = GetoptLong.new(*options)
|
67
67
|
|
@@ -108,7 +108,7 @@ begin
|
|
108
108
|
$stderr.puts detail.to_s
|
109
109
|
end
|
110
110
|
else
|
111
|
-
Puppet.
|
111
|
+
Puppet.settings.handlearg(opt, arg)
|
112
112
|
end
|
113
113
|
}
|
114
114
|
rescue GetoptLong::InvalidOption => detail
|
@@ -121,7 +121,7 @@ end
|
|
121
121
|
|
122
122
|
# Now parse the config
|
123
123
|
if Puppet[:config] and File.exists? Puppet[:config]
|
124
|
-
Puppet.
|
124
|
+
Puppet.settings.parse(Puppet[:config])
|
125
125
|
end
|
126
126
|
|
127
127
|
client = nil
|
@@ -150,14 +150,23 @@ unless setdest
|
|
150
150
|
Puppet::Util::Log.newdestination(:syslog)
|
151
151
|
end
|
152
152
|
|
153
|
-
|
153
|
+
Puppet[:manifest] = ARGV.shift
|
154
154
|
|
155
155
|
unless ENV.include?("CFALLCLASSES")
|
156
156
|
$stderr.puts "Cfengine classes must be passed to the module"
|
157
157
|
exit(15)
|
158
158
|
end
|
159
159
|
|
160
|
-
|
160
|
+
# Collect our facts.
|
161
|
+
Puppet::Node::Facts.terminus_class = :facter
|
162
|
+
facts = Puppet::Node::Facts.find("me")
|
163
|
+
facts.name = facts.values["hostname"]
|
164
|
+
|
165
|
+
# Create our Node
|
166
|
+
node = Puppet::Node.new(facts.name)
|
167
|
+
|
168
|
+
# Merge in the facts.
|
169
|
+
node.merge(facts.values)
|
161
170
|
|
162
171
|
classes = ENV["CFALLCLASSES"].split(":")
|
163
172
|
|
@@ -166,33 +175,33 @@ if classes.empty?
|
|
166
175
|
exit(16)
|
167
176
|
end
|
168
177
|
|
169
|
-
|
178
|
+
node.classes = classes
|
170
179
|
|
171
180
|
begin
|
172
|
-
|
181
|
+
# Compile our configuration
|
182
|
+
catalog = Puppet::Node::Catalog.find(node)
|
173
183
|
rescue => detail
|
174
|
-
|
175
|
-
|
176
|
-
end
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
)
|
183
|
-
rescue => detail
|
184
|
-
$stderr.puts detail
|
184
|
+
if Puppet[:trace]
|
185
|
+
puts detail.backtrace
|
186
|
+
end
|
187
|
+
if detail.is_a?(XMLRPC::FaultException)
|
188
|
+
$stderr.puts detail.message
|
189
|
+
else
|
190
|
+
$stderr.puts detail
|
191
|
+
end
|
185
192
|
exit(1)
|
186
193
|
end
|
187
194
|
|
188
|
-
|
189
195
|
if parseonly
|
190
196
|
exit(0)
|
191
197
|
end
|
192
198
|
|
193
199
|
begin
|
194
|
-
|
195
|
-
|
200
|
+
# Translate it to a RAL configuration
|
201
|
+
catalog = catalog.to_ral
|
202
|
+
|
203
|
+
# And apply it
|
204
|
+
catalog.apply
|
196
205
|
rescue => detail
|
197
206
|
Puppet.err detail
|
198
207
|
exit(1)
|
data/ext/puppet-test
CHANGED
@@ -200,7 +200,7 @@ class Suite
|
|
200
200
|
end
|
201
201
|
end
|
202
202
|
|
203
|
-
Suite.new :
|
203
|
+
Suite.new :catalog, "Catalog handling" do
|
204
204
|
def prepare
|
205
205
|
$args[:cache] = false
|
206
206
|
# Create a config client and pull the config down
|
@@ -227,7 +227,7 @@ Suite.new :configuration, "Configuration handling" do
|
|
227
227
|
@facts = YAML.dump(@facts)
|
228
228
|
end
|
229
229
|
|
230
|
-
newtest :compile, "Compiled
|
230
|
+
newtest :compile, "Compiled catalog" do
|
231
231
|
@client.driver.getconfig(@facts, "yaml")
|
232
232
|
end
|
233
233
|
|
@@ -438,4 +438,4 @@ if $options[:fork] > 0
|
|
438
438
|
Process.waitall
|
439
439
|
end
|
440
440
|
|
441
|
-
# $Id
|
441
|
+
# $Id$
|
data/ext/vim/filetype.vim
CHANGED
data/install.rb
CHANGED
@@ -30,7 +30,6 @@
|
|
30
30
|
# 5) Install all library files ending in .rb from lib/ into Ruby's
|
31
31
|
# site_lib/version directory.
|
32
32
|
#
|
33
|
-
# $Id: install.rb 2580 2007-06-14 06:11:46Z luke $
|
34
33
|
#++
|
35
34
|
|
36
35
|
require 'rbconfig'
|
@@ -65,7 +64,7 @@ sbins = glob(%w{sbin/*})
|
|
65
64
|
bins = glob(%w{bin/*})
|
66
65
|
rdoc = glob(%w{bin/* sbin/* lib/**/*.rb README README-library CHANGELOG TODO Install}).reject { |e| e=~ /\.(bat|cmd)$/ }
|
67
66
|
ri = glob(%w(bin/*.rb sbin/* lib/**/*.rb)).reject { |e| e=~ /\.(bat|cmd)$/ }
|
68
|
-
libs = glob(%w{lib/**/*.rb})
|
67
|
+
libs = glob(%w{lib/**/*.rb lib/**/*.py})
|
69
68
|
tests = glob(%w{tests/**/*.rb})
|
70
69
|
|
71
70
|
def do_bins(bins, target, strip = 's?bin/')
|
data/lib/puppet.rb
CHANGED
@@ -12,7 +12,7 @@ require 'puppet/external/event-loop'
|
|
12
12
|
require 'puppet/util'
|
13
13
|
require 'puppet/util/log'
|
14
14
|
require 'puppet/util/autoload'
|
15
|
-
require 'puppet/util/
|
15
|
+
require 'puppet/util/settings'
|
16
16
|
require 'puppet/util/feature'
|
17
17
|
require 'puppet/util/suidmanager'
|
18
18
|
|
@@ -25,7 +25,7 @@ require 'puppet/util/suidmanager'
|
|
25
25
|
# it's also a place to find top-level commands like 'debug'
|
26
26
|
|
27
27
|
module Puppet
|
28
|
-
PUPPETVERSION = '0.
|
28
|
+
PUPPETVERSION = '0.24.0'
|
29
29
|
|
30
30
|
def Puppet.version
|
31
31
|
return PUPPETVERSION
|
@@ -45,7 +45,7 @@ module Puppet
|
|
45
45
|
end
|
46
46
|
|
47
47
|
# the hash that determines how our system behaves
|
48
|
-
@@
|
48
|
+
@@settings = Puppet::Util::Settings.new
|
49
49
|
|
50
50
|
# The services running in this process.
|
51
51
|
@services ||= []
|
@@ -76,7 +76,7 @@ module Puppet
|
|
76
76
|
|
77
77
|
# Store a new default value.
|
78
78
|
def self.setdefaults(section, hash)
|
79
|
-
@@
|
79
|
+
@@settings.setdefaults(section, hash)
|
80
80
|
end
|
81
81
|
|
82
82
|
# configuration parameter access and stuff
|
@@ -89,17 +89,17 @@ module Puppet
|
|
89
89
|
return false
|
90
90
|
end
|
91
91
|
else
|
92
|
-
return @@
|
92
|
+
return @@settings[param]
|
93
93
|
end
|
94
94
|
end
|
95
95
|
|
96
96
|
# configuration parameter access and stuff
|
97
97
|
def self.[]=(param,value)
|
98
|
-
@@
|
98
|
+
@@settings[param] = value
|
99
99
|
end
|
100
100
|
|
101
101
|
def self.clear
|
102
|
-
@@
|
102
|
+
@@settings.clear
|
103
103
|
end
|
104
104
|
|
105
105
|
def self.debug=(value)
|
@@ -110,19 +110,21 @@ module Puppet
|
|
110
110
|
end
|
111
111
|
end
|
112
112
|
|
113
|
-
def self.
|
114
|
-
@@
|
113
|
+
def self.settings
|
114
|
+
@@settings
|
115
115
|
end
|
116
116
|
|
117
117
|
# Load all of the configuration parameters.
|
118
|
-
require 'puppet/
|
118
|
+
require 'puppet/defaults'
|
119
119
|
|
120
|
+
# Prints the contents of a config file with the available config elements, or it
|
121
|
+
# prints a single value of a config element.
|
120
122
|
def self.genconfig
|
121
123
|
if Puppet[:configprint] != ""
|
122
124
|
val = Puppet[:configprint]
|
123
125
|
if val == "all"
|
124
126
|
hash = {}
|
125
|
-
Puppet.
|
127
|
+
Puppet.settings.each do |name, obj|
|
126
128
|
val = obj.value
|
127
129
|
case val
|
128
130
|
when true, false, "": val = val.inspect
|
@@ -134,7 +136,7 @@ module Puppet
|
|
134
136
|
end
|
135
137
|
elsif val =~ /,/
|
136
138
|
val.split(/\s*,\s*/).sort.each do |v|
|
137
|
-
if Puppet.
|
139
|
+
if Puppet.settings.include?(v)
|
138
140
|
puts "%s = %s" % [v, Puppet[v]]
|
139
141
|
else
|
140
142
|
puts "invalid parameter: %s" % v
|
@@ -143,7 +145,7 @@ module Puppet
|
|
143
145
|
end
|
144
146
|
else
|
145
147
|
val.split(/\s*,\s*/).sort.each do |v|
|
146
|
-
if Puppet.
|
148
|
+
if Puppet.settings.include?(v)
|
147
149
|
puts Puppet[val]
|
148
150
|
else
|
149
151
|
puts "invalid parameter: %s" % v
|
@@ -154,14 +156,14 @@ module Puppet
|
|
154
156
|
exit(0)
|
155
157
|
end
|
156
158
|
if Puppet[:genconfig]
|
157
|
-
puts Puppet.
|
159
|
+
puts Puppet.settings.to_config
|
158
160
|
exit(0)
|
159
161
|
end
|
160
162
|
end
|
161
163
|
|
162
164
|
def self.genmanifest
|
163
165
|
if Puppet[:genmanifest]
|
164
|
-
puts Puppet.
|
166
|
+
puts Puppet.settings.to_manifest
|
165
167
|
exit(0)
|
166
168
|
end
|
167
169
|
end
|
@@ -208,14 +210,14 @@ module Puppet
|
|
208
210
|
oldconfig ||= File.join(Puppet[:confdir], Puppet[:name].to_s + ".conf")
|
209
211
|
if FileTest.exists?(oldconfig) and Puppet[:name] != "puppet"
|
210
212
|
Puppet.warning "Individual config files are deprecated; remove %s and use puppet.conf" % oldconfig
|
211
|
-
Puppet.
|
213
|
+
Puppet.settings.old_parse(oldconfig)
|
212
214
|
return
|
213
215
|
end
|
214
216
|
|
215
217
|
# Now check for the normal config.
|
216
218
|
if Puppet[:config] and File.exists? Puppet[:config]
|
217
219
|
Puppet.debug "Parsing %s" % Puppet[:config]
|
218
|
-
Puppet.
|
220
|
+
Puppet.settings.parse(Puppet[:config])
|
219
221
|
end
|
220
222
|
end
|
221
223
|
|
@@ -242,7 +244,7 @@ module Puppet
|
|
242
244
|
|
243
245
|
# Handle restarting.
|
244
246
|
trap(:HUP) do
|
245
|
-
if client = @services.find { |s| s.is_a? Puppet::Network::Client
|
247
|
+
if client = @services.find { |s| s.is_a? Puppet::Network::Client.master } and client.running?
|
246
248
|
client.restart
|
247
249
|
else
|
248
250
|
Puppet.restart
|
@@ -428,4 +430,3 @@ if Puppet[:storeconfigs]
|
|
428
430
|
require 'puppet/rails'
|
429
431
|
end
|
430
432
|
|
431
|
-
# $Id: puppet.rb 2754 2007-08-07 02:41:06Z luke $
|
@@ -0,0 +1,57 @@
|
|
1
|
+
#
|
2
|
+
# Created by Luke Kanies on 2007-9-22.
|
3
|
+
# Copyright (c) 2007. All rights reserved.
|
4
|
+
|
5
|
+
require 'puppet'
|
6
|
+
require 'puppet/util/checksums'
|
7
|
+
require 'puppet/indirector'
|
8
|
+
|
9
|
+
# A checksum class to model translating checksums to file paths. This
|
10
|
+
# is the new filebucket.
|
11
|
+
class Puppet::Checksum
|
12
|
+
include Puppet::Util::Checksums
|
13
|
+
|
14
|
+
extend Puppet::Indirector
|
15
|
+
|
16
|
+
indirects :checksum
|
17
|
+
|
18
|
+
attr_reader :algorithm, :content
|
19
|
+
|
20
|
+
def algorithm=(value)
|
21
|
+
unless respond_to?(value)
|
22
|
+
raise ArgumentError, "Checksum algorithm %s is not supported" % value
|
23
|
+
end
|
24
|
+
value = value.intern if value.is_a?(String)
|
25
|
+
@algorithm = value
|
26
|
+
# Reset the checksum so it's forced to be recalculated.
|
27
|
+
@checksum = nil
|
28
|
+
end
|
29
|
+
|
30
|
+
# Calculate (if necessary) and return the checksum
|
31
|
+
def checksum
|
32
|
+
unless @checksum
|
33
|
+
@checksum = send(algorithm, content)
|
34
|
+
end
|
35
|
+
@checksum
|
36
|
+
end
|
37
|
+
|
38
|
+
def initialize(content, algorithm = "md5")
|
39
|
+
raise ArgumentError.new("You must specify the content") unless content
|
40
|
+
|
41
|
+
@content = content
|
42
|
+
|
43
|
+
# Init to avoid warnings.
|
44
|
+
@checksum = nil
|
45
|
+
|
46
|
+
self.algorithm = algorithm
|
47
|
+
end
|
48
|
+
|
49
|
+
# This is here so the Indirector::File terminus works correctly.
|
50
|
+
def name
|
51
|
+
checksum
|
52
|
+
end
|
53
|
+
|
54
|
+
def to_s
|
55
|
+
"Checksum<{%s}%s>" % [algorithm, checksum]
|
56
|
+
end
|
57
|
+
end
|
data/lib/puppet/daemon.rb
CHANGED
@@ -6,6 +6,10 @@ module Puppet
|
|
6
6
|
var = nil
|
7
7
|
name = $0.gsub(/.+#{File::SEPARATOR}/,'').sub(/\.rb$/, '')
|
8
8
|
|
9
|
+
# Make File.expand_path happy
|
10
|
+
require 'etc'
|
11
|
+
ENV["HOME"] ||= Etc.getpwuid(Process.uid).dir
|
12
|
+
|
9
13
|
if name != "puppetmasterd" and Puppet::Util::SUIDManager.uid != 0
|
10
14
|
conf = File.expand_path("~/.puppet")
|
11
15
|
var = File.expand_path("~/.puppet/var")
|
@@ -51,18 +55,11 @@ module Puppet
|
|
51
55
|
syslog. Syslog has a fixed list of valid facilities, and you must
|
52
56
|
choose one of those; you cannot just make one up."],
|
53
57
|
:statedir => { :default => "$vardir/state",
|
54
|
-
:mode =>
|
58
|
+
:mode => 01755,
|
55
59
|
:desc => "The directory where Puppet state is stored. Generally,
|
56
60
|
this directory can be removed without causing harm (although it
|
57
61
|
might result in spurious service restarts)."
|
58
62
|
},
|
59
|
-
:statefile => { :default => "$statedir/state.yaml",
|
60
|
-
:mode => 0660,
|
61
|
-
:desc => "Where puppetd and puppetmasterd store state associated
|
62
|
-
with the running configuration. In the case of puppetmasterd,
|
63
|
-
this file reflects the state discovered through interacting
|
64
|
-
with clients."
|
65
|
-
},
|
66
63
|
:ssldir => {
|
67
64
|
:default => "$confdir/ssl",
|
68
65
|
:mode => 0771,
|
@@ -70,7 +67,6 @@ module Puppet
|
|
70
67
|
:desc => "Where SSL certificates are kept."
|
71
68
|
},
|
72
69
|
:rundir => { :default => rundir,
|
73
|
-
:mode => 01777,
|
74
70
|
:desc => "Where Puppet PID files are kept."
|
75
71
|
},
|
76
72
|
:genconfig => [false,
|
@@ -107,6 +103,7 @@ module Puppet
|
|
107
103
|
guaranteed to work for those cases. In fact, the autoload
|
108
104
|
mechanism is responsible for making sure this directory
|
109
105
|
is in Ruby's search path",
|
106
|
+
:call_on_define => true, # Call our hook with the default value, so we always get the libdir set.
|
110
107
|
:hook => proc do |value|
|
111
108
|
if defined? @oldlibdir and $:.include?(@oldlibdir)
|
112
109
|
$:.delete(@oldlibdir)
|
@@ -122,7 +119,34 @@ module Puppet
|
|
122
119
|
"The configuration file that defines the rights to the different
|
123
120
|
namespaces and methods. This can be used as a coarse-grained
|
124
121
|
authorization system for both ``puppetd`` and ``puppetmasterd``."
|
125
|
-
]
|
122
|
+
],
|
123
|
+
:environments => ["production,development", "The valid environments for Puppet clients.
|
124
|
+
This is more useful as a server-side setting than client, but any
|
125
|
+
environment chosen must be in this list. Values should be
|
126
|
+
separated by a comma."],
|
127
|
+
:environment => {:default => "development", :desc => "The environment Puppet is running in. For clients
|
128
|
+
(e.g., ``puppetd``) this determines the environment itself, which
|
129
|
+
is used to find modules and much more. For servers (i.e.,
|
130
|
+
``puppetmasterd``) this provides the default environment for nodes
|
131
|
+
we know nothing about.",
|
132
|
+
:hook => proc { |value| raise(ArgumentError, "Invalid environment %s" % value) unless Puppet::Node::Environment.valid?(value) }
|
133
|
+
},
|
134
|
+
:diff_args => ["", "Which arguments to pass to the diff command when printing differences between files."],
|
135
|
+
:diff => ["diff", "Which diff command to use when printing differences between files."],
|
136
|
+
:show_diff => [false, "Whether to print a contextual diff when files are being replaced. The diff
|
137
|
+
is printed on stdout, so this option is meaningless unless you are running Puppet interactively.
|
138
|
+
This feature currently requires the ``diff/lcs`` Ruby library."],
|
139
|
+
:yamldir => {:default => "$vardir/yaml", :owner => "$user", :group => "$user", :mode => "750",
|
140
|
+
:desc => "The directory in which YAML data is stored, usually in a subdirectory."},
|
141
|
+
:daemonize => { :default => true,
|
142
|
+
:desc => "Send the process into the background. This is the default.",
|
143
|
+
:short => "D"
|
144
|
+
},
|
145
|
+
:maximum_uid => [4294967290, "The maximum allowed UID. Some platforms use negative UIDs
|
146
|
+
but then ship with tools that do not know how to handle signed ints, so the UIDs show up as
|
147
|
+
huge numbers that can then not be fed back into the system. This is a hackish way to fail in a
|
148
|
+
slightly more useful way when that happens."],
|
149
|
+
:node_terminus => ["plain", "Where to find information about nodes."]
|
126
150
|
)
|
127
151
|
|
128
152
|
hostname = Facter["hostname"].value
|
@@ -136,6 +160,9 @@ module Puppet
|
|
136
160
|
Puppet.setdefaults(:ssl,
|
137
161
|
:certname => [fqdn, "The name to use when handling certificates. Defaults
|
138
162
|
to the fully qualified domain name."],
|
163
|
+
:certdnsnames => ['', "The DNS names on the Server certificate as a colon-separated list.
|
164
|
+
If it's anything other than an empty string, it will be used as an alias in the created
|
165
|
+
certificate. By default, only the server gets an alias set up, and only for 'puppet'."],
|
139
166
|
:certdir => ["$ssldir/certs", "The certificate directory."],
|
140
167
|
:publickeydir => ["$ssldir/public_keys", "The public key directory."],
|
141
168
|
:privatekeydir => { :default => "$ssldir/private_keys",
|
@@ -258,7 +285,7 @@ module Puppet
|
|
258
285
|
)
|
259
286
|
|
260
287
|
# Define the config default.
|
261
|
-
self.setdefaults(self.
|
288
|
+
self.setdefaults(self.settings[:name],
|
262
289
|
:config => ["$confdir/puppet.conf",
|
263
290
|
"The configuration file for #{Puppet[:name]}."],
|
264
291
|
:pidfile => ["", "The pid file"],
|
@@ -277,6 +304,9 @@ module Puppet
|
|
277
304
|
"Where puppetmasterd looks for its manifests."],
|
278
305
|
:manifest => ["$manifestdir/site.pp",
|
279
306
|
"The entry-point manifest for puppetmasterd."],
|
307
|
+
:code => ["", "Code to parse directly. This is essentially only used
|
308
|
+
by ``puppet`, and should only be set if you're writing your own Puppet
|
309
|
+
executable"],
|
280
310
|
:masterlog => { :default => "$logdir/puppetmaster.log",
|
281
311
|
:owner => "$user",
|
282
312
|
:group => "$group",
|
@@ -326,11 +356,18 @@ module Puppet
|
|
326
356
|
:mode => 0660,
|
327
357
|
:desc => "Where puppetd caches the local configuration. An
|
328
358
|
extension indicating the cache format is added automatically."},
|
359
|
+
:statefile => { :default => "$statedir/state.yaml",
|
360
|
+
:mode => 0660,
|
361
|
+
:desc => "Where puppetd and puppetmasterd store state associated
|
362
|
+
with the running configuration. In the case of puppetmasterd,
|
363
|
+
this file reflects the state discovered through interacting
|
364
|
+
with clients."
|
365
|
+
},
|
329
366
|
:classfile => { :default => "$statedir/classes.txt",
|
330
367
|
:owner => "root",
|
331
368
|
:mode => 0644,
|
332
369
|
:desc => "The file in which puppetd stores a list of the classes
|
333
|
-
associated with the retrieved
|
370
|
+
associated with the retrieved configuration. Can be loaded in
|
334
371
|
the separate ``puppet`` executable using the ``--loadclasses``
|
335
372
|
option."},
|
336
373
|
:puppetdlog => { :default => "$logdir/puppetd.log",
|
@@ -348,6 +385,11 @@ module Puppet
|
|
348
385
|
may need to use a FQDN for the server hostname when using a proxy."],
|
349
386
|
:http_proxy_port => [3128,
|
350
387
|
"The HTTP proxy port to use for outgoing connections"],
|
388
|
+
:http_keepalive => [true,
|
389
|
+
"Whether to reuse http connections, thus enabling http-keepalive."],
|
390
|
+
:http_enable_post_connection_check => [true,
|
391
|
+
"Boolean; wheter or not puppetd should validate the server
|
392
|
+
SSL certificate against the request hostname."],
|
351
393
|
:server => ["puppet",
|
352
394
|
"The server to which server puppetd should connect"],
|
353
395
|
:ignoreschedules => [false,
|
@@ -485,16 +527,6 @@ module Puppet
|
|
485
527
|
"The server through which to send email reports."]
|
486
528
|
)
|
487
529
|
|
488
|
-
self.setdefaults(:facts,
|
489
|
-
:factstore => ["yaml",
|
490
|
-
"The backend store to use for client facts."]
|
491
|
-
)
|
492
|
-
|
493
|
-
self.setdefaults(:yamlfacts,
|
494
|
-
:yamlfactdir => ["$vardir/facts",
|
495
|
-
"The directory in which client facts are stored when the yaml fact store is used."]
|
496
|
-
)
|
497
|
-
|
498
530
|
self.setdefaults(:rails,
|
499
531
|
:dblocation => { :default => "$statedir/clientconfigs.sqlite3",
|
500
532
|
:mode => 0660,
|
@@ -512,6 +544,8 @@ module Puppet
|
|
512
544
|
used when networked databases are used."],
|
513
545
|
:dbpassword => [ "puppet", "The database password for Client caching. Only
|
514
546
|
used when networked databases are used."],
|
547
|
+
:dbsocket => [ "", "The database socket location. Only used when networked
|
548
|
+
databases are used. Will be ignored if the value is an empty string."],
|
515
549
|
:railslog => {:default => "$logdir/rails.log",
|
516
550
|
:mode => 0600,
|
517
551
|
:owner => "$user",
|
@@ -638,4 +672,3 @@ module Puppet
|
|
638
672
|
)
|
639
673
|
end
|
640
674
|
|
641
|
-
# $Id: configuration.rb 2752 2007-08-06 20:05:28Z luke $
|