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
data/lib/puppet/type/cron.rb
CHANGED
@@ -348,7 +348,7 @@ Puppet::Type.newtype(:cron) do
|
|
348
348
|
|
349
349
|
The user defaults to whomever Puppet is running as."
|
350
350
|
|
351
|
-
defaultto {
|
351
|
+
defaultto { Etc.getpwuid(Process.uid).name || "root" }
|
352
352
|
end
|
353
353
|
|
354
354
|
newproperty(:target) do
|
@@ -408,5 +408,4 @@ Puppet::Type.newtype(:cron) do
|
|
408
408
|
end
|
409
409
|
|
410
410
|
|
411
|
-
# $Id: cron.rb 2698 2007-07-14 21:18:36Z luke $
|
412
411
|
|
data/lib/puppet/type/exec.rb
CHANGED
@@ -113,15 +113,16 @@ module Puppet
|
|
113
113
|
self.fail "Command exceeded timeout" % value.inspect
|
114
114
|
end
|
115
115
|
|
116
|
-
loglevel = @resource[:loglevel]
|
117
|
-
if status.exitstatus.to_s != self.should.to_s
|
118
|
-
self.fail("%s returned %s instead of %s" %
|
119
|
-
[self.resource[:command], status.exitstatus, self.should.to_s])
|
120
|
-
end
|
121
|
-
|
122
116
|
if log = @resource[:logoutput]
|
123
|
-
|
117
|
+
case log
|
118
|
+
when :true
|
124
119
|
log = @resource[:loglevel]
|
120
|
+
when :on_failure
|
121
|
+
if status.exitstatus.to_s != self.should.to_s
|
122
|
+
log = @resource[:loglevel]
|
123
|
+
else
|
124
|
+
log = :false
|
125
|
+
end
|
125
126
|
end
|
126
127
|
unless log == :false
|
127
128
|
@output.split(/\n/).each { |line|
|
@@ -130,6 +131,11 @@ module Puppet
|
|
130
131
|
end
|
131
132
|
end
|
132
133
|
|
134
|
+
if status.exitstatus.to_s != self.should.to_s
|
135
|
+
self.fail("%s returned %s instead of %s" %
|
136
|
+
[self.resource[:command], status.exitstatus, self.should.to_s])
|
137
|
+
end
|
138
|
+
|
133
139
|
return event
|
134
140
|
end
|
135
141
|
end
|
@@ -201,10 +207,11 @@ module Puppet
|
|
201
207
|
|
202
208
|
newparam(:logoutput) do
|
203
209
|
desc "Whether to log output. Defaults to logging output at the
|
204
|
-
loglevel for the ``exec`` resource.
|
205
|
-
|
210
|
+
loglevel for the ``exec`` resource. Use *on_failure* to only
|
211
|
+
log the output when the command reports an error. Values are
|
212
|
+
**true**, *false*, *on_failure*, and any legal log level."
|
206
213
|
|
207
|
-
values = [:true, :false]
|
214
|
+
values = [:true, :false, :on_failure]
|
208
215
|
# And all of the log levels
|
209
216
|
Puppet::Util::Log.eachlevel { |level| values << level }
|
210
217
|
newvalues(*values)
|
@@ -276,8 +283,8 @@ module Puppet
|
|
276
283
|
refreshonly => true
|
277
284
|
}
|
278
285
|
|
279
|
-
Note that only ``subscribe`` can trigger actions, not ``require``,
|
280
|
-
so it only makes sense to use ``refreshonly`` with ``subscribe``."
|
286
|
+
Note that only ``subscribe`` and ``notify`` can trigger actions, not ``require``,
|
287
|
+
so it only makes sense to use ``refreshonly`` with ``subscribe`` or ``notify``."
|
281
288
|
|
282
289
|
newvalues(:true, :false)
|
283
290
|
|
@@ -602,4 +609,3 @@ module Puppet
|
|
602
609
|
end
|
603
610
|
end
|
604
611
|
|
605
|
-
# $Id: exec.rb 2696 2007-07-14 20:26:31Z luke $
|
data/lib/puppet/type/group.rb
CHANGED
data/lib/puppet/type/host.rb
CHANGED
@@ -43,15 +43,18 @@ Puppet::Type.newtype(:interface) do
|
|
43
43
|
and alias. This is use to force a given number to be used"
|
44
44
|
end
|
45
45
|
|
46
|
+
newproperty(:netmask) do
|
47
|
+
desc "The netmask for the interface."
|
48
|
+
end
|
49
|
+
|
46
50
|
newproperty(:ifopts) do
|
47
51
|
desc "Interface options."
|
48
52
|
end
|
49
53
|
|
50
54
|
newparam(:target) do
|
55
|
+
include Puppet::Util::Warnings
|
51
56
|
desc "The path to the file this resource creates."
|
52
57
|
|
53
|
-
|
58
|
+
munge { |value| warnonce "Interface targets are deprecated and no longer have any function" }
|
54
59
|
end
|
55
60
|
end
|
56
|
-
|
57
|
-
# $Id: interface.rb 2747 2007-08-05 19:01:39Z luke $
|
@@ -0,0 +1,87 @@
|
|
1
|
+
# $Id: k5login.rb 2468 2007-08-07 23:30:20Z digant $
|
2
|
+
#
|
3
|
+
# Plug-in type for handling k5login files
|
4
|
+
|
5
|
+
Puppet::Type.newtype(:k5login) do
|
6
|
+
@doc = "Manage the .k5login file for a user. Specify the full path to
|
7
|
+
the .k5login file as the name and an array of principals as the
|
8
|
+
property principals."
|
9
|
+
|
10
|
+
ensurable
|
11
|
+
|
12
|
+
# Principals that should exist in the file
|
13
|
+
newproperty(:principals, :array_matching => :all) do
|
14
|
+
desc "The principals present in the .k5login file."
|
15
|
+
end
|
16
|
+
|
17
|
+
# The path/name of the k5login file
|
18
|
+
newparam(:path) do
|
19
|
+
isnamevar
|
20
|
+
desc "The path to the file to manage. Must be fully qualified."
|
21
|
+
|
22
|
+
validate do |value|
|
23
|
+
unless value =~ /^#{File::SEPARATOR}/
|
24
|
+
raise Puppet::Error, "File paths must be fully qualified"
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
# To manage the mode of the file
|
30
|
+
newproperty(:mode) do
|
31
|
+
desc "Manage the k5login file's mode"
|
32
|
+
defaultto { "644" }
|
33
|
+
end
|
34
|
+
|
35
|
+
provide(:k5login) do
|
36
|
+
desc "The k5login provider is the only provider for the k5login
|
37
|
+
type."
|
38
|
+
|
39
|
+
# Does this file exist?
|
40
|
+
def exists?
|
41
|
+
File.exists?(@resource[:name])
|
42
|
+
end
|
43
|
+
|
44
|
+
# create the file
|
45
|
+
def create
|
46
|
+
write(@resource.should(:principals))
|
47
|
+
should_mode = @resource.should(:mode)
|
48
|
+
unless self.mode == should_mode
|
49
|
+
self.mode should_mode
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
# remove the file
|
54
|
+
def destroy
|
55
|
+
File.unlink(@resource[:name])
|
56
|
+
end
|
57
|
+
|
58
|
+
# Return the principals
|
59
|
+
def principals
|
60
|
+
if File.exists?(@resource[:name])
|
61
|
+
File.readlines(@resource[:name]).collect { |line| line.chomp }
|
62
|
+
else
|
63
|
+
:absent
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
67
|
+
# Write the principals out to the k5login file
|
68
|
+
def principals=(value)
|
69
|
+
write(value)
|
70
|
+
end
|
71
|
+
|
72
|
+
# Return the mode as an octal string, not as an integer
|
73
|
+
def mode
|
74
|
+
"%o" % (File.stat(@resource[:name]).mode & 007777)
|
75
|
+
end
|
76
|
+
|
77
|
+
# Set the file mode, converting from a string to an integer.
|
78
|
+
def mode=(value)
|
79
|
+
File.chmod(Integer("0" + value), @resource[:name])
|
80
|
+
end
|
81
|
+
|
82
|
+
private
|
83
|
+
def write(value)
|
84
|
+
File.open(@resource[:name], "w") { |f| f.puts value.join("\n") }
|
85
|
+
end
|
86
|
+
end
|
87
|
+
end
|
data/lib/puppet/type/maillist.rb
CHANGED
data/lib/puppet/type/mount.rb
CHANGED
@@ -44,15 +44,12 @@ module Puppet
|
|
44
44
|
newvalue(:mounted, :event => :mount_mounted) do
|
45
45
|
# Create the mount point if it does not already exist.
|
46
46
|
current_value = self.retrieve
|
47
|
-
if current_value.nil?
|
48
|
-
provider.create
|
49
|
-
end
|
47
|
+
provider.create if current_value.nil? or current_value == :absent
|
50
48
|
|
51
49
|
syncothers()
|
50
|
+
|
52
51
|
# The fs can be already mounted if it was absent but mounted
|
53
|
-
unless provider.mounted?
|
54
|
-
provider.mount
|
55
|
-
end
|
52
|
+
provider.mount unless provider.mounted?
|
56
53
|
end
|
57
54
|
|
58
55
|
def retrieve
|
@@ -71,11 +68,11 @@ module Puppet
|
|
71
68
|
def syncothers
|
72
69
|
# We have to flush any changes to disk.
|
73
70
|
currentvalues = @resource.retrieve
|
71
|
+
|
72
|
+
# Determine if there are any out-of-sync properties.
|
74
73
|
oos = @resource.send(:properties).find_all do |prop|
|
75
74
|
unless currentvalues.include?(prop)
|
76
|
-
raise Puppet::DevError,
|
77
|
-
"Parent has property %s but it doesn't appear in the current vallues",
|
78
|
-
[prop.name]
|
75
|
+
raise Puppet::DevError, "Parent has property %s but it doesn't appear in the current values", [prop.name]
|
79
76
|
end
|
80
77
|
if prop.name == :ensure
|
81
78
|
false
|
@@ -198,9 +195,7 @@ module Puppet
|
|
198
195
|
|
199
196
|
def refresh
|
200
197
|
# Only remount if we're supposed to be mounted.
|
201
|
-
if
|
202
|
-
provider.remount
|
203
|
-
end
|
198
|
+
provider.remount if self.should(:fstype) != "swap" and provider.mounted?
|
204
199
|
end
|
205
200
|
|
206
201
|
def value(name)
|
@@ -213,4 +208,3 @@ module Puppet
|
|
213
208
|
end
|
214
209
|
end
|
215
210
|
|
216
|
-
# $Id: mount.rb 2723 2007-07-20 16:46:54Z luke $
|
data/lib/puppet/type/notify.rb
CHANGED
data/lib/puppet/type/package.rb
CHANGED
@@ -4,7 +4,6 @@
|
|
4
4
|
# systems.
|
5
5
|
|
6
6
|
module Puppet
|
7
|
-
class PackageError < Puppet::Error; end
|
8
7
|
newtype(:package) do
|
9
8
|
@doc = "Manage packages. There is a basic dichotomy in package
|
10
9
|
support right now: Some package types (e.g., yum and apt) can
|
@@ -108,25 +107,15 @@ module Puppet
|
|
108
107
|
@lateststamp ||= (Time.now.to_i - 1000)
|
109
108
|
# Iterate across all of the should values, and see how they
|
110
109
|
# turn out.
|
110
|
+
|
111
111
|
@should.each { |should|
|
112
112
|
case should
|
113
113
|
when :present
|
114
|
-
unless [:absent, :purged].include?(is)
|
115
|
-
return true
|
116
|
-
end
|
114
|
+
return true unless [:absent, :purged].include?(is)
|
117
115
|
when :latest
|
118
116
|
# Short-circuit packages that are not present
|
119
|
-
if is == :absent
|
120
|
-
|
121
|
-
end
|
122
|
-
|
123
|
-
unless provider.respond_to?(:latest)
|
124
|
-
self.fail(
|
125
|
-
"Package type %s does not support specifying 'latest'" %
|
126
|
-
@resource[:provider]
|
127
|
-
)
|
128
|
-
end
|
129
|
-
|
117
|
+
return false if is == :absent or is == :purged
|
118
|
+
|
130
119
|
# Don't run 'latest' more than about every 5 minutes
|
131
120
|
if @latest and ((Time.now.to_i - @lateststamp) / 60) < 5
|
132
121
|
#self.debug "Skipping latest check"
|
@@ -153,9 +142,9 @@ module Puppet
|
|
153
142
|
[is.inspect, @resource.name, @latest.inspect]
|
154
143
|
end
|
155
144
|
when :absent
|
156
|
-
if is == :absent or is == :purged
|
157
|
-
|
158
|
-
|
145
|
+
return true if is == :absent or is == :purged
|
146
|
+
when :purged
|
147
|
+
return true if is == :purged
|
159
148
|
when is
|
160
149
|
return true
|
161
150
|
end
|
@@ -312,46 +301,6 @@ module Puppet
|
|
312
301
|
autos
|
313
302
|
end
|
314
303
|
|
315
|
-
@listed = false
|
316
|
-
|
317
|
-
@allowedmethods = [:types]
|
318
|
-
|
319
|
-
class << self
|
320
|
-
attr_reader :listed
|
321
|
-
end
|
322
|
-
|
323
|
-
def self.clear
|
324
|
-
@listed = false
|
325
|
-
super
|
326
|
-
end
|
327
|
-
|
328
|
-
# Create a new package object from listed information
|
329
|
-
def self.installedpkg(hash)
|
330
|
-
unless hash.include? :provider
|
331
|
-
raise Puppet::DevError, "Got installed package with no provider"
|
332
|
-
end
|
333
|
-
# this is from code, so we don't have to do as much checking
|
334
|
-
name = hash[:name]
|
335
|
-
hash.delete(:name)
|
336
|
-
|
337
|
-
object = self[name] || self.create(:name => name)
|
338
|
-
object.setparams(hash)
|
339
|
-
|
340
|
-
return object
|
341
|
-
end
|
342
|
-
|
343
|
-
# Iterate across all packages of a given type and mark them absent
|
344
|
-
# if they are not in the list
|
345
|
-
def self.markabsent(pkgtype, packages)
|
346
|
-
# Mark any packages we didn't find as absent
|
347
|
-
self.each do |pkg|
|
348
|
-
next unless packages[:provider] == pkgtype
|
349
|
-
unless packages.include? pkg
|
350
|
-
pkg.provider.send(:ensure, :absent)
|
351
|
-
end
|
352
|
-
end
|
353
|
-
end
|
354
|
-
|
355
304
|
# This only exists for testing.
|
356
305
|
def clear
|
357
306
|
if obj = @parameters[:ensure]
|
@@ -365,10 +314,6 @@ module Puppet
|
|
365
314
|
@provider.get(:ensure) != :absent
|
366
315
|
end
|
367
316
|
|
368
|
-
# okay, there are two ways that a package could be created...
|
369
|
-
# either through the language, in which case the hash's values should
|
370
|
-
# be set in 'should', or through comparing against the system, in which
|
371
|
-
# case the hash's values should be set in 'is'
|
372
317
|
def initialize(params)
|
373
318
|
self.initvars
|
374
319
|
provider = nil
|
@@ -403,4 +348,3 @@ module Puppet
|
|
403
348
|
end # Puppet.type(:package)
|
404
349
|
end
|
405
350
|
|
406
|
-
# $Id: package.rb 2709 2007-07-19 00:14:15Z luke $
|
data/lib/puppet/type/pfile.rb
CHANGED
@@ -4,6 +4,7 @@ require 'etc'
|
|
4
4
|
require 'uri'
|
5
5
|
require 'fileutils'
|
6
6
|
require 'puppet/network/handler'
|
7
|
+
require 'puppet/util/diff'
|
7
8
|
|
8
9
|
module Puppet
|
9
10
|
newtype(:file) do
|
@@ -573,6 +574,8 @@ module Puppet
|
|
573
574
|
# Create a new file or directory object as a child to the current
|
574
575
|
# object.
|
575
576
|
def newchild(path, local, hash = {})
|
577
|
+
raise(Puppet::DevError, "File recursion cannot happen without a catalog") unless catalog
|
578
|
+
|
576
579
|
# make local copy of arguments
|
577
580
|
args = symbolize_options(@arghash)
|
578
581
|
|
@@ -607,13 +610,12 @@ module Puppet
|
|
607
610
|
}
|
608
611
|
|
609
612
|
child = nil
|
610
|
-
|
611
|
-
|
613
|
+
|
612
614
|
# The child might already exist because 'localrecurse' runs
|
613
615
|
# before 'sourcerecurse'. I could push the override stuff into
|
614
616
|
# a separate method or something, but the work is the same other
|
615
617
|
# than this last bit, so it doesn't really make sense.
|
616
|
-
if child =
|
618
|
+
if child = catalog.resource(:file, path)
|
617
619
|
unless child.parent.object_id == self.object_id
|
618
620
|
self.debug "Not managing more explicit file %s" %
|
619
621
|
path
|
@@ -639,28 +641,20 @@ module Puppet
|
|
639
641
|
#notice "Creating new file with args %s" % args.inspect
|
640
642
|
args[:parent] = self
|
641
643
|
begin
|
642
|
-
|
643
|
-
|
644
|
-
|
645
|
-
if child.nil?
|
646
|
-
return nil
|
647
|
-
end
|
648
|
-
rescue Puppet::Error => detail
|
649
|
-
self.notice(
|
650
|
-
"Cannot manage: %s" %
|
651
|
-
[detail.message]
|
652
|
-
)
|
653
|
-
self.debug args.inspect
|
654
|
-
child = nil
|
644
|
+
# This method is used by subclasses of :file, so use the class name rather than hard-coding
|
645
|
+
# :file.
|
646
|
+
return nil unless child = catalog.create_implicit_resource(self.class.name, args)
|
655
647
|
rescue => detail
|
656
|
-
|
657
|
-
|
658
|
-
|
659
|
-
)
|
660
|
-
self.debug args.inspect
|
661
|
-
child = nil
|
648
|
+
puts detail.backtrace
|
649
|
+
self.notice "Cannot manage: %s" % [detail]
|
650
|
+
return nil
|
662
651
|
end
|
663
652
|
end
|
653
|
+
|
654
|
+
# LAK:FIXME This shouldn't be necessary, but as long as we're
|
655
|
+
# modeling the relationship graph specifically, it is.
|
656
|
+
catalog.relationship_graph.add_edge! self, child
|
657
|
+
|
664
658
|
return child
|
665
659
|
end
|
666
660
|
|
@@ -668,12 +662,14 @@ module Puppet
|
|
668
662
|
# path names, rather than including the full parent's title each
|
669
663
|
# time.
|
670
664
|
def pathbuilder
|
671
|
-
|
665
|
+
# We specifically need to call the method here, so it looks
|
666
|
+
# up our parent in the catalog graph.
|
667
|
+
if parent = parent()
|
672
668
|
# We only need to behave specially when our parent is also
|
673
669
|
# a file
|
674
|
-
if
|
670
|
+
if parent.is_a?(self.class)
|
675
671
|
# Remove the parent file name
|
676
|
-
list =
|
672
|
+
list = parent.pathbuilder
|
677
673
|
list.pop # remove the parent's path info
|
678
674
|
return list << self.ref
|
679
675
|
else
|
@@ -694,9 +690,7 @@ module Puppet
|
|
694
690
|
# files.
|
695
691
|
def recurse
|
696
692
|
# are we at the end of the recursion?
|
697
|
-
unless self.recurse?
|
698
|
-
return
|
699
|
-
end
|
693
|
+
return unless self.recurse?
|
700
694
|
|
701
695
|
recurse = self[:recurse]
|
702
696
|
# we might have a string, rather than a number
|
@@ -893,8 +887,8 @@ module Puppet
|
|
893
887
|
# For directories, keep all of the sources, so that
|
894
888
|
# sourceselect still works as planned.
|
895
889
|
if type == "directory"
|
896
|
-
newsource = @parameters[:source].should.collect do |
|
897
|
-
|
890
|
+
newsource = @parameters[:source].should.collect do |tmpsource|
|
891
|
+
tmpsource + file
|
898
892
|
end
|
899
893
|
else
|
900
894
|
newsource = source + file
|
@@ -1047,7 +1041,7 @@ module Puppet
|
|
1047
1041
|
# Write out the file. We open the file correctly, with all of the
|
1048
1042
|
# uid and mode and such, and then yield the file handle for actual
|
1049
1043
|
# writing.
|
1050
|
-
def write(usetmp = true)
|
1044
|
+
def write(property, usetmp = true)
|
1051
1045
|
mode = self.should(:mode)
|
1052
1046
|
|
1053
1047
|
remove_existing(:file)
|
@@ -1178,4 +1172,3 @@ module Puppet
|
|
1178
1172
|
require 'puppet/type/pfile/mode'
|
1179
1173
|
require 'puppet/type/pfile/type'
|
1180
1174
|
end
|
1181
|
-
# $Id: pfile.rb 2665 2007-07-09 21:32:33Z luke $
|