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/puppet/defaults.rb
CHANGED
@@ -11,7 +11,7 @@ class TestPuppetDefaults < Test::Unit::TestCase
|
|
11
11
|
@@dirs = %w{rrddir confdir vardir logdir statedir}
|
12
12
|
@@files = %w{statefile manifest masterlog}
|
13
13
|
@@normals = %w{puppetport masterport server}
|
14
|
-
@@booleans = %w{
|
14
|
+
@@booleans = %w{noop}
|
15
15
|
|
16
16
|
def testVersion
|
17
17
|
assert( Puppet.version =~ /^[0-9]+(\.[0-9]+)*/, "got invalid version number %s" % Puppet.version )
|
@@ -8,10 +8,10 @@ require 'puppettest'
|
|
8
8
|
require 'puppettest/railstesting'
|
9
9
|
|
10
10
|
# Don't do any tests w/out this class
|
11
|
-
if defined? ActiveRecord::Base
|
11
|
+
if defined? ::ActiveRecord::Base
|
12
12
|
class TestRailsParameter < Test::Unit::TestCase
|
13
13
|
include PuppetTest::RailsTesting
|
14
|
-
|
14
|
+
|
15
15
|
def params
|
16
16
|
{"myname" => "myval", "multiple" => %w{one two three}}
|
17
17
|
end
|
@@ -27,9 +27,9 @@ class TestRailsParameter < Test::Unit::TestCase
|
|
27
27
|
host = Puppet::Rails::Host.new(:name => "myhost")
|
28
28
|
|
29
29
|
host.save
|
30
|
-
|
30
|
+
|
31
31
|
resource = host.resources.create(
|
32
|
-
:title => "/tmp/to_resource",
|
32
|
+
:title => "/tmp/to_resource",
|
33
33
|
:restype => "file",
|
34
34
|
:exported => true)
|
35
35
|
|
@@ -29,7 +29,7 @@ class TestTypeAttributes < Test::Unit::TestCase
|
|
29
29
|
# and a param
|
30
30
|
type.newparam(:param)
|
31
31
|
|
32
|
-
inst = type.
|
32
|
+
inst = type.new(:name => "yay")
|
33
33
|
|
34
34
|
# Make sure we can set each of them, including a metaparam
|
35
35
|
[:param, :property, :noop].each do |param|
|
@@ -66,7 +66,7 @@ class TestTypeAttributes < Test::Unit::TestCase
|
|
66
66
|
type.newproperty(prop) {}
|
67
67
|
end
|
68
68
|
|
69
|
-
inst = type.
|
69
|
+
inst = type.new(:name => "yay")
|
70
70
|
|
71
71
|
inst[:one] = "boo"
|
72
72
|
one = inst.property(:one)
|
@@ -88,7 +88,7 @@ class TestTypeAttributes < Test::Unit::TestCase
|
|
88
88
|
@num ||= 0
|
89
89
|
@num += 1
|
90
90
|
name = "name%s" % @num
|
91
|
-
inst = type.
|
91
|
+
inst = type.new(:name => name)
|
92
92
|
[:meta, :param, :prop].each do |name|
|
93
93
|
klass = type.attrclass(name)
|
94
94
|
assert(klass, "did not get class for %s" % name)
|
@@ -139,47 +139,12 @@ class TestTypeAttributes < Test::Unit::TestCase
|
|
139
139
|
end
|
140
140
|
end
|
141
141
|
|
142
|
-
def test_setdefaults
|
143
|
-
type = mktype
|
144
|
-
type.newparam(:name) {}
|
145
|
-
|
146
|
-
# Make one of each param type
|
147
|
-
{
|
148
|
-
:meta2 => :newmetaparam, :param2 => :newparam, :prop2 => :newproperty
|
149
|
-
}.each do |name, method|
|
150
|
-
assert_nothing_raised("Could not make %s of type %s" % [name, method]) do
|
151
|
-
type.send(method, name) do
|
152
|
-
defaultto "testing"
|
153
|
-
end
|
154
|
-
end
|
155
|
-
end
|
156
|
-
|
157
|
-
inst = type.create(:name => 'yay')
|
158
|
-
assert_nothing_raised do
|
159
|
-
inst.setdefaults
|
160
|
-
end
|
161
|
-
|
162
|
-
[:meta2, :param2, :prop2].each do |name|
|
163
|
-
assert(inst.value(name), "did not get a value for %s" % name)
|
164
|
-
end
|
165
|
-
|
166
|
-
# Try a default of "false"
|
167
|
-
type.newparam(:falsetest) do
|
168
|
-
defaultto false
|
169
|
-
end
|
170
|
-
|
171
|
-
assert_nothing_raised do
|
172
|
-
inst.setdefaults
|
173
|
-
end
|
174
|
-
assert_equal(false, inst[:falsetest], "false default was not set")
|
175
|
-
end
|
176
|
-
|
177
142
|
def test_alias_parameter
|
178
143
|
type = mktype
|
179
144
|
type.newparam(:name) {}
|
180
145
|
type.newparam(:one) {}
|
181
146
|
type.newproperty(:two) {}
|
182
|
-
|
147
|
+
|
183
148
|
aliases = {
|
184
149
|
:three => :one,
|
185
150
|
:four => :two
|
@@ -197,7 +162,7 @@ class TestTypeAttributes < Test::Unit::TestCase
|
|
197
162
|
|
198
163
|
assert_nil(type.attr_alias(:name), "got invalid alias info for name")
|
199
164
|
|
200
|
-
inst = type.
|
165
|
+
inst = type.new(:name => "my name")
|
201
166
|
assert(inst, "could not create instance")
|
202
167
|
|
203
168
|
aliases.each do |new, old|
|
@@ -207,7 +172,7 @@ class TestTypeAttributes < Test::Unit::TestCase
|
|
207
172
|
end
|
208
173
|
|
209
174
|
case old
|
210
|
-
when :one
|
175
|
+
when :one # param
|
211
176
|
assert_equal(val, inst[new],
|
212
177
|
"Incorrect alias value for %s in []" % new)
|
213
178
|
else
|
@@ -219,27 +184,6 @@ class TestTypeAttributes < Test::Unit::TestCase
|
|
219
184
|
end
|
220
185
|
end
|
221
186
|
|
222
|
-
# Make sure eachattr is called in the parameter order.
|
223
|
-
def test_eachattr
|
224
|
-
type = mktype
|
225
|
-
name = type.newparam(:name) {}
|
226
|
-
one = type.newparam(:one) {}
|
227
|
-
two = type.newproperty(:two) {}
|
228
|
-
type.provide(:testing) {}
|
229
|
-
provider = type.attrclass(:provider)
|
230
|
-
should = [[name, :param], [provider, :param], [two, :property], [one, :param]]
|
231
|
-
assert_nothing_raised do
|
232
|
-
result = nil
|
233
|
-
type.eachattr do |obj, name|
|
234
|
-
result = [obj, name]
|
235
|
-
shouldary = should.shift
|
236
|
-
assert_equal(shouldary, result, "Did not get correct parameter")
|
237
|
-
break if should.empty?
|
238
|
-
end
|
239
|
-
end
|
240
|
-
assert(should.empty?, "Did not get all of the parameters.")
|
241
|
-
end
|
242
|
-
|
243
187
|
# Make sure newattr handles required features correctly.
|
244
188
|
def test_newattr_and_required_features
|
245
189
|
# Make a type with some features
|
@@ -262,16 +206,16 @@ class TestTypeAttributes < Test::Unit::TestCase
|
|
262
206
|
|
263
207
|
# Now make sure that we get warnings and no properties in those cases where our providers do not support the features requested
|
264
208
|
[nope, maybe, yep].each_with_index do |prov, i|
|
265
|
-
resource = type.
|
209
|
+
resource = type.new(:provider => prov.name, :name => "test%s" % i, :none => "a", :one => "b", :two => "c")
|
266
210
|
|
267
211
|
case prov.name
|
268
|
-
when :nope
|
212
|
+
when :nope
|
269
213
|
yes = [:none]
|
270
214
|
no = [:one, :two]
|
271
|
-
when :maybe
|
215
|
+
when :maybe
|
272
216
|
yes = [:none, :one]
|
273
217
|
no = [:two]
|
274
|
-
when :yep
|
218
|
+
when :yep
|
275
219
|
yes = [:none, :one, :two]
|
276
220
|
no = []
|
277
221
|
end
|
@@ -292,7 +236,7 @@ class TestTypeAttributes < Test::Unit::TestCase
|
|
292
236
|
file = Puppet::Type.type(:file)
|
293
237
|
klass = file.attrclass(:check)
|
294
238
|
|
295
|
-
resource = file.
|
239
|
+
resource = file.new(:path => tempfile)
|
296
240
|
inst = klass.new(:resource => resource)
|
297
241
|
|
298
242
|
{:property => [:owner, :group], :parameter => [:ignore, :recurse], :metaparam => [:require, :subscribe]}.each do |attrtype, attrs|
|
@@ -343,7 +287,7 @@ class TestTypeAttributes < Test::Unit::TestCase
|
|
343
287
|
end
|
344
288
|
cleanup { Puppet::Type.rmtype(:unsupported) }
|
345
289
|
|
346
|
-
obj = type.
|
290
|
+
obj = type.new(:name => "test", :check => :yep)
|
347
291
|
obj.expects(:newattr).with(:nope).never
|
348
292
|
obj[:check] = :all
|
349
293
|
end
|
@@ -64,9 +64,9 @@ class TestTypeInstances < Test::Unit::TestCase
|
|
64
64
|
|
65
65
|
# Now make a couple of instances, so we know we correctly match instead of always
|
66
66
|
# trying to create new ones.
|
67
|
-
one = @type.
|
68
|
-
three = @type.
|
69
|
-
five = @type.
|
67
|
+
one = @type.new(:name => :one, :ensure => :present)
|
68
|
+
three = @type.new(:name => :three, :ensure => :present, :provider => :sub)
|
69
|
+
five = @type.new(:name => :five, :ensure => :present, :provider => :yep)
|
70
70
|
|
71
71
|
result = nil
|
72
72
|
assert_nothing_raised("Could not get instance list") do
|
@@ -89,21 +89,5 @@ class TestTypeInstances < Test::Unit::TestCase
|
|
89
89
|
# Now make sure the resources have an 'ensure' property to go with the value in the provider
|
90
90
|
assert(resources[:one].send(:instance_variable_get, "@parameters").include?(:ensure), "Did not create ensure property")
|
91
91
|
end
|
92
|
-
|
93
|
-
# Make sure resources are entirely deleted.
|
94
|
-
def test_delete
|
95
|
-
aliases = %w{one}
|
96
|
-
catalog = mk_catalog
|
97
|
-
obj = @type.create(:name => "testing", :alias => "two", :catalog => catalog)
|
98
|
-
aliases << "two"
|
99
|
-
|
100
|
-
@type.alias("two", obj)
|
101
|
-
|
102
|
-
obj.remove
|
103
|
-
assert_nil(@type["testing"], "Object was not removed from objects hash")
|
104
|
-
assert_nil(@type["one"], "Object's alias was not removed")
|
105
|
-
assert_nil(@type["two"], "Object's second alias was not removed")
|
106
|
-
|
107
|
-
end
|
108
92
|
end
|
109
93
|
|
data/test/ral/manager/manager.rb
CHANGED
@@ -9,19 +9,19 @@ require 'puppettest'
|
|
9
9
|
|
10
10
|
class TestTypeManager < Test::Unit::TestCase
|
11
11
|
include PuppetTest
|
12
|
-
|
12
|
+
|
13
13
|
class FakeManager
|
14
14
|
extend Puppet::MetaType::Manager
|
15
15
|
def self.clear
|
16
16
|
@types = {}
|
17
17
|
end
|
18
18
|
end
|
19
|
-
|
19
|
+
|
20
20
|
def teardown
|
21
21
|
super
|
22
22
|
FakeManager.clear
|
23
23
|
end
|
24
|
-
|
24
|
+
|
25
25
|
# Make sure we can remove defined types
|
26
26
|
def test_rmtype
|
27
27
|
assert_nothing_raised {
|
@@ -30,22 +30,22 @@ class TestTypeManager < Test::Unit::TestCase
|
|
30
30
|
end
|
31
31
|
}
|
32
32
|
assert(FakeManager.type(:testing), "Did not get fake type")
|
33
|
-
|
33
|
+
|
34
34
|
assert_nothing_raised do
|
35
35
|
FakeManager.rmtype(:testing)
|
36
36
|
end
|
37
|
-
|
37
|
+
|
38
38
|
assert_nil(FakeManager.type(:testing), "Type was not removed")
|
39
39
|
assert(! defined?(FakeManager::Testing), "Constant was not removed")
|
40
40
|
end
|
41
|
-
|
41
|
+
|
42
42
|
def test_newtype
|
43
43
|
assert_nothing_raised do
|
44
44
|
FakeManager.newtype(:testing, :self_refresh => true) do
|
45
45
|
newparam(:name, :namevar => true)
|
46
46
|
end
|
47
47
|
end
|
48
|
-
|
48
|
+
|
49
49
|
test = FakeManager.type(:testing)
|
50
50
|
assert(test, "did not get type")
|
51
51
|
assert(test.self_refresh, "did not set attribute")
|
@@ -6,7 +6,7 @@ require 'puppettest'
|
|
6
6
|
require 'mocha'
|
7
7
|
|
8
8
|
class TestTypeProviders < Test::Unit::TestCase
|
9
|
-
|
9
|
+
include PuppetTest
|
10
10
|
|
11
11
|
def setup
|
12
12
|
super
|
@@ -54,7 +54,7 @@ class TestTypeProviders < Test::Unit::TestCase
|
|
54
54
|
# first make sure we can pass the name in
|
55
55
|
resource = nil
|
56
56
|
assert_nothing_raised("Could not create provider instance by name") do
|
57
|
-
resource = @type.
|
57
|
+
resource = @type.new :name => "yay", :provider => :testing
|
58
58
|
end
|
59
59
|
|
60
60
|
assert_instance_of(provider, resource.provider, "Did not create provider instance")
|
@@ -62,7 +62,7 @@ class TestTypeProviders < Test::Unit::TestCase
|
|
62
62
|
# Now make sure we can pass in an instance
|
63
63
|
provinst = provider.new(:name => "foo")
|
64
64
|
assert_nothing_raised("Could not pass in provider instance") do
|
65
|
-
resource = @type.
|
65
|
+
resource = @type.new :name => "foo", :provider => provinst
|
66
66
|
end
|
67
67
|
|
68
68
|
assert_equal(provinst, resource.provider, "Did not retain provider instance")
|
@@ -74,11 +74,11 @@ class TestTypeProviders < Test::Unit::TestCase
|
|
74
74
|
end
|
75
75
|
|
76
76
|
# And make sure the provider must be a valid provider type for this resource
|
77
|
-
pkgprov = Puppet::Type.type(:package).
|
77
|
+
pkgprov = Puppet::Type.type(:package).new(:name => "yayness").provider
|
78
78
|
assert(provider, "did not get package provider")
|
79
79
|
|
80
80
|
assert_raise(Puppet::Error, "Did not fail on invalid provider instance") do
|
81
|
-
resource = @type.
|
81
|
+
resource = @type.new :name => "bar", :provider => pkgprov
|
82
82
|
end
|
83
83
|
|
84
84
|
end
|
@@ -89,7 +89,7 @@ class TestTypeProviders < Test::Unit::TestCase
|
|
89
89
|
Puppet::Type.type(:user).provider(:useradd).stubs(:suitable?).returns false
|
90
90
|
|
91
91
|
assert_nothing_raised("Unsuitable providers failed at initialization") do
|
92
|
-
Puppet::Type.type(:user).
|
92
|
+
Puppet::Type.type(:user).new :name => "luke", :ensure => :present, :provider => :useradd
|
93
93
|
end
|
94
94
|
end
|
95
95
|
|
@@ -98,7 +98,7 @@ class TestTypeProviders < Test::Unit::TestCase
|
|
98
98
|
def test_unsuitable_providers_should_fail_at_evaluation
|
99
99
|
Puppet::Type.type(:user).provider(:useradd).stubs(:suitable?).returns false
|
100
100
|
|
101
|
-
user = Puppet::Type.type(:user).
|
101
|
+
user = Puppet::Type.type(:user).new :name => "luke", :ensure => :present, :provider => :useradd
|
102
102
|
assert_raise(Puppet::Error, "Unsuitable provider did not fail at evaluation") do
|
103
103
|
user.evaluate
|
104
104
|
end
|
data/test/ral/manager/type.rb
CHANGED
@@ -6,7 +6,7 @@ require 'puppettest'
|
|
6
6
|
require 'mocha'
|
7
7
|
|
8
8
|
class TestType < Test::Unit::TestCase
|
9
|
-
|
9
|
+
include PuppetTest
|
10
10
|
def test_typemethods
|
11
11
|
Puppet::Type.eachtype { |type|
|
12
12
|
name = nil
|
@@ -52,7 +52,7 @@ class TestType < Test::Unit::TestCase
|
|
52
52
|
path = tempfile()
|
53
53
|
assert_nothing_raised() {
|
54
54
|
system("rm -f %s" % path)
|
55
|
-
file = Puppet.type(:file).
|
55
|
+
file = Puppet::Type.type(:file).new(
|
56
56
|
:path => path,
|
57
57
|
:ensure => "file",
|
58
58
|
:recurse => true,
|
@@ -65,10 +65,9 @@ class TestType < Test::Unit::TestCase
|
|
65
65
|
assert_nothing_raised() {
|
66
66
|
file.evaluate
|
67
67
|
}
|
68
|
-
Puppet.type(:file).clear
|
69
68
|
assert_nothing_raised() {
|
70
69
|
system("rm -f %s" % path)
|
71
|
-
file = Puppet.type(:file).
|
70
|
+
file = Puppet::Type.type(:file).new(
|
72
71
|
"path" => path,
|
73
72
|
"ensure" => "file",
|
74
73
|
"recurse" => true,
|
@@ -102,7 +101,7 @@ class TestType < Test::Unit::TestCase
|
|
102
101
|
# currently groups are the only objects with the namevar as a property
|
103
102
|
group = nil
|
104
103
|
assert_nothing_raised {
|
105
|
-
group = Puppet.type(:group).
|
104
|
+
group = Puppet::Type.type(:group).new(
|
106
105
|
:name => "testing"
|
107
106
|
)
|
108
107
|
}
|
@@ -110,48 +109,8 @@ class TestType < Test::Unit::TestCase
|
|
110
109
|
assert_equal("testing", group.name, "Could not retrieve name")
|
111
110
|
end
|
112
111
|
|
113
|
-
|
114
|
-
|
115
|
-
file = tempfile()
|
116
|
-
|
117
|
-
# Create the first version
|
118
|
-
assert_nothing_raised {
|
119
|
-
Puppet.type(:file).create(
|
120
|
-
:path => file,
|
121
|
-
:owner => ["root", "bin"]
|
122
|
-
)
|
123
|
-
}
|
124
|
-
|
125
|
-
# Make sure no other statements are allowed
|
126
|
-
assert_raise(Puppet::Error) {
|
127
|
-
Puppet.type(:file).create(
|
128
|
-
:path => file,
|
129
|
-
:group => "root"
|
130
|
-
)
|
131
|
-
}
|
132
|
-
end
|
133
|
-
|
134
|
-
def test_aliases_to_self_are_not_failures
|
135
|
-
resource = Puppet.type(:file).create(
|
136
|
-
:name => "/path/to/some/missing/file",
|
137
|
-
:ensure => "file"
|
138
|
-
)
|
139
|
-
resource.stubs(:path).returns("")
|
140
|
-
|
141
|
-
catalog = stub 'catalog'
|
142
|
-
catalog.expects(:resource).with(:file, "/path/to/some/missing/file").returns(resource)
|
143
|
-
resource.catalog = catalog
|
144
|
-
|
145
|
-
# Verify our adding ourselves as an alias isn't an error.
|
146
|
-
assert_nothing_raised("Could not add alias") {
|
147
|
-
resource[:alias] = "/path/to/some/missing/file"
|
148
|
-
}
|
149
|
-
|
150
|
-
assert_equal(resource.object_id, Puppet.type(:file)["/path/to/some/missing/file"].object_id, "Could not retrieve alias to self")
|
151
|
-
end
|
152
|
-
|
153
|
-
def test_aliases_are_added_to_class_and_catalog
|
154
|
-
resource = Puppet.type(:file).create(
|
112
|
+
def test_aliases_are_added_to_catalog
|
113
|
+
resource = Puppet::Type.type(:file).new(
|
155
114
|
:name => "/path/to/some/missing/file",
|
156
115
|
:ensure => "file"
|
157
116
|
)
|
@@ -165,12 +124,10 @@ class TestType < Test::Unit::TestCase
|
|
165
124
|
assert_nothing_raised("Could not add alias") {
|
166
125
|
resource[:alias] = "funtest"
|
167
126
|
}
|
168
|
-
|
169
|
-
assert_equal(resource.object_id, Puppet.type(:file)["funtest"].object_id, "Could not retrieve alias")
|
170
127
|
end
|
171
128
|
|
172
129
|
def test_aliasing_fails_without_a_catalog
|
173
|
-
resource = Puppet.type(:file).
|
130
|
+
resource = Puppet::Type.type(:file).new(
|
174
131
|
:name => "/no/such/file",
|
175
132
|
:ensure => "file"
|
176
133
|
)
|
@@ -180,78 +137,10 @@ class TestType < Test::Unit::TestCase
|
|
180
137
|
}
|
181
138
|
end
|
182
139
|
|
183
|
-
def test_catalogs_are_set_during_initialization_if_present_on_the_transobject
|
184
|
-
trans = Puppet::TransObject.new("/path/to/some/file", :file)
|
185
|
-
trans.catalog = :my_config
|
186
|
-
resource = trans.to_type
|
187
|
-
assert_equal(resource.catalog, trans.catalog, "Did not set catalog on initialization")
|
188
|
-
end
|
189
|
-
|
190
|
-
# Verify that requirements don't depend on file order
|
191
|
-
def test_prereqorder
|
192
|
-
one = tempfile()
|
193
|
-
two = tempfile()
|
194
|
-
|
195
|
-
twoobj = nil
|
196
|
-
oneobj = nil
|
197
|
-
assert_nothing_raised("Could not create prereq that doesn't exist yet") {
|
198
|
-
twoobj = Puppet.type(:file).create(
|
199
|
-
:name => two,
|
200
|
-
:require => [:file, one]
|
201
|
-
)
|
202
|
-
}
|
203
|
-
|
204
|
-
assert_nothing_raised {
|
205
|
-
oneobj = Puppet.type(:file).create(
|
206
|
-
:name => one
|
207
|
-
)
|
208
|
-
}
|
209
|
-
|
210
|
-
comp = mk_catalog(twoobj, oneobj)
|
211
|
-
|
212
|
-
assert_nothing_raised {
|
213
|
-
comp.finalize
|
214
|
-
}
|
215
|
-
|
216
|
-
|
217
|
-
assert(twoobj.requires?(oneobj), "Requirement was not created")
|
218
|
-
end
|
219
|
-
|
220
|
-
# Verify that names are aliases, not equivalents
|
221
|
-
def test_nameasalias
|
222
|
-
file = nil
|
223
|
-
# Create the parent dir, so we make sure autorequiring the parent dir works
|
224
|
-
parentdir = tempfile()
|
225
|
-
dir = Puppet.type(:file).create(
|
226
|
-
:name => parentdir,
|
227
|
-
:ensure => "directory"
|
228
|
-
)
|
229
|
-
assert_apply(dir)
|
230
|
-
path = File.join(parentdir, "subdir")
|
231
|
-
name = "a test file"
|
232
|
-
transport = Puppet::TransObject.new(name, "file")
|
233
|
-
transport[:path] = path
|
234
|
-
transport[:ensure] = "file"
|
235
|
-
assert_nothing_raised {
|
236
|
-
file = transport.to_type
|
237
|
-
}
|
238
|
-
|
239
|
-
assert_equal(path, file[:path])
|
240
|
-
assert_equal(name, file.title)
|
241
|
-
|
242
|
-
assert_nothing_raised {
|
243
|
-
file.retrieve
|
244
|
-
}
|
245
|
-
|
246
|
-
assert_apply(file)
|
247
|
-
|
248
|
-
assert(Puppet.type(:file)[name], "Could not look up object by name")
|
249
|
-
end
|
250
|
-
|
251
140
|
def test_ensuredefault
|
252
141
|
user = nil
|
253
142
|
assert_nothing_raised {
|
254
|
-
user = Puppet.type(:user).
|
143
|
+
user = Puppet::Type.type(:user).new(
|
255
144
|
:name => "pptestAA",
|
256
145
|
:check => [:uid]
|
257
146
|
)
|
@@ -261,7 +150,7 @@ class TestType < Test::Unit::TestCase
|
|
261
150
|
assert(! user.property(:ensure), "User got an ensure property")
|
262
151
|
|
263
152
|
assert_nothing_raised {
|
264
|
-
user = Puppet.type(:user).
|
153
|
+
user = Puppet::Type.type(:user).new(
|
265
154
|
:name => "pptestAB",
|
266
155
|
:comment => "Testingness"
|
267
156
|
)
|
@@ -270,7 +159,7 @@ class TestType < Test::Unit::TestCase
|
|
270
159
|
assert(user.property(:ensure), "User did not add ensure property")
|
271
160
|
|
272
161
|
assert_nothing_raised {
|
273
|
-
user = Puppet.type(:user).
|
162
|
+
user = Puppet::Type.type(:user).new(
|
274
163
|
:name => "pptestBC",
|
275
164
|
:comment => "A fake user"
|
276
165
|
)
|
@@ -386,41 +275,10 @@ class TestType < Test::Unit::TestCase
|
|
386
275
|
assert_equal(:yayness, ret)
|
387
276
|
end
|
388
277
|
|
389
|
-
def test_name_vs_title
|
390
|
-
path = tempfile()
|
391
|
-
|
392
|
-
trans = nil
|
393
|
-
|
394
|
-
assert_nothing_raised {
|
395
|
-
trans = Puppet::TransObject.new(path, :file)
|
396
|
-
}
|
397
|
-
|
398
|
-
file = nil
|
399
|
-
assert_nothing_raised {
|
400
|
-
file = Puppet::Type.newfile(trans)
|
401
|
-
}
|
402
|
-
|
403
|
-
assert(file.respond_to?(:title),
|
404
|
-
"No 'title' method")
|
405
|
-
|
406
|
-
assert(file.respond_to?(:name),
|
407
|
-
"No 'name' method")
|
408
|
-
|
409
|
-
assert_equal(file.title, file.name,
|
410
|
-
"Name and title were not marked equal")
|
411
|
-
|
412
|
-
assert_nothing_raised {
|
413
|
-
file.title = "My file"
|
414
|
-
}
|
415
|
-
|
416
|
-
assert_equal("My file", file.title)
|
417
|
-
assert_equal(path, file.name)
|
418
|
-
end
|
419
|
-
|
420
278
|
# Make sure the title is sufficiently differentiated from the namevar.
|
421
279
|
def test_title_at_creation_with_hash
|
422
280
|
file = nil
|
423
|
-
fileclass = Puppet::Type.type(:file)
|
281
|
+
fileclass = Puppet::Type.type(:file)
|
424
282
|
|
425
283
|
path = tempfile()
|
426
284
|
assert_nothing_raised do
|
@@ -434,7 +292,6 @@ class TestType < Test::Unit::TestCase
|
|
434
292
|
assert_equal(path, file[:name], "Did not get correct name")
|
435
293
|
|
436
294
|
file = nil
|
437
|
-
Puppet::Type.type(:file).clear
|
438
295
|
|
439
296
|
# Now make sure we can specify both and still get the right answers
|
440
297
|
assert_nothing_raised do
|
@@ -450,183 +307,56 @@ class TestType < Test::Unit::TestCase
|
|
450
307
|
assert_equal(path, file[:name], "Did not get correct name")
|
451
308
|
end
|
452
309
|
|
453
|
-
# Make sure the "create" class method behaves appropriately.
|
454
|
-
def test_class_create
|
455
|
-
title = "Myfile"
|
456
|
-
validate = proc do |element|
|
457
|
-
assert(element, "Did not create file")
|
458
|
-
assert_instance_of(Puppet::Type.type(:file), element)
|
459
|
-
assert_equal(title, element.title, "Title is not correct")
|
460
|
-
end
|
461
|
-
type = :file
|
462
|
-
args = {:path => tempfile(), :owner => "root"}
|
463
|
-
|
464
|
-
trans = Puppet::TransObject.new(title, type)
|
465
|
-
args.each do |name, val| trans[name] = val end
|
466
|
-
|
467
|
-
# First call it on the appropriate typeclass
|
468
|
-
obj = nil
|
469
|
-
assert_nothing_raised do
|
470
|
-
obj = Puppet::Type.type(:file).create(trans)
|
471
|
-
end
|
472
|
-
|
473
|
-
validate.call(obj)
|
474
|
-
|
475
|
-
# Now try it using the class method on Type
|
476
|
-
oldid = obj.object_id
|
477
|
-
obj = nil
|
478
|
-
Puppet::Type.type(:file).clear
|
479
|
-
|
480
|
-
assert_nothing_raised {
|
481
|
-
obj = Puppet::Type.create(trans)
|
482
|
-
}
|
483
|
-
|
484
|
-
validate.call(obj)
|
485
|
-
assert(oldid != obj.object_id, "Got same object back")
|
486
|
-
|
487
|
-
# Now try the same things with hashes instead of a transobject
|
488
|
-
oldid = obj.object_id
|
489
|
-
obj = nil
|
490
|
-
Puppet::Type.type(:file).clear
|
491
|
-
hash = {
|
492
|
-
:type => :file,
|
493
|
-
:title => "Myfile",
|
494
|
-
:path => tempfile(),
|
495
|
-
:owner => "root"
|
496
|
-
}
|
497
|
-
|
498
|
-
# First call it on the appropriate typeclass
|
499
|
-
obj = nil
|
500
|
-
assert_nothing_raised do
|
501
|
-
obj = Puppet::Type.type(:file).create(hash)
|
502
|
-
end
|
503
|
-
|
504
|
-
validate.call(obj)
|
505
|
-
assert_equal(:file, obj.should(:type),
|
506
|
-
"Type param did not pass through")
|
507
|
-
|
508
|
-
assert(oldid != obj.object_id, "Got same object back")
|
509
|
-
|
510
|
-
# Now try it using the class method on Type
|
511
|
-
oldid = obj.object_id
|
512
|
-
obj = nil
|
513
|
-
Puppet::Type.type(:file).clear
|
514
|
-
|
515
|
-
assert_nothing_raised {
|
516
|
-
obj = Puppet::Type.create(hash)
|
517
|
-
}
|
518
|
-
|
519
|
-
validate.call(obj)
|
520
|
-
assert(oldid != obj.object_id, "Got same object back")
|
521
|
-
assert_nil(obj.should(:type),
|
522
|
-
"Type param passed through")
|
523
|
-
end
|
524
|
-
|
525
|
-
def test_multiplenames
|
526
|
-
obj = nil
|
527
|
-
path = tempfile()
|
528
|
-
assert_raise ArgumentError do
|
529
|
-
obj = Puppet::Type.type(:file).create(
|
530
|
-
:name => path,
|
531
|
-
:path => path
|
532
|
-
)
|
533
|
-
end
|
534
|
-
end
|
535
|
-
|
536
|
-
def test_title_and_name
|
537
|
-
obj = nil
|
538
|
-
path = tempfile()
|
539
|
-
fileobj = Puppet::Type.type(:file)
|
540
|
-
|
541
|
-
assert_nothing_raised do
|
542
|
-
obj = fileobj.create(
|
543
|
-
:title => "myfile",
|
544
|
-
:path => path
|
545
|
-
)
|
546
|
-
end
|
547
|
-
|
548
|
-
assert_equal(obj, fileobj["myfile"],
|
549
|
-
"Could not retrieve obj by title")
|
550
|
-
|
551
|
-
assert_equal(obj, fileobj[path],
|
552
|
-
"Could not retrieve obj by name")
|
553
|
-
end
|
554
|
-
|
555
|
-
# Make sure default providers behave correctly
|
556
|
-
def test_defaultproviders
|
557
|
-
# Make a fake type
|
558
|
-
type = Puppet::Type.newtype(:defaultprovidertest) do
|
559
|
-
newparam(:name) do end
|
560
|
-
end
|
561
|
-
|
562
|
-
basic = type.provide(:basic) do
|
563
|
-
defaultfor :operatingsystem => :somethingelse,
|
564
|
-
:operatingsystemrelease => :yayness
|
565
|
-
end
|
566
|
-
|
567
|
-
assert_equal(basic, type.defaultprovider)
|
568
|
-
type.defaultprovider = nil
|
569
|
-
|
570
|
-
greater = type.provide(:greater) do
|
571
|
-
defaultfor :operatingsystem => Facter.value("operatingsystem")
|
572
|
-
end
|
573
|
-
|
574
|
-
assert_equal(greater, type.defaultprovider)
|
575
|
-
end
|
576
|
-
|
577
310
|
# Make sure that we can have multiple non-isomorphic objects with the same name,
|
578
311
|
# but not with isomorphic objects.
|
579
312
|
def test_isomorphic_names
|
313
|
+
catalog = mk_catalog
|
580
314
|
# First do execs, since they're not isomorphic.
|
581
315
|
echo = Puppet::Util.binary "echo"
|
582
316
|
exec1 = exec2 = nil
|
583
317
|
assert_nothing_raised do
|
584
|
-
exec1 = Puppet::Type.type(:exec).
|
318
|
+
exec1 = Puppet::Type.type(:exec).new(
|
585
319
|
:title => "exec1",
|
586
320
|
:command => "#{echo} funtest"
|
587
321
|
)
|
588
322
|
end
|
323
|
+
catalog.add_resource(exec1)
|
589
324
|
assert_nothing_raised do
|
590
|
-
exec2 = Puppet::Type.type(:exec).
|
325
|
+
exec2 = Puppet::Type.type(:exec).new(
|
591
326
|
:title => "exec2",
|
592
327
|
:command => "#{echo} funtest"
|
593
328
|
)
|
594
329
|
end
|
595
|
-
|
596
|
-
assert_apply(exec1, exec2)
|
330
|
+
catalog.add_resource(exec2)
|
597
331
|
|
598
332
|
# Now do files, since they are. This should fail.
|
599
333
|
file1 = file2 = nil
|
600
334
|
path = tempfile()
|
601
|
-
|
602
|
-
|
603
|
-
|
604
|
-
|
605
|
-
|
606
|
-
|
607
|
-
end
|
608
|
-
|
609
|
-
# This will fail, but earlier systems will catch it.
|
610
|
-
assert_raise(Puppet::Error) do
|
611
|
-
file2 = Puppet::Type.type(:file).create(
|
612
|
-
:title => "file2",
|
613
|
-
:path => path,
|
614
|
-
:content => "rahness"
|
615
|
-
)
|
616
|
-
end
|
335
|
+
file1 = Puppet::Type.type(:file).new(
|
336
|
+
:title => "file1",
|
337
|
+
:path => path,
|
338
|
+
:content => "yayness"
|
339
|
+
)
|
340
|
+
catalog.add_resource(file1)
|
617
341
|
|
618
|
-
|
619
|
-
|
342
|
+
file2 = Puppet::Type.type(:file).new(
|
343
|
+
:title => "file2",
|
344
|
+
:path => path,
|
345
|
+
:content => "rahness"
|
346
|
+
)
|
347
|
+
assert_raise(ArgumentError) { catalog.add_resource(file2) }
|
620
348
|
end
|
621
349
|
|
622
350
|
def test_tags
|
623
|
-
obj = Puppet::Type.type(:file).
|
351
|
+
obj = Puppet::Type.type(:file).new(:path => tempfile())
|
624
352
|
|
625
|
-
tags = [
|
353
|
+
tags = ["some", "test", "tags"]
|
626
354
|
|
627
355
|
obj.tags = tags
|
628
356
|
|
629
|
-
|
357
|
+
# tags can be stored in an unordered set, so we sort
|
358
|
+
# them for the assert_equal to work
|
359
|
+
assert_equal((tags << "file").sort, obj.tags.sort)
|
630
360
|
end
|
631
361
|
|
632
362
|
def disabled_test_list
|
@@ -654,20 +384,6 @@ class TestType < Test::Unit::TestCase
|
|
654
384
|
end
|
655
385
|
end
|
656
386
|
|
657
|
-
# Make sure that classes behave like hashes.
|
658
|
-
def test_class_hash_behaviour
|
659
|
-
path = tempfile()
|
660
|
-
|
661
|
-
filetype = Puppet::Type.type(:file)
|
662
|
-
one = Puppet::Type.newfile :path => path
|
663
|
-
|
664
|
-
assert_equal(one, filetype[path], "Did not get file back")
|
665
|
-
|
666
|
-
assert_raise(Puppet::Error) do
|
667
|
-
filetype[path] = one
|
668
|
-
end
|
669
|
-
end
|
670
|
-
|
671
387
|
def test_ref
|
672
388
|
path = tempfile()
|
673
389
|
Puppet::Type.type(:exec) # uggh, the methods need to load the types
|
@@ -677,7 +393,7 @@ class TestType < Test::Unit::TestCase
|
|
677
393
|
exec = Puppet::Type.newexec(:title => "yay", :command => "/bin/echo yay")
|
678
394
|
assert_equal("Exec[yay]", exec.ref)
|
679
395
|
end
|
680
|
-
|
396
|
+
|
681
397
|
def test_path
|
682
398
|
config = mk_catalog
|
683
399
|
|
@@ -685,7 +401,7 @@ class TestType < Test::Unit::TestCase
|
|
685
401
|
type = Puppet::Type.type(:exec)
|
686
402
|
mk = Proc.new do |i, hash|
|
687
403
|
hash[:title] = "exec%s" % i
|
688
|
-
hash[:command] = "/bin/echo"
|
404
|
+
hash[:command] = "/bin/echo %s" % i
|
689
405
|
if parent = hash[:parent]
|
690
406
|
hash.delete(:parent)
|
691
407
|
end
|
@@ -696,33 +412,33 @@ class TestType < Test::Unit::TestCase
|
|
696
412
|
end
|
697
413
|
res
|
698
414
|
end
|
699
|
-
|
415
|
+
|
700
416
|
exec = mk.call(1, {})
|
701
|
-
|
417
|
+
|
702
418
|
assert_equal("/Exec[exec1]", exec.path)
|
703
|
-
|
419
|
+
|
704
420
|
comp = Puppet::Type.newcomponent :title => "My[component]", :type => "Yay"
|
705
421
|
config.add_resource comp
|
706
|
-
|
422
|
+
|
707
423
|
exec = mk.call(2, :parent => comp)
|
708
|
-
|
424
|
+
|
709
425
|
assert_equal("/My[component]/Exec[exec2]", exec.path)
|
710
|
-
|
426
|
+
|
711
427
|
comp = Puppet::Type.newcomponent :name => "Other[thing]"
|
712
428
|
config.add_resource comp
|
713
429
|
exec = mk.call(3, :parent => comp)
|
714
430
|
assert_equal("/Other[thing]/Exec[exec3]", exec.path)
|
715
|
-
|
431
|
+
|
716
432
|
comp = Puppet::Type.newcomponent :type => "server", :name => "server"
|
717
433
|
config.add_resource comp
|
718
434
|
exec = mk.call(4, :parent => comp)
|
719
435
|
assert_equal("/server/Exec[exec4]", exec.path)
|
720
|
-
|
436
|
+
|
721
437
|
comp = Puppet::Type.newcomponent :type => "whatever", :name => "class[main]"
|
722
438
|
config.add_resource comp
|
723
439
|
exec = mk.call(5, :parent => comp)
|
724
440
|
assert_equal("//Exec[exec5]", exec.path)
|
725
|
-
|
441
|
+
|
726
442
|
newcomp = Puppet::Type.newcomponent :type => "yay", :name => "Good[bad]"
|
727
443
|
config.add_resource newcomp
|
728
444
|
config.add_edge comp, newcomp
|
@@ -730,56 +446,45 @@ class TestType < Test::Unit::TestCase
|
|
730
446
|
assert_equal("//Good[bad]/Exec[exec6]", exec.path)
|
731
447
|
end
|
732
448
|
|
733
|
-
def test_evaluate
|
734
|
-
faketype = Puppet::Type.newtype(:faketype) do
|
735
|
-
newparam(:name) {}
|
736
|
-
end
|
737
|
-
cleanup { Puppet::Type.rmtype(:faketype) }
|
738
|
-
faketype.provide(:fake) do
|
739
|
-
end
|
740
|
-
|
741
|
-
obj = faketype.create :name => "yayness", :provider => :fake
|
742
|
-
assert(obj, "did not create object")
|
743
|
-
|
744
|
-
obj.expects(:retrieve)
|
745
|
-
obj.expects(:propertychanges).returns([])
|
746
|
-
obj.expects(:cache)
|
747
|
-
|
748
|
-
obj.evaluate
|
749
|
-
end
|
750
|
-
|
751
449
|
# Partially test #704, but also cover the rest of the schedule management bases.
|
752
450
|
def test_schedule
|
753
|
-
Puppet::Type.type(:schedule).
|
451
|
+
schedule = Puppet::Type.type(:schedule).new(:name => "maint")
|
452
|
+
catalog = mk_catalog(schedule)
|
754
453
|
|
755
454
|
{"maint" => true, nil => false, :fail => :fail}.each do |name, should|
|
756
455
|
args = {:name => tempfile, :ensure => :file}
|
757
456
|
if name
|
758
457
|
args[:schedule] = name
|
759
458
|
end
|
760
|
-
resource = Puppet::Type.type(:file).
|
459
|
+
resource = Puppet::Type.type(:file).new(args)
|
460
|
+
catalog.add_resource(resource)
|
761
461
|
|
762
462
|
if should == :fail
|
763
463
|
assert_raise(Puppet::Error, "Did not fail on missing schedule") do
|
764
464
|
resource.schedule
|
765
465
|
end
|
466
|
+
elsif should == false
|
467
|
+
assert_nil(resource.schedule, "Set the schedule tho it is set to nil")
|
766
468
|
else
|
767
469
|
sched = nil
|
768
470
|
assert_nothing_raised("Failed when schedule was %s" % sched) do
|
769
471
|
sched = resource.schedule
|
770
472
|
end
|
771
473
|
|
474
|
+
assert(sched, "Did not find schedule %s" % sched.inspect)
|
475
|
+
|
772
476
|
if should
|
773
477
|
assert_equal(name, sched.name, "did not get correct schedule back")
|
774
478
|
end
|
775
479
|
end
|
480
|
+
catalog.remove_resource(resource)
|
776
481
|
end
|
777
482
|
end
|
778
483
|
|
779
484
|
# #801 -- resources only checked in noop should be rescheduled immediately.
|
780
485
|
def test_reschedule_when_noop
|
781
486
|
Puppet::Type.type(:schedule).mkdefaultschedules
|
782
|
-
file = Puppet::Type.type(:file).
|
487
|
+
file = Puppet::Type.type(:file).new(:path => "/tmp/whatever", :mode => "755", :noop => true, :schedule => :daily, :ensure => :file)
|
783
488
|
|
784
489
|
assert(file.noop?, "File not considered in noop")
|
785
490
|
assert(file.scheduled?, "File is not considered scheduled")
|