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
@@ -1,12 +1,15 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
|
-
|
3
|
+
require File.dirname(__FILE__) + '/../../lib/puppettest'
|
4
4
|
|
5
5
|
require 'puppettest'
|
6
|
+
require 'puppettest/support/utils'
|
7
|
+
require 'puppettest/support/assertions'
|
6
8
|
require 'puppet/network/client/resource'
|
7
9
|
|
8
10
|
class TestResourceClient < Test::Unit::TestCase
|
9
11
|
include PuppetTest::ServerTest
|
12
|
+
include PuppetTest::Support::Utils
|
10
13
|
|
11
14
|
def mkresourceserver
|
12
15
|
Puppet::Network::Handler.resource.new
|
@@ -35,6 +38,7 @@ class TestResourceClient < Test::Unit::TestCase
|
|
35
38
|
|
36
39
|
assert_instance_of(Puppet::TransObject, tobj)
|
37
40
|
|
41
|
+
Puppet::Type.allclear
|
38
42
|
obj = nil
|
39
43
|
assert_nothing_raised {
|
40
44
|
obj = tobj.to_type
|
@@ -45,6 +49,7 @@ class TestResourceClient < Test::Unit::TestCase
|
|
45
49
|
File.unlink(file)
|
46
50
|
|
47
51
|
# Now test applying
|
52
|
+
Puppet::Type.allclear
|
48
53
|
result = nil
|
49
54
|
assert_nothing_raised {
|
50
55
|
result = client.apply(tobj)
|
@@ -52,6 +57,7 @@ class TestResourceClient < Test::Unit::TestCase
|
|
52
57
|
assert(FileTest.exists?(file), "File was not created on apply")
|
53
58
|
|
54
59
|
# Lastly, test "list"
|
60
|
+
Puppet::Type.allclear
|
55
61
|
list = nil
|
56
62
|
assert_nothing_raised {
|
57
63
|
list = client.list("user")
|
@@ -64,12 +70,14 @@ class TestResourceClient < Test::Unit::TestCase
|
|
64
70
|
break if count > 3
|
65
71
|
assert_instance_of(Puppet::TransObject, tobj)
|
66
72
|
|
73
|
+
Puppet::Type.allclear
|
67
74
|
tobj2 = nil
|
68
75
|
assert_nothing_raised {
|
69
76
|
tobj2 = client.describe(tobj.type, tobj.name)
|
70
77
|
}
|
71
78
|
|
72
79
|
obj = nil
|
80
|
+
Puppet::Type.allclear
|
73
81
|
assert_nothing_raised {
|
74
82
|
obj = tobj2.to_type
|
75
83
|
}
|
@@ -80,4 +88,3 @@ class TestResourceClient < Test::Unit::TestCase
|
|
80
88
|
end
|
81
89
|
end
|
82
90
|
|
83
|
-
# $Id: resource.rb 2259 2007-03-06 19:03:05Z luke $
|
@@ -1,6 +1,6 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
|
-
|
3
|
+
require File.dirname(__FILE__) + '/../lib/puppettest'
|
4
4
|
|
5
5
|
require 'puppettest'
|
6
6
|
|
@@ -35,5 +35,4 @@ class TestClientRequest < Test::Unit::TestCase
|
|
35
35
|
end
|
36
36
|
end
|
37
37
|
|
38
|
-
# $Id: client_request.rb 2259 2007-03-06 19:03:05Z luke $
|
39
38
|
|
data/test/network/daemon.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
|
-
|
3
|
+
require File.dirname(__FILE__) + '/../lib/puppettest'
|
4
4
|
|
5
5
|
require 'puppettest'
|
6
6
|
require 'puppet/daemon'
|
@@ -67,5 +67,4 @@ class TestDaemon < Test::Unit::TestCase
|
|
67
67
|
end
|
68
68
|
end
|
69
69
|
|
70
|
-
# $Id: daemon.rb 2259 2007-03-06 19:03:05Z luke $
|
71
70
|
|
@@ -1,10 +1,11 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
|
-
|
3
|
+
require File.dirname(__FILE__) + '/../../lib/puppettest'
|
4
4
|
|
5
5
|
require 'puppettest'
|
6
6
|
require 'puppet/network/handler/filebucket'
|
7
7
|
require 'base64'
|
8
|
+
require 'mocha'
|
8
9
|
|
9
10
|
class TestBucket < Test::Unit::TestCase
|
10
11
|
include PuppetTest::ServerTest
|
@@ -202,35 +203,6 @@ class TestBucket < Test::Unit::TestCase
|
|
202
203
|
checkfiles(client)
|
203
204
|
end
|
204
205
|
|
205
|
-
# test that things work over the wire
|
206
|
-
def test_webxmlmix
|
207
|
-
files = filelist()
|
208
|
-
|
209
|
-
tmpdir = File.join(tmpdir(),"tmpfiledir")
|
210
|
-
@@tmpfiles << tmpdir
|
211
|
-
FileUtils.mkdir_p(tmpdir)
|
212
|
-
|
213
|
-
Puppet[:autosign] = true
|
214
|
-
client = nil
|
215
|
-
port = Puppet[:masterport]
|
216
|
-
|
217
|
-
pid = mkserver(:CA => {}, :FileBucket => { :Path => @bucket})
|
218
|
-
|
219
|
-
assert_nothing_raised {
|
220
|
-
client = Puppet::Network::Client.dipper.new(
|
221
|
-
:Server => "localhost",
|
222
|
-
:Port => @@port
|
223
|
-
)
|
224
|
-
}
|
225
|
-
|
226
|
-
checkfiles(client)
|
227
|
-
|
228
|
-
unless pid
|
229
|
-
raise "Uh, we don't have a child pid"
|
230
|
-
end
|
231
|
-
Process.kill("TERM", pid)
|
232
|
-
end
|
233
|
-
|
234
206
|
def test_no_path_duplicates
|
235
207
|
bucket = nil
|
236
208
|
assert_nothing_raised {
|
@@ -339,4 +311,3 @@ class TestBucket < Test::Unit::TestCase
|
|
339
311
|
end
|
340
312
|
end
|
341
313
|
|
342
|
-
# $Id: bucket.rb 2348 2007-03-24 21:16:20Z luke $
|
data/test/network/handler/ca.rb
CHANGED
@@ -1,9 +1,10 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
|
-
|
3
|
+
require File.dirname(__FILE__) + '/../../lib/puppettest'
|
4
4
|
|
5
5
|
require 'puppettest'
|
6
6
|
require 'puppet/network/handler/ca'
|
7
|
+
require 'mocha'
|
7
8
|
|
8
9
|
if ARGV.length > 0 and ARGV[0] == "short"
|
9
10
|
$short = true
|
@@ -13,6 +14,12 @@ end
|
|
13
14
|
|
14
15
|
class TestCA < Test::Unit::TestCase
|
15
16
|
include PuppetTest::ServerTest
|
17
|
+
|
18
|
+
def setup
|
19
|
+
Puppet::Util::SUIDManager.stubs(:asuser).yields
|
20
|
+
super
|
21
|
+
end
|
22
|
+
|
16
23
|
# Verify that we're autosigning. We have to autosign a "different" machine,
|
17
24
|
# since we always autosign the CA server's certificate.
|
18
25
|
def test_autocertgeneration
|
@@ -184,7 +191,7 @@ class TestCA < Test::Unit::TestCase
|
|
184
191
|
server = nil
|
185
192
|
Puppet[:name] = "puppetmasterd"
|
186
193
|
assert_nothing_raised {
|
187
|
-
server = Puppet::Network::
|
194
|
+
server = Puppet::Network::HTTPServer::WEBrick.new(
|
188
195
|
:Port => @@port,
|
189
196
|
:Handlers => {
|
190
197
|
:CA => {}, # so that certs autogenerate
|
@@ -265,4 +272,3 @@ class TestCA < Test::Unit::TestCase
|
|
265
272
|
end
|
266
273
|
end
|
267
274
|
|
268
|
-
# $Id: ca.rb 2612 2007-06-18 19:51:17Z luke $
|
@@ -0,0 +1,160 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require File.dirname(__FILE__) + '/../../lib/puppettest'
|
4
|
+
|
5
|
+
require 'puppettest'
|
6
|
+
require 'puppet/network/handler/configuration'
|
7
|
+
|
8
|
+
class TestHandlerConfiguration < Test::Unit::TestCase
|
9
|
+
include PuppetTest
|
10
|
+
|
11
|
+
Config = Puppet::Network::Handler.handler(:configuration)
|
12
|
+
|
13
|
+
# Check all of the setup stuff.
|
14
|
+
def test_initialize
|
15
|
+
config = nil
|
16
|
+
assert_nothing_raised("Could not create local config") do
|
17
|
+
config = Config.new(:Local => true)
|
18
|
+
end
|
19
|
+
|
20
|
+
assert(config.local?, "Config is not considered local after being started that way")
|
21
|
+
end
|
22
|
+
|
23
|
+
# Test creation/returning of the interpreter
|
24
|
+
def test_interpreter
|
25
|
+
config = Config.new
|
26
|
+
|
27
|
+
# First test the defaults
|
28
|
+
config.expects(:create_interpreter).returns(:interp)
|
29
|
+
assert_equal(:interp, config.send(:interpreter), "Did not return the interpreter")
|
30
|
+
|
31
|
+
# Now run it again and make sure we get the same thing
|
32
|
+
assert_equal(:interp, config.send(:interpreter), "Did not cache the interpreter")
|
33
|
+
end
|
34
|
+
|
35
|
+
def test_create_interpreter
|
36
|
+
config = Config.new(:Local => false)
|
37
|
+
args = {}
|
38
|
+
|
39
|
+
# Try it first with defaults.
|
40
|
+
Puppet::Parser::Interpreter.expects(:new).returns(:interp)
|
41
|
+
assert_equal(:interp, config.send(:create_interpreter), "Did not return the interpreter")
|
42
|
+
end
|
43
|
+
|
44
|
+
# Make sure node objects get appropriate data added to them.
|
45
|
+
def test_add_node_data
|
46
|
+
# First with no classes
|
47
|
+
config = Config.new
|
48
|
+
|
49
|
+
fakenode = Object.new
|
50
|
+
# Set the server facts to something
|
51
|
+
config.instance_variable_set("@server_facts", :facts)
|
52
|
+
fakenode.expects(:merge).with(:facts)
|
53
|
+
config.send(:add_node_data, fakenode)
|
54
|
+
|
55
|
+
# Now try it with classes.
|
56
|
+
config.classes = %w{a b}
|
57
|
+
list = []
|
58
|
+
fakenode = Object.new
|
59
|
+
fakenode.expects(:merge).with(:facts)
|
60
|
+
fakenode.expects(:classes).returns(list).times(2)
|
61
|
+
config.send(:add_node_data, fakenode)
|
62
|
+
assert_equal(%w{a b}, list, "Did not add classes to node")
|
63
|
+
end
|
64
|
+
|
65
|
+
def test_compile
|
66
|
+
config = Config.new
|
67
|
+
|
68
|
+
# First do a local
|
69
|
+
node = mock 'node'
|
70
|
+
node.stubs(:name).returns(:mynode)
|
71
|
+
node.stubs(:environment).returns(:myenv)
|
72
|
+
|
73
|
+
interp = mock 'interpreter'
|
74
|
+
interp.stubs(:environment)
|
75
|
+
interp.expects(:compile).with(node).returns(:config)
|
76
|
+
config.expects(:interpreter).returns(interp)
|
77
|
+
|
78
|
+
Puppet.expects(:notice) # The log message from benchmarking
|
79
|
+
|
80
|
+
assert_equal(:config, config.send(:compile, node), "Did not return config")
|
81
|
+
|
82
|
+
# Now try it non-local
|
83
|
+
node = mock 'node'
|
84
|
+
node.stubs(:name).returns(:mynode)
|
85
|
+
node.stubs(:environment).returns(:myenv)
|
86
|
+
|
87
|
+
interp = mock 'interpreter'
|
88
|
+
interp.stubs(:environment)
|
89
|
+
interp.expects(:compile).with(node).returns(:config)
|
90
|
+
|
91
|
+
config = Config.new(:Local => true)
|
92
|
+
config.expects(:interpreter).returns(interp)
|
93
|
+
|
94
|
+
assert_equal(:config, config.send(:compile, node), "Did not return config")
|
95
|
+
end
|
96
|
+
|
97
|
+
def test_set_server_facts
|
98
|
+
config = Config.new
|
99
|
+
assert_nothing_raised("Could not call :set_server_facts") do
|
100
|
+
config.send(:set_server_facts)
|
101
|
+
end
|
102
|
+
facts = config.instance_variable_get("@server_facts")
|
103
|
+
%w{servername serverversion serverip}.each do |fact|
|
104
|
+
assert(facts.include?(fact), "Config did not set %s fact" % fact)
|
105
|
+
end
|
106
|
+
end
|
107
|
+
|
108
|
+
def test_translate
|
109
|
+
# First do a local config
|
110
|
+
config = Config.new(:Local => true)
|
111
|
+
assert_equal(:plain, config.send(:translate, :plain), "Attempted to translate local config")
|
112
|
+
|
113
|
+
# Now a non-local
|
114
|
+
config = Config.new(:Local => false)
|
115
|
+
assert(! config.local?, "Config wrongly thinks it's local")
|
116
|
+
obj = mock 'dumpee'
|
117
|
+
yamld = mock 'yaml'
|
118
|
+
obj.expects(:to_yaml).with(:UseBlock => true).returns(yamld)
|
119
|
+
CGI.expects(:escape).with(yamld).returns(:translated)
|
120
|
+
assert_equal(:translated, config.send(:translate, obj), "Did not return translated config")
|
121
|
+
end
|
122
|
+
|
123
|
+
# Check that we're storing the node freshness into the rails db. Hackilicious.
|
124
|
+
def test_update_node_check
|
125
|
+
# This is stupid.
|
126
|
+
config = Config.new
|
127
|
+
node = Object.new
|
128
|
+
node.expects(:name).returns(:hostname)
|
129
|
+
now = Object.new
|
130
|
+
Time.expects(:now).returns(now)
|
131
|
+
host = Object.new
|
132
|
+
host.expects(:last_freshcheck=).with(now)
|
133
|
+
host.expects(:save)
|
134
|
+
|
135
|
+
# Only test the case where rails is there
|
136
|
+
Puppet[:storeconfigs] = true
|
137
|
+
Puppet.features.expects(:rails?).returns(true)
|
138
|
+
Puppet::Rails.expects(:connect)
|
139
|
+
Puppet::Rails::Host.expects(:find_or_create_by_name).with(:hostname).returns(host)
|
140
|
+
|
141
|
+
config.send(:update_node_check, node)
|
142
|
+
end
|
143
|
+
|
144
|
+
def test_version
|
145
|
+
# First try the case where we can't look up the node
|
146
|
+
config = Config.new
|
147
|
+
node = Object.new
|
148
|
+
Puppet::Node.stubs(:find_by_any_name).with(:client).returns(false, node)
|
149
|
+
interp = Object.new
|
150
|
+
assert_instance_of(Bignum, config.version(:client), "Did not return configuration version")
|
151
|
+
|
152
|
+
# And then when we find the node.
|
153
|
+
config = Config.new
|
154
|
+
config.expects(:update_node_check).with(node)
|
155
|
+
interp = Object.new
|
156
|
+
interp.expects(:configuration_version).returns(:version)
|
157
|
+
config.expects(:interpreter).returns(interp)
|
158
|
+
assert_equal(:version, config.version(:client), "Did not return configuration version")
|
159
|
+
end
|
160
|
+
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
|
-
|
3
|
+
require File.dirname(__FILE__) + '/../../lib/puppettest'
|
4
4
|
|
5
5
|
require 'puppettest'
|
6
6
|
require 'puppet/network/handler/fileserver'
|
@@ -970,12 +970,16 @@ allow *
|
|
970
970
|
}
|
971
971
|
|
972
972
|
dir = tempfile()
|
973
|
+
Facter.stubs(:value).with(:ipaddress).returns("127.0.0.1")
|
974
|
+
Facter.stubs(:value).with { |v| v.to_s == "hostname" }.returns("myhost")
|
975
|
+
Facter.stubs(:value).with { |v| v.to_s == "domain" }.returns("mydomain.com")
|
976
|
+
Facter.stubs(:value).with(:domain).returns("mydomain.com")
|
973
977
|
ip = Facter.value(:ipaddress)
|
974
978
|
|
975
979
|
Dir.mkdir(dir)
|
976
|
-
host = "
|
980
|
+
host = "myhost.mydomain.com"
|
977
981
|
{
|
978
|
-
"%H" => "
|
982
|
+
"%H" => "myhost.mydomain.com", "%h" => "myhost", "%d" => "mydomain.com"
|
979
983
|
}.each do |pattern, string|
|
980
984
|
file = File.join(dir, string)
|
981
985
|
mount = File.join(dir, pattern)
|
@@ -1030,7 +1034,6 @@ allow *
|
|
1030
1034
|
end
|
1031
1035
|
|
1032
1036
|
conffile = tempfile
|
1033
|
-
@@tmpfiles << conffile
|
1034
1037
|
|
1035
1038
|
File.open(conffile, "w") { |f| f.puts "# a test config file" }
|
1036
1039
|
|
@@ -1148,7 +1151,23 @@ allow *
|
|
1148
1151
|
}
|
1149
1152
|
end
|
1150
1153
|
end
|
1154
|
+
|
1155
|
+
def test_can_start_without_configuration
|
1156
|
+
Puppet[:fileserverconfig] = tempfile
|
1157
|
+
assert_nothing_raised("Could not create fileserver when configuration is absent") do
|
1158
|
+
server = Puppet::Network::Handler::FileServer.new(
|
1159
|
+
:Local => false
|
1160
|
+
)
|
1161
|
+
end
|
1162
|
+
end
|
1163
|
+
|
1164
|
+
def test_creates_default_mounts_when_no_configuration_is_available
|
1165
|
+
Puppet[:fileserverconfig] = tempfile
|
1166
|
+
server = Puppet::Network::Handler::FileServer.new(:Local => false)
|
1167
|
+
|
1168
|
+
assert(server.mounted?("plugins"), "Did not create default plugins mount when missing configuration file")
|
1169
|
+
assert(server.mounted?("modules"), "Did not create default modules mount when missing configuration file")
|
1170
|
+
end
|
1151
1171
|
end
|
1152
1172
|
|
1153
|
-
# $Id: fileserver.rb 2629 2007-06-19 22:18:55Z luke $
|
1154
1173
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
|
-
|
3
|
+
require File.dirname(__FILE__) + '/../../lib/puppettest'
|
4
4
|
|
5
5
|
require 'puppettest'
|
6
6
|
require 'puppet/network/handler'
|
@@ -61,4 +61,3 @@ class TestHandler < Test::Unit::TestCase
|
|
61
61
|
end
|
62
62
|
end
|
63
63
|
|
64
|
-
# $Id: handler.rb 2497 2007-05-09 16:21:56Z luke $
|
@@ -1,6 +1,6 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
|
-
|
3
|
+
require File.dirname(__FILE__) + '/../../lib/puppettest'
|
4
4
|
|
5
5
|
require 'puppettest'
|
6
6
|
require 'puppet/network/handler/master'
|
@@ -8,89 +8,16 @@ require 'puppet/network/handler/master'
|
|
8
8
|
class TestMaster < Test::Unit::TestCase
|
9
9
|
include PuppetTest::ServerTest
|
10
10
|
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
count = 0
|
15
|
-
textfiles { |file|
|
16
|
-
Puppet.debug("parsing %s" % file)
|
17
|
-
client = nil
|
18
|
-
master = nil
|
19
|
-
|
20
|
-
# create our master
|
21
|
-
assert_nothing_raised() {
|
22
|
-
# this is the default server setup
|
23
|
-
master = Puppet::Network::Handler.master.new(
|
24
|
-
:Manifest => file,
|
25
|
-
:UseNodes => false,
|
26
|
-
:Local => true
|
27
|
-
)
|
28
|
-
}
|
29
|
-
|
30
|
-
# and our client
|
31
|
-
assert_nothing_raised() {
|
32
|
-
client = Puppet::Network::Client.master.new(
|
33
|
-
:Master => master
|
34
|
-
)
|
35
|
-
}
|
36
|
-
|
37
|
-
# pull our configuration a few times
|
38
|
-
assert_nothing_raised() {
|
39
|
-
client.getconfig
|
40
|
-
stopservices
|
41
|
-
Puppet::Type.allclear
|
42
|
-
}
|
43
|
-
assert_nothing_raised() {
|
44
|
-
client.getconfig
|
45
|
-
stopservices
|
46
|
-
Puppet::Type.allclear
|
47
|
-
}
|
48
|
-
assert_nothing_raised() {
|
49
|
-
client.getconfig
|
50
|
-
stopservices
|
51
|
-
Puppet::Type.allclear
|
52
|
-
}
|
53
|
-
# only test three files; that's plenty
|
54
|
-
if count > 3
|
55
|
-
break
|
56
|
-
end
|
57
|
-
count += 1
|
58
|
-
}
|
59
|
-
end
|
60
|
-
|
61
|
-
def test_defaultmanifest
|
62
|
-
textfiles { |file|
|
63
|
-
Puppet[:manifest] = file
|
64
|
-
client = nil
|
65
|
-
master = nil
|
66
|
-
assert_nothing_raised() {
|
67
|
-
# this is the default server setup
|
68
|
-
master = Puppet::Network::Handler.master.new(
|
69
|
-
:Manifest => file,
|
70
|
-
:UseNodes => false,
|
71
|
-
:Local => true
|
72
|
-
)
|
73
|
-
}
|
74
|
-
assert_nothing_raised() {
|
75
|
-
client = Puppet::Network::Client.master.new(
|
76
|
-
:Master => master
|
77
|
-
)
|
78
|
-
}
|
79
|
-
|
80
|
-
# pull our configuration
|
81
|
-
assert_nothing_raised() {
|
82
|
-
client.getconfig
|
83
|
-
stopservices
|
84
|
-
Puppet::Type.allclear
|
85
|
-
}
|
86
|
-
|
87
|
-
break
|
88
|
-
}
|
11
|
+
def teardown
|
12
|
+
super
|
13
|
+
Puppet::Indirector::Indirection.clear_cache
|
89
14
|
end
|
90
15
|
|
16
|
+
# Make sure that files are reread when they change.
|
91
17
|
def test_filereread
|
92
18
|
# Start with a normal setting
|
93
19
|
Puppet[:filetimeout] = 15
|
20
|
+
|
94
21
|
manifest = mktestmanifest()
|
95
22
|
|
96
23
|
facts = Puppet::Network::Client.master.facts
|
@@ -101,41 +28,18 @@ class TestMaster < Test::Unit::TestCase
|
|
101
28
|
@@tmpfiles << file2
|
102
29
|
|
103
30
|
client = master = nil
|
31
|
+
Puppet[:manifest] = manifest
|
104
32
|
assert_nothing_raised() {
|
105
33
|
# this is the default server setup
|
106
34
|
master = Puppet::Network::Handler.master.new(
|
107
|
-
:Manifest => manifest,
|
108
|
-
:UseNodes => false,
|
109
35
|
:Local => true
|
110
36
|
)
|
111
37
|
}
|
112
|
-
assert_nothing_raised() {
|
113
|
-
client = Puppet::Network::Client.master.new(
|
114
|
-
:Master => master
|
115
|
-
)
|
116
|
-
}
|
117
38
|
|
118
|
-
|
119
|
-
# The client doesn't have a config, so it can't be up to date
|
120
|
-
assert(! client.fresh?(facts),
|
121
|
-
"Client is incorrectly up to date")
|
122
|
-
|
123
|
-
Puppet.config.use(:main)
|
124
|
-
assert_nothing_raised {
|
125
|
-
client.getconfig
|
126
|
-
client.apply
|
127
|
-
}
|
128
|
-
|
129
|
-
# Now it should be up to date
|
130
|
-
assert(client.fresh?(facts), "Client is not up to date")
|
39
|
+
config = master.getconfig({"hostname" => "blah"})
|
131
40
|
|
132
41
|
# Cache this value for later
|
133
|
-
parse1 = master.freshness
|
134
|
-
|
135
|
-
# Verify the config got applied
|
136
|
-
assert(FileTest.exists?(@createdfile),
|
137
|
-
"Created file %s does not exist" % @createdfile)
|
138
|
-
Puppet::Type.allclear
|
42
|
+
parse1 = master.freshness("mynode")
|
139
43
|
|
140
44
|
sleep 1.5
|
141
45
|
# Create a new manifest
|
@@ -145,161 +49,52 @@ class TestMaster < Test::Unit::TestCase
|
|
145
49
|
|
146
50
|
# Verify that the master doesn't immediately reparse the file; we
|
147
51
|
# want to wait through the timeout
|
148
|
-
assert_equal(parse1, master.freshness, "Master did not wait through timeout")
|
149
|
-
assert(client.fresh?(facts), "Client is not up to date")
|
52
|
+
assert_equal(parse1, master.freshness("mynode"), "Master did not wait through timeout")
|
150
53
|
|
151
54
|
# Then eliminate it
|
152
55
|
Puppet[:filetimeout] = 0
|
153
56
|
|
154
57
|
# Now make sure the master does reparse
|
155
58
|
#Puppet.notice "%s vs %s" % [parse1, master.freshness]
|
156
|
-
assert(parse1 != master.freshness, "Master did not reparse file")
|
157
|
-
assert(! client.fresh?(facts), "Client is incorrectly up to date")
|
59
|
+
assert(parse1 != master.freshness("mynode"), "Master did not reparse file")
|
158
60
|
|
159
|
-
|
160
|
-
assert_nothing_raised {
|
161
|
-
client.getconfig
|
162
|
-
client.apply
|
163
|
-
}
|
164
|
-
assert(client.fresh?(facts), "Client is not up to date")
|
165
|
-
|
166
|
-
assert(FileTest.exists?(file2), "Second file %s does not exist" % file2)
|
167
|
-
end
|
168
|
-
|
169
|
-
def test_addfacts
|
170
|
-
master = nil
|
171
|
-
file = mktestmanifest()
|
172
|
-
# create our master
|
173
|
-
assert_nothing_raised() {
|
174
|
-
# this is the default server setup
|
175
|
-
master = Puppet::Network::Handler.master.new(
|
176
|
-
:Manifest => file,
|
177
|
-
:UseNodes => false,
|
178
|
-
:Local => true
|
179
|
-
)
|
180
|
-
}
|
181
|
-
|
182
|
-
facts = {}
|
183
|
-
|
184
|
-
assert_nothing_raised {
|
185
|
-
master.addfacts(facts)
|
186
|
-
}
|
187
|
-
|
188
|
-
%w{serverversion servername serverip}.each do |fact|
|
189
|
-
assert(facts.include?(fact), "Fact %s was not set" % fact)
|
190
|
-
end
|
191
|
-
end
|
192
|
-
|
193
|
-
# Make sure we're using the hostname as configured with :node_name
|
194
|
-
def test_hostname_in_getconfig
|
195
|
-
master = nil
|
196
|
-
file = tempfile()
|
197
|
-
#@createdfile = File.join(tmpdir(), self.class.to_s + "manifesttesting" +
|
198
|
-
# "_" + @method_name)
|
199
|
-
file_cert = tempfile()
|
200
|
-
file_fact = tempfile()
|
201
|
-
|
202
|
-
certname = "y4yn3ss"
|
203
|
-
factname = Facter.value("hostname")
|
204
|
-
|
205
|
-
File.open(file, "w") { |f|
|
206
|
-
f.puts %{
|
207
|
-
node #{certname} { file { "#{file_cert}": ensure => file, mode => 755 } }
|
208
|
-
node #{factname} { file { "#{file_fact}": ensure => file, mode => 755 } }
|
209
|
-
}
|
210
|
-
}
|
211
|
-
# create our master
|
212
|
-
assert_nothing_raised() {
|
213
|
-
# this is the default server setup
|
214
|
-
master = Puppet::Network::Handler.master.new(
|
215
|
-
:Manifest => file,
|
216
|
-
:UseNodes => true,
|
217
|
-
:Local => true
|
218
|
-
)
|
219
|
-
}
|
220
|
-
|
221
|
-
result = nil
|
222
|
-
|
223
|
-
# Use the hostname from facter
|
224
|
-
Puppet[:node_name] = 'facter'
|
225
|
-
assert_nothing_raised {
|
226
|
-
result = master.getconfig({"hostname" => factname}, "yaml", certname, "127.0.0.1")
|
227
|
-
}
|
228
|
-
|
229
|
-
result = result.flatten
|
230
|
-
|
231
|
-
assert(result.find { |obj| obj.name == file_fact },
|
232
|
-
"Could not find correct file")
|
233
|
-
assert(!result.find { |obj| obj.name == file_cert },
|
234
|
-
"Found incorrect file")
|
235
|
-
|
236
|
-
# Use the hostname from the cert
|
237
|
-
Puppet[:node_name] = 'cert'
|
238
|
-
assert_nothing_raised {
|
239
|
-
result = master.getconfig({"hostname" => factname}, "yaml", certname, "127.0.0.1")
|
240
|
-
}
|
241
|
-
|
242
|
-
result = result.flatten
|
243
|
-
|
244
|
-
assert(!result.find { |obj| obj.name == file_fact },
|
245
|
-
"Could not find correct file")
|
246
|
-
assert(result.find { |obj| obj.name == file_cert },
|
247
|
-
"Found incorrect file")
|
61
|
+
assert(master.getconfig({"hostname" => "blah"}) != config, "Did not use reloaded config")
|
248
62
|
end
|
249
63
|
|
250
64
|
# Make sure we're correctly doing clientname manipulations.
|
251
65
|
# Testing to make sure we always get a hostname and IP address.
|
252
66
|
def test_clientname
|
253
|
-
master = nil
|
254
|
-
file = tempfile()
|
255
|
-
|
256
|
-
File.open(file, "w") { |f|
|
257
|
-
f.puts %{
|
258
|
-
node yay { file { "/something": ensure => file, mode => 755 } }
|
259
|
-
}
|
260
|
-
}
|
261
67
|
# create our master
|
262
|
-
|
263
|
-
|
264
|
-
|
265
|
-
|
266
|
-
|
267
|
-
:Local => true
|
268
|
-
)
|
269
|
-
}
|
270
|
-
|
271
|
-
Puppet[:node_name] = "cert"
|
272
|
-
# First act like we're local
|
273
|
-
fakename = nil
|
274
|
-
fakeip = nil
|
68
|
+
master = Puppet::Network::Handler.master.new(
|
69
|
+
:Manifest => tempfile,
|
70
|
+
:UseNodes => true,
|
71
|
+
:Local => true
|
72
|
+
)
|
275
73
|
|
276
|
-
name = ip = nil
|
277
|
-
facts = Facter.to_hash
|
278
|
-
assert_nothing_raised do
|
279
|
-
name, ip = master.clientname(fakename, fakeip, facts)
|
280
|
-
end
|
281
74
|
|
282
|
-
|
283
|
-
|
284
|
-
|
285
|
-
assert_equal(facts["hostname"], name)
|
286
|
-
assert_equal(facts["ipaddress"], ip)
|
287
|
-
|
288
|
-
# Now set them to something real, and make sure we get them back
|
289
|
-
fakename = "yayness"
|
290
|
-
fakeip = "192.168.0.1"
|
291
|
-
facts = Facter.to_hash
|
292
|
-
assert_nothing_raised do
|
293
|
-
name, ip = master.clientname(fakename, fakeip, facts)
|
294
|
-
end
|
295
|
-
|
296
|
-
assert(facts["hostname"], "Removed hostname fact")
|
297
|
-
assert(facts["ipaddress"], "Removed ipaddress fact")
|
75
|
+
# First check that 'cert' works
|
76
|
+
Puppet[:node_name] = "cert"
|
298
77
|
|
299
|
-
|
300
|
-
|
78
|
+
# Make sure we get the fact data back when nothing is set
|
79
|
+
facts = {"hostname" => "fact_hostname", "ipaddress" => "fact_ip"}
|
80
|
+
certname = "cert_hostname"
|
81
|
+
certip = "cert_ip"
|
82
|
+
|
83
|
+
resname, resip = master.send(:clientname, nil, nil, facts)
|
84
|
+
assert_equal(facts["hostname"], resname, "Did not use fact hostname when no certname was present")
|
85
|
+
assert_equal(facts["ipaddress"], resip, "Did not use fact ip when no certname was present")
|
86
|
+
|
87
|
+
# Now try it with the cert stuff present
|
88
|
+
resname, resip = master.send(:clientname, certname, certip, facts)
|
89
|
+
assert_equal(certname, resname, "Did not use cert hostname when certname was present")
|
90
|
+
assert_equal(certip, resip, "Did not use cert ip when certname was present")
|
91
|
+
|
92
|
+
# And reset the node_name stuff and make sure we use it.
|
93
|
+
Puppet[:node_name] = :facter
|
94
|
+
resname, resip = master.send(:clientname, certname, certip, facts)
|
95
|
+
assert_equal(facts["hostname"], resname, "Did not use fact hostname when nodename was set to facter")
|
96
|
+
assert_equal(facts["ipaddress"], resip, "Did not use fact ip when nodename was set to facter")
|
301
97
|
end
|
302
98
|
end
|
303
99
|
|
304
|
-
# $Id: master.rb 2616 2007-06-18 21:03:18Z luke $
|
305
100
|
|