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/test/other/transactions.rb
CHANGED
@@ -1,14 +1,12 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
|
-
|
3
|
+
require File.dirname(__FILE__) + '/../lib/puppettest'
|
4
4
|
|
5
5
|
require 'puppet'
|
6
6
|
require 'puppettest'
|
7
7
|
require 'mocha'
|
8
8
|
require 'puppettest/support/resources'
|
9
9
|
|
10
|
-
# $Id: transactions.rb 2678 2007-07-11 19:30:42Z luke $
|
11
|
-
|
12
10
|
class TestTransactions < Test::Unit::TestCase
|
13
11
|
include PuppetTest::FileTesting
|
14
12
|
include PuppetTest::Support::Resources
|
@@ -133,7 +131,7 @@ class TestTransactions < Test::Unit::TestCase
|
|
133
131
|
inst = type.create :name => "yay"
|
134
132
|
|
135
133
|
# Create a transaction
|
136
|
-
trans = Puppet::Transaction.new(
|
134
|
+
trans = Puppet::Transaction.new(mk_catalog(inst))
|
137
135
|
|
138
136
|
# Make sure prefetch works
|
139
137
|
assert_nothing_raised do
|
@@ -255,7 +253,7 @@ class TestTransactions < Test::Unit::TestCase
|
|
255
253
|
}
|
256
254
|
|
257
255
|
|
258
|
-
component =
|
256
|
+
component = mk_catalog("file",file)
|
259
257
|
require 'etc'
|
260
258
|
groupname = Etc.getgrgid(File.stat(file.name).gid).name
|
261
259
|
assert_nothing_raised() {
|
@@ -295,12 +293,11 @@ class TestTransactions < Test::Unit::TestCase
|
|
295
293
|
file[:check] = check
|
296
294
|
file[:group] = @groups[0]
|
297
295
|
|
298
|
-
|
296
|
+
config = mk_catalog(file)
|
297
|
+
config.apply
|
299
298
|
|
300
299
|
@@tmpfiles << execfile
|
301
300
|
|
302
|
-
component = newcomp("both",file,exec)
|
303
|
-
|
304
301
|
# 'subscribe' expects an array of arrays
|
305
302
|
exec[:subscribe] = [[file.class.name,file.name]]
|
306
303
|
exec[:refreshonly] = true
|
@@ -317,7 +314,11 @@ class TestTransactions < Test::Unit::TestCase
|
|
317
314
|
file[:mode] = "755"
|
318
315
|
}
|
319
316
|
|
320
|
-
|
317
|
+
# Make a new catalog so the resource relationships get
|
318
|
+
# set up.
|
319
|
+
config = mk_catalog(file, exec)
|
320
|
+
|
321
|
+
trans = assert_events([:file_changed, :triggered], config)
|
321
322
|
|
322
323
|
assert(FileTest.exists?(execfile), "Execfile does not exist")
|
323
324
|
File.unlink(execfile)
|
@@ -325,7 +326,7 @@ class TestTransactions < Test::Unit::TestCase
|
|
325
326
|
file[:group] = @groups[1]
|
326
327
|
}
|
327
328
|
|
328
|
-
trans = assert_events([:file_changed, :triggered],
|
329
|
+
trans = assert_events([:file_changed, :triggered], config)
|
329
330
|
assert(FileTest.exists?(execfile), "Execfile does not exist")
|
330
331
|
end
|
331
332
|
|
@@ -343,24 +344,30 @@ class TestTransactions < Test::Unit::TestCase
|
|
343
344
|
file[:group] = @groups[0]
|
344
345
|
assert_apply(file)
|
345
346
|
|
346
|
-
|
347
|
-
|
347
|
+
config = Puppet::Node::Catalog.new
|
348
|
+
fcomp = Puppet::Type.type(:component).create(:name => "file")
|
349
|
+
config.add_resource fcomp
|
350
|
+
config.add_resource file
|
351
|
+
config.add_edge!(fcomp, file)
|
348
352
|
|
349
|
-
|
353
|
+
ecomp = Puppet::Type.type(:component).create(:name => "exec")
|
354
|
+
config.add_resource ecomp
|
355
|
+
config.add_resource exec
|
356
|
+
config.add_edge!(ecomp, exec)
|
350
357
|
|
351
358
|
# 'subscribe' expects an array of arrays
|
352
359
|
#component[:require] = [[file.class.name,file.name]]
|
353
360
|
ecomp[:subscribe] = fcomp
|
354
361
|
exec[:refreshonly] = true
|
355
362
|
|
356
|
-
trans = assert_events([],
|
363
|
+
trans = assert_events([], config)
|
357
364
|
|
358
365
|
assert_nothing_raised() {
|
359
366
|
file[:group] = @groups[1]
|
360
367
|
file[:mode] = "755"
|
361
368
|
}
|
362
369
|
|
363
|
-
trans = assert_events([:file_changed, :file_changed, :triggered],
|
370
|
+
trans = assert_events([:file_changed, :file_changed, :triggered], config)
|
364
371
|
end
|
365
372
|
|
366
373
|
# Make sure that multiple subscriptions get triggered.
|
@@ -426,7 +433,8 @@ class TestTransactions < Test::Unit::TestCase
|
|
426
433
|
Puppet[:ignoreschedules] = false
|
427
434
|
file = Puppet.type(:file).create(
|
428
435
|
:name => tempfile(),
|
429
|
-
:ensure => "file"
|
436
|
+
:ensure => "file",
|
437
|
+
:backup => false
|
430
438
|
)
|
431
439
|
|
432
440
|
fname = tempfile()
|
@@ -437,11 +445,10 @@ class TestTransactions < Test::Unit::TestCase
|
|
437
445
|
:subscribe => ["file", file.name]
|
438
446
|
)
|
439
447
|
|
440
|
-
|
441
|
-
comp.finalize
|
448
|
+
config = mk_catalog(file, exec)
|
442
449
|
|
443
450
|
# Run it once
|
444
|
-
assert_apply(
|
451
|
+
assert_apply(config)
|
445
452
|
assert(FileTest.exists?(fname), "File did not get created")
|
446
453
|
|
447
454
|
assert(!exec.scheduled?, "Exec is somehow scheduled")
|
@@ -451,7 +458,8 @@ class TestTransactions < Test::Unit::TestCase
|
|
451
458
|
|
452
459
|
file[:content] = "some content"
|
453
460
|
|
454
|
-
assert_events([:file_changed, :triggered],
|
461
|
+
assert_events([:file_changed, :triggered], config)
|
462
|
+
|
455
463
|
assert(FileTest.exists?(fname), "File did not get recreated")
|
456
464
|
|
457
465
|
# Now remove it, so it can get created again
|
@@ -469,7 +477,7 @@ class TestTransactions < Test::Unit::TestCase
|
|
469
477
|
|
470
478
|
assert(! file.insync?(file.retrieve), "Uh, file is in sync?")
|
471
479
|
|
472
|
-
assert_events([:file_changed, :triggered],
|
480
|
+
assert_events([:file_changed, :triggered], config)
|
473
481
|
assert(FileTest.exists?(fname), "File did not get recreated")
|
474
482
|
end
|
475
483
|
|
@@ -493,11 +501,9 @@ class TestTransactions < Test::Unit::TestCase
|
|
493
501
|
:ensure => :file
|
494
502
|
)
|
495
503
|
|
496
|
-
|
504
|
+
config = mk_catalog(exec, file1, file2)
|
497
505
|
|
498
|
-
|
499
|
-
|
500
|
-
assert_apply(comp)
|
506
|
+
assert_apply(config)
|
501
507
|
|
502
508
|
assert(! FileTest.exists?(file1[:path]),
|
503
509
|
"File got created even tho its dependency failed")
|
@@ -506,31 +512,27 @@ class TestTransactions < Test::Unit::TestCase
|
|
506
512
|
end
|
507
513
|
end
|
508
514
|
|
509
|
-
def f(n)
|
510
|
-
Puppet::Type.type(:file)["/tmp/#{n.to_s}"]
|
511
|
-
end
|
512
|
-
|
513
515
|
def test_relationship_graph
|
514
|
-
|
516
|
+
config = mktree
|
517
|
+
|
518
|
+
config.meta_def(:f) do |name|
|
519
|
+
self.resource("File[%s]" % name)
|
520
|
+
end
|
515
521
|
|
516
|
-
{one => two, "f" => "c", "h" => middle}.each do |
|
517
|
-
|
518
|
-
|
519
|
-
end
|
520
|
-
if target.is_a?(String)
|
521
|
-
target = f(target)
|
522
|
-
end
|
522
|
+
{"one" => "two", "File[f]" => "File[c]", "File[h]" => "middle"}.each do |source_ref, target_ref|
|
523
|
+
source = config.resource(source_ref) or raise "Missing %s" % source_ref
|
524
|
+
target = config.resource(target_ref) or raise "Missing %s" % target_ref
|
523
525
|
target[:require] = source
|
524
526
|
end
|
525
527
|
|
526
|
-
trans = Puppet::Transaction.new(
|
528
|
+
trans = Puppet::Transaction.new(config)
|
527
529
|
|
528
530
|
graph = nil
|
529
531
|
assert_nothing_raised do
|
530
532
|
graph = trans.relationship_graph
|
531
533
|
end
|
532
|
-
|
533
|
-
assert_instance_of(Puppet::
|
534
|
+
|
535
|
+
assert_instance_of(Puppet::Node::Catalog, graph,
|
534
536
|
"Did not get relationship graph")
|
535
537
|
|
536
538
|
# Make sure all of the components are gone
|
@@ -544,13 +546,13 @@ class TestTransactions < Test::Unit::TestCase
|
|
544
546
|
sorted = graph.topsort.reverse
|
545
547
|
|
546
548
|
# Now make sure the appropriate edges are there and are in the right order
|
547
|
-
assert(graph.dependents(f(:f)).include?(f(:c)),
|
549
|
+
assert(graph.dependents(config.f(:f)).include?(config.f(:c)),
|
548
550
|
"c not marked a dep of f")
|
549
|
-
assert(sorted.index(f(:c)) < sorted.index(f(:f)),
|
551
|
+
assert(sorted.index(config.f(:c)) < sorted.index(config.f(:f)),
|
550
552
|
"c is not before f")
|
551
553
|
|
552
|
-
one.each do |o|
|
553
|
-
two.each do |t|
|
554
|
+
config.resource("one").each do |o|
|
555
|
+
config.resource("two").each do |t|
|
554
556
|
assert(graph.dependents(o).include?(t),
|
555
557
|
"%s not marked a dep of %s" % [t.ref, o.ref])
|
556
558
|
assert(sorted.index(t) < sorted.index(o),
|
@@ -558,22 +560,22 @@ class TestTransactions < Test::Unit::TestCase
|
|
558
560
|
end
|
559
561
|
end
|
560
562
|
|
561
|
-
trans.
|
562
|
-
assert(graph.dependents(f(:h)).include?(child),
|
563
|
+
trans.catalog.leaves(config.resource("middle")).each do |child|
|
564
|
+
assert(graph.dependents(config.f(:h)).include?(child),
|
563
565
|
"%s not marked a dep of h" % [child.ref])
|
564
|
-
assert(sorted.index(child) < sorted.index(f(:h)),
|
566
|
+
assert(sorted.index(child) < sorted.index(config.f(:h)),
|
565
567
|
"%s is not before h" % child.ref)
|
566
568
|
end
|
567
569
|
|
568
570
|
# Lastly, make sure our 'g' vertex made it into the relationship
|
569
571
|
# graph, since it's not involved in any relationships.
|
570
|
-
assert(graph.vertex?(f(:g)),
|
572
|
+
assert(graph.vertex?(config.f(:g)),
|
571
573
|
"Lost vertexes with no relations")
|
572
574
|
|
573
575
|
# Now make the reversal graph and make sure all of the vertices made it into that
|
574
576
|
reverse = graph.reversal
|
575
577
|
%w{a b c d e f g h}.each do |letter|
|
576
|
-
file = f(letter)
|
578
|
+
file = config.f(letter)
|
577
579
|
assert(reverse.vertex?(file), "%s did not make it into reversal" % letter)
|
578
580
|
end
|
579
581
|
end
|
@@ -594,15 +596,15 @@ class TestTransactions < Test::Unit::TestCase
|
|
594
596
|
|
595
597
|
yay = Puppet::Type.newgenerator :title => "yay"
|
596
598
|
rah = Puppet::Type.newgenerator :title => "rah"
|
597
|
-
|
598
|
-
trans =
|
599
|
+
config = mk_catalog(yay, rah)
|
600
|
+
trans = Puppet::Transaction.new(config)
|
599
601
|
|
600
602
|
assert_nothing_raised do
|
601
603
|
trans.generate
|
602
604
|
end
|
603
605
|
|
604
606
|
%w{ya ra y r}.each do |name|
|
605
|
-
assert(trans.
|
607
|
+
assert(trans.catalog.vertex?(Puppet::Type.type(:generator)[name]),
|
606
608
|
"Generated %s was not a vertex" % name)
|
607
609
|
assert($finished.include?(name), "%s was not finished" % name)
|
608
610
|
end
|
@@ -613,7 +615,7 @@ class TestTransactions < Test::Unit::TestCase
|
|
613
615
|
end
|
614
616
|
|
615
617
|
%w{ya ra y r}.each do |name|
|
616
|
-
assert(!trans.
|
618
|
+
assert(!trans.catalog.vertex?(Puppet::Type.type(:generator)[name]),
|
617
619
|
"Generated vertex %s was not removed from graph" % name)
|
618
620
|
assert_nil(Puppet::Type.type(:generator)[name],
|
619
621
|
"Generated vertex %s was not removed from class" % name)
|
@@ -633,8 +635,8 @@ class TestTransactions < Test::Unit::TestCase
|
|
633
635
|
|
634
636
|
yay = Puppet::Type.newgenerator :title => "yay"
|
635
637
|
rah = Puppet::Type.newgenerator :title => "rah", :subscribe => yay
|
636
|
-
|
637
|
-
trans =
|
638
|
+
config = mk_catalog(yay, rah)
|
639
|
+
trans = Puppet::Transaction.new(config)
|
638
640
|
|
639
641
|
trans.prepare
|
640
642
|
|
@@ -645,13 +647,13 @@ class TestTransactions < Test::Unit::TestCase
|
|
645
647
|
end
|
646
648
|
ya = type["ya"]
|
647
649
|
assert(ya, "Did not generate ya")
|
648
|
-
assert(trans.
|
650
|
+
assert(trans.relationship_graph.vertex?(ya),
|
649
651
|
"Did not add ya to rel_graph")
|
650
652
|
|
651
653
|
# Now make sure the appropriate relationships were added
|
652
|
-
assert(trans.
|
654
|
+
assert(trans.relationship_graph.edge?(yay, ya),
|
653
655
|
"parent was not required by child")
|
654
|
-
assert(! trans.
|
656
|
+
assert(! trans.relationship_graph.edge?(ya, rah),
|
655
657
|
"generated child ya inherited depencency on rah")
|
656
658
|
|
657
659
|
# Now make sure it in turn eval_generates appropriately
|
@@ -662,7 +664,7 @@ class TestTransactions < Test::Unit::TestCase
|
|
662
664
|
%w{y}.each do |name|
|
663
665
|
res = type[name]
|
664
666
|
assert(res, "Did not generate %s" % name)
|
665
|
-
assert(trans.
|
667
|
+
assert(trans.relationship_graph.vertex?(res),
|
666
668
|
"Did not add %s to rel_graph" % name)
|
667
669
|
assert($finished.include?("y"), "y was not finished")
|
668
670
|
end
|
@@ -670,7 +672,7 @@ class TestTransactions < Test::Unit::TestCase
|
|
670
672
|
assert_nothing_raised("failed to eval_generate with nil response") do
|
671
673
|
trans.eval_resource(type["y"])
|
672
674
|
end
|
673
|
-
assert(trans.
|
675
|
+
assert(trans.relationship_graph.edge?(yay, ya), "no edge was created for ya => yay")
|
674
676
|
|
675
677
|
assert_nothing_raised("failed to apply rah") do
|
676
678
|
trans.eval_resource(rah)
|
@@ -678,15 +680,15 @@ class TestTransactions < Test::Unit::TestCase
|
|
678
680
|
|
679
681
|
ra = type["ra"]
|
680
682
|
assert(ra, "Did not generate ra")
|
681
|
-
assert(trans.
|
683
|
+
assert(trans.relationship_graph.vertex?(ra),
|
682
684
|
"Did not add ra to rel_graph" % name)
|
683
685
|
assert($finished.include?("ra"), "y was not finished")
|
684
686
|
|
685
687
|
# Now make sure this generated resource has the same relationships as
|
686
688
|
# the generating resource
|
687
|
-
assert(! trans.
|
689
|
+
assert(! trans.relationship_graph.edge?(yay, ra),
|
688
690
|
"rah passed its dependencies on to its children")
|
689
|
-
assert(! trans.
|
691
|
+
assert(! trans.relationship_graph.edge?(ya, ra),
|
690
692
|
"children have a direct relationship")
|
691
693
|
|
692
694
|
# Now make sure that cleanup gets rid of those generated types.
|
@@ -695,14 +697,14 @@ class TestTransactions < Test::Unit::TestCase
|
|
695
697
|
end
|
696
698
|
|
697
699
|
%w{ya ra y r}.each do |name|
|
698
|
-
assert(!trans.
|
700
|
+
assert(!trans.relationship_graph.vertex?(type[name]),
|
699
701
|
"Generated vertex %s was not removed from graph" % name)
|
700
702
|
assert_nil(type[name],
|
701
703
|
"Generated vertex %s was not removed from class" % name)
|
702
704
|
end
|
703
705
|
|
704
706
|
# Now, start over and make sure that everything gets evaluated.
|
705
|
-
trans =
|
707
|
+
trans = Puppet::Transaction.new(config)
|
706
708
|
$evaluated.clear
|
707
709
|
assert_nothing_raised do
|
708
710
|
trans.evaluate
|
@@ -711,54 +713,41 @@ class TestTransactions < Test::Unit::TestCase
|
|
711
713
|
assert_equal(%w{yay ya y rah ra r}, $evaluated,
|
712
714
|
"Not all resources were evaluated or not in the right order")
|
713
715
|
end
|
714
|
-
|
715
|
-
def
|
716
|
-
|
717
|
-
|
718
|
-
|
719
|
-
|
720
|
-
|
721
|
-
|
722
|
-
|
723
|
-
|
724
|
-
assert_equal(%w{this is some tags}, comp.evaluate.tags)
|
725
|
-
|
726
|
-
# And make sure they get processed correctly
|
727
|
-
Puppet[:tags] = ["one", "two,three", "four"]
|
728
|
-
assert_equal(%w{one two three four}, comp.evaluate.tags)
|
729
|
-
|
730
|
-
# lastly, make sure we can override them
|
731
|
-
trans = comp.evaluate
|
732
|
-
trans.tags = ["one", "two,three", "four"]
|
733
|
-
assert_equal(%w{one two three four}, comp.evaluate.tags)
|
716
|
+
|
717
|
+
def test_ignore_tags?
|
718
|
+
config = Puppet::Node::Catalog.new
|
719
|
+
config.host_config = true
|
720
|
+
transaction = Puppet::Transaction.new(config)
|
721
|
+
assert(! transaction.ignore_tags?, "Ignoring tags when applying a host catalog")
|
722
|
+
|
723
|
+
config.host_config = false
|
724
|
+
transaction = Puppet::Transaction.new(config)
|
725
|
+
assert(transaction.ignore_tags?, "Not ignoring tags when applying a non-host catalog")
|
734
726
|
end
|
735
727
|
|
736
|
-
def
|
737
|
-
|
738
|
-
|
739
|
-
|
740
|
-
|
741
|
-
|
742
|
-
|
743
|
-
|
744
|
-
|
745
|
-
|
746
|
-
|
747
|
-
|
748
|
-
|
749
|
-
|
750
|
-
|
751
|
-
|
752
|
-
|
753
|
-
|
754
|
-
|
755
|
-
|
756
|
-
|
757
|
-
|
758
|
-
assert(
|
759
|
-
|
760
|
-
trans.tags = %w{mytag yaytag}
|
761
|
-
assert(trans.tagged?(res), "tags should have matched")
|
728
|
+
def test_missing_tags?
|
729
|
+
resource = stub 'resource', :tagged? => true
|
730
|
+
config = Puppet::Node::Catalog.new
|
731
|
+
|
732
|
+
# Mark it as a host config so we don't care which test is first
|
733
|
+
config.host_config = true
|
734
|
+
transaction = Puppet::Transaction.new(config)
|
735
|
+
assert(! transaction.missing_tags?(resource), "Considered a resource to be missing tags when none are set")
|
736
|
+
|
737
|
+
# host catalogs pay attention to tags, no one else does.
|
738
|
+
Puppet[:tags] = "three,four"
|
739
|
+
config.host_config = false
|
740
|
+
transaction = Puppet::Transaction.new(config)
|
741
|
+
assert(! transaction.missing_tags?(resource), "Considered a resource to be missing tags when not running a host catalog")
|
742
|
+
|
743
|
+
#
|
744
|
+
config.host_config = true
|
745
|
+
transaction = Puppet::Transaction.new(config)
|
746
|
+
assert(! transaction.missing_tags?(resource), "Considered a resource to be missing tags when running a host catalog and all tags are present")
|
747
|
+
|
748
|
+
transaction = Puppet::Transaction.new(config)
|
749
|
+
resource.stubs :tagged? => false
|
750
|
+
assert(transaction.missing_tags?(resource), "Considered a resource not to be missing tags when running a host catalog and tags are missing")
|
762
751
|
end
|
763
752
|
|
764
753
|
# Make sure changes generated by eval_generated resources have proxies
|
@@ -772,8 +761,8 @@ class TestTransactions < Test::Unit::TestCase
|
|
772
761
|
end
|
773
762
|
|
774
763
|
resource = type.create :name => "test"
|
775
|
-
|
776
|
-
trans =
|
764
|
+
config = mk_catalog(resource)
|
765
|
+
trans = Puppet::Transaction.new(config)
|
777
766
|
trans.prepare
|
778
767
|
|
779
768
|
assert_nothing_raised do
|
@@ -831,7 +820,7 @@ class TestTransactions < Test::Unit::TestCase
|
|
831
820
|
end
|
832
821
|
|
833
822
|
# Make a graph with some stuff in it.
|
834
|
-
graph = Puppet::
|
823
|
+
graph = Puppet::Node::Catalog.new
|
835
824
|
|
836
825
|
# Add a non-triggering edge.
|
837
826
|
a = trigger.new(:a)
|
@@ -883,52 +872,12 @@ class TestTransactions < Test::Unit::TestCase
|
|
883
872
|
assert(trans.triggered?(c, :refresh),
|
884
873
|
"Transaction did not store the trigger")
|
885
874
|
end
|
886
|
-
|
887
|
-
def test_graph
|
888
|
-
Puppet.config.use(:main)
|
889
|
-
# Make a graph
|
890
|
-
graph = Puppet::PGraph.new
|
891
|
-
graph.add_edge!("a", "b")
|
892
|
-
|
893
|
-
# Create our transaction
|
894
|
-
trans = Puppet::Transaction.new(graph)
|
895
|
-
|
896
|
-
assert_nothing_raised do
|
897
|
-
trans.graph(graph, :testing)
|
898
|
-
end
|
899
|
-
|
900
|
-
dotfile = File.join(Puppet[:graphdir], "testing.dot")
|
901
|
-
assert(! FileTest.exists?(dotfile), "Enabled graphing even tho disabled")
|
902
|
-
|
903
|
-
# Now enable graphing
|
904
|
-
Puppet[:graph] = true
|
905
|
-
|
906
|
-
assert_nothing_raised do
|
907
|
-
trans.graph(graph, :testing)
|
908
|
-
end
|
909
|
-
assert(FileTest.exists?(dotfile), "Did not create graph.")
|
910
|
-
end
|
911
|
-
|
912
|
-
def test_created_graphs
|
913
|
-
FileUtils.mkdir_p(Puppet[:graphdir])
|
914
|
-
file = Puppet::Type.newfile(:path => tempfile, :content => "yay")
|
915
|
-
exec = Puppet::Type.type(:exec).create(:command => "echo yay", :path => ENV['PATH'],
|
916
|
-
:require => file)
|
917
|
-
|
918
|
-
Puppet[:graph] = true
|
919
|
-
assert_apply(file, exec)
|
920
|
-
|
921
|
-
%w{resources relationships expanded_relationships}.each do |name|
|
922
|
-
file = File.join(Puppet[:graphdir], "%s.dot" % name)
|
923
|
-
assert(FileTest.exists?(file), "graph for %s was not created" % name)
|
924
|
-
end
|
925
|
-
end
|
926
875
|
|
927
876
|
def test_set_target
|
928
877
|
file = Puppet::Type.newfile(:path => tempfile(), :content => "yay")
|
929
878
|
exec1 = Puppet::Type.type(:exec).create :command => "/bin/echo exec1"
|
930
879
|
exec2 = Puppet::Type.type(:exec).create :command => "/bin/echo exec2"
|
931
|
-
trans = Puppet::Transaction.new(
|
880
|
+
trans = Puppet::Transaction.new(mk_catalog(file, exec1, exec2))
|
932
881
|
|
933
882
|
# First try it with an edge that has no callback
|
934
883
|
edge = Puppet::Relationship.new(file, exec1)
|
@@ -975,7 +924,8 @@ class TestTransactions < Test::Unit::TestCase
|
|
975
924
|
one[:require] = two
|
976
925
|
two[:require] = one
|
977
926
|
|
978
|
-
|
927
|
+
config = mk_catalog(one, two)
|
928
|
+
trans = Puppet::Transaction.new(config)
|
979
929
|
assert_raise(Puppet::Error) do
|
980
930
|
trans.prepare
|
981
931
|
end
|
@@ -1042,51 +992,20 @@ class TestTransactions < Test::Unit::TestCase
|
|
1042
992
|
|
1043
993
|
rels[dir] = file
|
1044
994
|
rels.each do |after, before|
|
1045
|
-
|
1046
|
-
trans =
|
995
|
+
config = mk_catalog(before, after)
|
996
|
+
trans = Puppet::Transaction.new(config)
|
1047
997
|
str = "from %s to %s" % [before, after]
|
1048
998
|
|
1049
999
|
assert_nothing_raised("Failed to create graph %s" % str) do
|
1050
1000
|
trans.prepare
|
1051
1001
|
end
|
1052
1002
|
|
1053
|
-
graph = trans.
|
1003
|
+
graph = trans.relationship_graph
|
1054
1004
|
assert(graph.edge?(before, after), "did not create manual relationship %s" % str)
|
1055
1005
|
assert(! graph.edge?(after, before), "created automatic relationship %s" % str)
|
1056
1006
|
end
|
1057
1007
|
end
|
1058
1008
|
|
1059
|
-
def test_labeled_deps_beat_unlabeled
|
1060
|
-
one = Puppet::Type.type(:exec).create :command => "/bin/echo one"
|
1061
|
-
two = Puppet::Type.type(:exec).create :command => "/bin/echo two"
|
1062
|
-
|
1063
|
-
one[:require] = two
|
1064
|
-
one[:subscribe] = two
|
1065
|
-
|
1066
|
-
comp = newcomp(one, two)
|
1067
|
-
trans = Puppet::Transaction.new(comp)
|
1068
|
-
graph = trans.relationship_graph
|
1069
|
-
|
1070
|
-
label = graph.edge_label(two, one)
|
1071
|
-
assert(label, "require beat subscribe")
|
1072
|
-
assert_equal(:refresh, label[:callback],
|
1073
|
-
"did not get correct callback from subscribe")
|
1074
|
-
|
1075
|
-
one.delete(:require)
|
1076
|
-
one.delete(:subscribe)
|
1077
|
-
|
1078
|
-
two[:before] = one
|
1079
|
-
two[:notify] = one
|
1080
|
-
|
1081
|
-
trans = Puppet::Transaction.new(comp)
|
1082
|
-
graph = trans.relationship_graph
|
1083
|
-
|
1084
|
-
label = graph.edge_label(two, one)
|
1085
|
-
assert(label, "before beat notify")
|
1086
|
-
assert_equal(:refresh, label[:callback],
|
1087
|
-
"did not get correct callback from notify")
|
1088
|
-
end
|
1089
|
-
|
1090
1009
|
# #542 - make sure resources in noop mode still notify their resources,
|
1091
1010
|
# so that users know if a service will get restarted.
|
1092
1011
|
def test_noop_with_notify
|
@@ -1188,5 +1107,3 @@ class TestTransactions < Test::Unit::TestCase
|
|
1188
1107
|
assert_equal(1, $flushed, "object was flushed in noop")
|
1189
1108
|
end
|
1190
1109
|
end
|
1191
|
-
|
1192
|
-
# $Id: transactions.rb 2678 2007-07-11 19:30:42Z luke $
|