puppet 0.24.9 → 0.25.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 +18680 -1241
- data/CHANGELOG.old +1705 -0
- data/LICENSE +2 -2
- data/README +1 -1
- data/README.queueing +126 -0
- data/README.rst +4 -4
- data/Rakefile +62 -216
- data/bin/filebucket +6 -117
- data/bin/pi +50 -0
- data/bin/puppet +7 -188
- data/bin/puppetdoc +7 -198
- data/bin/ralsh +4 -191
- data/conf/auth.conf +94 -0
- data/conf/gentoo/init.d/puppetmaster +30 -30
- data/conf/osx/PackageInfo.plist +30 -30
- data/conf/osx/createpackage.sh +23 -18
- data/conf/osx/preflight +8 -0
- data/conf/puppet-queue.conf +10 -0
- data/conf/redhat/client.init +52 -41
- data/conf/redhat/logrotate +1 -0
- data/conf/redhat/puppet.spec +74 -36
- data/conf/redhat/rundir-perms.patch +28 -0
- data/conf/redhat/server.init +48 -43
- data/conf/redhat/server.sysconfig +4 -4
- data/conf/solaris/smf/puppetd.xml +53 -53
- data/conf/solaris/smf/puppetmasterd.xml +53 -53
- data/conf/solaris/smf/svc-puppetd +4 -4
- data/conf/solaris/smf/svc-puppetmasterd +3 -3
- data/conf/suse/client.init +4 -4
- data/conf/suse/puppet.spec +14 -14
- data/conf/suse/server.init +17 -17
- data/examples/etc/init.d/sleeper +8 -8
- data/examples/mac_dscl.pp +2 -2
- data/examples/mac_dscl_revert.pp +1 -1
- data/examples/mcx_dock_default.pp +108 -108
- data/examples/mcx_dock_full.pp +108 -108
- data/examples/mcx_nogroup.pp +108 -108
- data/examples/modules/sample-module/lib/puppet/parser/functions/hostname_to_dn.rb +5 -5
- data/examples/modules/sample-module/manifests/init.pp +2 -2
- data/examples/relationships +1 -1
- data/ext/autotest/config +6 -6
- data/ext/bin/sleeper +12 -12
- data/ext/dbfix.sql +21 -21
- data/ext/emacs/puppet-mode.el +42 -41
- data/ext/extlookup.rb +183 -0
- data/ext/ldap/puppet.schema +2 -1
- data/ext/logcheck/puppet +1 -1
- data/ext/module_puppet +7 -7
- data/ext/nagios/check_puppet.rb +83 -83
- data/ext/nagios/naggen +302 -0
- data/ext/puppet-test +61 -18
- data/ext/puppetlisten/puppetlisten.rb +76 -0
- data/ext/puppetlisten/puppetrun.rb +39 -0
- data/ext/puppetstoredconfigclean.rb +29 -29
- data/ext/rack/README +73 -0
- data/ext/rack/files/apache2.conf +38 -0
- data/ext/rack/files/config.ru +18 -0
- data/ext/rack/manifest.pp +59 -0
- data/ext/vim/syntax/puppet.vim +54 -35
- data/install.rb +37 -26
- data/lib/puppet.rb +15 -227
- data/lib/puppet/agent.rb +134 -0
- data/lib/puppet/agent/locker.rb +42 -0
- data/lib/puppet/agent/runner.rb +65 -0
- data/lib/puppet/application.rb +313 -0
- data/lib/puppet/application/filebucket.rb +87 -0
- data/lib/puppet/application/pi.rb +214 -0
- data/lib/puppet/application/puppet.rb +177 -0
- data/lib/puppet/application/puppetca.rb +71 -0
- data/lib/puppet/application/puppetd.rb +256 -0
- data/lib/puppet/application/puppetdoc.rb +222 -0
- data/lib/puppet/application/puppetmasterd.rb +168 -0
- data/lib/puppet/application/puppetqd.rb +96 -0
- data/lib/puppet/application/puppetrun.rb +219 -0
- data/lib/puppet/application/ralsh.rb +168 -0
- data/lib/puppet/configurer.rb +177 -0
- data/lib/puppet/configurer/downloader.rb +79 -0
- data/lib/puppet/configurer/fact_handler.rb +68 -0
- data/lib/puppet/configurer/plugin_handler.rb +26 -0
- data/lib/puppet/daemon.rb +78 -28
- data/lib/puppet/defaults.rb +239 -166
- data/lib/puppet/dsl.rb +7 -7
- data/lib/puppet/external/dot.rb +271 -271
- data/lib/puppet/external/event-loop/better-definers.rb +298 -298
- data/lib/puppet/external/event-loop/event-loop.rb +274 -274
- data/lib/puppet/external/event-loop/signal-system.rb +163 -163
- data/lib/puppet/external/lock.rb +1 -1
- data/lib/puppet/external/nagios.rb +20 -20
- data/lib/puppet/external/nagios/base.rb +3 -3
- data/lib/puppet/external/nagios/grammar.ry +185 -0
- data/lib/puppet/external/nagios/makefile +9 -0
- data/lib/puppet/external/nagios/parser.rb +1 -1
- data/lib/puppet/feature/json.rb +2 -0
- data/lib/puppet/feature/rack.rb +24 -0
- data/lib/puppet/feature/rails.rb +23 -33
- data/lib/puppet/feature/rubygems.rb +6 -0
- data/lib/puppet/feature/stomp.rb +6 -0
- data/lib/puppet/file_serving/{file_base.rb → base.rb} +10 -9
- data/lib/puppet/file_serving/configuration.rb +61 -61
- data/lib/puppet/file_serving/configuration/parser.rb +24 -29
- data/lib/puppet/file_serving/content.rb +26 -11
- data/lib/puppet/file_serving/fileset.rb +54 -19
- data/lib/puppet/file_serving/indirection_hooks.rb +12 -24
- data/lib/puppet/file_serving/metadata.rb +8 -8
- data/lib/puppet/file_serving/mount.rb +9 -151
- data/lib/puppet/file_serving/mount/file.rb +126 -0
- data/lib/puppet/file_serving/mount/modules.rb +25 -0
- data/lib/puppet/file_serving/mount/plugins.rb +27 -0
- data/lib/puppet/file_serving/terminus_helper.rb +9 -4
- data/lib/puppet/indirector.rb +6 -4
- data/lib/puppet/indirector/active_record.rb +28 -0
- data/lib/puppet/indirector/catalog/active_record.rb +36 -0
- data/lib/puppet/indirector/catalog/compiler.rb +50 -24
- data/lib/puppet/indirector/catalog/queue.rb +5 -0
- data/lib/puppet/indirector/catalog/rest.rb +6 -0
- data/lib/puppet/indirector/catalog/yaml.rb +2 -4
- data/lib/puppet/indirector/certificate/ca.rb +9 -0
- data/lib/puppet/indirector/certificate/file.rb +9 -0
- data/lib/puppet/indirector/certificate/rest.rb +9 -0
- data/lib/puppet/indirector/certificate_request/ca.rb +14 -0
- data/lib/puppet/indirector/certificate_request/file.rb +8 -0
- data/lib/puppet/indirector/certificate_request/rest.rb +9 -0
- data/lib/puppet/indirector/certificate_revocation_list/ca.rb +8 -0
- data/lib/puppet/indirector/certificate_revocation_list/file.rb +8 -0
- data/lib/puppet/indirector/certificate_revocation_list/rest.rb +9 -0
- data/lib/puppet/indirector/direct_file_server.rb +4 -8
- data/lib/puppet/indirector/exec.rb +2 -6
- data/lib/puppet/indirector/facts/active_record.rb +36 -0
- data/lib/puppet/indirector/facts/facter.rb +30 -22
- data/lib/puppet/indirector/facts/rest.rb +6 -0
- data/lib/puppet/indirector/file.rb +1 -0
- data/lib/puppet/indirector/file_content/rest.rb +0 -1
- data/lib/puppet/indirector/file_metadata/file.rb +2 -2
- data/lib/puppet/indirector/file_metadata/rest.rb +0 -1
- data/lib/puppet/indirector/file_server.rb +31 -18
- data/lib/puppet/indirector/indirection.rb +46 -33
- data/lib/puppet/indirector/key/ca.rb +12 -0
- data/lib/puppet/indirector/key/file.rb +42 -0
- data/lib/puppet/indirector/node/active_record.rb +13 -0
- data/lib/puppet/indirector/node/ldap.rb +1 -1
- data/lib/puppet/indirector/queue.rb +83 -0
- data/lib/puppet/indirector/report/processor.rb +1 -1
- data/lib/puppet/indirector/report/rest.rb +7 -0
- data/lib/puppet/indirector/request.rb +158 -15
- data/lib/puppet/indirector/rest.rb +74 -36
- data/lib/puppet/indirector/runner/rest.rb +7 -0
- data/lib/puppet/indirector/ssl_file.rb +174 -0
- data/lib/puppet/indirector/terminus.rb +4 -4
- data/lib/puppet/indirector/yaml.rb +1 -1
- data/lib/puppet/metatype/manager.rb +3 -3
- data/lib/puppet/module.rb +99 -124
- data/lib/puppet/network/authconfig.rb +57 -42
- data/lib/puppet/network/authstore.rb +58 -10
- data/lib/puppet/network/client.rb +0 -2
- data/lib/puppet/network/client/ca.rb +1 -1
- data/lib/puppet/network/client/dipper.rb +7 -2
- data/lib/puppet/network/format.rb +123 -0
- data/lib/puppet/network/format_handler.rb +156 -0
- data/lib/puppet/network/formats.rb +123 -0
- data/lib/puppet/network/handler/filebucket.rb +1 -1
- data/lib/puppet/network/handler/fileserver.rb +43 -35
- data/lib/puppet/network/handler/master.rb +4 -4
- data/lib/puppet/network/handler/report.rb +1 -1
- data/lib/puppet/network/handler/resource.rb +16 -20
- data/lib/puppet/network/handler/runner.rb +9 -42
- data/lib/puppet/network/http.rb +4 -4
- data/lib/puppet/network/http/api.rb +4 -0
- data/lib/puppet/network/http/api/v1.rb +65 -0
- data/lib/puppet/network/http/handler.rb +163 -56
- data/lib/puppet/network/http/mongrel.rb +19 -15
- data/lib/puppet/network/http/mongrel/rest.rb +35 -17
- data/lib/puppet/network/http/rack.rb +62 -0
- data/lib/puppet/network/http/rack/httphandler.rb +34 -0
- data/lib/puppet/network/http/rack/rest.rb +79 -0
- data/lib/puppet/network/http/rack/xmlrpc.rb +65 -0
- data/lib/puppet/network/http/webrick.rb +89 -16
- data/lib/puppet/network/http/webrick/rest.rb +24 -11
- data/lib/puppet/network/http_pool.rb +28 -29
- data/lib/puppet/network/http_server/mongrel.rb +8 -10
- data/lib/puppet/network/http_server/webrick.rb +1 -3
- data/lib/puppet/network/rest_authconfig.rb +89 -0
- data/lib/puppet/network/rest_authorization.rb +25 -0
- data/lib/puppet/network/rights.rb +230 -27
- data/lib/puppet/network/server.rb +133 -31
- data/lib/puppet/network/xmlrpc/client.rb +5 -5
- data/lib/puppet/network/xmlrpc/webrick_servlet.rb +6 -6
- data/lib/puppet/node.rb +28 -21
- data/lib/puppet/node/environment.rb +48 -0
- data/lib/puppet/node/facts.rb +21 -0
- data/lib/puppet/parameter.rb +291 -219
- data/lib/puppet/parser/ast.rb +1 -0
- data/lib/puppet/parser/ast/astarray.rb +5 -1
- data/lib/puppet/parser/ast/boolean_operator.rb +3 -3
- data/lib/puppet/parser/ast/caseopt.rb +10 -0
- data/lib/puppet/parser/ast/casestatement.rb +12 -27
- data/lib/puppet/parser/ast/collection.rb +31 -0
- data/lib/puppet/parser/ast/collexpr.rb +18 -11
- data/lib/puppet/parser/ast/comparison_operator.rb +1 -1
- data/lib/puppet/parser/ast/definition.rb +6 -2
- data/lib/puppet/parser/ast/function.rb +7 -2
- data/lib/puppet/parser/ast/ifstatement.rb +11 -6
- data/lib/puppet/parser/ast/leaf.rb +106 -3
- data/lib/puppet/parser/ast/match_operator.rb +31 -0
- data/lib/puppet/parser/ast/node.rb +10 -6
- data/lib/puppet/parser/ast/resource_defaults.rb +2 -2
- data/lib/puppet/parser/ast/resource_override.rb +1 -1
- data/lib/puppet/parser/ast/resource_reference.rb +11 -3
- data/lib/puppet/parser/ast/selector.rb +14 -32
- data/lib/puppet/parser/ast/vardef.rb +1 -1
- data/lib/puppet/parser/collector.rb +67 -15
- data/lib/puppet/parser/compiler.rb +21 -53
- data/lib/puppet/parser/files.rb +92 -0
- data/lib/puppet/parser/functions.rb +3 -3
- data/lib/puppet/parser/functions/defined.rb +3 -3
- data/lib/puppet/parser/functions/fqdn_rand.rb +3 -3
- data/lib/puppet/parser/functions/inline_template.rb +4 -4
- data/lib/puppet/parser/functions/regsubst.rb +37 -35
- data/lib/puppet/parser/functions/require.rb +34 -0
- data/lib/puppet/parser/functions/shellquote.rb +41 -0
- data/lib/puppet/parser/functions/split.rb +29 -0
- data/lib/puppet/parser/functions/sprintf.rb +6 -6
- data/lib/puppet/parser/functions/template.rb +4 -4
- data/lib/puppet/parser/functions/versioncmp.rb +22 -1
- data/lib/puppet/parser/grammar.ra +812 -0
- data/lib/puppet/parser/interpreter.rb +4 -4
- data/lib/puppet/parser/lexer.rb +44 -15
- data/lib/puppet/parser/loaded_code.rb +115 -0
- data/lib/puppet/parser/makefile +8 -0
- data/lib/puppet/parser/parser.rb +1080 -928
- data/lib/puppet/parser/parser_support.rb +118 -96
- data/lib/puppet/parser/resource.rb +56 -126
- data/lib/puppet/parser/resource/param.rb +2 -76
- data/lib/puppet/parser/resource/reference.rb +15 -8
- data/lib/puppet/parser/scope.rb +68 -35
- data/lib/puppet/parser/templatewrapper.rb +8 -8
- data/lib/puppet/parser/yaml_trimmer.rb +11 -0
- data/lib/puppet/property.rb +69 -124
- data/lib/puppet/property/list.rb +3 -3
- data/lib/puppet/provider.rb +5 -5
- data/lib/puppet/provider/augeas/augeas.rb +119 -118
- data/lib/puppet/provider/computer/computer.rb +3 -3
- data/lib/puppet/provider/confine/variable.rb +1 -1
- data/lib/puppet/provider/cron/crontab.rb +8 -7
- data/lib/puppet/provider/group/directoryservice.rb +2 -2
- data/lib/puppet/provider/group/groupadd.rb +1 -1
- data/lib/puppet/provider/group/ldap.rb +3 -3
- data/lib/puppet/provider/group/pw.rb +1 -1
- data/lib/puppet/provider/host/parsed.rb +3 -3
- data/lib/puppet/provider/ldap.rb +1 -3
- data/lib/puppet/provider/macauthorization/macauthorization.rb +62 -55
- data/lib/puppet/provider/mailalias/aliases.rb +9 -1
- data/lib/puppet/provider/maillist/mailman.rb +8 -4
- data/lib/puppet/provider/mcx/mcxcontent.rb +11 -11
- data/lib/puppet/provider/mount/parsed.rb +2 -2
- data/lib/puppet/provider/nameservice.rb +6 -6
- data/lib/puppet/provider/nameservice/directoryservice.rb +83 -87
- data/lib/puppet/provider/package/appdmg.rb +10 -9
- data/lib/puppet/provider/package/apple.rb +1 -3
- data/lib/puppet/provider/package/apt.rb +5 -5
- data/lib/puppet/provider/package/aptitude.rb +1 -1
- data/lib/puppet/provider/package/aptrpm.rb +1 -1
- data/lib/puppet/provider/package/darwinport.rb +1 -1
- data/lib/puppet/provider/package/dpkg.rb +2 -2
- data/lib/puppet/provider/package/fink.rb +6 -6
- data/lib/puppet/provider/package/freebsd.rb +1 -1
- data/lib/puppet/provider/package/gem.rb +2 -2
- data/lib/puppet/provider/package/hpux.rb +5 -5
- data/lib/puppet/provider/package/pkgdmg.rb +30 -22
- data/lib/puppet/provider/package/portage.rb +1 -1
- data/lib/puppet/provider/package/ports.rb +1 -1
- data/lib/puppet/provider/package/rpm.rb +5 -5
- data/lib/puppet/provider/package/rug.rb +1 -1
- data/lib/puppet/provider/package/sun.rb +7 -7
- data/lib/puppet/provider/package/up2date.rb +1 -1
- data/lib/puppet/provider/package/yum.rb +2 -2
- data/lib/puppet/provider/package/yumhelper.py +2 -2
- data/lib/puppet/provider/port/parsed.rb +1 -1
- data/lib/puppet/provider/selmodule/semodule.rb +3 -3
- data/lib/puppet/provider/service/base.rb +21 -12
- data/lib/puppet/provider/service/daemontools.rb +86 -49
- data/lib/puppet/provider/service/debian.rb +20 -12
- data/lib/puppet/provider/service/freebsd.rb +5 -5
- data/lib/puppet/provider/service/gentoo.rb +2 -2
- data/lib/puppet/provider/service/init.rb +21 -33
- data/lib/puppet/provider/service/launchd.rb +120 -48
- data/lib/puppet/provider/service/redhat.rb +12 -21
- data/lib/puppet/provider/service/runit.rb +19 -9
- data/lib/puppet/provider/service/smf.rb +49 -34
- data/lib/puppet/provider/ssh_authorized_key/parsed.rb +34 -0
- data/lib/puppet/provider/sshkey/parsed.rb +2 -2
- data/lib/puppet/provider/user/directoryservice.rb +12 -29
- data/lib/puppet/provider/user/hpux.rb +3 -3
- data/lib/puppet/provider/user/ldap.rb +2 -2
- data/lib/puppet/provider/zfs/solaris.rb +1 -1
- data/lib/puppet/provider/zone/solaris.rb +4 -4
- data/lib/puppet/provider/zpool/solaris.rb +3 -3
- data/lib/puppet/rails.rb +9 -9
- data/lib/puppet/rails/benchmark.rb +69 -0
- data/lib/puppet/rails/database/001_add_created_at_to_all_tables.rb +5 -5
- data/lib/puppet/rails/database/002_remove_duplicated_index_on_all_tables.rb +2 -2
- data/lib/puppet/rails/database/003_add_environment_to_host.rb +1 -1
- data/lib/puppet/rails/database/schema.rb +8 -8
- data/lib/puppet/rails/fact_value.rb +1 -1
- data/lib/puppet/rails/host.rb +211 -93
- data/lib/puppet/rails/param_name.rb +5 -1
- data/lib/puppet/rails/param_value.rb +29 -2
- data/lib/puppet/rails/puppet_tag.rb +5 -0
- data/lib/puppet/rails/resource.rb +120 -20
- data/lib/puppet/rails/resource_tag.rb +1 -1
- data/lib/puppet/rails/source_file.rb +1 -1
- data/lib/puppet/reference/configuration.rb +14 -14
- data/lib/puppet/reference/function.rb +1 -1
- data/lib/puppet/reference/metaparameter.rb +48 -0
- data/lib/puppet/reference/providers.rb +6 -6
- data/lib/puppet/reference/type.rb +1 -37
- data/lib/puppet/relationship.rb +57 -30
- data/lib/puppet/reports/rrdgraph.rb +4 -4
- data/lib/puppet/reports/store.rb +3 -3
- data/lib/puppet/reports/tagmail.rb +15 -15
- data/lib/puppet/resource.rb +265 -0
- data/lib/puppet/{node → resource}/catalog.rb +188 -112
- data/lib/puppet/{resource_reference.rb → resource/reference.rb} +46 -24
- data/lib/puppet/simple_graph.rb +165 -27
- data/lib/puppet/ssl.rb +7 -0
- data/lib/puppet/ssl/base.rb +62 -0
- data/lib/puppet/ssl/certificate.rb +34 -0
- data/lib/puppet/ssl/certificate_authority.rb +298 -0
- data/lib/puppet/ssl/certificate_authority/interface.rb +118 -0
- data/lib/puppet/ssl/certificate_factory.rb +145 -0
- data/lib/puppet/ssl/certificate_request.rb +51 -0
- data/lib/puppet/ssl/certificate_revocation_list.rb +86 -0
- data/lib/puppet/ssl/host.rb +271 -0
- data/lib/puppet/ssl/inventory.rb +52 -0
- data/lib/puppet/ssl/key.rb +56 -0
- data/lib/puppet/sslcertificates.rb +6 -6
- data/lib/puppet/sslcertificates/ca.rb +15 -15
- data/lib/puppet/sslcertificates/certificate.rb +4 -4
- data/lib/puppet/sslcertificates/inventory.rb +3 -3
- data/lib/puppet/transaction.rb +113 -139
- data/lib/puppet/transaction/change.rb +6 -6
- data/lib/puppet/transaction/event.rb +1 -1
- data/lib/puppet/transaction/report.rb +7 -1
- data/lib/puppet/transportable.rb +28 -28
- data/lib/puppet/type.rb +263 -688
- data/lib/puppet/type/augeas.rb +3 -2
- data/lib/puppet/type/component.rb +28 -95
- data/lib/puppet/type/computer.rb +10 -10
- data/lib/puppet/type/cron.rb +19 -14
- data/lib/puppet/type/exec.rb +21 -20
- data/lib/puppet/type/file.rb +306 -633
- data/lib/puppet/type/file/checksum.rb +10 -11
- data/lib/puppet/type/file/content.rb +83 -22
- data/lib/puppet/type/file/ensure.rb +15 -9
- data/lib/puppet/type/file/group.rb +7 -1
- data/lib/puppet/type/file/mode.rb +1 -1
- data/lib/puppet/type/file/owner.rb +9 -3
- data/lib/puppet/type/file/selcontext.rb +4 -4
- data/lib/puppet/type/file/source.rb +78 -179
- data/lib/puppet/type/file/target.rb +3 -3
- data/lib/puppet/type/file/type.rb +2 -2
- data/lib/puppet/type/filebucket.rb +33 -54
- data/lib/puppet/type/group.rb +8 -8
- data/lib/puppet/type/host.rb +7 -7
- data/lib/puppet/type/k5login.rb +2 -2
- data/lib/puppet/type/macauthorization.rb +77 -52
- data/lib/puppet/type/mailalias.rb +2 -2
- data/lib/puppet/type/maillist.rb +2 -2
- data/lib/puppet/type/mcx.rb +3 -3
- data/lib/puppet/type/mount.rb +16 -11
- data/lib/puppet/type/notify.rb +4 -4
- data/lib/puppet/type/package.rb +6 -28
- data/lib/puppet/type/port.rb +1 -1
- data/lib/puppet/type/resources.rb +19 -19
- data/lib/puppet/type/schedule.rb +18 -20
- data/lib/puppet/type/selmodule.rb +1 -1
- data/lib/puppet/type/service.rb +11 -7
- data/lib/puppet/type/ssh_authorized_key.rb +26 -9
- data/lib/puppet/type/sshkey.rb +2 -2
- data/lib/puppet/type/tidy.rb +285 -289
- data/lib/puppet/type/user.rb +9 -7
- data/lib/puppet/type/yumrepo.rb +17 -16
- data/lib/puppet/type/zone.rb +8 -7
- data/lib/puppet/util.rb +11 -36
- data/lib/puppet/util/autoload.rb +31 -19
- data/lib/puppet/util/autoload/file_cache.rb +115 -0
- data/lib/puppet/util/backups.rb +86 -0
- data/lib/puppet/util/cacher.rb +135 -0
- data/lib/puppet/util/checksums.rb +11 -1
- data/lib/puppet/util/classgen.rb +1 -1
- data/lib/puppet/util/config_store.rb +2 -2
- data/lib/puppet/util/constant_inflector.rb +1 -1
- data/lib/puppet/util/diff.rb +2 -2
- data/lib/puppet/util/docs.rb +9 -3
- data/lib/puppet/util/execution.rb +1 -1
- data/lib/puppet/util/feature.rb +27 -20
- data/lib/puppet/util/fileparsing.rb +3 -3
- data/lib/puppet/util/filetype.rb +8 -6
- data/lib/puppet/util/graph.rb +5 -5
- data/lib/puppet/util/inifile.rb +5 -5
- data/lib/puppet/util/json.rb +13 -0
- data/lib/puppet/util/ldap/connection.rb +2 -2
- data/lib/puppet/util/log.rb +48 -31
- data/lib/puppet/util/metric.rb +4 -4
- data/lib/puppet/util/monkey_patches.rb +43 -0
- data/lib/puppet/util/nagios_maker.rb +1 -1
- data/lib/puppet/util/package.rb +4 -4
- data/lib/puppet/util/pidlock.rb +59 -59
- data/lib/puppet/util/posix.rb +13 -52
- data/lib/puppet/util/provider_features.rb +3 -3
- data/lib/puppet/util/queue.rb +96 -0
- data/lib/puppet/util/queue/stomp.rb +47 -0
- data/lib/puppet/util/rails/cache_accumulator.rb +65 -0
- data/lib/puppet/util/rails/collection_merger.rb +0 -39
- data/lib/puppet/util/rails/reference_serializer.rb +17 -3
- data/lib/puppet/util/rdoc.rb +1 -0
- data/lib/puppet/util/rdoc/code_objects.rb +5 -1
- data/lib/puppet/util/rdoc/generators/puppet_generator.rb +5 -5
- data/lib/puppet/util/rdoc/generators/template/puppet/puppet.rb +13 -13
- data/lib/puppet/util/rdoc/parser.rb +28 -32
- data/lib/puppet/util/reference.rb +29 -8
- data/lib/puppet/util/resource_template.rb +1 -1
- data/lib/puppet/util/selinux.rb +12 -6
- data/lib/puppet/util/settings.rb +203 -578
- data/lib/puppet/util/settings/boolean_setting.rb +33 -0
- data/lib/puppet/util/settings/file_setting.rb +119 -0
- data/lib/puppet/util/settings/setting.rb +110 -0
- data/lib/puppet/util/subclass_loader.rb +1 -1
- data/lib/puppet/util/suidmanager.rb +2 -2
- data/lib/puppet/util/tagging.rb +1 -1
- data/lib/puppet/util/warnings.rb +17 -9
- data/man/man8/filebucket.8 +2 -2
- data/man/man8/pi.8 +2 -2
- data/man/man8/puppet.8 +3 -4
- data/man/man8/puppet.conf.8 +63 -63
- data/man/man8/puppetca.8 +2 -2
- data/man/man8/puppetd.8 +2 -2
- data/man/man8/puppetdoc.8 +2 -2
- data/man/man8/puppetmasterd.8 +2 -2
- data/man/man8/puppetrun.8 +2 -2
- data/man/man8/ralsh.8 +3 -3
- data/sbin/puppetca +102 -0
- data/sbin/puppetd +159 -0
- data/sbin/puppetmasterd +66 -0
- data/sbin/puppetqd +53 -0
- data/sbin/puppetrun +130 -0
- data/spec/Rakefile +2 -2
- data/spec/integration/application/puppet.rb +33 -0
- data/spec/integration/bin/puppetmasterd.rb +110 -0
- data/spec/integration/configurer.rb +18 -0
- data/spec/integration/defaults.rb +158 -7
- data/spec/integration/file_serving/content.rb +2 -0
- data/spec/integration/file_serving/fileset.rb +14 -0
- data/spec/integration/file_serving/metadata.rb +2 -0
- data/spec/integration/file_serving/terminus_helper.rb +22 -0
- data/spec/integration/indirector/catalog/compiler.rb +67 -0
- data/spec/integration/indirector/catalog/queue.rb +61 -0
- data/spec/integration/indirector/certificate/rest.rb +69 -0
- data/spec/integration/indirector/certificate_request/rest.rb +89 -0
- data/spec/integration/indirector/certificate_revocation_list/rest.rb +77 -0
- data/spec/integration/indirector/direct_file_server.rb +16 -23
- data/spec/integration/indirector/file_content/file_server.rb +75 -0
- data/spec/integration/indirector/report/rest.rb +95 -0
- data/spec/integration/indirector/rest.rb +207 -147
- data/spec/integration/network/client.rb +19 -0
- data/spec/integration/network/formats.rb +110 -0
- data/spec/integration/network/handler.rb +25 -0
- data/spec/integration/network/server/mongrel.rb +26 -8
- data/spec/integration/network/server/webrick.rb +49 -11
- data/spec/integration/node/environment.rb +58 -0
- data/spec/integration/node/facts.rb +4 -2
- data/spec/integration/parser/compiler.rb +29 -0
- data/spec/integration/parser/functions/require.rb +67 -0
- data/spec/integration/provider/mailalias/aliases.rb +25 -0
- data/spec/integration/{node → resource}/catalog.rb +17 -10
- data/spec/integration/ssl/certificate_authority.rb +135 -0
- data/spec/integration/ssl/certificate_request.rb +59 -0
- data/spec/integration/ssl/certificate_revocation_list.rb +42 -0
- data/spec/integration/ssl/host.rb +90 -0
- data/spec/integration/transaction.rb +66 -0
- data/spec/integration/transaction/report.rb +2 -5
- data/spec/integration/type.rb +22 -0
- data/spec/integration/type/file.rb +458 -0
- data/spec/integration/type/package.rb +1 -1
- data/spec/integration/type/tidy.rb +27 -0
- data/spec/integration/util/autoload.rb +114 -0
- data/spec/integration/util/feature.rb +54 -0
- data/spec/integration/util/file_locking.rb +2 -1
- data/spec/integration/util/settings.rb +27 -0
- data/spec/lib/puppet_spec/files.rb +9 -0
- data/spec/monkey_patches/add_confine_and_runnable_to_rspec_dsl.rb +1 -0
- data/spec/monkey_patches/alias_should_to_must.rb +1 -0
- data/spec/shared_behaviours/file_server_terminus.rb +14 -11
- data/spec/shared_behaviours/file_serving.rb +13 -17
- data/spec/spec_helper.rb +22 -5
- data/spec/unit/agent.rb +259 -0
- data/spec/unit/agent/locker.rb +100 -0
- data/spec/unit/agent/runner.rb +118 -0
- data/spec/unit/application.rb +420 -0
- data/spec/unit/application/filebucket.rb +220 -0
- data/spec/unit/application/pi.rb +84 -0
- data/spec/unit/application/puppet.rb +404 -0
- data/spec/unit/application/puppetca.rb +142 -0
- data/spec/unit/application/puppetd.rb +502 -0
- data/spec/unit/application/puppetdoc.rb +345 -0
- data/spec/unit/application/puppetmasterd.rb +456 -0
- data/spec/unit/application/puppetqd.rb +186 -0
- data/spec/unit/application/puppetrun.rb +279 -0
- data/spec/unit/application/ralsh.rb +237 -0
- data/spec/unit/configurer.rb +232 -0
- data/spec/unit/configurer/downloader.rb +188 -0
- data/spec/unit/configurer/fact_handler.rb +150 -0
- data/spec/unit/configurer/plugin_handler.rb +112 -0
- data/spec/unit/daemon.rb +287 -0
- data/spec/unit/file_serving/{file_base.rb → base.rb} +39 -31
- data/spec/unit/file_serving/configuration.rb +104 -93
- data/spec/unit/file_serving/configuration/parser.rb +64 -18
- data/spec/unit/file_serving/content.rb +65 -26
- data/spec/unit/file_serving/fileset.rb +116 -14
- data/spec/unit/file_serving/indirection_hooks.rb +34 -95
- data/spec/unit/file_serving/metadata.rb +27 -40
- data/spec/unit/file_serving/mount.rb +7 -118
- data/spec/unit/file_serving/mount/file.rb +188 -0
- data/spec/unit/file_serving/mount/modules.rb +63 -0
- data/spec/unit/file_serving/mount/plugins.rb +61 -0
- data/spec/unit/file_serving/terminus_helper.rb +39 -27
- data/spec/unit/indirector.rb +6 -1
- data/spec/unit/indirector/active_record.rb +76 -0
- data/spec/unit/indirector/catalog/active_record.rb +122 -0
- data/spec/unit/indirector/catalog/compiler.rb +222 -118
- data/spec/unit/indirector/catalog/queue.rb +20 -0
- data/spec/unit/indirector/catalog/rest.rb +11 -0
- data/spec/unit/indirector/catalog/yaml.rb +6 -6
- data/spec/unit/indirector/certificate/ca.rb +28 -0
- data/spec/unit/indirector/certificate/file.rb +28 -0
- data/spec/unit/indirector/certificate/rest.rb +23 -0
- data/spec/unit/indirector/certificate_request/ca.rb +19 -0
- data/spec/unit/indirector/certificate_request/file.rb +19 -0
- data/spec/unit/indirector/certificate_request/rest.rb +23 -0
- data/spec/unit/indirector/certificate_revocation_list/ca.rb +21 -0
- data/spec/unit/indirector/certificate_revocation_list/file.rb +20 -0
- data/spec/unit/indirector/certificate_revocation_list/rest.rb +23 -0
- data/spec/unit/indirector/direct_file_server.rb +3 -8
- data/spec/unit/indirector/exec.rb +6 -1
- data/spec/unit/indirector/facts/active_record.rb +104 -0
- data/spec/unit/indirector/facts/facter.rb +53 -12
- data/spec/unit/indirector/facts/rest.rb +11 -0
- data/spec/unit/indirector/file.rb +8 -1
- data/spec/unit/indirector/file_metadata/file.rb +5 -5
- data/spec/unit/indirector/file_server.rb +181 -98
- data/spec/unit/indirector/indirection.rb +102 -38
- data/spec/unit/indirector/key/ca.rb +28 -0
- data/spec/unit/indirector/key/file.rb +104 -0
- data/spec/unit/indirector/node/active_record.rb +34 -0
- data/spec/unit/indirector/node/ldap.rb +1 -1
- data/spec/unit/indirector/node/rest.rb +2 -2
- data/spec/unit/indirector/queue.rb +123 -0
- data/spec/unit/indirector/report/rest.rb +28 -0
- data/spec/unit/indirector/request.rb +221 -0
- data/spec/unit/indirector/rest.rb +343 -334
- data/spec/unit/indirector/runner/rest.rb +11 -0
- data/spec/unit/indirector/ssl_file.rb +280 -0
- data/spec/unit/module.rb +180 -180
- data/spec/unit/network/authconfig.rb +292 -0
- data/spec/unit/network/authstore.rb +94 -0
- data/spec/unit/network/client.rb +2 -2
- data/spec/unit/network/client/dipper.rb +16 -0
- data/spec/unit/network/format.rb +191 -0
- data/spec/unit/network/format_handler.rb +306 -0
- data/spec/unit/network/formats.rb +249 -0
- data/spec/unit/network/handler/fileserver.rb +2 -5
- data/spec/unit/network/http.rb +3 -3
- data/spec/unit/network/http/api/v1.rb +122 -0
- data/spec/unit/network/http/handler.rb +448 -0
- data/spec/unit/network/http/mongrel.rb +46 -32
- data/spec/unit/network/http/mongrel/rest.rb +174 -319
- data/spec/unit/network/http/rack.rb +102 -0
- data/spec/unit/network/http/rack/rest.rb +199 -0
- data/spec/unit/network/http/rack/xmlrpc.rb +157 -0
- data/spec/unit/network/http/webrick.rb +249 -37
- data/spec/unit/network/http/webrick/rest.rb +113 -279
- data/spec/unit/network/http_pool.rb +86 -110
- data/spec/unit/network/rest_authconfig.rb +146 -0
- data/spec/unit/network/rest_authorization.rb +43 -0
- data/spec/unit/network/rights.rb +519 -0
- data/spec/unit/network/server.rb +475 -257
- data/spec/unit/node.rb +43 -10
- data/spec/unit/node/environment.rb +143 -9
- data/spec/unit/node/facts.rb +77 -24
- data/spec/unit/other/selinux.rb +85 -0
- data/spec/unit/other/transbucket.rb +29 -13
- data/spec/unit/other/transobject.rb +35 -15
- data/spec/unit/parameter.rb +378 -5
- data/spec/unit/parser/ast.rb +1 -1
- data/spec/unit/parser/ast/arithmetic_operator.rb +17 -17
- data/spec/unit/parser/ast/astarray.rb +16 -10
- data/spec/unit/parser/ast/boolean_operator.rb +2 -2
- data/spec/unit/parser/ast/casestatement.rb +143 -0
- data/spec/unit/parser/ast/collection.rb +63 -0
- data/spec/unit/parser/ast/collexpr.rb +31 -8
- data/spec/unit/parser/ast/comparison_operator.rb +9 -9
- data/spec/unit/parser/ast/definition.rb +18 -0
- data/spec/unit/parser/ast/function.rb +6 -0
- data/spec/unit/parser/ast/ifstatement.rb +75 -0
- data/spec/unit/parser/ast/leaf.rb +261 -0
- data/spec/unit/parser/ast/match_operator.rb +50 -0
- data/spec/unit/parser/ast/minus.rb +1 -1
- data/spec/unit/parser/ast/node.rb +20 -0
- data/spec/unit/parser/ast/not.rb +1 -1
- data/spec/unit/parser/ast/resource_override.rb +5 -5
- data/spec/unit/parser/ast/resource_reference.rb +11 -5
- data/spec/unit/parser/ast/selector.rb +156 -0
- data/spec/unit/parser/ast/vardef.rb +11 -11
- data/spec/unit/parser/collector.rb +167 -48
- data/spec/unit/parser/compiler.rb +128 -104
- data/spec/unit/parser/files.rb +190 -0
- data/spec/unit/parser/functions/inline_template.rb +0 -0
- data/spec/unit/parser/functions/regsubst.rb +42 -42
- data/spec/unit/parser/functions/require.rb +36 -0
- data/spec/unit/parser/functions/shellquote.rb +92 -0
- data/spec/unit/parser/functions/split.rb +51 -0
- data/spec/unit/parser/functions/sprintf.rb +11 -11
- data/spec/unit/parser/functions/template.rb +0 -0
- data/spec/unit/parser/functions/versioncmp.rb +2 -2
- data/spec/unit/parser/interpreter.rb +16 -7
- data/spec/unit/parser/lexer.rb +72 -12
- data/spec/unit/parser/loaded_code.rb +198 -0
- data/spec/unit/parser/parser.rb +215 -28
- data/spec/unit/parser/resource.rb +131 -22
- data/spec/unit/parser/scope.rb +207 -12
- data/spec/unit/parser/templatewrapper.rb +8 -3
- data/spec/unit/property.rb +270 -16
- data/spec/unit/property/list.rb +12 -6
- data/spec/unit/provider.rb +31 -0
- data/spec/unit/provider/augeas/augeas.rb +61 -33
- data/spec/unit/provider/macauthorization.rb +29 -29
- data/spec/unit/provider/mcx/mcxcontent.rb +4 -4
- data/spec/unit/provider/mount/parsed.rb +5 -8
- data/spec/unit/provider/naginator.rb +0 -0
- data/spec/unit/provider/package/apt.rb +6 -6
- data/spec/unit/provider/package/pkgdmg.rb +73 -0
- data/spec/unit/provider/selboolean.rb +1 -1
- data/spec/unit/provider/selmodule.rb +2 -2
- data/spec/unit/provider/service/daemontools.rb +40 -15
- data/spec/unit/provider/service/debian.rb +89 -0
- data/spec/unit/provider/service/init.rb +106 -0
- data/spec/unit/provider/service/launchd.rb +71 -13
- data/spec/unit/provider/service/redhat.rb +94 -0
- data/spec/unit/provider/service/runit.rb +14 -2
- data/spec/unit/provider/ssh_authorized_key/parsed.rb +66 -2
- data/spec/unit/provider/user/ldap.rb +1 -1
- data/spec/unit/provider/user/user_role_add.rb +1 -1
- data/spec/unit/provider/zfs/solaris.rb +18 -6
- data/spec/unit/provider/zone/solaris.rb +1 -1
- data/spec/unit/rails.rb +16 -22
- data/spec/unit/rails/host.rb +163 -0
- data/spec/unit/rails/param_value.rb +49 -0
- data/spec/unit/rails/resource.rb +87 -0
- data/spec/unit/relationship.rb +141 -29
- data/spec/unit/resource.rb +504 -0
- data/spec/unit/resource/catalog.rb +1061 -0
- data/spec/unit/resource/reference.rb +111 -0
- data/spec/unit/simple_graph.rb +448 -191
- data/spec/unit/ssl/certificate.rb +124 -0
- data/spec/unit/ssl/certificate_authority.rb +741 -0
- data/spec/unit/ssl/certificate_authority/interface.rb +269 -0
- data/spec/unit/ssl/certificate_factory.rb +107 -0
- data/spec/unit/ssl/certificate_request.rb +193 -0
- data/spec/unit/ssl/certificate_revocation_list.rb +180 -0
- data/spec/unit/ssl/host.rb +704 -0
- data/spec/unit/ssl/inventory.rb +180 -0
- data/spec/unit/ssl/key.rb +198 -0
- data/spec/unit/transaction.rb +65 -2
- data/spec/unit/transaction/change.rb +1 -1
- data/spec/unit/transaction/report.rb +1 -1
- data/spec/unit/type.rb +361 -8
- data/spec/unit/type/augeas.rb +30 -37
- data/spec/unit/type/component.rb +63 -0
- data/spec/unit/type/computer.rb +17 -21
- data/spec/unit/type/exec.rb +27 -2
- data/spec/unit/type/file.rb +704 -83
- data/spec/unit/type/file/content.rb +253 -15
- data/spec/unit/type/file/ensure.rb +65 -2
- data/spec/unit/type/file/group.rb +5 -0
- data/spec/unit/type/file/owner.rb +5 -0
- data/spec/unit/type/file/selinux.rb +12 -16
- data/spec/unit/type/file/source.rb +264 -0
- data/spec/unit/type/filebucket.rb +74 -0
- data/spec/unit/type/group.rb +1 -5
- data/spec/unit/type/macauthorization.rb +59 -26
- data/spec/unit/type/mcx.rb +8 -16
- data/spec/unit/type/mount.rb +8 -16
- data/spec/unit/type/noop_metaparam.rb +0 -2
- data/spec/unit/type/package.rb +13 -23
- data/spec/unit/type/resources.rb +4 -7
- data/spec/unit/type/schedule.rb +1 -7
- data/spec/unit/type/selboolean.rb +4 -6
- data/spec/unit/type/service.rb +23 -33
- data/spec/unit/type/ssh_authorized_key.rb +25 -14
- data/spec/unit/type/tidy.rb +329 -21
- data/spec/unit/type/user.rb +18 -10
- data/spec/unit/type/zfs.rb +6 -6
- data/spec/unit/util/autoload.rb +94 -3
- data/spec/unit/util/autoload/file_cache.rb +183 -0
- data/spec/unit/util/backups.rb +159 -0
- data/spec/unit/util/cache_accumulator.rb +69 -0
- data/spec/unit/util/cacher.rb +185 -0
- data/spec/unit/util/checksums.rb +9 -1
- data/spec/unit/util/feature.rb +72 -0
- data/spec/unit/util/filetype.rb +1 -11
- data/spec/unit/util/json.rb +21 -0
- data/spec/unit/util/log.rb +45 -0
- data/spec/unit/util/package.rb +2 -2
- data/spec/unit/util/queue.rb +88 -0
- data/spec/unit/util/queue/stomp.rb +140 -0
- data/spec/unit/util/reference_serializer.rb +52 -0
- data/spec/unit/util/selinux.rb +5 -3
- data/spec/unit/util/settings.rb +413 -264
- data/spec/unit/util/settings/file_setting.rb +223 -0
- data/spec/unit/util/storage.rb +11 -11
- data/spec/unit/util/warnings.rb +21 -17
- data/test/Rakefile +6 -5
- data/test/certmgr/ca.rb +5 -5
- data/test/certmgr/certmgr.rb +4 -4
- data/test/data/providers/cron/crontab.allthree +2 -2
- data/test/data/providers/cron/crontab.envNcomment +1 -1
- data/test/data/providers/cron/crontab.envNname +1 -1
- data/test/data/providers/cron/crontab.multirecords +1 -1
- data/test/data/providers/cron/crontab_collections.yaml +14 -14
- data/test/data/providers/cron/crontab_multiple_with_env.yaml +6 -6
- data/test/data/providers/cron/crontab_sample_records.yaml +102 -102
- data/test/data/providers/mailalias/aliases/test1 +28 -0
- data/test/data/providers/package/testpackages.yaml +6 -6
- data/test/data/reports/1.yaml +17 -17
- data/test/data/reports/tagmail_passers.conf +2 -2
- data/test/data/snippets/append.pp +5 -5
- data/test/data/snippets/casestatement.pp +9 -2
- data/test/data/snippets/classincludes.pp +1 -1
- data/test/data/snippets/collection_override.pp +8 -0
- data/test/data/snippets/fqparents.pp +2 -2
- data/test/data/snippets/ifexpression.pp +12 -0
- data/test/data/snippets/multilinecomments.pp +5 -1
- data/test/data/snippets/selectorvalues.pp +7 -0
- data/test/data/types/hosts/1 +1 -1
- data/test/data/types/hosts/2 +3 -3
- data/test/data/types/hosts/solaris +2 -2
- data/test/data/types/mount/freebsd.fstab +7 -7
- data/test/data/types/mount/solaris.fstab +10 -10
- data/test/data/types/port/1 +472 -472
- data/test/data/types/port/darwin +4347 -4347
- data/test/language/ast.rb +3 -2
- data/test/language/ast/casestatement.rb +12 -12
- data/test/language/ast/resource.rb +4 -4
- data/test/language/ast/resource_reference.rb +5 -5
- data/test/language/ast/selector.rb +11 -11
- data/test/language/ast/variable.rb +4 -4
- data/test/language/functions.rb +16 -16
- data/test/language/parser.rb +89 -111
- data/test/language/resource.rb +3 -88
- data/test/language/scope.rb +14 -55
- data/test/language/snippets.rb +31 -31
- data/test/lib/puppettest.rb +12 -12
- data/test/lib/puppettest/certificates.rb +2 -2
- data/test/lib/puppettest/exetest.rb +0 -1
- data/test/lib/puppettest/fakes.rb +1 -1
- data/test/lib/puppettest/parsertesting.rb +9 -4
- data/test/lib/puppettest/railstesting.rb +3 -3
- data/test/lib/puppettest/servertest.rb +1 -1
- data/test/lib/puppettest/support/assertions.rb +2 -2
- data/test/lib/puppettest/support/collection.rb +1 -1
- data/test/lib/puppettest/support/resources.rb +7 -7
- data/test/lib/puppettest/support/utils.rb +10 -16
- data/test/lib/puppettest/testcase.rb +2 -1
- data/test/network/authconfig.rb +1 -1
- data/test/network/authorization.rb +1 -1
- data/test/network/authstore.rb +57 -14
- data/test/network/client/ca.rb +1 -0
- data/test/network/client/resource.rb +12 -50
- data/test/network/client_request.rb +1 -1
- data/test/network/handler/bucket.rb +2 -2
- data/test/network/handler/fileserver.rb +17 -21
- data/test/network/handler/master.rb +5 -5
- data/test/network/handler/report.rb +3 -3
- data/test/network/handler/resource.rb +29 -75
- data/test/network/handler/runner.rb +8 -58
- data/test/network/rights.rb +1 -1
- data/test/network/server/mongrel_test.rb +15 -1
- data/test/network/server/webrick.rb +0 -36
- data/test/network/xmlrpc/webrick_servlet.rb +5 -5
- data/test/other/dsl.rb +3 -3
- data/test/other/events.rb +15 -15
- data/test/other/puppet.rb +2 -32
- data/test/other/relationships.rb +21 -148
- data/test/other/report.rb +20 -23
- data/test/other/transactions.rb +110 -298
- data/test/puppet/defaults.rb +1 -1
- data/test/puppet/tc_suidmanager.rb +1 -1
- data/test/rails/railsparameter.rb +4 -4
- data/test/ral/manager/attributes.rb +12 -68
- data/test/ral/manager/instances.rb +3 -19
- data/test/ral/manager/manager.rb +7 -7
- data/test/ral/manager/provider.rb +7 -7
- data/test/ral/manager/type.rb +54 -349
- data/test/ral/providers/cron/crontab.rb +14 -14
- data/test/ral/providers/group.rb +5 -6
- data/test/ral/providers/host/parsed.rb +3 -3
- data/test/ral/providers/mailalias/aliases.rb +4 -4
- data/test/ral/providers/package.rb +3 -3
- data/test/ral/providers/package/aptitude.rb +55 -55
- data/test/ral/providers/package/aptrpm.rb +7 -7
- data/test/ral/providers/parsedfile.rb +10 -14
- data/test/ral/providers/port/parsed.rb +6 -6
- data/test/ral/providers/provider.rb +10 -10
- data/test/ral/providers/service/base.rb +32 -32
- data/test/ral/providers/sshkey/parsed.rb +14 -14
- data/test/ral/providers/user.rb +16 -17
- data/test/ral/providers/user/useradd.rb +19 -22
- data/test/ral/type/cron.rb +21 -28
- data/test/ral/type/exec.rb +57 -60
- data/test/ral/type/file.rb +88 -862
- data/test/ral/type/file/target.rb +21 -70
- data/test/ral/type/fileignoresource.rb +37 -44
- data/test/ral/type/filesources.rb +43 -473
- data/test/ral/type/group.rb +6 -7
- data/test/ral/type/host.rb +14 -30
- data/test/ral/type/mailalias.rb +3 -3
- data/test/ral/type/port.rb +5 -5
- data/test/ral/type/resources.rb +37 -37
- data/test/ral/type/service.rb +3 -3
- data/test/ral/type/sshkey.rb +34 -39
- data/test/ral/type/user.rb +15 -14
- data/test/ral/type/yumrepo.rb +18 -17
- data/test/ral/type/zone.rb +4 -6
- data/test/test +9 -9
- data/test/util/fileparsing.rb +10 -10
- data/test/util/inifile.rb +6 -6
- data/test/util/instance_loader.rb +1 -1
- data/test/util/log.rb +2 -2
- data/test/util/metrics.rb +1 -6
- data/test/util/package.rb +1 -1
- data/test/util/pidlock.rb +116 -116
- data/test/util/settings.rb +40 -429
- data/test/util/storage.rb +5 -5
- data/test/util/subclass_loader.rb +0 -7
- data/test/util/utiltest.rb +10 -29
- metadata +1369 -941
- data/bin/puppetca +0 -363
- data/bin/puppetd +0 -439
- data/bin/puppetmasterd +0 -289
- data/bin/puppetrun +0 -369
- data/conf/redhat/lsb-config.patch +0 -51
- data/conf/redhat/no-chuser-0.15.1.patch +0 -38
- data/conf/redhat/no-lockdir.patch +0 -13
- data/examples/mac_netinfo.pp +0 -5
- data/ext/passenger/README +0 -63
- data/ext/passenger/apache2.conf +0 -29
- data/ext/passenger/config.ru +0 -40
- data/lib/puppet/config_stores/rest.rb +0 -60
- data/lib/puppet/executables/client/certhandler.rb +0 -82
- data/lib/puppet/indirector/file_content/modules.rb +0 -11
- data/lib/puppet/indirector/file_metadata/modules.rb +0 -17
- data/lib/puppet/indirector/module_files.rb +0 -82
- data/lib/puppet/indirector/ssl_rsa.rb +0 -5
- data/lib/puppet/indirector/ssl_rsa/file.rb +0 -33
- data/lib/puppet/network/client/master.rb +0 -524
- data/lib/puppet/network/http_server/rack.rb +0 -148
- data/lib/puppet/pgraph.rb +0 -121
- data/lib/puppet/provider/group/netinfo.rb +0 -15
- data/lib/puppet/provider/host/netinfo.rb +0 -19
- data/lib/puppet/provider/mount/netinfo.rb +0 -37
- data/lib/puppet/provider/nameservice/netinfo.rb +0 -224
- data/lib/puppet/provider/user/netinfo.rb +0 -111
- data/lib/puppet/util/fact_store.rb +0 -59
- data/lib/puppet/util/uri_helper.rb +0 -22
- data/spec/integration/file_serving/configuration.rb +0 -43
- data/spec/integration/indirector/module_files.rb +0 -57
- data/spec/unit/executables/client/certhandler.rb +0 -135
- data/spec/unit/indirector/file_content/modules.rb +0 -18
- data/spec/unit/indirector/file_metadata/modules.rb +0 -42
- data/spec/unit/indirector/module_files.rb +0 -259
- data/spec/unit/indirector/ssl_rsa/file.rb +0 -121
- data/spec/unit/network/client/master.rb +0 -442
- data/spec/unit/node/catalog.rb +0 -865
- data/spec/unit/other/pgraph.rb +0 -210
- data/spec/unit/resource_reference.rb +0 -73
- data/spec/unit/util/uri_helper.rb +0 -41
- data/test/data/snippets/ifexpression.rb +0 -6
- data/test/executables/filebucket.rb +0 -51
- data/test/executables/puppetbin.rb +0 -104
- data/test/executables/puppetca.rb +0 -115
- data/test/executables/puppetd.rb +0 -55
- data/test/executables/puppetmasterd.rb +0 -147
- data/test/network/client/client.rb +0 -195
- data/test/network/client/master.rb +0 -490
- data/test/network/daemon.rb +0 -70
- data/test/network/handler/handler.rb +0 -63
- data/test/other/overrides.rb +0 -107
- data/test/puppet/conffiles.rb +0 -107
- data/test/rails/ast.rb +0 -73
- data/test/rails/configuration.rb +0 -71
- data/test/rails/host.rb +0 -154
- data/test/rails/railsresource.rb +0 -251
- data/test/ral/providers/host/netinfo.rb +0 -56
- data/test/ral/providers/mount/netinfo.rb +0 -79
- data/test/ral/type/basic.rb +0 -85
- data/test/ral/type/filebucket.rb +0 -157
- data/test/ral/type/parameter.rb +0 -174
- data/test/ral/type/property.rb +0 -388
- data/test/ral/type/tidy.rb +0 -291
- data/test/util/autoload.rb +0 -145
- data/test/util/features.rb +0 -95
data/test/other/report.rb
CHANGED
@@ -9,8 +9,8 @@ require 'puppettest'
|
|
9
9
|
require 'puppettest/reporttesting'
|
10
10
|
|
11
11
|
class TestReports < Test::Unit::TestCase
|
12
|
-
|
13
|
-
|
12
|
+
include PuppetTest
|
13
|
+
include PuppetTest::Reporttesting
|
14
14
|
|
15
15
|
def mkreport
|
16
16
|
# First do some work
|
@@ -21,7 +21,7 @@ class TestReports < Test::Unit::TestCase
|
|
21
21
|
# Make every third file
|
22
22
|
File.open(file, "w") { |f| f.puts "" } if i % 3 == 0
|
23
23
|
|
24
|
-
objects << Puppet::Type.type(:file).
|
24
|
+
objects << Puppet::Type.type(:file).new(
|
25
25
|
:path => file,
|
26
26
|
:ensure => "file"
|
27
27
|
)
|
@@ -44,7 +44,7 @@ class TestReports < Test::Unit::TestCase
|
|
44
44
|
}
|
45
45
|
|
46
46
|
# Now make a file for testing logging
|
47
|
-
file = Puppet::Type.type(:file).
|
47
|
+
file = Puppet::Type.type(:file).new(:path => tempfile(), :ensure => "file")
|
48
48
|
file.finish
|
49
49
|
|
50
50
|
log = nil
|
@@ -80,10 +80,10 @@ class TestReports < Test::Unit::TestCase
|
|
80
80
|
def test_store_report
|
81
81
|
# Create a bunch of log messages in an array.
|
82
82
|
report = Puppet::Transaction::Report.new
|
83
|
-
|
83
|
+
|
84
84
|
# We have to reuse reporting here because of something going on in the
|
85
85
|
# server/report.rb file
|
86
|
-
Puppet.settings.use(:main, :
|
86
|
+
Puppet.settings.use(:main, :puppetmasterd)
|
87
87
|
|
88
88
|
3.times { |i|
|
89
89
|
log = Puppet.warning("Report test message %s" % i)
|
@@ -97,10 +97,7 @@ class TestReports < Test::Unit::TestCase
|
|
97
97
|
|
98
98
|
yaml = YAML.dump(report)
|
99
99
|
|
100
|
-
file =
|
101
|
-
assert_nothing_raised {
|
102
|
-
file = report.process
|
103
|
-
}
|
100
|
+
file = report.process
|
104
101
|
|
105
102
|
assert(FileTest.exists?(file), "report file did not get created")
|
106
103
|
assert_equal(yaml, File.read(file), "File did not get written")
|
@@ -146,31 +143,31 @@ class TestReports < Test::Unit::TestCase
|
|
146
143
|
else
|
147
144
|
$stderr.puts "Install RRD for metric reporting tests"
|
148
145
|
end
|
149
|
-
|
146
|
+
|
150
147
|
def test_tagmail_parsing
|
151
148
|
report = Object.new
|
152
149
|
report.extend(Puppet::Reports.report(:tagmail))
|
153
|
-
|
150
|
+
|
154
151
|
passers = File.join(datadir, "reports", "tagmail_passers.conf")
|
155
152
|
assert(FileTest.exists?(passers), "no passers file %s" % passers)
|
156
|
-
|
153
|
+
|
157
154
|
File.readlines(passers).each do |line|
|
158
155
|
assert_nothing_raised("Could not parse %s" % line.inspect) do
|
159
156
|
report.parse(line)
|
160
157
|
end
|
161
158
|
end
|
162
|
-
|
159
|
+
|
163
160
|
# Now make sure the failers fail
|
164
161
|
failers = File.join(datadir, "reports", "tagmail_failers.conf")
|
165
162
|
assert(FileTest.exists?(failers), "no failers file %s" % failers)
|
166
|
-
|
163
|
+
|
167
164
|
File.readlines(failers).each do |line|
|
168
165
|
assert_raise(ArgumentError, "Parsed %s" % line.inspect) do
|
169
166
|
report.parse(line)
|
170
167
|
end
|
171
168
|
end
|
172
169
|
end
|
173
|
-
|
170
|
+
|
174
171
|
def test_tagmail_parsing_results
|
175
172
|
report = Object.new
|
176
173
|
report.extend(Puppet::Reports.report(:tagmail))
|
@@ -182,27 +179,27 @@ class TestReports < Test::Unit::TestCase
|
|
182
179
|
"tag, !other: abuse@domain.com" => [%w{abuse@domain.com}, %w{tag}, %w{other}],
|
183
180
|
"tag, !other, one, !two: abuse@domain.com" => [%w{abuse@domain.com}, %w{tag one}, %w{other two}],
|
184
181
|
"tag: abuse@domain.com, other@domain.com" => [%w{abuse@domain.com other@domain.com}, %w{tag}, []]
|
185
|
-
|
182
|
+
|
186
183
|
}.each do |line, results|
|
187
184
|
assert_nothing_raised("Failed to parse %s" % line.inspect) do
|
188
185
|
assert_equal(results, report.parse(line).shift, "line %s returned incorrect results %s" % [line.inspect, results.inspect])
|
189
186
|
end
|
190
187
|
end
|
191
188
|
end
|
192
|
-
|
189
|
+
|
193
190
|
def test_tagmail_matching
|
194
191
|
report = Puppet::Transaction::Report.new
|
195
192
|
Puppet::Util::Log.close
|
196
193
|
[%w{one}, %w{one two}, %w{one two three}, %w{one two three four}].each do |tags|
|
197
194
|
log = Puppet::Util::Log.new(:level => :notice, :message => tags.join(" "), :tags => tags)
|
198
|
-
|
195
|
+
|
199
196
|
report << log
|
200
197
|
end
|
201
|
-
|
198
|
+
|
202
199
|
list = report.logs.collect { |l| l.to_report }
|
203
|
-
|
200
|
+
|
204
201
|
report.extend(Puppet::Reports.report(:tagmail))
|
205
|
-
|
202
|
+
|
206
203
|
{
|
207
204
|
[%w{abuse@domain.com}, %w{all}, []] => list,
|
208
205
|
[%w{abuse@domain.com}, %w{all}, %w{three}] => list[0..1],
|
@@ -215,7 +212,7 @@ class TestReports < Test::Unit::TestCase
|
|
215
212
|
assert_nothing_raised("Could not match with %s" % args.inspect) do
|
216
213
|
results = report.match([args])
|
217
214
|
end
|
218
|
-
|
215
|
+
|
219
216
|
if expected
|
220
217
|
assert_equal([args[0], expected.join("\n")], results[0], "did get correct results for %s" % args.inspect)
|
221
218
|
else
|
data/test/other/transactions.rb
CHANGED
@@ -13,6 +13,8 @@ class TestTransactions < Test::Unit::TestCase
|
|
13
13
|
include PuppetTest::Support::Resources
|
14
14
|
include PuppetTest::Support::Utils
|
15
15
|
class Fakeprop <Puppet::Property
|
16
|
+
initvars()
|
17
|
+
|
16
18
|
attr_accessor :path, :is, :should, :name
|
17
19
|
def should_to_s(value)
|
18
20
|
value.to_s
|
@@ -23,13 +25,20 @@ class TestTransactions < Test::Unit::TestCase
|
|
23
25
|
def info(*args)
|
24
26
|
false
|
25
27
|
end
|
28
|
+
|
29
|
+
def set(value)
|
30
|
+
# eh
|
31
|
+
end
|
32
|
+
|
33
|
+
def log(msg)
|
34
|
+
end
|
26
35
|
end
|
27
|
-
|
28
|
-
|
36
|
+
|
37
|
+
|
29
38
|
def mkgenerator(&block)
|
30
39
|
$finished = []
|
31
40
|
cleanup { $finished = nil }
|
32
|
-
|
41
|
+
|
33
42
|
# Create a bogus type that generates new instances with shorter
|
34
43
|
type = Puppet::Type.newtype(:generator) do
|
35
44
|
newparam(:name, :namevar => true)
|
@@ -43,28 +52,28 @@ class TestTransactions < Test::Unit::TestCase
|
|
43
52
|
cleanup do
|
44
53
|
Puppet::Type.rmtype(:generator)
|
45
54
|
end
|
46
|
-
|
55
|
+
|
47
56
|
return type
|
48
57
|
end
|
49
|
-
|
58
|
+
|
50
59
|
# Create a new type that generates instances with shorter names.
|
51
60
|
def mkreducer(&block)
|
52
61
|
type = mkgenerator() do
|
53
62
|
def eval_generate
|
54
63
|
ret = []
|
55
64
|
if title.length > 1
|
56
|
-
ret << self.class.
|
65
|
+
ret << self.class.new(:title => title[0..-2])
|
57
66
|
else
|
58
67
|
return nil
|
59
68
|
end
|
60
69
|
ret
|
61
70
|
end
|
62
71
|
end
|
63
|
-
|
72
|
+
|
64
73
|
if block
|
65
74
|
type.class_eval(&block)
|
66
75
|
end
|
67
|
-
|
76
|
+
|
68
77
|
return type
|
69
78
|
end
|
70
79
|
|
@@ -72,11 +81,11 @@ class TestTransactions < Test::Unit::TestCase
|
|
72
81
|
path1 = tempfile()
|
73
82
|
path2 = tempfile()
|
74
83
|
objects = []
|
75
|
-
objects << Puppet::Type.type(:file).
|
84
|
+
objects << Puppet::Type.type(:file).new(
|
76
85
|
:path => path1,
|
77
86
|
:content => "yayness"
|
78
87
|
)
|
79
|
-
objects << Puppet::Type.type(:file).
|
88
|
+
objects << Puppet::Type.type(:file).new(
|
80
89
|
:path => path2,
|
81
90
|
:content => "booness"
|
82
91
|
)
|
@@ -117,7 +126,7 @@ class TestTransactions < Test::Unit::TestCase
|
|
117
126
|
type = Puppet::Type.newtype(name) do
|
118
127
|
newparam(:name) {}
|
119
128
|
end
|
120
|
-
|
129
|
+
|
121
130
|
cleanup do
|
122
131
|
Puppet::Type.rmtype(name)
|
123
132
|
end
|
@@ -130,8 +139,8 @@ class TestTransactions < Test::Unit::TestCase
|
|
130
139
|
end
|
131
140
|
|
132
141
|
# Now create an instance
|
133
|
-
inst = type.
|
134
|
-
|
142
|
+
inst = type.new :name => "yay"
|
143
|
+
|
135
144
|
# Create a transaction
|
136
145
|
trans = Puppet::Transaction.new(mk_catalog(inst))
|
137
146
|
|
@@ -155,15 +164,15 @@ class TestTransactions < Test::Unit::TestCase
|
|
155
164
|
path = tempfile()
|
156
165
|
firstpath = tempfile()
|
157
166
|
secondpath = tempfile()
|
158
|
-
file = Puppet::Type.type(:file).
|
159
|
-
first = Puppet::Type.
|
167
|
+
file = Puppet::Type.type(:file).new(:title => "file", :path => path, :content => "yayness")
|
168
|
+
first = Puppet::Type.type(:exec).new(:title => "first",
|
160
169
|
:command => "/bin/echo first > #{firstpath}",
|
161
|
-
:subscribe =>
|
170
|
+
:subscribe => Puppet::Resource::Reference.new(:file, path),
|
162
171
|
:refreshonly => true
|
163
172
|
)
|
164
|
-
second = Puppet::Type.
|
173
|
+
second = Puppet::Type.type(:exec).new(:title => "second",
|
165
174
|
:command => "/bin/echo second > #{secondpath}",
|
166
|
-
:subscribe =>
|
175
|
+
:subscribe => Puppet::Resource::Reference.new(:exec, "first"),
|
167
176
|
:refreshonly => true
|
168
177
|
)
|
169
178
|
|
@@ -219,13 +228,13 @@ class TestTransactions < Test::Unit::TestCase
|
|
219
228
|
|
220
229
|
hash[:name] = tmpfile
|
221
230
|
assert_nothing_raised() {
|
222
|
-
return Puppet.type(:file).
|
231
|
+
return Puppet::Type.type(:file).new(hash)
|
223
232
|
}
|
224
233
|
end
|
225
234
|
|
226
235
|
def newexec(file)
|
227
236
|
assert_nothing_raised() {
|
228
|
-
return Puppet.type(:exec).
|
237
|
+
return Puppet::Type.type(:exec).new(
|
229
238
|
:name => "touch %s" % file,
|
230
239
|
:path => "/bin:/usr/bin:/sbin:/usr/sbin",
|
231
240
|
:returns => 0
|
@@ -301,7 +310,7 @@ class TestTransactions < Test::Unit::TestCase
|
|
301
310
|
@@tmpfiles << execfile
|
302
311
|
|
303
312
|
# 'subscribe' expects an array of arrays
|
304
|
-
exec[:subscribe] =
|
313
|
+
exec[:subscribe] = Puppet::Resource::Reference.new(file.class.name,file.name)
|
305
314
|
exec[:refreshonly] = true
|
306
315
|
|
307
316
|
assert_nothing_raised() {
|
@@ -346,13 +355,13 @@ class TestTransactions < Test::Unit::TestCase
|
|
346
355
|
file[:group] = @groups[0]
|
347
356
|
assert_apply(file)
|
348
357
|
|
349
|
-
config = Puppet::
|
350
|
-
fcomp = Puppet::Type.type(:component).
|
358
|
+
config = Puppet::Resource::Catalog.new
|
359
|
+
fcomp = Puppet::Type.type(:component).new(:name => "file")
|
351
360
|
config.add_resource fcomp
|
352
361
|
config.add_resource file
|
353
362
|
config.add_edge(fcomp, file)
|
354
363
|
|
355
|
-
ecomp = Puppet::Type.type(:component).
|
364
|
+
ecomp = Puppet::Type.type(:component).new(:name => "exec")
|
356
365
|
config.add_resource ecomp
|
357
366
|
config.add_resource exec
|
358
367
|
config.add_edge(ecomp, exec)
|
@@ -377,21 +386,21 @@ class TestTransactions < Test::Unit::TestCase
|
|
377
386
|
path = tempfile()
|
378
387
|
file1 = tempfile()
|
379
388
|
file2 = tempfile()
|
380
|
-
file = Puppet.type(:file).
|
389
|
+
file = Puppet::Type.type(:file).new(
|
381
390
|
:path => path,
|
382
391
|
:ensure => "file"
|
383
392
|
)
|
384
|
-
exec1 = Puppet.type(:exec).
|
393
|
+
exec1 = Puppet::Type.type(:exec).new(
|
385
394
|
:path => ENV["PATH"],
|
386
395
|
:command => "touch %s" % file1,
|
387
396
|
:refreshonly => true,
|
388
|
-
:subscribe =>
|
397
|
+
:subscribe => Puppet::Resource::Reference.new(:file, path)
|
389
398
|
)
|
390
|
-
exec2 = Puppet.type(:exec).
|
399
|
+
exec2 = Puppet::Type.type(:exec).new(
|
391
400
|
:path => ENV["PATH"],
|
392
401
|
:command => "touch %s" % file2,
|
393
402
|
:refreshonly => true,
|
394
|
-
:subscribe =>
|
403
|
+
:subscribe => Puppet::Resource::Reference.new(:file, path)
|
395
404
|
)
|
396
405
|
|
397
406
|
assert_apply(file, exec1, exec2)
|
@@ -404,11 +413,11 @@ class TestTransactions < Test::Unit::TestCase
|
|
404
413
|
def test_failedrefreshes
|
405
414
|
path = tempfile()
|
406
415
|
newfile = tempfile()
|
407
|
-
file = Puppet.type(:file).
|
416
|
+
file = Puppet::Type.type(:file).new(
|
408
417
|
:path => path,
|
409
418
|
:ensure => "file"
|
410
419
|
)
|
411
|
-
exec1 = Puppet.type(:exec).
|
420
|
+
exec1 = Puppet::Type.type(:exec).new(
|
412
421
|
:path => ENV["PATH"],
|
413
422
|
:command => "touch /this/cannot/possibly/exist",
|
414
423
|
:logoutput => true,
|
@@ -416,7 +425,7 @@ class TestTransactions < Test::Unit::TestCase
|
|
416
425
|
:subscribe => file,
|
417
426
|
:title => "one"
|
418
427
|
)
|
419
|
-
exec2 = Puppet.type(:exec).
|
428
|
+
exec2 = Puppet::Type.type(:exec).new(
|
420
429
|
:path => ENV["PATH"],
|
421
430
|
:command => "touch %s" % newfile,
|
422
431
|
:logoutput => true,
|
@@ -433,18 +442,18 @@ class TestTransactions < Test::Unit::TestCase
|
|
433
442
|
def test_unscheduled_and_untagged_response
|
434
443
|
Puppet::Type.type(:schedule).mkdefaultschedules
|
435
444
|
Puppet[:ignoreschedules] = false
|
436
|
-
file = Puppet.type(:file).
|
445
|
+
file = Puppet::Type.type(:file).new(
|
437
446
|
:name => tempfile(),
|
438
447
|
:ensure => "file",
|
439
448
|
:backup => false
|
440
449
|
)
|
441
450
|
|
442
451
|
fname = tempfile()
|
443
|
-
exec = Puppet.type(:exec).
|
452
|
+
exec = Puppet::Type.type(:exec).new(
|
444
453
|
:name => "touch %s" % fname,
|
445
454
|
:path => "/usr/bin:/bin",
|
446
455
|
:schedule => "monthly",
|
447
|
-
:subscribe =>
|
456
|
+
:subscribe => Puppet::Resource::Reference.new("file", file.name)
|
448
457
|
)
|
449
458
|
|
450
459
|
config = mk_catalog(file, exec)
|
@@ -484,19 +493,19 @@ class TestTransactions < Test::Unit::TestCase
|
|
484
493
|
end
|
485
494
|
|
486
495
|
def test_failed_reqs_mean_no_run
|
487
|
-
exec = Puppet::Type.type(:exec).
|
496
|
+
exec = Puppet::Type.type(:exec).new(
|
488
497
|
:command => "/bin/mkdir /this/path/cannot/possibly/exit",
|
489
498
|
:title => "mkdir"
|
490
499
|
)
|
491
500
|
|
492
|
-
file1 = Puppet::Type.type(:file).
|
501
|
+
file1 = Puppet::Type.type(:file).new(
|
493
502
|
:title => "file1",
|
494
503
|
:path => tempfile(),
|
495
504
|
:require => exec,
|
496
505
|
:ensure => :file
|
497
506
|
)
|
498
507
|
|
499
|
-
file2 = Puppet::Type.type(:file).
|
508
|
+
file2 = Puppet::Type.type(:file).new(
|
500
509
|
:title => "file2",
|
501
510
|
:path => tempfile(),
|
502
511
|
:require => file1,
|
@@ -513,208 +522,6 @@ class TestTransactions < Test::Unit::TestCase
|
|
513
522
|
"File got created even tho its deep dependency failed")
|
514
523
|
end
|
515
524
|
end
|
516
|
-
|
517
|
-
def test_relationship_graph
|
518
|
-
config = mktree
|
519
|
-
|
520
|
-
config.meta_def(:f) do |name|
|
521
|
-
self.resource("File[%s]" % name)
|
522
|
-
end
|
523
|
-
|
524
|
-
{"one" => "two", "File[f]" => "File[c]", "File[h]" => "middle"}.each do |source_ref, target_ref|
|
525
|
-
source = config.resource(source_ref) or raise "Missing %s" % source_ref
|
526
|
-
target = config.resource(target_ref) or raise "Missing %s" % target_ref
|
527
|
-
target[:require] = source
|
528
|
-
end
|
529
|
-
|
530
|
-
trans = Puppet::Transaction.new(config)
|
531
|
-
|
532
|
-
graph = nil
|
533
|
-
assert_nothing_raised do
|
534
|
-
graph = trans.relationship_graph
|
535
|
-
end
|
536
|
-
|
537
|
-
assert_instance_of(Puppet::Node::Catalog, graph,
|
538
|
-
"Did not get relationship graph")
|
539
|
-
|
540
|
-
# Make sure all of the components are gone
|
541
|
-
comps = graph.vertices.find_all { |v| v.is_a?(Puppet::Type::Component)}
|
542
|
-
assert(comps.empty?, "Deps graph still contains components %s" %
|
543
|
-
comps.collect { |c| c.ref }.join(","))
|
544
|
-
|
545
|
-
assert_equal([], comps, "Deps graph still contains components")
|
546
|
-
|
547
|
-
# It must be reversed because of how topsort works
|
548
|
-
sorted = graph.topsort.reverse
|
549
|
-
|
550
|
-
# Now make sure the appropriate edges are there and are in the right order
|
551
|
-
assert(graph.dependents(config.f(:f)).include?(config.f(:c)),
|
552
|
-
"c not marked a dep of f")
|
553
|
-
assert(sorted.index(config.f(:c)) < sorted.index(config.f(:f)),
|
554
|
-
"c is not before f")
|
555
|
-
|
556
|
-
config.resource("one").each do |o|
|
557
|
-
config.resource("two").each do |t|
|
558
|
-
assert(graph.dependents(o).include?(t),
|
559
|
-
"%s not marked a dep of %s" % [t.ref, o.ref])
|
560
|
-
assert(sorted.index(t) < sorted.index(o),
|
561
|
-
"%s is not before %s" % [t.ref, o.ref])
|
562
|
-
end
|
563
|
-
end
|
564
|
-
|
565
|
-
trans.catalog.leaves(config.resource("middle")).each do |child|
|
566
|
-
assert(graph.dependents(config.f(:h)).include?(child),
|
567
|
-
"%s not marked a dep of h" % [child.ref])
|
568
|
-
assert(sorted.index(child) < sorted.index(config.f(:h)),
|
569
|
-
"%s is not before h" % child.ref)
|
570
|
-
end
|
571
|
-
|
572
|
-
# Lastly, make sure our 'g' vertex made it into the relationship
|
573
|
-
# graph, since it's not involved in any relationships.
|
574
|
-
assert(graph.vertex?(config.f(:g)),
|
575
|
-
"Lost vertexes with no relations")
|
576
|
-
|
577
|
-
# Now make the reversal graph and make sure all of the vertices made it into that
|
578
|
-
reverse = graph.reversal
|
579
|
-
%w{a b c d e f g h}.each do |letter|
|
580
|
-
file = config.f(letter)
|
581
|
-
assert(reverse.vertex?(file), "%s did not make it into reversal" % letter)
|
582
|
-
end
|
583
|
-
end
|
584
|
-
|
585
|
-
# Test pre-evaluation generation
|
586
|
-
def test_generate
|
587
|
-
mkgenerator() do
|
588
|
-
def generate
|
589
|
-
ret = []
|
590
|
-
if title.length > 1
|
591
|
-
ret << self.class.create(:title => title[0..-2])
|
592
|
-
else
|
593
|
-
return nil
|
594
|
-
end
|
595
|
-
ret
|
596
|
-
end
|
597
|
-
end
|
598
|
-
|
599
|
-
yay = Puppet::Type.newgenerator :title => "yay"
|
600
|
-
rah = Puppet::Type.newgenerator :title => "rah"
|
601
|
-
config = mk_catalog(yay, rah)
|
602
|
-
trans = Puppet::Transaction.new(config)
|
603
|
-
|
604
|
-
assert_nothing_raised do
|
605
|
-
trans.generate
|
606
|
-
end
|
607
|
-
|
608
|
-
%w{ya ra y r}.each do |name|
|
609
|
-
assert(trans.catalog.vertex?(Puppet::Type.type(:generator)[name]),
|
610
|
-
"Generated %s was not a vertex" % name)
|
611
|
-
assert($finished.include?(name), "%s was not finished" % name)
|
612
|
-
end
|
613
|
-
|
614
|
-
# Now make sure that cleanup gets rid of those generated types.
|
615
|
-
assert_nothing_raised do
|
616
|
-
trans.cleanup
|
617
|
-
end
|
618
|
-
|
619
|
-
%w{ya ra y r}.each do |name|
|
620
|
-
assert(!trans.catalog.vertex?(Puppet::Type.type(:generator)[name]),
|
621
|
-
"Generated vertex %s was not removed from graph" % name)
|
622
|
-
assert_nil(Puppet::Type.type(:generator)[name],
|
623
|
-
"Generated vertex %s was not removed from class" % name)
|
624
|
-
end
|
625
|
-
end
|
626
|
-
|
627
|
-
# Test mid-evaluation generation.
|
628
|
-
def test_eval_generate
|
629
|
-
$evaluated = []
|
630
|
-
cleanup { $evaluated = nil }
|
631
|
-
type = mkreducer() do
|
632
|
-
def evaluate
|
633
|
-
$evaluated << self.title
|
634
|
-
return []
|
635
|
-
end
|
636
|
-
end
|
637
|
-
|
638
|
-
yay = Puppet::Type.newgenerator :title => "yay"
|
639
|
-
rah = Puppet::Type.newgenerator :title => "rah", :subscribe => yay
|
640
|
-
config = mk_catalog(yay, rah)
|
641
|
-
trans = Puppet::Transaction.new(config)
|
642
|
-
|
643
|
-
trans.prepare
|
644
|
-
|
645
|
-
# Now apply the resources, and make sure they appropriately generate
|
646
|
-
# things.
|
647
|
-
assert_nothing_raised("failed to apply yay") do
|
648
|
-
trans.eval_resource(yay)
|
649
|
-
end
|
650
|
-
ya = type["ya"]
|
651
|
-
assert(ya, "Did not generate ya")
|
652
|
-
assert(trans.relationship_graph.vertex?(ya),
|
653
|
-
"Did not add ya to rel_graph")
|
654
|
-
|
655
|
-
# Now make sure the appropriate relationships were added
|
656
|
-
assert(trans.relationship_graph.edge?(yay, ya),
|
657
|
-
"parent was not required by child")
|
658
|
-
assert(! trans.relationship_graph.edge?(ya, rah),
|
659
|
-
"generated child ya inherited depencency on rah")
|
660
|
-
|
661
|
-
# Now make sure it in turn eval_generates appropriately
|
662
|
-
assert_nothing_raised("failed to apply yay") do
|
663
|
-
trans.eval_resource(type["ya"])
|
664
|
-
end
|
665
|
-
|
666
|
-
%w{y}.each do |name|
|
667
|
-
res = type[name]
|
668
|
-
assert(res, "Did not generate %s" % name)
|
669
|
-
assert(trans.relationship_graph.vertex?(res),
|
670
|
-
"Did not add %s to rel_graph" % name)
|
671
|
-
assert($finished.include?("y"), "y was not finished")
|
672
|
-
end
|
673
|
-
|
674
|
-
assert_nothing_raised("failed to eval_generate with nil response") do
|
675
|
-
trans.eval_resource(type["y"])
|
676
|
-
end
|
677
|
-
assert(trans.relationship_graph.edge?(yay, ya), "no edge was created for ya => yay")
|
678
|
-
|
679
|
-
assert_nothing_raised("failed to apply rah") do
|
680
|
-
trans.eval_resource(rah)
|
681
|
-
end
|
682
|
-
|
683
|
-
ra = type["ra"]
|
684
|
-
assert(ra, "Did not generate ra")
|
685
|
-
assert(trans.relationship_graph.vertex?(ra),
|
686
|
-
"Did not add ra to rel_graph" % name)
|
687
|
-
assert($finished.include?("ra"), "y was not finished")
|
688
|
-
|
689
|
-
# Now make sure this generated resource has the same relationships as
|
690
|
-
# the generating resource
|
691
|
-
assert(! trans.relationship_graph.edge?(yay, ra),
|
692
|
-
"rah passed its dependencies on to its children")
|
693
|
-
assert(! trans.relationship_graph.edge?(ya, ra),
|
694
|
-
"children have a direct relationship")
|
695
|
-
|
696
|
-
# Now make sure that cleanup gets rid of those generated types.
|
697
|
-
assert_nothing_raised do
|
698
|
-
trans.cleanup
|
699
|
-
end
|
700
|
-
|
701
|
-
%w{ya ra y r}.each do |name|
|
702
|
-
assert(!trans.relationship_graph.vertex?(type[name]),
|
703
|
-
"Generated vertex %s was not removed from graph" % name)
|
704
|
-
assert_nil(type[name],
|
705
|
-
"Generated vertex %s was not removed from class" % name)
|
706
|
-
end
|
707
|
-
|
708
|
-
# Now, start over and make sure that everything gets evaluated.
|
709
|
-
trans = Puppet::Transaction.new(config)
|
710
|
-
$evaluated.clear
|
711
|
-
assert_nothing_raised do
|
712
|
-
trans.evaluate
|
713
|
-
end
|
714
|
-
|
715
|
-
assert_equal(%w{yay ya y rah ra r}, $evaluated,
|
716
|
-
"Not all resources were evaluated or not in the right order")
|
717
|
-
end
|
718
525
|
|
719
526
|
# We need to generate resources before we prefetch them, else generated
|
720
527
|
# resources that require prefetching don't work.
|
@@ -729,7 +536,7 @@ class TestTransactions < Test::Unit::TestCase
|
|
729
536
|
trans.prepare
|
730
537
|
return
|
731
538
|
|
732
|
-
resource = Puppet::Type.type(:file).
|
539
|
+
resource = Puppet::Type.type(:file).new :ensure => :present, :path => tempfile()
|
733
540
|
other_resource = mock 'generated'
|
734
541
|
def resource.generate
|
735
542
|
[other_resource]
|
@@ -738,17 +545,17 @@ class TestTransactions < Test::Unit::TestCase
|
|
738
545
|
|
739
546
|
config = mk_catalog(yay, rah)
|
740
547
|
trans = Puppet::Transaction.new(config)
|
741
|
-
|
548
|
+
|
742
549
|
assert_nothing_raised do
|
743
550
|
trans.generate
|
744
551
|
end
|
745
|
-
|
552
|
+
|
746
553
|
%w{ya ra y r}.each do |name|
|
747
554
|
assert(trans.catalog.vertex?(Puppet::Type.type(:generator)[name]),
|
748
555
|
"Generated %s was not a vertex" % name)
|
749
556
|
assert($finished.include?(name), "%s was not finished" % name)
|
750
557
|
end
|
751
|
-
|
558
|
+
|
752
559
|
# Now make sure that cleanup gets rid of those generated types.
|
753
560
|
assert_nothing_raised do
|
754
561
|
trans.cleanup
|
@@ -756,7 +563,7 @@ class TestTransactions < Test::Unit::TestCase
|
|
756
563
|
end
|
757
564
|
|
758
565
|
def test_ignore_tags?
|
759
|
-
config = Puppet::
|
566
|
+
config = Puppet::Resource::Catalog.new
|
760
567
|
config.host_config = true
|
761
568
|
transaction = Puppet::Transaction.new(config)
|
762
569
|
assert(! transaction.ignore_tags?, "Ignoring tags when applying a host catalog")
|
@@ -765,10 +572,10 @@ class TestTransactions < Test::Unit::TestCase
|
|
765
572
|
transaction = Puppet::Transaction.new(config)
|
766
573
|
assert(transaction.ignore_tags?, "Not ignoring tags when applying a non-host catalog")
|
767
574
|
end
|
768
|
-
|
575
|
+
|
769
576
|
def test_missing_tags?
|
770
577
|
resource = stub 'resource', :tagged? => true
|
771
|
-
config = Puppet::
|
578
|
+
config = Puppet::Resource::Catalog.new
|
772
579
|
|
773
580
|
# Mark it as a host config so we don't care which test is first
|
774
581
|
config.host_config = true
|
@@ -781,7 +588,7 @@ class TestTransactions < Test::Unit::TestCase
|
|
781
588
|
transaction = Puppet::Transaction.new(config)
|
782
589
|
assert(! transaction.missing_tags?(resource), "Considered a resource to be missing tags when not running a host catalog")
|
783
590
|
|
784
|
-
#
|
591
|
+
#
|
785
592
|
config.host_config = true
|
786
593
|
transaction = Puppet::Transaction.new(config)
|
787
594
|
assert(! transaction.missing_tags?(resource), "Considered a resource to be missing tags when running a host catalog and all tags are present")
|
@@ -790,18 +597,18 @@ class TestTransactions < Test::Unit::TestCase
|
|
790
597
|
resource.stubs :tagged? => false
|
791
598
|
assert(transaction.missing_tags?(resource), "Considered a resource not to be missing tags when running a host catalog and tags are missing")
|
792
599
|
end
|
793
|
-
|
600
|
+
|
794
601
|
# Make sure changes generated by eval_generated resources have proxies
|
795
602
|
# set to the top-level resource.
|
796
603
|
def test_proxy_resources
|
797
604
|
type = mkreducer do
|
798
605
|
def evaluate
|
799
606
|
return Puppet::Transaction::Change.new(Fakeprop.new(
|
800
|
-
:path => :path, :is =>
|
607
|
+
:path => :path, :is => "start_value", :should => "desired_value", :name => self.name, :resource => "fake_parent"), :is)
|
801
608
|
end
|
802
609
|
end
|
803
|
-
|
804
|
-
resource = type.
|
610
|
+
|
611
|
+
resource = type.new :name => "test"
|
805
612
|
config = mk_catalog(resource)
|
806
613
|
trans = Puppet::Transaction.new(config)
|
807
614
|
trans.prepare
|
@@ -811,14 +618,14 @@ class TestTransactions < Test::Unit::TestCase
|
|
811
618
|
end
|
812
619
|
|
813
620
|
changes = trans.instance_variable_get("@changes")
|
814
|
-
|
621
|
+
|
815
622
|
assert(changes.length > 0, "did not get any changes")
|
816
|
-
|
623
|
+
|
817
624
|
changes.each do |change|
|
818
|
-
assert_equal(resource, change.resource, "change did not get proxy set correctly")
|
625
|
+
assert_equal(resource.object_id, change.resource.object_id, "change did not get proxy set correctly")
|
819
626
|
end
|
820
627
|
end
|
821
|
-
|
628
|
+
|
822
629
|
# Make sure changes in contained files still generate callback events.
|
823
630
|
def test_generated_callbacks
|
824
631
|
dir = tempfile()
|
@@ -828,12 +635,12 @@ class TestTransactions < Test::Unit::TestCase
|
|
828
635
|
File.open(file, "w") { |f| f.puts "" }
|
829
636
|
File.chmod(0644, file)
|
830
637
|
File.chmod(0755, dir) # So only the child file causes a change
|
831
|
-
|
832
|
-
dirobj = Puppet::Type.type(:file).
|
833
|
-
exec = Puppet::Type.type(:exec).
|
638
|
+
|
639
|
+
dirobj = Puppet::Type.type(:file).new :mode => "755", :recurse => true, :path => dir
|
640
|
+
exec = Puppet::Type.type(:exec).new :title => "make",
|
834
641
|
:command => "touch #{maker}", :path => ENV['PATH'], :refreshonly => true,
|
835
642
|
:subscribe => dirobj
|
836
|
-
|
643
|
+
|
837
644
|
assert_apply(dirobj, exec)
|
838
645
|
assert(FileTest.exists?(maker), "Did not make callback file")
|
839
646
|
end
|
@@ -861,7 +668,7 @@ class TestTransactions < Test::Unit::TestCase
|
|
861
668
|
end
|
862
669
|
|
863
670
|
# Make a graph with some stuff in it.
|
864
|
-
graph = Puppet::
|
671
|
+
graph = Puppet::Resource::Catalog.new
|
865
672
|
|
866
673
|
# Add a non-triggering edge.
|
867
674
|
a = trigger.new(:a)
|
@@ -912,29 +719,29 @@ class TestTransactions < Test::Unit::TestCase
|
|
912
719
|
assert(trans.triggered?(c, :refresh),
|
913
720
|
"Transaction did not store the trigger")
|
914
721
|
end
|
915
|
-
|
722
|
+
|
916
723
|
def test_set_target
|
917
|
-
file = Puppet::Type.type(:file).
|
918
|
-
exec1 = Puppet::Type.type(:exec).
|
919
|
-
exec2 = Puppet::Type.type(:exec).
|
724
|
+
file = Puppet::Type.type(:file).new(:path => tempfile(), :content => "yay")
|
725
|
+
exec1 = Puppet::Type.type(:exec).new :command => "/bin/echo exec1"
|
726
|
+
exec2 = Puppet::Type.type(:exec).new :command => "/bin/echo exec2"
|
920
727
|
trans = Puppet::Transaction.new(mk_catalog(file, exec1, exec2))
|
921
|
-
|
728
|
+
|
922
729
|
# First try it with an edge that has no callback
|
923
730
|
edge = Puppet::Relationship.new(file, exec1)
|
924
731
|
assert_nothing_raised { trans.set_trigger(edge) }
|
925
732
|
assert(! trans.targeted?(exec1), "edge with no callback resulted in a target")
|
926
|
-
|
733
|
+
|
927
734
|
# Now with an edge that has an unsupported callback
|
928
735
|
edge = Puppet::Relationship.new(file, exec1, :callback => :nosuchmethod, :event => :ALL_EVENTS)
|
929
736
|
assert_nothing_raised { trans.set_trigger(edge) }
|
930
737
|
assert(! trans.targeted?(exec1), "edge with invalid callback resulted in a target")
|
931
|
-
|
738
|
+
|
932
739
|
# Lastly, with an edge with a supported callback
|
933
740
|
edge = Puppet::Relationship.new(file, exec1, :callback => :refresh, :event => :ALL_EVENTS)
|
934
741
|
assert_nothing_raised { trans.set_trigger(edge) }
|
935
742
|
assert(trans.targeted?(exec1), "edge with valid callback did not result in a target")
|
936
743
|
end
|
937
|
-
|
744
|
+
|
938
745
|
# Testing #401 -- transactions are calling refresh() on classes that don't support it.
|
939
746
|
def test_callback_availability
|
940
747
|
$called = []
|
@@ -949,18 +756,18 @@ class TestTransactions < Test::Unit::TestCase
|
|
949
756
|
Puppet::Type.rmtype(:norefresh)
|
950
757
|
end
|
951
758
|
|
952
|
-
file = Puppet::Type.type(:file).
|
953
|
-
one = klass.
|
954
|
-
|
759
|
+
file = Puppet::Type.type(:file).new :path => tempfile(), :content => "yay"
|
760
|
+
one = klass.new :name => "one", :subscribe => file
|
761
|
+
|
955
762
|
assert_apply(file, one)
|
956
|
-
|
763
|
+
|
957
764
|
assert(! $called.include?(:refresh), "Called refresh when it wasn't set as a method")
|
958
765
|
end
|
959
766
|
|
960
767
|
# Testing #437 - cyclic graphs should throw failures.
|
961
768
|
def test_fail_on_cycle
|
962
|
-
one = Puppet::Type.type(:exec).
|
963
|
-
two = Puppet::Type.type(:exec).
|
769
|
+
one = Puppet::Type.type(:exec).new(:name => "/bin/echo one")
|
770
|
+
two = Puppet::Type.type(:exec).new(:name => "/bin/echo two")
|
964
771
|
one[:require] = two
|
965
772
|
two[:require] = one
|
966
773
|
|
@@ -983,16 +790,20 @@ class TestTransactions < Test::Unit::TestCase
|
|
983
790
|
end
|
984
791
|
cleanup { Puppet::Type.rmtype(:failer) }
|
985
792
|
|
986
|
-
obj = type.
|
793
|
+
obj = type.new(:name => "testing")
|
987
794
|
|
988
795
|
assert_apply(obj)
|
989
796
|
end
|
990
|
-
|
797
|
+
|
991
798
|
def test_self_refresh_causes_triggering
|
992
799
|
type = Puppet::Type.newtype(:refresher, :self_refresh => true) do
|
993
800
|
attr_accessor :refreshed, :testing
|
994
801
|
newparam(:name) {}
|
995
802
|
newproperty(:testing) do
|
803
|
+
def retrieve
|
804
|
+
:eh
|
805
|
+
end
|
806
|
+
|
996
807
|
def sync
|
997
808
|
# noop
|
998
809
|
:ran_testing
|
@@ -1003,43 +814,43 @@ class TestTransactions < Test::Unit::TestCase
|
|
1003
814
|
end
|
1004
815
|
end
|
1005
816
|
cleanup { Puppet::Type.rmtype(:refresher)}
|
1006
|
-
|
1007
|
-
obj = type.
|
1008
|
-
|
817
|
+
|
818
|
+
obj = type.new(:name => "yay", :testing => "cool")
|
819
|
+
|
1009
820
|
assert(! obj.insync?(obj.retrieve), "fake object is already in sync")
|
1010
|
-
|
821
|
+
|
1011
822
|
# Now make sure it gets refreshed when the change happens
|
1012
823
|
assert_apply(obj)
|
1013
824
|
assert(obj.refreshed, "object was not refreshed during transaction")
|
1014
825
|
end
|
1015
|
-
|
826
|
+
|
1016
827
|
# Testing #433
|
1017
828
|
def test_explicit_dependencies_beat_automatic
|
1018
829
|
# Create a couple of different resource sets that have automatic relationships and make sure the manual relationships win
|
1019
830
|
rels = {}
|
1020
831
|
# First users and groups
|
1021
|
-
group = Puppet::Type.type(:group).
|
1022
|
-
user = Puppet::Type.type(:user).
|
1023
|
-
|
832
|
+
group = Puppet::Type.type(:group).new(:name => nonrootgroup.name, :ensure => :present)
|
833
|
+
user = Puppet::Type.type(:user).new(:name => nonrootuser.name, :ensure => :present, :gid => group.title)
|
834
|
+
|
1024
835
|
# Now add the explicit relationship
|
1025
836
|
group[:require] = user
|
1026
837
|
rels[group] = user
|
1027
838
|
# Now files
|
1028
839
|
d = tempfile()
|
1029
840
|
f = File.join(d, "file")
|
1030
|
-
file = Puppet::Type.type(:file).
|
1031
|
-
dir = Puppet::Type.type(:file).
|
1032
|
-
|
841
|
+
file = Puppet::Type.type(:file).new(:path => f, :content => "yay")
|
842
|
+
dir = Puppet::Type.type(:file).new(:path => d, :ensure => :directory, :require => file)
|
843
|
+
|
1033
844
|
rels[dir] = file
|
1034
845
|
rels.each do |after, before|
|
1035
846
|
config = mk_catalog(before, after)
|
1036
847
|
trans = Puppet::Transaction.new(config)
|
1037
848
|
str = "from %s to %s" % [before, after]
|
1038
|
-
|
849
|
+
|
1039
850
|
assert_nothing_raised("Failed to create graph %s" % str) do
|
1040
851
|
trans.prepare
|
1041
852
|
end
|
1042
|
-
|
853
|
+
|
1043
854
|
graph = trans.relationship_graph
|
1044
855
|
assert(graph.edge?(before, after), "did not create manual relationship %s" % str)
|
1045
856
|
assert(! graph.edge?(after, before), "created automatic relationship %s" % str)
|
@@ -1052,12 +863,12 @@ class TestTransactions < Test::Unit::TestCase
|
|
1052
863
|
path = tempfile
|
1053
864
|
epath = tempfile
|
1054
865
|
spath = tempfile
|
1055
|
-
file = Puppet::Type.type(:file).
|
866
|
+
file = Puppet::Type.type(:file).new(:path => path, :ensure => :file,
|
1056
867
|
:title => "file")
|
1057
|
-
exec = Puppet::Type.type(:exec).
|
868
|
+
exec = Puppet::Type.type(:exec).new(:command => "touch %s" % epath,
|
1058
869
|
:path => ENV["PATH"], :subscribe => file, :refreshonly => true,
|
1059
870
|
:title => 'exec1')
|
1060
|
-
exec2 = Puppet::Type.type(:exec).
|
871
|
+
exec2 = Puppet::Type.type(:exec).new(:command => "touch %s" % spath,
|
1061
872
|
:path => ENV["PATH"], :subscribe => exec, :refreshonly => true,
|
1062
873
|
:title => 'exec2')
|
1063
874
|
|
@@ -1090,7 +901,7 @@ class TestTransactions < Test::Unit::TestCase
|
|
1090
901
|
3.times do |i|
|
1091
902
|
path = tempfile
|
1092
903
|
paths << path
|
1093
|
-
file = Puppet::Type.type(:file).
|
904
|
+
file = Puppet::Type.type(:file).new(:path => path, :ensure => :absent,
|
1094
905
|
:backup => false, :title => "file%s" % i)
|
1095
906
|
File.open(path, "w") { |f| f.puts "" }
|
1096
907
|
files << file
|
@@ -1109,11 +920,12 @@ class TestTransactions < Test::Unit::TestCase
|
|
1109
920
|
end
|
1110
921
|
|
1111
922
|
def test_flush
|
1112
|
-
$state =
|
923
|
+
$state = :absent
|
1113
924
|
$flushed = 0
|
1114
925
|
type = Puppet::Type.newtype(:flushtest) do
|
1115
926
|
newparam(:name)
|
1116
927
|
newproperty(:ensure) do
|
928
|
+
newvalues :absent, :present, :other
|
1117
929
|
def retrieve
|
1118
930
|
$state
|
1119
931
|
end
|
@@ -1130,12 +942,12 @@ class TestTransactions < Test::Unit::TestCase
|
|
1130
942
|
|
1131
943
|
cleanup { Puppet::Type.rmtype(:flushtest) }
|
1132
944
|
|
1133
|
-
obj = type.
|
945
|
+
obj = type.new(:name => "test", :ensure => :present)
|
1134
946
|
|
1135
947
|
# first make sure it runs through and flushes
|
1136
948
|
assert_apply(obj)
|
1137
949
|
|
1138
|
-
assert_equal(
|
950
|
+
assert_equal(:present, $state, "Object did not make a change")
|
1139
951
|
assert_equal(1, $flushed, "object was not flushed")
|
1140
952
|
|
1141
953
|
# Now run a noop and make sure we don't flush
|
@@ -1143,7 +955,7 @@ class TestTransactions < Test::Unit::TestCase
|
|
1143
955
|
obj[:noop] = true
|
1144
956
|
|
1145
957
|
assert_apply(obj)
|
1146
|
-
assert_equal(
|
958
|
+
assert_equal(:present, $state, "Object made a change in noop")
|
1147
959
|
assert_equal(1, $flushed, "object was flushed in noop")
|
1148
960
|
end
|
1149
961
|
end
|