puppet 0.18.4 → 0.22.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CHANGELOG +288 -0
- data/README +2 -2
- data/Rakefile +78 -5
- data/bin/puppet +28 -36
- data/bin/puppetca +81 -38
- data/bin/puppetd +65 -62
- data/bin/puppetdoc +409 -140
- data/bin/puppetmasterd +59 -47
- data/bin/puppetrun +38 -23
- data/conf/freebsd/puppetd +26 -0
- data/conf/freebsd/puppetmasterd +26 -0
- data/conf/gentoo/conf.d/puppet +5 -0
- data/conf/gentoo/conf.d/puppetmaster +12 -0
- data/conf/gentoo/init.d/puppet +38 -0
- data/conf/gentoo/init.d/puppetmaster +50 -0
- data/conf/gentoo/puppet/fileserver.conf +12 -0
- data/conf/gentoo/puppet/puppetca.conf +29 -0
- data/conf/gentoo/puppet/puppetd.conf +29 -0
- data/conf/gentoo/puppet/puppetmasterd.conf +29 -0
- data/conf/redhat/client.init +10 -5
- data/conf/redhat/client.sysconfig +1 -1
- data/conf/redhat/fileserver.conf +2 -2
- data/conf/redhat/logrotate +1 -1
- data/conf/redhat/no-lockdir.patch +13 -0
- data/conf/redhat/puppet.spec +65 -8
- data/conf/redhat/puppetd.conf +0 -4
- data/conf/redhat/server.init +3 -6
- data/conf/solaris/pkginfo +1 -1
- data/conf/solaris/smf/svc-puppetd +2 -2
- data/conf/suse/client.init +142 -0
- data/conf/suse/puppet.spec +221 -0
- data/conf/suse/server.init +162 -0
- data/examples/code/mac_automount.pp +16 -0
- data/examples/root/bin/sleeper +3 -5
- data/examples/root/etc/init.d/sleeper +8 -2
- data/examples/root/etc/puppet/fileserver.conf +12 -2
- data/examples/root/etc/puppet/namespaceauth.conf +20 -0
- data/examples/root/etc/puppet/puppetd.conf +4 -0
- data/examples/root/etc/puppet/puppetmasterd.conf +6 -9
- data/examples/root/etc/puppet/tagmail.conf +1 -0
- data/ext/emacs/puppet-mode.el +46 -1
- data/ext/logcheck/puppet +15 -0
- data/ext/module_puppet +15 -23
- data/ext/vim/puppet.vim +4 -2
- data/install.rb +2 -1
- data/lib/puppet.rb +76 -207
- data/lib/puppet/configuration.rb +331 -0
- data/lib/puppet/daemon.rb +63 -246
- data/lib/puppet/dsl.rb +371 -0
- data/lib/puppet/element.rb +8 -26
- data/lib/puppet/error.rb +54 -0
- data/lib/puppet/event.rb +8 -243
- data/lib/puppet/{base64.rb → external/base64.rb} +0 -0
- data/lib/puppet/external/event-loop.rb +1 -0
- data/lib/puppet/{event-loop → external/event-loop}/better-definers.rb +0 -0
- data/lib/puppet/{event-loop → external/event-loop}/event-loop.rb +2 -2
- data/lib/puppet/{event-loop → external/event-loop}/signal-system.rb +1 -1
- data/lib/puppet/external/gratr.rb +33 -0
- data/lib/puppet/external/gratr/adjacency_graph.rb +257 -0
- data/lib/puppet/external/gratr/base.rb +34 -0
- data/lib/puppet/external/gratr/biconnected.rb +116 -0
- data/lib/puppet/external/gratr/chinese_postman.rb +123 -0
- data/lib/puppet/external/gratr/common.rb +73 -0
- data/lib/puppet/external/gratr/comparability.rb +92 -0
- data/lib/puppet/external/gratr/digraph.rb +116 -0
- data/lib/puppet/external/gratr/digraph_distance.rb +185 -0
- data/lib/puppet/external/gratr/dot.rb +90 -0
- data/lib/puppet/external/gratr/edge.rb +145 -0
- data/lib/puppet/external/gratr/graph.rb +303 -0
- data/lib/puppet/external/gratr/graph_api.rb +83 -0
- data/lib/puppet/external/gratr/import.rb +44 -0
- data/lib/puppet/external/gratr/labels.rb +90 -0
- data/lib/puppet/external/gratr/maximum_flow.rb +64 -0
- data/lib/puppet/external/gratr/rdot.rb +327 -0
- data/lib/puppet/external/gratr/search.rb +409 -0
- data/lib/puppet/external/gratr/strong_components.rb +127 -0
- data/lib/puppet/external/gratr/undirected_graph.rb +153 -0
- data/lib/puppet/{lock.rb → external/lock.rb} +1 -1
- data/lib/puppet/feature/base.rb +20 -0
- data/lib/puppet/feature/rails.rb +52 -0
- data/lib/puppet/metatype/attributes.rb +719 -0
- data/lib/puppet/metatype/closure.rb +111 -0
- data/lib/puppet/metatype/container.rb +94 -0
- data/lib/puppet/metatype/evaluation.rb +118 -0
- data/lib/puppet/metatype/instances.rb +261 -0
- data/lib/puppet/metatype/manager.rb +169 -0
- data/lib/puppet/metatype/metaparams.rb +409 -0
- data/lib/puppet/metatype/providers.rb +260 -0
- data/lib/puppet/metatype/relationships.rb +116 -0
- data/lib/puppet/metatype/schedules.rb +39 -0
- data/lib/puppet/metatype/tags.rb +39 -0
- data/lib/puppet/modules.rb +113 -0
- data/lib/puppet/network/authconfig.rb +168 -0
- data/lib/puppet/network/authorization.rb +84 -0
- data/lib/puppet/network/authstore.rb +293 -0
- data/lib/puppet/network/client.rb +187 -0
- data/lib/puppet/network/client/ca.rb +56 -0
- data/lib/puppet/network/client/dipper.rb +81 -0
- data/lib/puppet/network/client/file.rb +7 -0
- data/lib/puppet/network/client/logger.rb +6 -0
- data/lib/puppet/network/client/master.rb +644 -0
- data/lib/puppet/{client → network/client}/proxy.rb +3 -3
- data/lib/puppet/{client/reporter.rb → network/client/report.rb} +4 -7
- data/lib/puppet/{client/pelement.rb → network/client/resource.rb} +6 -19
- data/lib/puppet/network/client/runner.rb +13 -0
- data/lib/puppet/network/client/status.rb +5 -0
- data/lib/puppet/network/client_request.rb +32 -0
- data/lib/puppet/network/handler.rb +33 -0
- data/lib/puppet/{server → network/handler}/ca.rb +5 -6
- data/lib/puppet/network/handler/filebucket.rb +180 -0
- data/lib/puppet/{server → network/handler}/fileserver.rb +277 -219
- data/lib/puppet/{server → network/handler}/logger.rb +3 -5
- data/lib/puppet/{server → network/handler}/master.rb +42 -8
- data/lib/puppet/network/handler/report.rb +158 -0
- data/lib/puppet/network/handler/resource.rb +190 -0
- data/lib/puppet/{server → network/handler}/runner.rb +17 -18
- data/lib/puppet/network/handler/status.rb +13 -0
- data/lib/puppet/network/rights.rb +74 -0
- data/lib/puppet/network/server.rb +5 -0
- data/lib/puppet/network/server/mongrel.rb +138 -0
- data/lib/puppet/network/server/webrick.rb +153 -0
- data/lib/puppet/network/xmlrpc/client.rb +129 -0
- data/lib/puppet/network/xmlrpc/processor.rb +91 -0
- data/lib/puppet/network/xmlrpc/server.rb +20 -0
- data/lib/puppet/network/xmlrpc/webrick_servlet.rb +121 -0
- data/lib/puppet/parameter.rb +390 -346
- data/lib/puppet/parser/ast.rb +116 -147
- data/lib/puppet/parser/ast/astarray.rb +17 -33
- data/lib/puppet/parser/ast/branch.rb +2 -0
- data/lib/puppet/parser/ast/caseopt.rb +7 -12
- data/lib/puppet/parser/ast/casestatement.rb +23 -32
- data/lib/puppet/parser/ast/collection.rb +19 -80
- data/lib/puppet/parser/ast/collexpr.rb +81 -0
- data/lib/puppet/parser/ast/component.rb +160 -89
- data/lib/puppet/parser/ast/else.rb +30 -0
- data/lib/puppet/parser/ast/function.rb +9 -2
- data/lib/puppet/parser/ast/hostclass.rb +47 -131
- data/lib/puppet/parser/ast/ifstatement.rb +43 -0
- data/lib/puppet/parser/ast/leaf.rb +10 -21
- data/lib/puppet/parser/ast/node.rb +32 -79
- data/lib/puppet/parser/ast/resourcedef.rb +222 -0
- data/lib/puppet/parser/ast/{typedefaults.rb → resourcedefaults.rb} +10 -16
- data/lib/puppet/parser/ast/resourceoverride.rb +62 -0
- data/lib/puppet/parser/ast/{objectparam.rb → resourceparam.rb} +12 -6
- data/lib/puppet/parser/ast/resourceref.rb +44 -0
- data/lib/puppet/parser/ast/selector.rb +16 -8
- data/lib/puppet/parser/ast/tag.rb +3 -1
- data/lib/puppet/parser/ast/vardef.rb +8 -12
- data/lib/puppet/parser/collector.rb +181 -0
- data/lib/puppet/parser/functions.rb +191 -36
- data/lib/puppet/parser/interpreter.rb +802 -380
- data/lib/puppet/parser/lexer.rb +86 -19
- data/lib/puppet/parser/parser.rb +1123 -960
- data/lib/puppet/parser/resource.rb +353 -0
- data/lib/puppet/parser/resource/param.rb +57 -0
- data/lib/puppet/parser/resource/reference.rb +71 -0
- data/lib/puppet/parser/scope.rb +573 -1000
- data/lib/puppet/parser/templatewrapper.rb +54 -0
- data/lib/puppet/pgraph.rb +208 -0
- data/lib/puppet/propertychange.rb +143 -0
- data/lib/puppet/provider.rb +302 -0
- data/lib/puppet/provider/cron/crontab.rb +187 -0
- data/lib/puppet/provider/group/groupadd.rb +29 -0
- data/lib/puppet/provider/group/netinfo.rb +12 -0
- data/lib/puppet/provider/group/pw.rb +31 -0
- data/lib/puppet/provider/host/netinfo.rb +18 -0
- data/lib/puppet/provider/host/parsed.rb +73 -0
- data/lib/puppet/provider/mount.rb +57 -0
- data/lib/puppet/provider/mount/netinfo.rb +38 -0
- data/lib/puppet/provider/mount/parsed.rb +37 -0
- data/lib/puppet/provider/nameservice.rb +344 -0
- data/lib/puppet/provider/nameservice/netinfo.rb +210 -0
- data/lib/puppet/provider/nameservice/objectadd.rb +45 -0
- data/lib/puppet/provider/nameservice/pw.rb +22 -0
- data/lib/puppet/provider/package/apple.rb +53 -0
- data/lib/puppet/provider/package/apt.rb +119 -0
- data/lib/puppet/provider/package/aptitude.rb +30 -0
- data/lib/puppet/provider/package/aptrpm.rb +79 -0
- data/lib/puppet/provider/package/blastwave.rb +114 -0
- data/lib/puppet/provider/package/darwinport.rb +88 -0
- data/lib/puppet/provider/package/dpkg.rb +109 -0
- data/lib/puppet/provider/package/freebsd.rb +43 -0
- data/lib/puppet/provider/package/gem.rb +104 -0
- data/lib/puppet/provider/package/openbsd.rb +93 -0
- data/lib/puppet/provider/package/pkgdmg.rb +119 -0
- data/lib/puppet/provider/package/portage.rb +112 -0
- data/lib/puppet/provider/package/ports.rb +94 -0
- data/lib/puppet/provider/package/rpm.rb +125 -0
- data/lib/puppet/provider/package/rug.rb +53 -0
- data/lib/puppet/provider/package/sun.rb +168 -0
- data/lib/puppet/provider/package/sunfreeware.rb +9 -0
- data/lib/puppet/provider/package/up2date.rb +45 -0
- data/lib/puppet/provider/package/yum.rb +54 -0
- data/lib/puppet/provider/parsedfile.rb +342 -0
- data/lib/puppet/provider/port/parsed.rb +174 -0
- data/lib/puppet/provider/service/base.rb +136 -0
- data/lib/puppet/provider/service/debian.rb +32 -0
- data/lib/puppet/provider/service/gentoo.rb +49 -0
- data/lib/puppet/{type → provider}/service/init.rb +42 -40
- data/lib/puppet/provider/service/redhat.rb +59 -0
- data/lib/puppet/{type → provider}/service/smf.rb +24 -13
- data/lib/puppet/provider/sshkey/parsed.rb +36 -0
- data/lib/puppet/provider/user/netinfo.rb +106 -0
- data/lib/puppet/provider/user/pw.rb +41 -0
- data/lib/puppet/provider/user/useradd.rb +67 -0
- data/lib/puppet/provider/zone/solaris.rb +208 -0
- data/lib/puppet/rails.rb +102 -66
- data/lib/puppet/rails/database/001_add_indexes.rb +38 -0
- data/lib/puppet/rails/database/schema.rb +89 -0
- data/lib/puppet/rails/external/tagging/acts_as_taggable.rb +62 -0
- data/lib/puppet/rails/external/tagging/init.rb +5 -0
- data/lib/puppet/rails/external/tagging/tag.rb +50 -0
- data/lib/puppet/rails/external/tagging/tagging.rb +12 -0
- data/lib/puppet/rails/fact_name.rb +7 -0
- data/lib/puppet/rails/fact_value.rb +5 -0
- data/lib/puppet/rails/host.rb +95 -46
- data/lib/puppet/rails/param_name.rb +28 -0
- data/lib/puppet/rails/param_value.rb +5 -0
- data/lib/puppet/rails/puppet_class.rb +9 -0
- data/lib/puppet/rails/resource.rb +95 -0
- data/lib/puppet/rails/source_file.rb +5 -0
- data/lib/puppet/relationship.rb +63 -0
- data/lib/puppet/reports/log.rb +14 -0
- data/lib/puppet/reports/rrdgraph.rb +114 -10
- data/lib/puppet/reports/store.rb +64 -0
- data/lib/puppet/reports/tagmail.rb +144 -71
- data/lib/puppet/sslcertificates.rb +38 -5
- data/lib/puppet/sslcertificates/ca.rb +142 -37
- data/lib/puppet/sslcertificates/certificate.rb +3 -3
- data/lib/puppet/sslcertificates/inventory.rb +53 -0
- data/lib/puppet/sslcertificates/support.rb +128 -0
- data/lib/puppet/transaction.rb +568 -189
- data/lib/puppet/transaction/report.rb +14 -3
- data/lib/puppet/transportable.rb +18 -10
- data/lib/puppet/type.rb +279 -2299
- data/lib/puppet/type/component.rb +63 -63
- data/lib/puppet/type/cron.rb +294 -710
- data/lib/puppet/type/exec.rb +185 -129
- data/lib/puppet/type/group.rb +38 -89
- data/lib/puppet/type/host.rb +110 -0
- data/lib/puppet/type/mount.rb +189 -0
- data/lib/puppet/type/notify.rb +47 -0
- data/lib/puppet/type/package.rb +129 -257
- data/lib/puppet/type/parsedtype.rb +172 -297
- data/lib/puppet/type/pfile.rb +540 -319
- data/lib/puppet/type/pfile/checksum.rb +103 -76
- data/lib/puppet/type/pfile/content.rb +16 -10
- data/lib/puppet/type/pfile/ensure.rb +52 -34
- data/lib/puppet/type/pfile/group.rb +25 -18
- data/lib/puppet/type/pfile/mode.rb +7 -4
- data/lib/puppet/type/pfile/{uid.rb → owner.rb} +21 -17
- data/lib/puppet/type/pfile/source.rb +119 -124
- data/lib/puppet/type/pfile/target.rb +29 -45
- data/lib/puppet/type/pfile/type.rb +2 -2
- data/lib/puppet/type/pfilebucket.rb +18 -14
- data/lib/puppet/type/port.rb +121 -0
- data/lib/puppet/type/property.rb +530 -0
- data/lib/puppet/type/resources.rb +150 -0
- data/lib/puppet/type/schedule.rb +38 -22
- data/lib/puppet/type/service.rb +70 -326
- data/lib/puppet/type/sshkey.rb +76 -0
- data/lib/puppet/type/tidy.rb +197 -97
- data/lib/puppet/type/user.rb +107 -183
- data/lib/puppet/type/yumrepo.rb +53 -34
- data/lib/puppet/type/zone.rb +55 -208
- data/lib/puppet/util.rb +239 -201
- data/lib/puppet/util/autoload.rb +107 -0
- data/lib/puppet/util/classgen.rb +208 -0
- data/lib/puppet/{config.rb → util/config.rb} +102 -54
- data/lib/puppet/util/docs.rb +104 -0
- data/lib/puppet/util/errors.rb +55 -0
- data/lib/puppet/util/execution.rb +22 -0
- data/lib/puppet/util/feature.rb +76 -0
- data/lib/puppet/util/fileparsing.rb +380 -0
- data/lib/puppet/util/filetype.rb +300 -0
- data/lib/puppet/util/graph.rb +39 -0
- data/lib/puppet/util/inifile.rb +209 -0
- data/lib/puppet/util/loadedfile.rb +71 -0
- data/lib/puppet/util/log.rb +549 -0
- data/lib/puppet/util/logging.rb +20 -0
- data/lib/puppet/util/metaid.rb +22 -0
- data/lib/puppet/util/methodhelper.rb +37 -0
- data/lib/puppet/util/metric.rb +160 -0
- data/lib/puppet/util/package.rb +31 -0
- data/lib/puppet/util/pidlock.rb +68 -0
- data/lib/puppet/util/plist.rb +24 -0
- data/lib/puppet/util/plist/generator.rb +226 -0
- data/lib/puppet/util/plist/parser.rb +227 -0
- data/lib/puppet/util/posix.rb +87 -0
- data/lib/puppet/util/provider_features.rb +170 -0
- data/lib/puppet/util/rails/collection_merger.rb +42 -0
- data/lib/puppet/util/storage.rb +103 -0
- data/lib/puppet/util/subclass_loader.rb +83 -0
- data/lib/puppet/util/suidmanager.rb +86 -0
- data/lib/puppet/util/variables.rb +39 -0
- data/lib/puppet/util/warnings.rb +15 -0
- data/test/Rakefile +97 -0
- data/test/certmgr/ca.rb +81 -0
- data/test/certmgr/certmgr.rb +77 -50
- data/test/certmgr/inventory.rb +79 -0
- data/test/certmgr/support.rb +81 -0
- data/test/executables/filebucket.rb +49 -0
- data/test/executables/puppetbin.rb +28 -12
- data/test/executables/puppetca.rb +75 -54
- data/test/executables/puppetd.rb +10 -13
- data/test/executables/puppetmasterd.rb +12 -17
- data/test/executables/puppetmodule.rb +18 -17
- data/test/language/ast.rb +242 -798
- data/test/language/ast/casestatement.rb +104 -0
- data/test/language/ast/component.rb +133 -0
- data/test/language/ast/hostclass.rb +162 -0
- data/test/language/ast/selector.rb +62 -0
- data/test/language/ast/variable.rb +31 -0
- data/test/language/collector.rb +369 -0
- data/test/language/functions.rb +305 -18
- data/test/language/interpreter.rb +894 -125
- data/test/language/lexer.rb +98 -12
- data/test/language/node.rb +37 -53
- data/test/language/parser.rb +455 -148
- data/test/language/resource.rb +535 -0
- data/test/language/scope.rb +451 -561
- data/test/language/snippets.rb +101 -111
- data/test/language/transportable.rb +6 -8
- data/test/lib/mocha.rb +19 -0
- data/test/lib/mocha/any_instance_method.rb +35 -0
- data/test/lib/mocha/auto_verify.rb +113 -0
- data/test/lib/mocha/central.rb +35 -0
- data/test/lib/mocha/class_method.rb +62 -0
- data/test/lib/mocha/expectation.rb +295 -0
- data/test/lib/mocha/expectation_error.rb +6 -0
- data/test/lib/mocha/infinite_range.rb +27 -0
- data/test/lib/mocha/inspect.rb +37 -0
- data/test/lib/mocha/instance_method.rb +8 -0
- data/test/lib/mocha/metaclass.rb +7 -0
- data/test/lib/mocha/mock.rb +20 -0
- data/test/lib/mocha/mock_methods.rb +122 -0
- data/test/lib/mocha/object.rb +100 -0
- data/test/lib/mocha/pretty_parameters.rb +28 -0
- data/test/lib/mocha/setup_and_teardown.rb +23 -0
- data/test/lib/mocha/standalone.rb +30 -0
- data/test/lib/mocha/test_case_adapter.rb +49 -0
- data/test/lib/mocha_standalone.rb +2 -0
- data/test/lib/puppettest.rb +294 -0
- data/test/lib/puppettest/certificates.rb +61 -0
- data/test/lib/puppettest/exetest.rb +123 -0
- data/test/lib/puppettest/fakes.rb +194 -0
- data/test/lib/puppettest/fileparsing.rb +33 -0
- data/test/lib/puppettest/filetesting.rb +231 -0
- data/test/lib/puppettest/graph.rb +41 -0
- data/test/lib/puppettest/parsertesting.rb +392 -0
- data/test/lib/puppettest/railstesting.rb +56 -0
- data/test/lib/puppettest/reporttesting.rb +19 -0
- data/test/lib/puppettest/resourcetesting.rb +73 -0
- data/test/lib/puppettest/servertest.rb +72 -0
- data/test/lib/puppettest/support.rb +8 -0
- data/test/lib/puppettest/support/assertions.rb +101 -0
- data/test/lib/puppettest/support/helpers.rb +23 -0
- data/test/lib/puppettest/support/resources.rb +37 -0
- data/test/lib/puppettest/support/utils.rb +160 -0
- data/test/lib/puppettest/testcase.rb +48 -0
- data/test/lib/rake/puppet_test_loader.rb +17 -0
- data/test/lib/rake/puppet_testtask.rb +17 -0
- data/test/lib/spec.rb +8 -0
- data/test/lib/spec/callback.rb +11 -0
- data/test/lib/spec/callback/callback_container.rb +60 -0
- data/test/lib/spec/callback/extensions/module.rb +24 -0
- data/test/lib/spec/callback/extensions/object.rb +37 -0
- data/test/lib/spec/deprecated.rb +3 -0
- data/test/lib/spec/expectations.rb +59 -0
- data/test/lib/spec/expectations/differs/default.rb +62 -0
- data/test/lib/spec/expectations/errors.rb +6 -0
- data/test/lib/spec/expectations/extensions.rb +3 -0
- data/test/lib/spec/expectations/extensions/object.rb +109 -0
- data/test/lib/spec/expectations/extensions/proc.rb +57 -0
- data/test/lib/spec/expectations/extensions/string_and_symbol.rb +17 -0
- data/test/lib/spec/expectations/handler.rb +47 -0
- data/test/lib/spec/expectations/should.rb +5 -0
- data/test/lib/spec/expectations/should/base.rb +64 -0
- data/test/lib/spec/expectations/should/change.rb +69 -0
- data/test/lib/spec/expectations/should/have.rb +128 -0
- data/test/lib/spec/expectations/should/not.rb +74 -0
- data/test/lib/spec/expectations/should/should.rb +81 -0
- data/test/lib/spec/expectations/sugar.rb +47 -0
- data/test/lib/spec/matchers.rb +160 -0
- data/test/lib/spec/matchers/be.rb +161 -0
- data/test/lib/spec/matchers/be_close.rb +37 -0
- data/test/lib/spec/matchers/change.rb +120 -0
- data/test/lib/spec/matchers/eql.rb +43 -0
- data/test/lib/spec/matchers/equal.rb +43 -0
- data/test/lib/spec/matchers/has.rb +44 -0
- data/test/lib/spec/matchers/have.rb +140 -0
- data/test/lib/spec/matchers/include.rb +50 -0
- data/test/lib/spec/matchers/match.rb +41 -0
- data/test/lib/spec/matchers/raise_error.rb +100 -0
- data/test/lib/spec/matchers/respond_to.rb +35 -0
- data/test/lib/spec/matchers/satisfy.rb +47 -0
- data/test/lib/spec/matchers/throw_symbol.rb +75 -0
- data/test/lib/spec/mocks.rb +232 -0
- data/test/lib/spec/mocks/argument_expectation.rb +132 -0
- data/test/lib/spec/mocks/error_generator.rb +85 -0
- data/test/lib/spec/mocks/errors.rb +10 -0
- data/test/lib/spec/mocks/extensions/object.rb +3 -0
- data/test/lib/spec/mocks/message_expectation.rb +231 -0
- data/test/lib/spec/mocks/methods.rb +40 -0
- data/test/lib/spec/mocks/mock.rb +26 -0
- data/test/lib/spec/mocks/mock_handler.rb +166 -0
- data/test/lib/spec/mocks/order_group.rb +29 -0
- data/test/lib/spec/rake/spectask.rb +173 -0
- data/test/lib/spec/rake/verify_rcov.rb +47 -0
- data/test/lib/spec/runner.rb +132 -0
- data/test/lib/spec/runner/backtrace_tweaker.rb +55 -0
- data/test/lib/spec/runner/command_line.rb +34 -0
- data/test/lib/spec/runner/context.rb +154 -0
- data/test/lib/spec/runner/context_eval.rb +142 -0
- data/test/lib/spec/runner/context_runner.rb +55 -0
- data/test/lib/spec/runner/drb_command_line.rb +21 -0
- data/test/lib/spec/runner/execution_context.rb +17 -0
- data/test/lib/spec/runner/extensions/kernel.rb +17 -0
- data/test/lib/spec/runner/extensions/object.rb +32 -0
- data/test/lib/spec/runner/formatter.rb +5 -0
- data/test/lib/spec/runner/formatter/base_text_formatter.rb +118 -0
- data/test/lib/spec/runner/formatter/html_formatter.rb +219 -0
- data/test/lib/spec/runner/formatter/progress_bar_formatter.rb +27 -0
- data/test/lib/spec/runner/formatter/rdoc_formatter.rb +22 -0
- data/test/lib/spec/runner/formatter/specdoc_formatter.rb +23 -0
- data/test/lib/spec/runner/heckle_runner.rb +71 -0
- data/test/lib/spec/runner/heckle_runner_win.rb +10 -0
- data/test/lib/spec/runner/option_parser.rb +224 -0
- data/test/lib/spec/runner/reporter.rb +105 -0
- data/test/lib/spec/runner/spec_matcher.rb +25 -0
- data/test/lib/spec/runner/spec_parser.rb +41 -0
- data/test/lib/spec/runner/spec_should_raise_handler.rb +74 -0
- data/test/lib/spec/runner/specification.rb +114 -0
- data/test/lib/spec/translator.rb +87 -0
- data/test/lib/spec/version.rb +30 -0
- data/test/lib/stubba.rb +2 -0
- data/test/network/authconfig.rb +72 -0
- data/test/network/authorization.rb +138 -0
- data/test/network/authstore.rb +450 -0
- data/test/network/client/ca.rb +38 -0
- data/test/{client → network/client}/client.rb +107 -24
- data/test/network/client/dipper.rb +35 -0
- data/test/network/client/master.rb +627 -0
- data/test/{client/pelement.rb → network/client/resource.rb} +13 -29
- data/test/network/client_request.rb +39 -0
- data/test/network/daemon.rb +71 -0
- data/test/{server → network/handler}/bucket.rb +103 -27
- data/test/{server → network/handler}/ca.rb +14 -19
- data/test/{server → network/handler}/fileserver.rb +443 -68
- data/test/network/handler/handler.rb +64 -0
- data/test/{server → network/handler}/logger.rb +26 -26
- data/test/network/handler/master.rb +352 -0
- data/test/network/handler/report.rb +185 -0
- data/test/{server/pelement.rb → network/handler/resource.rb} +25 -38
- data/test/{server → network/handler}/runner.rb +17 -16
- data/test/network/rights.rb +38 -0
- data/test/network/server/webrick.rb +140 -0
- data/test/network/xmlrpc/client.rb +68 -0
- data/test/network/xmlrpc/processor.rb +80 -0
- data/test/network/xmlrpc/server.rb +28 -0
- data/test/network/xmlrpc/webrick_servlet.rb +26 -0
- data/test/other/dsl.rb +218 -0
- data/test/other/events.rb +22 -15
- data/test/other/overrides.rb +9 -14
- data/test/other/pgraph.rb +289 -0
- data/test/other/propertychange.rb +142 -0
- data/test/other/provider.rb +162 -0
- data/test/other/puppet.rb +63 -10
- data/test/other/relationship.rb +74 -0
- data/test/other/relationships.rb +199 -123
- data/test/other/report.rb +152 -23
- data/test/other/transactions.rb +824 -78
- data/test/puppet/conffiles.rb +16 -11
- data/test/puppet/defaults.rb +7 -10
- data/test/puppet/{error.rb → errortest.rb} +5 -8
- data/test/puppet/modules.rb +58 -0
- data/test/puppet/tc_suidmanager.rb +107 -0
- data/test/rails/host.rb +177 -0
- data/test/rails/rails.rb +27 -0
- data/test/rails/railsparameter.rb +62 -0
- data/test/rails/railsresource.rb +100 -0
- data/test/ral/manager/attributes.rb +296 -0
- data/test/ral/manager/manager.rb +55 -0
- data/test/ral/manager/provider.rb +54 -0
- data/test/ral/manager/type.rb +837 -0
- data/test/ral/providers/cron/crontab.rb +346 -0
- data/test/ral/providers/group.rb +252 -0
- data/test/ral/providers/host/netinfo.rb +58 -0
- data/test/ral/providers/host/parsed.rb +226 -0
- data/test/ral/providers/mount/netinfo.rb +80 -0
- data/test/ral/providers/mount/parsed.rb +223 -0
- data/test/ral/providers/nameservice.rb +33 -0
- data/test/ral/providers/package.rb +253 -0
- data/test/ral/providers/package/apt.rb +89 -0
- data/test/ral/providers/package/aptitude.rb +69 -0
- data/test/ral/providers/package/aptrpm.rb +89 -0
- data/test/ral/providers/package/dpkg.rb +64 -0
- data/test/ral/providers/parsedfile.rb +668 -0
- data/test/ral/providers/parsedport.rb +233 -0
- data/test/ral/providers/provider.rb +423 -0
- data/test/{types → ral/providers}/service.rb +20 -121
- data/test/ral/providers/service/base.rb +75 -0
- data/test/ral/providers/sshkey/parsed.rb +111 -0
- data/test/ral/providers/user.rb +567 -0
- data/test/ral/providers/user/useradd.rb +250 -0
- data/test/ral/types/basic.rb +90 -0
- data/test/ral/types/component.rb +113 -0
- data/test/ral/types/cron.rb +480 -0
- data/test/{types → ral/types}/exec.rb +278 -82
- data/test/ral/types/file.rb +1799 -0
- data/test/ral/types/file/target.rb +363 -0
- data/test/{types → ral/types}/filebucket.rb +15 -17
- data/test/{types → ral/types}/fileignoresource.rb +9 -15
- data/test/ral/types/filesources.rb +1046 -0
- data/test/ral/types/group.rb +169 -0
- data/test/ral/types/host.rb +155 -0
- data/test/ral/types/mount.rb +312 -0
- data/test/ral/types/package.rb +85 -0
- data/test/ral/types/parameter.rb +172 -0
- data/test/ral/types/port.rb +148 -0
- data/test/ral/types/property.rb +343 -0
- data/test/ral/types/resources.rb +221 -0
- data/test/{types → ral/types}/schedule.rb +34 -12
- data/test/ral/types/service.rb +37 -0
- data/test/{types → ral/types}/sshkey.rb +75 -65
- data/test/ral/types/tidy.rb +240 -0
- data/test/ral/types/user.rb +493 -0
- data/test/{types → ral/types}/yumrepo.rb +7 -11
- data/test/{types → ral/types}/zone.rb +45 -45
- data/test/tagging/tagging.rb +17 -26
- data/test/util/autoload.rb +130 -0
- data/test/util/classgen.rb +227 -0
- data/test/{other → util}/config.rb +373 -113
- data/test/util/execution.rb +34 -0
- data/test/util/features.rb +94 -0
- data/test/util/fileparsing.rb +677 -0
- data/test/{other → util}/filetype.rb +9 -12
- data/test/util/graph.rb +108 -0
- data/test/{other → util}/inifile.rb +24 -11
- data/test/util/loadedfile.rb +106 -0
- data/test/{other → util}/log.rb +96 -50
- data/test/{other → util}/metrics.rb +7 -17
- data/test/util/package.rb +27 -0
- data/test/util/pidlock.rb +126 -0
- data/test/util/posixtest.rb +173 -0
- data/test/util/storage.rb +123 -0
- data/test/util/subclass_loader.rb +100 -0
- data/test/util/utiltest.rb +368 -0
- metadata +449 -169
- data/examples/code/classing +0 -35
- data/examples/code/failers/badclassnoparam +0 -10
- data/examples/code/failers/badclassparam +0 -10
- data/examples/code/failers/badcompnoparam +0 -9
- data/examples/code/failers/badcompparam +0 -9
- data/examples/code/failers/badtypeparam +0 -3
- data/examples/code/failers/noobjectrvalue +0 -1
- data/examples/code/snippets/aliastest.pp +0 -16
- data/examples/code/snippets/argumentdefaults +0 -14
- data/examples/code/snippets/casestatement.pp +0 -58
- data/examples/code/snippets/classheirarchy.pp +0 -15
- data/examples/code/snippets/classincludes.pp +0 -17
- data/examples/code/snippets/classpathtest +0 -11
- data/examples/code/snippets/componentmetaparams.pp +0 -11
- data/examples/code/snippets/deepclassheirarchy.pp +0 -23
- data/examples/code/snippets/defineoverrides.pp +0 -17
- data/examples/code/snippets/dirchmod +0 -19
- data/examples/code/snippets/emptyclass.pp +0 -9
- data/examples/code/snippets/emptyexec.pp +0 -3
- data/examples/code/snippets/failmissingexecpath.pp +0 -13
- data/examples/code/snippets/falsevalues.pp +0 -3
- data/examples/code/snippets/filecreate +0 -11
- data/examples/code/snippets/implicititeration +0 -15
- data/examples/code/snippets/multipleinstances +0 -7
- data/examples/code/snippets/namevartest +0 -9
- data/examples/code/snippets/scopetest +0 -13
- data/examples/code/snippets/selectorvalues.pp +0 -42
- data/examples/code/snippets/simpledefaults +0 -5
- data/examples/code/snippets/simpleselector +0 -38
- data/examples/code/snippets/singleary.pp +0 -19
- data/examples/code/snippets/singlequote.pp +0 -11
- data/examples/code/snippets/singleselector.pp +0 -22
- data/examples/code/snippets/tag.pp +0 -9
- data/examples/code/snippets/tagged.pp +0 -35
- data/lib/puppet/client.rb +0 -177
- data/lib/puppet/client/ca.rb +0 -21
- data/lib/puppet/client/dipper.rb +0 -76
- data/lib/puppet/client/file.rb +0 -20
- data/lib/puppet/client/log.rb +0 -17
- data/lib/puppet/client/master.rb +0 -531
- data/lib/puppet/client/runner.rb +0 -17
- data/lib/puppet/client/status.rb +0 -7
- data/lib/puppet/event-loop.rb +0 -1
- data/lib/puppet/filetype.rb +0 -308
- data/lib/puppet/inifile.rb +0 -201
- data/lib/puppet/log.rb +0 -524
- data/lib/puppet/metric.rb +0 -132
- data/lib/puppet/networkclient.rb +0 -175
- data/lib/puppet/parsedfile.rb +0 -58
- data/lib/puppet/parser/ast/classdef.rb +0 -79
- data/lib/puppet/parser/ast/compdef.rb +0 -75
- data/lib/puppet/parser/ast/nodedef.rb +0 -73
- data/lib/puppet/parser/ast/objectdef.rb +0 -284
- data/lib/puppet/parser/ast/objectref.rb +0 -77
- data/lib/puppet/rails/database.rb +0 -40
- data/lib/puppet/rails/rails_object.rb +0 -42
- data/lib/puppet/rails/rails_parameter.rb +0 -5
- data/lib/puppet/server.rb +0 -196
- data/lib/puppet/server/authconfig.rb +0 -177
- data/lib/puppet/server/authstore.rb +0 -226
- data/lib/puppet/server/filebucket.rb +0 -155
- data/lib/puppet/server/pelement.rb +0 -188
- data/lib/puppet/server/report.rb +0 -184
- data/lib/puppet/server/rights.rb +0 -78
- data/lib/puppet/server/servlet.rb +0 -274
- data/lib/puppet/statechange.rb +0 -129
- data/lib/puppet/storage.rb +0 -98
- data/lib/puppet/type/nameservice.rb +0 -264
- data/lib/puppet/type/nameservice/netinfo.rb +0 -232
- data/lib/puppet/type/nameservice/objectadd.rb +0 -146
- data/lib/puppet/type/nameservice/posix.rb +0 -12
- data/lib/puppet/type/nameservice/pw.rb +0 -107
- data/lib/puppet/type/package/apple.rb +0 -41
- data/lib/puppet/type/package/apt.rb +0 -107
- data/lib/puppet/type/package/blastwave.rb +0 -136
- data/lib/puppet/type/package/darwinport.rb +0 -97
- data/lib/puppet/type/package/dpkg.rb +0 -113
- data/lib/puppet/type/package/freebsd.rb +0 -19
- data/lib/puppet/type/package/gem.rb +0 -119
- data/lib/puppet/type/package/openbsd.rb +0 -112
- data/lib/puppet/type/package/ports.rb +0 -103
- data/lib/puppet/type/package/rpm.rb +0 -121
- data/lib/puppet/type/package/sun.rb +0 -174
- data/lib/puppet/type/package/sunfreeware.rb +0 -7
- data/lib/puppet/type/package/yum.rb +0 -52
- data/lib/puppet/type/parsedtype/host.rb +0 -144
- data/lib/puppet/type/parsedtype/mount.rb +0 -271
- data/lib/puppet/type/parsedtype/port.rb +0 -261
- data/lib/puppet/type/parsedtype/sshkey.rb +0 -123
- data/lib/puppet/type/service/base.rb +0 -12
- data/lib/puppet/type/service/debian.rb +0 -46
- data/lib/puppet/type/service/redhat.rb +0 -38
- data/lib/puppet/type/state.rb +0 -393
- data/lib/puppet/type/symlink.rb +0 -186
- data/test/client/master.rb +0 -207
- data/test/language/rails.rb +0 -105
- data/test/other/parsedfile.rb +0 -58
- data/test/other/storage.rb +0 -100
- data/test/puppet/utiltest.rb +0 -299
- data/test/puppettest.rb +0 -1170
- data/test/server/authconfig.rb +0 -56
- data/test/server/authstore.rb +0 -218
- data/test/server/master.rb +0 -201
- data/test/server/report.rb +0 -93
- data/test/server/rights.rb +0 -41
- data/test/server/server.rb +0 -152
- data/test/test +0 -61
- data/test/types/basic.rb +0 -117
- data/test/types/component.rb +0 -298
- data/test/types/cron.rb +0 -718
- data/test/types/file.rb +0 -1314
- data/test/types/filesources.rb +0 -590
- data/test/types/group.rb +0 -323
- data/test/types/host.rb +0 -186
- data/test/types/mount.rb +0 -294
- data/test/types/package.rb +0 -538
- data/test/types/parameter.rb +0 -107
- data/test/types/port.rb +0 -201
- data/test/types/query.rb +0 -101
- data/test/types/state.rb +0 -92
- data/test/types/symlink.rb +0 -120
- data/test/types/tidy.rb +0 -102
- data/test/types/type.rb +0 -469
- data/test/types/user.rb +0 -563
data/lib/puppet/type/group.rb
CHANGED
|
@@ -8,47 +8,37 @@
|
|
|
8
8
|
|
|
9
9
|
require 'etc'
|
|
10
10
|
require 'facter'
|
|
11
|
-
require 'puppet/type/
|
|
12
|
-
require 'puppet/type/nameservice'
|
|
11
|
+
require 'puppet/type/property'
|
|
13
12
|
|
|
14
13
|
module Puppet
|
|
15
|
-
newtype(:group
|
|
14
|
+
newtype(:group) do
|
|
16
15
|
@doc = "Manage groups. This type can only create groups. Group
|
|
17
16
|
membership must be managed on individual users. This element type
|
|
18
17
|
uses the prescribed native tools for creating groups and generally
|
|
19
18
|
uses POSIX APIs for retrieving information about them. It does
|
|
20
|
-
not directly modify
|
|
19
|
+
not directly modify ``/etc/group`` or anything.
|
|
21
20
|
|
|
22
21
|
For most platforms, the tools used are ``groupadd`` and its ilk;
|
|
23
22
|
for Mac OS X, NetInfo is used. This is currently unconfigurable,
|
|
24
23
|
but if you desperately need it to be so, please contact us."
|
|
25
24
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
@parentstate = Puppet::NameService::NetInfo::NetInfoState
|
|
29
|
-
@parentmodule = Puppet::NameService::NetInfo
|
|
30
|
-
when "FreeBSD":
|
|
31
|
-
@parentstate = Puppet::NameService::PW::PWGroup
|
|
32
|
-
@parentmodule = Puppet::NameService::PW
|
|
33
|
-
else
|
|
34
|
-
@parentstate = Puppet::NameService::ObjectAdd::ObjectAddGroup
|
|
35
|
-
@parentmodule = Puppet::NameService::ObjectAdd
|
|
36
|
-
end
|
|
25
|
+
newproperty(:ensure) do
|
|
26
|
+
desc "The basic state that the object should be in."
|
|
37
27
|
|
|
38
|
-
newstate(:ensure, @parentstate) do
|
|
39
28
|
newvalue(:present) do
|
|
40
|
-
|
|
29
|
+
provider.create
|
|
30
|
+
|
|
31
|
+
:group_created
|
|
41
32
|
end
|
|
42
33
|
|
|
43
34
|
newvalue(:absent) do
|
|
44
|
-
|
|
45
|
-
end
|
|
35
|
+
provider.delete
|
|
46
36
|
|
|
47
|
-
|
|
37
|
+
:group_removed
|
|
38
|
+
end
|
|
48
39
|
|
|
49
40
|
# If they're talking about the thing at all, they generally want to
|
|
50
41
|
# say it should exist.
|
|
51
|
-
#defaultto :present
|
|
52
42
|
defaultto do
|
|
53
43
|
if @parent.managed?
|
|
54
44
|
:present
|
|
@@ -77,7 +67,7 @@ module Puppet
|
|
|
77
67
|
end
|
|
78
68
|
|
|
79
69
|
def retrieve
|
|
80
|
-
if
|
|
70
|
+
if provider.exists?
|
|
81
71
|
@is = :present
|
|
82
72
|
else
|
|
83
73
|
@is = :absent
|
|
@@ -99,36 +89,28 @@ module Puppet
|
|
|
99
89
|
end
|
|
100
90
|
|
|
101
91
|
# Set ourselves to whatever our should value is.
|
|
102
|
-
self.set
|
|
92
|
+
self.set(self.should)
|
|
103
93
|
end
|
|
104
94
|
|
|
105
95
|
end
|
|
106
96
|
|
|
107
|
-
|
|
97
|
+
newproperty(:gid) do
|
|
108
98
|
desc "The group ID. Must be specified numerically. If not
|
|
109
99
|
specified, a number will be picked, which can result in ID
|
|
110
100
|
differences across systems and thus is not recommended. The
|
|
111
101
|
GID is picked according to local system standards."
|
|
112
102
|
|
|
113
|
-
def
|
|
114
|
-
|
|
103
|
+
def retrieve
|
|
104
|
+
@is = provider.gid
|
|
105
|
+
end
|
|
115
106
|
|
|
116
|
-
|
|
117
|
-
if
|
|
118
|
-
|
|
107
|
+
def sync
|
|
108
|
+
if self.should == :absent
|
|
109
|
+
raise Puppet::DevError, "GID cannot be deleted"
|
|
119
110
|
else
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
unless group.gid > 65000
|
|
123
|
-
highest = group.gid
|
|
124
|
-
end
|
|
125
|
-
end
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
@@prevauto = highest + 1
|
|
111
|
+
provider.gid = self.should
|
|
112
|
+
:group_modified
|
|
129
113
|
end
|
|
130
|
-
|
|
131
|
-
return @@prevauto
|
|
132
114
|
end
|
|
133
115
|
|
|
134
116
|
munge do |gid|
|
|
@@ -140,28 +122,15 @@ module Puppet
|
|
|
140
122
|
self.fail "Invalid GID %s" % gid
|
|
141
123
|
end
|
|
142
124
|
when Symbol
|
|
143
|
-
unless gid == :
|
|
125
|
+
unless gid == :absent
|
|
144
126
|
self.devfail "Invalid GID %s" % gid
|
|
145
127
|
end
|
|
146
|
-
if gid == :auto
|
|
147
|
-
# FIXME this should be done at sync time, not
|
|
148
|
-
# here.
|
|
149
|
-
unless self.class.autogen?
|
|
150
|
-
gid = autogen()
|
|
151
|
-
end
|
|
152
|
-
end
|
|
153
128
|
end
|
|
154
129
|
|
|
155
130
|
return gid
|
|
156
131
|
end
|
|
157
132
|
end
|
|
158
133
|
|
|
159
|
-
class << self
|
|
160
|
-
attr_accessor :netinfodir
|
|
161
|
-
end
|
|
162
|
-
|
|
163
|
-
@netinfodir = "groups"
|
|
164
|
-
|
|
165
134
|
newparam(:name) do
|
|
166
135
|
desc "The group name. While naming limitations vary by
|
|
167
136
|
system, it is advisable to keep the name to the degenerate
|
|
@@ -172,56 +141,36 @@ module Puppet
|
|
|
172
141
|
end
|
|
173
142
|
|
|
174
143
|
newparam(:allowdupe) do
|
|
175
|
-
desc "Whether to allow duplicate GIDs.
|
|
144
|
+
desc "Whether to allow duplicate GIDs. This option does not work on
|
|
145
|
+
FreeBSD (contract to the ``pw`` man page)."
|
|
176
146
|
|
|
177
147
|
newvalues(:true, :false)
|
|
178
148
|
|
|
179
149
|
defaultto false
|
|
180
150
|
end
|
|
181
151
|
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
groups << ent.name
|
|
152
|
+
def self.list_by_name
|
|
153
|
+
users = []
|
|
154
|
+
defaultprovider.listbyname do |user|
|
|
155
|
+
users << user
|
|
187
156
|
end
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
return groups
|
|
157
|
+
return users
|
|
191
158
|
end
|
|
192
159
|
|
|
193
|
-
def
|
|
194
|
-
|
|
195
|
-
end
|
|
160
|
+
def self.list
|
|
161
|
+
defaultprovider.list
|
|
196
162
|
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
begin
|
|
200
|
-
@groupinfo = Etc.getgrnam(self[:name])
|
|
201
|
-
rescue ArgumentError => detail
|
|
202
|
-
@groupinfo = nil
|
|
203
|
-
end
|
|
163
|
+
self.collect do |user|
|
|
164
|
+
user
|
|
204
165
|
end
|
|
205
|
-
|
|
206
|
-
@groupinfo
|
|
207
|
-
end
|
|
208
|
-
|
|
209
|
-
def initialize(hash)
|
|
210
|
-
@groupinfo = nil
|
|
211
|
-
super
|
|
212
166
|
end
|
|
213
167
|
|
|
214
168
|
def retrieve
|
|
215
|
-
if self.exists?
|
|
169
|
+
if self.provider and @provider.exists?
|
|
216
170
|
super
|
|
217
171
|
else
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
self[:gid] = :auto
|
|
221
|
-
end
|
|
222
|
-
|
|
223
|
-
@states.each { |name, state|
|
|
224
|
-
state.is = :absent
|
|
172
|
+
properties().each { |property|
|
|
173
|
+
property.is = :absent
|
|
225
174
|
}
|
|
226
175
|
|
|
227
176
|
return
|
|
@@ -230,4 +179,4 @@ module Puppet
|
|
|
230
179
|
end
|
|
231
180
|
end
|
|
232
181
|
|
|
233
|
-
# $Id: group.rb
|
|
182
|
+
# $Id: group.rb 2408 2007-04-24 02:41:16Z luke $
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
require 'puppet/type/parsedtype'
|
|
2
|
+
|
|
3
|
+
module Puppet
|
|
4
|
+
newtype(:host) do
|
|
5
|
+
ensurable
|
|
6
|
+
|
|
7
|
+
newproperty(:ip) do
|
|
8
|
+
desc "The host's IP address, IPv4 or IPv6."
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
newproperty(:alias) do
|
|
12
|
+
desc "Any alias the host might have. Multiple values must be
|
|
13
|
+
specified as an array. Note that this state has the same name
|
|
14
|
+
as one of the metaparams; using this state to set aliases will
|
|
15
|
+
make those aliases available in your Puppet scripts and also on
|
|
16
|
+
disk."
|
|
17
|
+
|
|
18
|
+
def insync?
|
|
19
|
+
@is == @should
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
# Make sure our "is" value is always an array.
|
|
23
|
+
def is
|
|
24
|
+
current = super
|
|
25
|
+
current = [current] unless current.is_a? Array
|
|
26
|
+
current
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
def is_to_s
|
|
30
|
+
self.is.join(" ")
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
# We have to override the feeding mechanism; it might be nil or
|
|
34
|
+
# white-space separated
|
|
35
|
+
def is=(value)
|
|
36
|
+
# If it's just whitespace, ignore it
|
|
37
|
+
case value
|
|
38
|
+
when /^\s+$/
|
|
39
|
+
@is = nil
|
|
40
|
+
when String
|
|
41
|
+
@is = value.split(/\s+/)
|
|
42
|
+
else
|
|
43
|
+
@is = value
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
def retrieve
|
|
48
|
+
super
|
|
49
|
+
case @is
|
|
50
|
+
when String
|
|
51
|
+
@is = @is.split(/\s*,\s*/)
|
|
52
|
+
when Symbol:
|
|
53
|
+
@is = [@is]
|
|
54
|
+
when Array
|
|
55
|
+
# nothing
|
|
56
|
+
else
|
|
57
|
+
raise Puppet::DevError, "Invalid @is type %s" % @is.class
|
|
58
|
+
end
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
# We actually want to return the whole array here, not just the first
|
|
62
|
+
# value.
|
|
63
|
+
def should
|
|
64
|
+
if defined? @should
|
|
65
|
+
if @should == [:absent]
|
|
66
|
+
return :absent
|
|
67
|
+
else
|
|
68
|
+
return @should
|
|
69
|
+
end
|
|
70
|
+
else
|
|
71
|
+
return nil
|
|
72
|
+
end
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
def should_to_s
|
|
76
|
+
@should.join(" ")
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
validate do |value|
|
|
80
|
+
if value =~ /\s/
|
|
81
|
+
raise Puppet::Error, "Aliases cannot include whitespace"
|
|
82
|
+
end
|
|
83
|
+
end
|
|
84
|
+
end
|
|
85
|
+
|
|
86
|
+
newproperty(:target) do
|
|
87
|
+
desc "The file in which to store service information. Only used by
|
|
88
|
+
those providers that write to disk (i.e., not NetInfo)."
|
|
89
|
+
|
|
90
|
+
defaultto { if @parent.class.defaultprovider.ancestors.include?(Puppet::Provider::ParsedFile)
|
|
91
|
+
@parent.class.defaultprovider.default_target
|
|
92
|
+
else
|
|
93
|
+
nil
|
|
94
|
+
end
|
|
95
|
+
}
|
|
96
|
+
end
|
|
97
|
+
|
|
98
|
+
newparam(:name) do
|
|
99
|
+
desc "The host name."
|
|
100
|
+
|
|
101
|
+
isnamevar
|
|
102
|
+
end
|
|
103
|
+
|
|
104
|
+
@doc = "Installs and manages host entries. For most systems, these
|
|
105
|
+
entries will just be in ``/etc/hosts``, but some systems (notably OS X)
|
|
106
|
+
will have different solutions."
|
|
107
|
+
end
|
|
108
|
+
end
|
|
109
|
+
|
|
110
|
+
# $Id: host.rb 2408 2007-04-24 02:41:16Z luke $
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
require 'puppet/type/parsedtype'
|
|
2
|
+
|
|
3
|
+
module Puppet
|
|
4
|
+
# We want the mount to refresh when it changes.
|
|
5
|
+
newtype(:mount, :self_refresh => true) do
|
|
6
|
+
@doc = "Manages mounted filesystems, including putting mount
|
|
7
|
+
information into the mount table. The actual behavior depends
|
|
8
|
+
on the value of the 'ensure' parameter.
|
|
9
|
+
|
|
10
|
+
Note that if a ``mount`` receives an event from another resource,
|
|
11
|
+
it will try to remount the filesystems if ``ensure => mounted`` is
|
|
12
|
+
set."
|
|
13
|
+
|
|
14
|
+
# Use the normal parent class, because we actually want to
|
|
15
|
+
# call code when sync() is called.
|
|
16
|
+
newproperty(:ensure) do
|
|
17
|
+
desc "Control what to do with this mount. If the value is
|
|
18
|
+
``present``, the mount is entered into the mount table,
|
|
19
|
+
but not mounted, if it is ``absent``, the entry is removed
|
|
20
|
+
from the mount table and the filesystem is unmounted if
|
|
21
|
+
currently mounted, if it is ``mounted``, the filesystem
|
|
22
|
+
is entered into the mount table and mounted."
|
|
23
|
+
|
|
24
|
+
newvalue(:present) do
|
|
25
|
+
if provider.mounted?
|
|
26
|
+
syncothers()
|
|
27
|
+
provider.unmount
|
|
28
|
+
return :mount_unmounted
|
|
29
|
+
else
|
|
30
|
+
provider.create
|
|
31
|
+
return :mount_created
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
aliasvalue :unmounted, :present
|
|
35
|
+
|
|
36
|
+
newvalue(:absent, :event => :mount_deleted) do
|
|
37
|
+
if provider.mounted?
|
|
38
|
+
provider.unmount
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
provider.destroy
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
newvalue(:mounted, :event => :mount_mounted) do
|
|
45
|
+
# Create the mount point if it does not already exist.
|
|
46
|
+
if self.is == :absent or self.is.nil?
|
|
47
|
+
provider.create
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
syncothers()
|
|
51
|
+
provider.mount
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
def retrieve
|
|
55
|
+
if provider.mounted?
|
|
56
|
+
@is = :mounted
|
|
57
|
+
else
|
|
58
|
+
@is = super()
|
|
59
|
+
end
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
def syncothers
|
|
63
|
+
# We have to flush any changes to disk.
|
|
64
|
+
oos = @parent.send(:properties).find_all do |prop|
|
|
65
|
+
if prop.name == :ensure
|
|
66
|
+
false
|
|
67
|
+
else
|
|
68
|
+
! prop.insync?
|
|
69
|
+
end
|
|
70
|
+
end.each { |prop| prop.sync }.length
|
|
71
|
+
if oos > 0
|
|
72
|
+
@parent.flush
|
|
73
|
+
end
|
|
74
|
+
end
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
newproperty(:device) do
|
|
78
|
+
desc "The device providing the mount. This can be whatever
|
|
79
|
+
device is supporting by the mount, including network
|
|
80
|
+
devices or devices specified by UUID rather than device
|
|
81
|
+
path, depending on the operating system."
|
|
82
|
+
end
|
|
83
|
+
|
|
84
|
+
# Solaris specifies two devices, not just one.
|
|
85
|
+
newproperty(:blockdevice) do
|
|
86
|
+
desc "The the device to fsck. This is property is only valid
|
|
87
|
+
on Solaris, and in most cases will default to the correct
|
|
88
|
+
value."
|
|
89
|
+
|
|
90
|
+
# Default to the device but with "dsk" replaced with "rdsk".
|
|
91
|
+
defaultto do
|
|
92
|
+
if Facter["operatingsystem"].value == "Solaris"
|
|
93
|
+
device = @parent.value(:device)
|
|
94
|
+
if device =~ %r{/dsk/}
|
|
95
|
+
device.sub(%r{/dsk/}, "/rdsk/")
|
|
96
|
+
else
|
|
97
|
+
nil
|
|
98
|
+
end
|
|
99
|
+
else
|
|
100
|
+
nil
|
|
101
|
+
end
|
|
102
|
+
end
|
|
103
|
+
end
|
|
104
|
+
|
|
105
|
+
newproperty(:fstype) do
|
|
106
|
+
desc "The mount type. Valid values depend on the
|
|
107
|
+
operating system."
|
|
108
|
+
end
|
|
109
|
+
|
|
110
|
+
newproperty(:options) do
|
|
111
|
+
desc "Mount options for the mounts, as they would
|
|
112
|
+
appear in the fstab."
|
|
113
|
+
end
|
|
114
|
+
|
|
115
|
+
newproperty(:pass) do
|
|
116
|
+
desc "The pass in which the mount is checked."
|
|
117
|
+
end
|
|
118
|
+
|
|
119
|
+
newproperty(:atboot) do
|
|
120
|
+
desc "Whether to mount the mount at boot. Not all platforms
|
|
121
|
+
support this."
|
|
122
|
+
end
|
|
123
|
+
|
|
124
|
+
newproperty(:dump) do
|
|
125
|
+
desc "Whether to dump the mount. Not all platforms
|
|
126
|
+
support this."
|
|
127
|
+
end
|
|
128
|
+
|
|
129
|
+
newproperty(:target) do
|
|
130
|
+
desc "The file in which to store the mount table. Only used by
|
|
131
|
+
those providers that write to disk (i.e., not NetInfo)."
|
|
132
|
+
|
|
133
|
+
defaultto { if @parent.class.defaultprovider.ancestors.include?(Puppet::Provider::ParsedFile)
|
|
134
|
+
@parent.class.defaultprovider.default_target
|
|
135
|
+
else
|
|
136
|
+
nil
|
|
137
|
+
end
|
|
138
|
+
}
|
|
139
|
+
end
|
|
140
|
+
|
|
141
|
+
newparam(:name) do
|
|
142
|
+
desc "The mount path for the mount."
|
|
143
|
+
|
|
144
|
+
isnamevar
|
|
145
|
+
end
|
|
146
|
+
|
|
147
|
+
newparam(:path) do
|
|
148
|
+
desc "The deprecated name for the mount point. Please use ``name`` now."
|
|
149
|
+
|
|
150
|
+
def value=(value)
|
|
151
|
+
warning "'path' is deprecated for mounts. Please use 'name'."
|
|
152
|
+
@parent[:name] = value
|
|
153
|
+
super
|
|
154
|
+
end
|
|
155
|
+
end
|
|
156
|
+
|
|
157
|
+
newparam(:remounts) do
|
|
158
|
+
desc "Whether the mount can be remounted ``mount -o remount``. If
|
|
159
|
+
this is false, then the filesystem will be unmounted and remounted
|
|
160
|
+
manually, which is prone to failure."
|
|
161
|
+
|
|
162
|
+
newvalues(:true, :false)
|
|
163
|
+
defaultto do
|
|
164
|
+
case Facter.value(:operatingsystem)
|
|
165
|
+
when "Darwin", "FreeBSD": false
|
|
166
|
+
else
|
|
167
|
+
true
|
|
168
|
+
end
|
|
169
|
+
end
|
|
170
|
+
end
|
|
171
|
+
|
|
172
|
+
def refresh
|
|
173
|
+
# Only remount if we're supposed to be mounted.
|
|
174
|
+
if ens = @parameters[:ensure] and ens.should == :mounted
|
|
175
|
+
provider.remount
|
|
176
|
+
end
|
|
177
|
+
end
|
|
178
|
+
|
|
179
|
+
def value(name)
|
|
180
|
+
name = symbolize(name)
|
|
181
|
+
ret = nil
|
|
182
|
+
if property = @parameters[name]
|
|
183
|
+
return property.value
|
|
184
|
+
end
|
|
185
|
+
end
|
|
186
|
+
end
|
|
187
|
+
end
|
|
188
|
+
|
|
189
|
+
# $Id: mount.rb 2183 2007-02-11 23:50:15Z luke $
|