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/bin/puppetca
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
# = Usage
|
|
10
10
|
#
|
|
11
11
|
# puppetca [-h|--help] [-V|--version] [-d|--debug] [-v|--verbose]
|
|
12
|
-
# [-g|--generate] [-l|--list] [-s|--sign]
|
|
12
|
+
# [-g|--generate] [-l|--list] [-s|--sign] [-r|--revoke]
|
|
13
13
|
# [-c|--clean] [host]
|
|
14
14
|
#
|
|
15
15
|
# = Description
|
|
@@ -25,13 +25,20 @@
|
|
|
25
25
|
# is also a valid long argument. For example, 'ssldir' is a valid configuration
|
|
26
26
|
# parameter, so you can specify '--ssldir <directory>' as an argument.
|
|
27
27
|
#
|
|
28
|
-
# See the configuration file
|
|
28
|
+
# See the configuration file documentation at
|
|
29
|
+
# http://reductivelabs.com/projects/puppet/reference/configref.html for
|
|
30
|
+
# the full list of acceptable parameters. A commented list of all
|
|
31
|
+
# configuration options can also be generated by running puppetca with
|
|
32
|
+
# '--genconfig'.
|
|
29
33
|
#
|
|
30
34
|
# all::
|
|
31
35
|
# Operate on all outstanding requests. Only makes sense with '--sign'.
|
|
32
36
|
#
|
|
33
37
|
# clean::
|
|
34
|
-
# Remove all
|
|
38
|
+
# Remove all files related to a host from puppetca's storage. This is
|
|
39
|
+
# useful when rebuilding hosts, since new certificate signing requests
|
|
40
|
+
# will only be honored if puppetca does not have a copy of a signed
|
|
41
|
+
# certificate for that host. The certificate of the host remains valid.
|
|
35
42
|
#
|
|
36
43
|
# debug::
|
|
37
44
|
# Enable full debugging.
|
|
@@ -46,6 +53,14 @@
|
|
|
46
53
|
# list::
|
|
47
54
|
# List outstanding certificate requests.
|
|
48
55
|
#
|
|
56
|
+
# revoke::
|
|
57
|
+
# Revoke the certificate of a client. The certificate can be specified
|
|
58
|
+
# either by its serial number, given as a decimal number or a hexadecimal
|
|
59
|
+
# number prefixed by '0x', or by its hostname. The certificate is revoked
|
|
60
|
+
# by adding it to the Certificate Revocation List given by the 'cacrl'
|
|
61
|
+
# config parameter. Note that the puppetmasterd needs to be restarted
|
|
62
|
+
# after revoking certificates.
|
|
63
|
+
#
|
|
49
64
|
# sign::
|
|
50
65
|
# Sign an outstanding certificate request. Unless '--all' is specified,
|
|
51
66
|
# hosts must be listed after all flags.
|
|
@@ -53,6 +68,9 @@
|
|
|
53
68
|
# verbose::
|
|
54
69
|
# Enable verbosity.
|
|
55
70
|
#
|
|
71
|
+
# version::
|
|
72
|
+
# Print the puppet version number and exit.
|
|
73
|
+
#
|
|
56
74
|
# = Example
|
|
57
75
|
#
|
|
58
76
|
# $ puppetca -l
|
|
@@ -72,23 +90,17 @@ require 'puppet'
|
|
|
72
90
|
require 'puppet/sslcertificates'
|
|
73
91
|
require 'getoptlong'
|
|
74
92
|
|
|
75
|
-
$haveusage = true
|
|
76
|
-
|
|
77
|
-
begin
|
|
78
|
-
require 'rdoc/usage'
|
|
79
|
-
rescue LoadError
|
|
80
|
-
$haveusage = false
|
|
81
|
-
end
|
|
82
|
-
|
|
83
93
|
options = [
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
94
|
+
[ "--all", "-a", GetoptLong::NO_ARGUMENT ],
|
|
95
|
+
[ "--clean", "-c", GetoptLong::NO_ARGUMENT ],
|
|
96
|
+
[ "--debug", "-d", GetoptLong::NO_ARGUMENT ],
|
|
97
|
+
[ "--generate", "-g", GetoptLong::NO_ARGUMENT ],
|
|
98
|
+
[ "--help", "-h", GetoptLong::NO_ARGUMENT ],
|
|
99
|
+
[ "--list", "-l", GetoptLong::NO_ARGUMENT ],
|
|
100
|
+
[ "--revoke", "-r", GetoptLong::NO_ARGUMENT ],
|
|
101
|
+
[ "--sign", "-s", GetoptLong::NO_ARGUMENT ],
|
|
102
|
+
[ "--version", "-V", GetoptLong::NO_ARGUMENT ],
|
|
103
|
+
[ "--verbose", "-v", GetoptLong::NO_ARGUMENT ]
|
|
92
104
|
]
|
|
93
105
|
|
|
94
106
|
# Add all of the config parameters as valid options.
|
|
@@ -108,12 +120,12 @@ begin
|
|
|
108
120
|
when "--clean"
|
|
109
121
|
mode = :clean
|
|
110
122
|
when "--debug"
|
|
111
|
-
Puppet::Log.level = :debug
|
|
123
|
+
Puppet::Util::Log.level = :debug
|
|
112
124
|
when "--generate"
|
|
113
125
|
generate = arg
|
|
114
126
|
mode = :generate
|
|
115
127
|
when "--help"
|
|
116
|
-
if
|
|
128
|
+
if Puppet.features.usage?
|
|
117
129
|
RDoc::usage && exit
|
|
118
130
|
else
|
|
119
131
|
puts "No help available unless you have RDoc::usage installed"
|
|
@@ -121,19 +133,21 @@ begin
|
|
|
121
133
|
end
|
|
122
134
|
when "--list"
|
|
123
135
|
mode = :list
|
|
136
|
+
when "--revoke"
|
|
137
|
+
mode = :revoke
|
|
124
138
|
when "--sign"
|
|
125
139
|
mode = :sign
|
|
140
|
+
when "--version"
|
|
141
|
+
puts "%s" % Puppet.version
|
|
142
|
+
exit
|
|
126
143
|
when "--verbose"
|
|
127
|
-
Puppet::Log.level = :info
|
|
144
|
+
Puppet::Util::Log.level = :info
|
|
128
145
|
else
|
|
129
146
|
Puppet.config.handlearg(opt, arg)
|
|
130
147
|
end
|
|
131
148
|
}
|
|
132
149
|
rescue GetoptLong::InvalidOption => detail
|
|
133
150
|
$stderr.puts "Try '#{$0} --help'"
|
|
134
|
-
#if $haveusage
|
|
135
|
-
# RDoc::usage_no_exit('usage')
|
|
136
|
-
#end
|
|
137
151
|
exit(1)
|
|
138
152
|
end
|
|
139
153
|
|
|
@@ -160,25 +174,34 @@ unless mode
|
|
|
160
174
|
exit(12)
|
|
161
175
|
end
|
|
162
176
|
|
|
163
|
-
if
|
|
164
|
-
hosts = ARGV
|
|
177
|
+
if [:generate, :clean, :revoke].include?(mode)
|
|
178
|
+
hosts = ARGV.collect { |h| h.downcase }
|
|
165
179
|
else
|
|
166
|
-
|
|
167
|
-
unless
|
|
180
|
+
waiting = ca.list
|
|
181
|
+
unless waiting.length > 0
|
|
168
182
|
puts "No certificates to sign"
|
|
169
|
-
|
|
183
|
+
if ARGV.length > 0
|
|
184
|
+
exit(17)
|
|
185
|
+
else
|
|
186
|
+
exit(0)
|
|
187
|
+
end
|
|
170
188
|
end
|
|
189
|
+
to_sign = ARGV.collect { |h| h.downcase }
|
|
171
190
|
end
|
|
172
191
|
|
|
173
192
|
case mode
|
|
174
193
|
when :list
|
|
175
|
-
puts
|
|
194
|
+
puts waiting.join("\n")
|
|
176
195
|
when :clean
|
|
196
|
+
if hosts.empty?
|
|
197
|
+
$stderr.puts "You must specify one or more hosts to clean"
|
|
198
|
+
exit(24)
|
|
199
|
+
end
|
|
177
200
|
hosts.each do |host|
|
|
178
201
|
ca.clean(host)
|
|
179
202
|
end
|
|
180
203
|
when :sign
|
|
181
|
-
unless
|
|
204
|
+
unless to_sign.length > 0 or all
|
|
182
205
|
$stderr.puts(
|
|
183
206
|
"You must specify to sign all certificates or you must specify hostnames"
|
|
184
207
|
)
|
|
@@ -186,17 +209,17 @@ when :sign
|
|
|
186
209
|
end
|
|
187
210
|
|
|
188
211
|
unless all
|
|
189
|
-
|
|
190
|
-
unless
|
|
212
|
+
to_sign.each { |host|
|
|
213
|
+
unless waiting.include?(host)
|
|
191
214
|
$stderr.puts "No waiting request for %s" % host
|
|
192
215
|
end
|
|
193
216
|
}
|
|
194
|
-
|
|
195
|
-
|
|
217
|
+
waiting = waiting.find_all { |host|
|
|
218
|
+
to_sign.include?(host)
|
|
196
219
|
}
|
|
197
220
|
end
|
|
198
221
|
|
|
199
|
-
|
|
222
|
+
waiting.each { |host|
|
|
200
223
|
begin
|
|
201
224
|
csr = ca.getclientcsr(host)
|
|
202
225
|
rescue => detail
|
|
@@ -230,9 +253,29 @@ when :generate
|
|
|
230
253
|
cert.cacert = cacert
|
|
231
254
|
cert.write
|
|
232
255
|
}
|
|
256
|
+
when :revoke
|
|
257
|
+
hosts.each { |h|
|
|
258
|
+
serial = nil
|
|
259
|
+
if h =~ /^0x[0-9a-f]+$/
|
|
260
|
+
serial = h.to_i(16)
|
|
261
|
+
elsif h =~ /^[0-9]+$/
|
|
262
|
+
serial = h.to_i
|
|
263
|
+
else
|
|
264
|
+
cert = ca.getclientcert(h)[0]
|
|
265
|
+
if cert.nil?
|
|
266
|
+
$stderr.puts "Could not find client certificate for %s" % h
|
|
267
|
+
else
|
|
268
|
+
serial = cert.serial
|
|
269
|
+
end
|
|
270
|
+
end
|
|
271
|
+
unless serial.nil?
|
|
272
|
+
ca.revoke(serial)
|
|
273
|
+
puts "Revoked certificate with serial #{serial}"
|
|
274
|
+
end
|
|
275
|
+
}
|
|
233
276
|
else
|
|
234
277
|
$stderr.puts "Invalid mode %s" % mode
|
|
235
278
|
exit(42)
|
|
236
279
|
end
|
|
237
280
|
|
|
238
|
-
# $Id: puppetca
|
|
281
|
+
# $Id: puppetca 2391 2007-04-17 18:54:52Z luke $
|
data/bin/puppetd
CHANGED
|
@@ -34,19 +34,19 @@
|
|
|
34
34
|
# configuration every 30 minutes.
|
|
35
35
|
#
|
|
36
36
|
# Some flags are meant specifically for interactive use -- in particular,
|
|
37
|
-
# +test+ and +
|
|
37
|
+
# +test+ and +tags+ are useful. +test+ enables verobse logging, causes
|
|
38
38
|
# the daemon to stay in the foreground, exits if the server's configuration is
|
|
39
39
|
# invalid (this happens if, for instance, you've left a syntax error on the
|
|
40
40
|
# server), and exits after running the configuration once (rather than hanging
|
|
41
41
|
# around as a long-running process).
|
|
42
42
|
#
|
|
43
|
-
# +
|
|
43
|
+
# +tags+ allows you to specify what portions of a configuration you want to apply.
|
|
44
44
|
# Puppet elements are tagged with all of the class or definition names that
|
|
45
|
-
# contain them, and you can use the +
|
|
45
|
+
# contain them, and you can use the +tags+ flag to specify one of these names,
|
|
46
46
|
# causing only configuration elements contained within that class or definition
|
|
47
47
|
# to be applied. This is very useful when you are testing new configurations --
|
|
48
48
|
# for instance, if you are just starting to manage +ntpd+, you would put all of
|
|
49
|
-
# the new elements into an +ntpd+ class, and call puppet with +--
|
|
49
|
+
# the new elements into an +ntpd+ class, and call puppet with +--tags ntpd+,
|
|
50
50
|
# which would only apply that small portion of the configuration during your
|
|
51
51
|
# testing, rather than applying the whole thing.
|
|
52
52
|
#
|
|
@@ -57,8 +57,10 @@
|
|
|
57
57
|
# parameter, so you can specify '--server <servername>' as an argument.
|
|
58
58
|
#
|
|
59
59
|
# See the configuration file documentation at
|
|
60
|
-
# http://reductivelabs.com/projects/puppet/
|
|
61
|
-
#
|
|
60
|
+
# http://reductivelabs.com/projects/puppet/reference/configref.html for
|
|
61
|
+
# the full list of acceptable parameters. A commented list of all
|
|
62
|
+
# configuration options can also be generated by running puppetd with
|
|
63
|
+
# '--genconfig'.
|
|
62
64
|
#
|
|
63
65
|
# daemonize::
|
|
64
66
|
# Send the process into the background. This is the default unless
|
|
@@ -99,6 +101,11 @@
|
|
|
99
101
|
# Defaults to sending messages to syslog, or the console if debugging or
|
|
100
102
|
# verbosity is enabled.
|
|
101
103
|
#
|
|
104
|
+
# no-client::
|
|
105
|
+
# Do not create a config client. This will cause the daemon to run
|
|
106
|
+
# without ever checking for its configuration automatically, and only
|
|
107
|
+
# makes sense when used in conjunction with --listen.
|
|
108
|
+
#
|
|
102
109
|
# onetime::
|
|
103
110
|
# Run the configuration once, rather than as a long-running daemon. This is
|
|
104
111
|
# useful for interactively running puppetd.
|
|
@@ -112,7 +119,7 @@
|
|
|
112
119
|
#
|
|
113
120
|
# test::
|
|
114
121
|
# Enable the most common options used for testing. These are +onetime+,
|
|
115
|
-
# +verbose+, and +no-usecacheonfailure+.
|
|
122
|
+
# +verbose+, +ignorecache, and +no-usecacheonfailure+.
|
|
116
123
|
#
|
|
117
124
|
# verbose::
|
|
118
125
|
# Turn on verbose reporting.
|
|
@@ -148,17 +155,9 @@ trap(:INT) do
|
|
|
148
155
|
end
|
|
149
156
|
|
|
150
157
|
require 'puppet'
|
|
151
|
-
require 'puppet/
|
|
152
|
-
require 'puppet/client'
|
|
158
|
+
require 'puppet/network/client'
|
|
153
159
|
require 'getoptlong'
|
|
154
160
|
|
|
155
|
-
$haveusage = true
|
|
156
|
-
begin
|
|
157
|
-
require 'rdoc/usage'
|
|
158
|
-
rescue LoadError
|
|
159
|
-
$haveusage = false
|
|
160
|
-
end
|
|
161
|
-
|
|
162
161
|
options = [
|
|
163
162
|
[ "--centrallogging", GetoptLong::NO_ARGUMENT ],
|
|
164
163
|
[ "--daemonize", "-D", GetoptLong::NO_ARGUMENT ],
|
|
@@ -196,6 +195,7 @@ options = {
|
|
|
196
195
|
}
|
|
197
196
|
|
|
198
197
|
begin
|
|
198
|
+
explicit_waitforcert = false
|
|
199
199
|
result.each { |opt,arg|
|
|
200
200
|
case opt
|
|
201
201
|
# First check to see if the argument is a valid configuration parameter;
|
|
@@ -205,23 +205,25 @@ begin
|
|
|
205
205
|
when "--disable"
|
|
206
206
|
options[:disable] = true
|
|
207
207
|
when "--serve"
|
|
208
|
-
if klass = Puppet::Server::Handler.handler(arg)
|
|
208
|
+
if klass = Puppet::Network::Server::Handler.handler(arg)
|
|
209
209
|
options[:serve][klass.name] = klass
|
|
210
210
|
end
|
|
211
211
|
when "--enable"
|
|
212
212
|
options[:enable] = true
|
|
213
213
|
when "--test"
|
|
214
214
|
# Enable all of the most common test options.
|
|
215
|
+
Puppet.config.handlearg("--ignorecache")
|
|
215
216
|
Puppet.config.handlearg("--no-usecacheonfailure")
|
|
216
217
|
options[:onetime] = true
|
|
217
|
-
|
|
218
|
-
|
|
218
|
+
options[:waitforcert] = 0
|
|
219
|
+
unless Puppet::Util::Log.level == :debug
|
|
220
|
+
Puppet::Util::Log.level = :info
|
|
219
221
|
end
|
|
220
|
-
Puppet::Log.newdestination(:console)
|
|
222
|
+
Puppet::Util::Log.newdestination(:console)
|
|
221
223
|
when "--centrallogging"
|
|
222
224
|
options[:centrallogs] = true
|
|
223
225
|
when "--help"
|
|
224
|
-
if
|
|
226
|
+
if Puppet.features.usage?
|
|
225
227
|
RDoc::usage && exit
|
|
226
228
|
else
|
|
227
229
|
puts "No help available unless you have RDoc::usage installed"
|
|
@@ -231,28 +233,30 @@ begin
|
|
|
231
233
|
puts "%s" % Puppet.version
|
|
232
234
|
exit
|
|
233
235
|
when "--verbose"
|
|
234
|
-
Puppet::Log.level = :info
|
|
235
|
-
Puppet::Log.newdestination(:console)
|
|
236
|
+
Puppet::Util::Log.level = :info
|
|
237
|
+
Puppet::Util::Log.newdestination(:console)
|
|
236
238
|
when "--debug"
|
|
237
|
-
Puppet::Log.level = :debug
|
|
238
|
-
Puppet::Log.newdestination(:console)
|
|
239
|
+
Puppet::Util::Log.level = :debug
|
|
240
|
+
Puppet::Util::Log.newdestination(:console)
|
|
239
241
|
when "--fqdn"
|
|
240
242
|
options[:fqdn] = arg
|
|
241
243
|
when "--no-client"
|
|
242
244
|
options[:client] = false
|
|
243
245
|
when "--onetime"
|
|
244
246
|
options[:onetime] = true
|
|
247
|
+
options[:waitforcert] = 0 unless explicit_waitforcert
|
|
245
248
|
when "--port"
|
|
246
249
|
args[:Port] = arg
|
|
247
250
|
when "--logdest"
|
|
248
251
|
begin
|
|
249
|
-
Puppet::Log.newdestination(arg)
|
|
252
|
+
Puppet::Util::Log.newdestination(arg)
|
|
250
253
|
options[:setdest] = true
|
|
251
254
|
rescue => detail
|
|
252
255
|
$stderr.puts detail.to_s
|
|
253
256
|
end
|
|
254
257
|
when "--waitforcert"
|
|
255
258
|
options[:waitforcert] = arg.to_i
|
|
259
|
+
explicit_waitforcert = true
|
|
256
260
|
else
|
|
257
261
|
Puppet.config.handlearg(opt, arg)
|
|
258
262
|
end
|
|
@@ -260,25 +264,21 @@ begin
|
|
|
260
264
|
rescue GetoptLong::InvalidOption => detail
|
|
261
265
|
$stderr.puts detail
|
|
262
266
|
$stderr.puts "Try '#{$0} --help'"
|
|
263
|
-
# FIXME RDoc::usage doesn't seem to work
|
|
264
|
-
#if $haveusage
|
|
265
|
-
# RDoc::usage(1,'usage')
|
|
266
|
-
#end
|
|
267
267
|
exit(1)
|
|
268
268
|
end
|
|
269
269
|
|
|
270
|
-
Puppet.genconfig
|
|
271
|
-
Puppet.genmanifest
|
|
272
|
-
|
|
273
270
|
# Now parse the config
|
|
274
271
|
if Puppet[:config] and File.exists? Puppet[:config]
|
|
275
272
|
Puppet.config.parse(Puppet[:config])
|
|
276
273
|
end
|
|
277
274
|
|
|
275
|
+
Puppet.genconfig
|
|
276
|
+
Puppet.genmanifest
|
|
277
|
+
|
|
278
278
|
# Default to daemonizing, but if verbose or debug is specified,
|
|
279
279
|
# default to staying in the foreground.
|
|
280
280
|
unless options.include?(:daemonize)
|
|
281
|
-
if Puppet::Log.level == :debug or Puppet::Log.level == :info
|
|
281
|
+
if Puppet::Util::Log.level == :debug or Puppet::Util::Log.level == :info
|
|
282
282
|
options[:daemonize] = false
|
|
283
283
|
else
|
|
284
284
|
options[:daemonize] = true
|
|
@@ -286,12 +286,12 @@ unless options.include?(:daemonize)
|
|
|
286
286
|
end
|
|
287
287
|
|
|
288
288
|
unless options[:setdest]
|
|
289
|
-
Puppet::Log.newdestination(:syslog)
|
|
289
|
+
Puppet::Util::Log.newdestination(:syslog)
|
|
290
290
|
end
|
|
291
291
|
|
|
292
292
|
args[:Server] = Puppet[:server]
|
|
293
293
|
if options[:fqdn]
|
|
294
|
-
args[:FQDN] = fqdn
|
|
294
|
+
args[:FQDN] = options[:fqdn]
|
|
295
295
|
end
|
|
296
296
|
|
|
297
297
|
if options[:centrallogs]
|
|
@@ -300,16 +300,12 @@ if options[:centrallogs]
|
|
|
300
300
|
if args.include?(:Port)
|
|
301
301
|
logdest += ":" + args[:Port]
|
|
302
302
|
end
|
|
303
|
-
Puppet::Log.newdestination(logdest)
|
|
304
|
-
end
|
|
305
|
-
|
|
306
|
-
if options[:onetime]
|
|
307
|
-
Puppet[:setpidfile] = false
|
|
303
|
+
Puppet::Util::Log.newdestination(logdest)
|
|
308
304
|
end
|
|
309
305
|
|
|
310
306
|
# We need tomake the client either way, we just don't start it
|
|
311
307
|
# if --no-client is set.
|
|
312
|
-
client = Puppet::Client
|
|
308
|
+
client = Puppet::Network::Client.master.new(args)
|
|
313
309
|
if options[:enable]
|
|
314
310
|
client.enable
|
|
315
311
|
elsif options[:disable]
|
|
@@ -328,13 +324,13 @@ if options[:daemonize]
|
|
|
328
324
|
client.daemonize
|
|
329
325
|
end
|
|
330
326
|
|
|
331
|
-
unless client.
|
|
327
|
+
unless client.read_cert
|
|
332
328
|
# If we don't already have the certificate, then create a client to
|
|
333
|
-
# request one.
|
|
334
|
-
caclient = Puppet::Client
|
|
329
|
+
# request one. Use the special ca stuff, don't use the normal server and port.
|
|
330
|
+
caclient = Puppet::Network::Client.ca.new()
|
|
335
331
|
if options[:waitforcert] > 0
|
|
336
332
|
begin
|
|
337
|
-
while ! caclient.
|
|
333
|
+
while ! caclient.request_cert do
|
|
338
334
|
Puppet.notice "Did not receive certificate"
|
|
339
335
|
sleep options[:waitforcert]
|
|
340
336
|
end
|
|
@@ -343,14 +339,16 @@ unless client.readcert
|
|
|
343
339
|
exit(23)
|
|
344
340
|
end
|
|
345
341
|
else
|
|
346
|
-
unless caclient.
|
|
342
|
+
unless caclient.request_cert
|
|
347
343
|
Puppet.notice "No certificates; exiting"
|
|
348
344
|
exit(1)
|
|
349
345
|
end
|
|
350
346
|
end
|
|
351
347
|
|
|
352
348
|
# Now read the new cert in.
|
|
353
|
-
|
|
349
|
+
if client.read_cert
|
|
350
|
+
Puppet.notice "Got signed certificate"
|
|
351
|
+
else
|
|
354
352
|
Puppet.err "Could not read certificates after retrieving them"
|
|
355
353
|
exit(34)
|
|
356
354
|
end
|
|
@@ -359,13 +357,20 @@ end
|
|
|
359
357
|
objects = []
|
|
360
358
|
|
|
361
359
|
# This has to go after the certs are dealt with.
|
|
362
|
-
if Puppet[:listen]
|
|
360
|
+
if Puppet[:listen] and ! options[:onetime]
|
|
363
361
|
unless FileTest.exists?(Puppet[:authconfig])
|
|
364
|
-
|
|
362
|
+
Puppet.err "Will not start without authorization file %s" %
|
|
365
363
|
Puppet[:authconfig]
|
|
366
364
|
exit(14)
|
|
367
365
|
end
|
|
368
366
|
|
|
367
|
+
# FIXME: we should really figure out how to distribute the CRL
|
|
368
|
+
# to clients. In the meantime, we just disable CRL checking if
|
|
369
|
+
# the CRL file doesn't exist
|
|
370
|
+
unless File::exist?(Puppet[:cacrl])
|
|
371
|
+
Puppet[:cacrl] = 'none'
|
|
372
|
+
end
|
|
373
|
+
|
|
369
374
|
handlers = nil
|
|
370
375
|
|
|
371
376
|
if options[:serve].empty?
|
|
@@ -383,8 +388,10 @@ if Puppet[:listen]
|
|
|
383
388
|
args[:Handlers] = handlers
|
|
384
389
|
args[:Port] = Puppet[:puppetport]
|
|
385
390
|
|
|
391
|
+
require 'puppet/network/server/webrick'
|
|
392
|
+
|
|
386
393
|
begin
|
|
387
|
-
server = Puppet::Server.new(args)
|
|
394
|
+
server = Puppet::Network::Server::WEBrick.new(args)
|
|
388
395
|
rescue => detail
|
|
389
396
|
$stderr.puts detail
|
|
390
397
|
puts detail.backtrace
|
|
@@ -392,11 +399,10 @@ if Puppet[:listen]
|
|
|
392
399
|
end
|
|
393
400
|
|
|
394
401
|
objects << server
|
|
402
|
+
elsif options[:onetime] and Puppet[:listen]
|
|
403
|
+
Puppet.notice "Ignoring --listen on onetime run"
|
|
395
404
|
end
|
|
396
405
|
|
|
397
|
-
# now set up the network client with the certs, now that we have them
|
|
398
|
-
client.setcerts
|
|
399
|
-
|
|
400
406
|
if options[:client]
|
|
401
407
|
objects << client
|
|
402
408
|
end
|
|
@@ -404,26 +410,24 @@ end
|
|
|
404
410
|
# Set traps for INT and TERM
|
|
405
411
|
Puppet.settraps
|
|
406
412
|
|
|
413
|
+
# If --onetime is specified, we don't run 'start', which means we don't
|
|
414
|
+
# create a pidfile.
|
|
407
415
|
if options[:onetime]
|
|
408
416
|
unless options[:client]
|
|
409
417
|
$stderr.puts "onetime is specified but there is no client"
|
|
410
418
|
exit(43)
|
|
411
419
|
end
|
|
412
420
|
|
|
413
|
-
if server
|
|
414
|
-
Puppet.notice "Ignoring --listen on onetime run"
|
|
415
|
-
end
|
|
416
|
-
|
|
417
421
|
# Add the service, so the traps work correctly.
|
|
418
422
|
Puppet.newservice(client)
|
|
419
423
|
|
|
420
424
|
begin
|
|
421
425
|
client.run
|
|
422
426
|
rescue => detail
|
|
423
|
-
Puppet
|
|
424
|
-
if Puppet[:debug]
|
|
427
|
+
if Puppet[:trace]
|
|
425
428
|
puts detail.backtrace
|
|
426
429
|
end
|
|
430
|
+
Puppet.err detail.to_s
|
|
427
431
|
end
|
|
428
432
|
exit(0)
|
|
429
433
|
else
|
|
@@ -441,5 +445,4 @@ else
|
|
|
441
445
|
Puppet.start
|
|
442
446
|
end
|
|
443
447
|
|
|
444
|
-
|
|
445
|
-
# $Id: puppetd 1415 2006-07-21 15:37:15Z luke $
|
|
448
|
+
# $Id: puppetd 2375 2007-03-30 23:17:40Z luke $
|