puppet 0.23.2 → 0.24.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of puppet might be problematic. Click here for more details.

Files changed (629) hide show
  1. data/CHANGELOG +112 -1
  2. data/README +1 -1
  3. data/Rakefile +1 -2
  4. data/bin/filebucket +2 -3
  5. data/bin/puppet +55 -39
  6. data/bin/puppetca +20 -11
  7. data/bin/puppetd +30 -31
  8. data/bin/puppetdoc +27 -28
  9. data/bin/puppetmasterd +24 -42
  10. data/bin/puppetrun +3 -4
  11. data/bin/ralsh +5 -7
  12. data/conf/redhat/puppet.spec +4 -1
  13. data/conf/solaris/smf/svc-puppetd +1 -1
  14. data/conf/solaris/smf/svc-puppetmasterd +1 -1
  15. data/examples/code/allatonce +1 -1
  16. data/examples/code/assignments +1 -1
  17. data/examples/code/components +1 -1
  18. data/examples/code/file.bl +1 -1
  19. data/examples/code/filedefaults +1 -1
  20. data/examples/code/fileparsing +1 -1
  21. data/examples/code/filerecursion +1 -1
  22. data/examples/code/functions +1 -1
  23. data/examples/code/groups +1 -1
  24. data/examples/code/head +1 -1
  25. data/examples/code/importing +1 -1
  26. data/examples/code/modules/sample-module.pp +10 -0
  27. data/examples/code/modules/sample-module/README.txt +17 -0
  28. data/examples/code/modules/sample-module/lib/puppet/parser/functions/hostname_to_dn.rb +36 -0
  29. data/examples/code/modules/sample-module/manifests/init.pp +12 -0
  30. data/examples/code/modules/sample-module/templates/sample.erb +5 -0
  31. data/examples/code/nodes +1 -1
  32. data/examples/code/one +1 -1
  33. data/examples/code/relationships +1 -1
  34. data/examples/code/selectors +1 -1
  35. data/examples/code/simpletests +1 -1
  36. data/examples/root/etc/init.d/sleeper +1 -1
  37. data/examples/root/etc/puppet/fileserver.conf +1 -1
  38. data/ext/ldap/puppet.schema +1 -1
  39. data/ext/module_puppet +30 -21
  40. data/ext/puppet-test +3 -3
  41. data/ext/vim/filetype.vim +1 -1
  42. data/install.rb +1 -2
  43. data/lib/puppet.rb +20 -19
  44. data/lib/puppet/checksum.rb +57 -0
  45. data/lib/puppet/config_stores/rest.rb +1 -1
  46. data/lib/puppet/daemon.rb +0 -1
  47. data/lib/puppet/{configuration.rb → defaults.rb} +56 -23
  48. data/lib/puppet/dsl.rb +22 -116
  49. data/lib/puppet/error.rb +0 -9
  50. data/lib/puppet/event.rb +0 -1
  51. data/lib/puppet/external/gratr/rdot.rb +0 -1
  52. data/lib/puppet/external/lock.rb +0 -1
  53. data/lib/puppet/feature/base.rb +3 -2
  54. data/lib/puppet/feature/rails.rb +0 -1
  55. data/lib/puppet/file_serving.rb +7 -0
  56. data/lib/puppet/file_serving/configuration.rb +129 -0
  57. data/lib/puppet/file_serving/configuration/parser.rb +124 -0
  58. data/lib/puppet/file_serving/content.rb +34 -0
  59. data/lib/puppet/file_serving/file_base.rb +63 -0
  60. data/lib/puppet/file_serving/fileset.rb +138 -0
  61. data/lib/puppet/file_serving/indirection_hooks.rb +44 -0
  62. data/lib/puppet/file_serving/metadata.rb +69 -0
  63. data/lib/puppet/file_serving/mount.rb +186 -0
  64. data/lib/puppet/file_serving/terminus_helper.rb +19 -0
  65. data/lib/puppet/indirector.rb +68 -0
  66. data/lib/puppet/indirector/catalog/compiler.rb +173 -0
  67. data/lib/puppet/indirector/catalog/yaml.rb +24 -0
  68. data/lib/puppet/indirector/checksum/file.rb +33 -0
  69. data/lib/puppet/indirector/code.rb +6 -0
  70. data/lib/puppet/indirector/direct_file_server.rb +27 -0
  71. data/lib/puppet/indirector/exec.rb +57 -0
  72. data/lib/puppet/indirector/facts/facter.rb +65 -0
  73. data/lib/puppet/indirector/facts/memory.rb +9 -0
  74. data/lib/puppet/indirector/facts/yaml.rb +7 -0
  75. data/lib/puppet/indirector/file.rb +54 -0
  76. data/lib/puppet/indirector/file_content.rb +5 -0
  77. data/lib/puppet/indirector/file_content/file.rb +11 -0
  78. data/lib/puppet/indirector/file_content/file_server.rb +11 -0
  79. data/lib/puppet/indirector/file_content/modules.rb +11 -0
  80. data/lib/puppet/indirector/file_content/rest.rb +12 -0
  81. data/lib/puppet/indirector/file_metadata.rb +5 -0
  82. data/lib/puppet/indirector/file_metadata/file.rb +26 -0
  83. data/lib/puppet/indirector/file_metadata/file_server.rb +11 -0
  84. data/lib/puppet/indirector/file_metadata/modules.rb +17 -0
  85. data/lib/puppet/indirector/file_metadata/rest.rb +12 -0
  86. data/lib/puppet/indirector/file_server.rb +56 -0
  87. data/lib/puppet/indirector/indirection.rb +237 -0
  88. data/lib/puppet/indirector/ldap.rb +90 -0
  89. data/lib/puppet/indirector/memory.rb +21 -0
  90. data/lib/puppet/indirector/module_files.rb +82 -0
  91. data/lib/puppet/indirector/node/exec.rb +52 -0
  92. data/lib/puppet/indirector/node/ldap.rb +120 -0
  93. data/lib/puppet/indirector/node/memory.rb +10 -0
  94. data/lib/puppet/indirector/node/plain.rb +19 -0
  95. data/lib/puppet/indirector/node/rest.rb +7 -0
  96. data/lib/puppet/indirector/node/yaml.rb +7 -0
  97. data/lib/puppet/indirector/plain.rb +9 -0
  98. data/lib/puppet/indirector/report/processor.rb +50 -0
  99. data/lib/puppet/indirector/rest.rb +8 -0
  100. data/lib/puppet/indirector/ssl_rsa.rb +5 -0
  101. data/lib/puppet/indirector/ssl_rsa/file.rb +33 -0
  102. data/lib/puppet/indirector/terminus.rb +178 -0
  103. data/lib/puppet/indirector/yaml.rb +57 -0
  104. data/lib/puppet/metatype/attributes.rb +3 -3
  105. data/lib/puppet/metatype/closure.rb +0 -66
  106. data/lib/puppet/metatype/container.rb +0 -9
  107. data/lib/puppet/metatype/evaluation.rb +10 -2
  108. data/lib/puppet/metatype/instances.rb +16 -30
  109. data/lib/puppet/metatype/manager.rb +1 -2
  110. data/lib/puppet/metatype/metaparams.rb +27 -21
  111. data/lib/puppet/metatype/providers.rb +3 -2
  112. data/lib/puppet/metatype/relationships.rb +1 -2
  113. data/lib/puppet/metatype/schedules.rb +0 -1
  114. data/lib/puppet/metatype/tags.rb +0 -1
  115. data/lib/puppet/module.rb +60 -32
  116. data/lib/puppet/network/authconfig.rb +0 -1
  117. data/lib/puppet/network/authorization.rb +0 -1
  118. data/lib/puppet/network/authstore.rb +0 -1
  119. data/lib/puppet/network/client.rb +13 -4
  120. data/lib/puppet/network/client/ca.rb +4 -5
  121. data/lib/puppet/network/client/dipper.rb +0 -1
  122. data/lib/puppet/network/client/file.rb +0 -1
  123. data/lib/puppet/network/client/master.rb +127 -235
  124. data/lib/puppet/network/client/proxy.rb +0 -1
  125. data/lib/puppet/network/client/report.rb +0 -1
  126. data/lib/puppet/network/client/resource.rb +0 -1
  127. data/lib/puppet/network/client/runner.rb +0 -1
  128. data/lib/puppet/network/client/status.rb +0 -1
  129. data/lib/puppet/network/client_request.rb +0 -1
  130. data/lib/puppet/network/handler.rb +5 -2
  131. data/lib/puppet/network/handler/ca.rb +1 -2
  132. data/lib/puppet/network/handler/configuration.rb +184 -0
  133. data/lib/puppet/network/handler/filebucket.rb +1 -2
  134. data/lib/puppet/network/handler/fileserver.rb +279 -107
  135. data/lib/puppet/network/handler/master.rb +57 -152
  136. data/lib/puppet/network/handler/report.rb +6 -65
  137. data/lib/puppet/network/handler/resource.rb +5 -13
  138. data/lib/puppet/network/handler/runner.rb +3 -4
  139. data/lib/puppet/network/handler/status.rb +0 -1
  140. data/lib/puppet/network/http.rb +13 -0
  141. data/lib/puppet/network/http/handler.rb +109 -0
  142. data/lib/puppet/network/http/mongrel.rb +54 -0
  143. data/lib/puppet/network/http/mongrel/rest.rb +37 -0
  144. data/lib/puppet/network/http/mongrel/xmlrpc.rb +4 -0
  145. data/lib/puppet/network/http/webrick.rb +51 -0
  146. data/lib/puppet/network/http/webrick/rest.rb +41 -0
  147. data/lib/puppet/network/http/webrick/xmlrpc.rb +4 -0
  148. data/lib/puppet/network/http_server.rb +3 -0
  149. data/lib/puppet/network/{server → http_server}/mongrel.rb +11 -5
  150. data/lib/puppet/network/{server → http_server}/webrick.rb +9 -5
  151. data/lib/puppet/network/rest_controller.rb +2 -0
  152. data/lib/puppet/network/rights.rb +0 -1
  153. data/lib/puppet/network/server.rb +63 -3
  154. data/lib/puppet/network/xmlrpc/client.rb +90 -23
  155. data/lib/puppet/network/xmlrpc/processor.rb +0 -1
  156. data/lib/puppet/network/xmlrpc/server.rb +0 -1
  157. data/lib/puppet/network/xmlrpc/webrick_servlet.rb +0 -1
  158. data/lib/puppet/node.rb +165 -0
  159. data/lib/puppet/node/catalog.rb +480 -0
  160. data/lib/puppet/node/environment.rb +46 -0
  161. data/lib/puppet/node/facts.rb +36 -0
  162. data/lib/puppet/parameter.rb +34 -28
  163. data/lib/puppet/parser/ast.rb +0 -1
  164. data/lib/puppet/parser/ast/astarray.rb +30 -53
  165. data/lib/puppet/parser/ast/branch.rb +0 -10
  166. data/lib/puppet/parser/ast/caseopt.rb +0 -11
  167. data/lib/puppet/parser/ast/casestatement.rb +0 -12
  168. data/lib/puppet/parser/ast/collection.rb +1 -3
  169. data/lib/puppet/parser/ast/collexpr.rb +0 -2
  170. data/lib/puppet/parser/ast/{component.rb → definition.rb} +58 -72
  171. data/lib/puppet/parser/ast/else.rb +0 -10
  172. data/lib/puppet/parser/ast/function.rb +0 -2
  173. data/lib/puppet/parser/ast/hostclass.rb +21 -19
  174. data/lib/puppet/parser/ast/ifstatement.rb +0 -13
  175. data/lib/puppet/parser/ast/leaf.rb +0 -8
  176. data/lib/puppet/parser/ast/node.rb +13 -10
  177. data/lib/puppet/parser/ast/resource.rb +75 -0
  178. data/lib/puppet/parser/ast/{resourcedefaults.rb → resource_defaults.rb} +4 -20
  179. data/lib/puppet/parser/ast/{resourceoverride.rb → resource_override.rb} +3 -5
  180. data/lib/puppet/parser/ast/resource_reference.rb +66 -0
  181. data/lib/puppet/parser/ast/resourceparam.rb +0 -14
  182. data/lib/puppet/parser/ast/selector.rb +0 -10
  183. data/lib/puppet/parser/ast/tag.rb +0 -2
  184. data/lib/puppet/parser/ast/vardef.rb +0 -14
  185. data/lib/puppet/parser/collector.rb +83 -101
  186. data/lib/puppet/parser/compile.rb +509 -0
  187. data/lib/puppet/parser/functions.rb +10 -10
  188. data/lib/puppet/parser/interpreter.rb +44 -662
  189. data/lib/puppet/parser/lexer.rb +1 -3
  190. data/lib/puppet/parser/parser.rb +674 -701
  191. data/lib/puppet/parser/parser_support.rb +33 -24
  192. data/lib/puppet/parser/resource.rb +219 -162
  193. data/lib/puppet/parser/resource/param.rb +1 -2
  194. data/lib/puppet/parser/resource/reference.rb +24 -16
  195. data/lib/puppet/parser/scope.rb +48 -459
  196. data/lib/puppet/parser/templatewrapper.rb +4 -5
  197. data/lib/puppet/pgraph.rb +10 -13
  198. data/lib/puppet/property.rb +25 -41
  199. data/lib/puppet/propertychange.rb +0 -2
  200. data/lib/puppet/provider.rb +15 -11
  201. data/lib/puppet/provider/cron/crontab.rb +6 -7
  202. data/lib/puppet/provider/group/groupadd.rb +0 -1
  203. data/lib/puppet/provider/group/netinfo.rb +0 -1
  204. data/lib/puppet/provider/group/pw.rb +0 -1
  205. data/lib/puppet/provider/host/netinfo.rb +0 -1
  206. data/lib/puppet/provider/host/parsed.rb +0 -1
  207. data/lib/puppet/provider/interface/redhat.rb +90 -91
  208. data/lib/puppet/provider/interface/sunos.rb +98 -81
  209. data/lib/puppet/provider/mailalias/aliases.rb +0 -1
  210. data/lib/puppet/provider/maillist/mailman.rb +2 -3
  211. data/lib/puppet/provider/mount.rb +10 -9
  212. data/lib/puppet/provider/mount/netinfo.rb +0 -1
  213. data/lib/puppet/provider/mount/parsed.rb +0 -1
  214. data/lib/puppet/provider/nameservice.rb +0 -1
  215. data/lib/puppet/provider/nameservice/netinfo.rb +0 -1
  216. data/lib/puppet/provider/nameservice/objectadd.rb +0 -1
  217. data/lib/puppet/provider/nameservice/pw.rb +0 -1
  218. data/lib/puppet/provider/package.rb +0 -2
  219. data/lib/puppet/provider/package/appdmg.rb +0 -1
  220. data/lib/puppet/provider/package/apple.rb +0 -1
  221. data/lib/puppet/provider/package/apt.rb +0 -1
  222. data/lib/puppet/provider/package/aptitude.rb +0 -1
  223. data/lib/puppet/provider/package/aptrpm.rb +0 -1
  224. data/lib/puppet/provider/package/blastwave.rb +0 -1
  225. data/lib/puppet/provider/package/darwinport.rb +0 -1
  226. data/lib/puppet/provider/package/dpkg.rb +9 -1
  227. data/lib/puppet/provider/package/fink.rb +0 -1
  228. data/lib/puppet/provider/package/freebsd.rb +0 -1
  229. data/lib/puppet/provider/package/gem.rb +0 -1
  230. data/lib/puppet/provider/package/openbsd.rb +1 -2
  231. data/lib/puppet/provider/package/pkgdmg.rb +14 -15
  232. data/lib/puppet/provider/package/portage.rb +6 -7
  233. data/lib/puppet/provider/package/ports.rb +1 -4
  234. data/lib/puppet/provider/package/rpm.rb +31 -45
  235. data/lib/puppet/provider/package/sun.rb +0 -3
  236. data/lib/puppet/provider/package/sunfreeware.rb +0 -1
  237. data/lib/puppet/provider/package/up2date.rb +0 -1
  238. data/lib/puppet/provider/package/urpmi.rb +0 -1
  239. data/lib/puppet/provider/package/yum.rb +45 -14
  240. data/lib/puppet/provider/package/yumhelper.py +37 -0
  241. data/lib/puppet/provider/parsedfile.rb +2 -3
  242. data/lib/puppet/provider/port/parsed.rb +0 -1
  243. data/lib/puppet/provider/service/base.rb +4 -1
  244. data/lib/puppet/provider/service/debian.rb +5 -2
  245. data/lib/puppet/provider/service/freebsd.rb +51 -0
  246. data/lib/puppet/provider/service/init.rb +16 -40
  247. data/lib/puppet/provider/service/redhat.rb +1 -6
  248. data/lib/puppet/provider/service/smf.rb +0 -1
  249. data/lib/puppet/provider/sshkey/parsed.rb +0 -1
  250. data/lib/puppet/provider/user/netinfo.rb +0 -1
  251. data/lib/puppet/provider/user/pw.rb +0 -1
  252. data/lib/puppet/provider/user/useradd.rb +0 -1
  253. data/lib/puppet/provider/zone/solaris.rb +0 -1
  254. data/lib/puppet/rails.rb +35 -30
  255. data/lib/puppet/rails/database/schema.rb +0 -1
  256. data/lib/puppet/rails/host.rb +6 -15
  257. data/lib/puppet/rails/param_name.rb +1 -2
  258. data/lib/puppet/rails/param_value.rb +0 -1
  259. data/lib/puppet/rails/puppet_class.rb +0 -1
  260. data/lib/puppet/rails/resource.rb +3 -5
  261. data/lib/puppet/reference/configuration.rb +12 -6
  262. data/lib/puppet/reference/indirection.rb +34 -0
  263. data/lib/puppet/reference/node_source.rb +9 -0
  264. data/lib/puppet/relationship.rb +10 -8
  265. data/lib/puppet/reports.rb +51 -0
  266. data/lib/puppet/reports/log.rb +2 -3
  267. data/lib/puppet/reports/rrdgraph.rb +2 -5
  268. data/lib/puppet/reports/store.rb +6 -7
  269. data/lib/puppet/reports/tagmail.rb +2 -3
  270. data/lib/puppet/resource_reference.rb +79 -0
  271. data/lib/puppet/simple_graph.rb +251 -0
  272. data/lib/puppet/sslcertificates.rb +19 -15
  273. data/lib/puppet/sslcertificates/ca.rb +56 -15
  274. data/lib/puppet/sslcertificates/certificate.rb +0 -1
  275. data/lib/puppet/sslcertificates/inventory.rb +2 -6
  276. data/lib/puppet/sslcertificates/monkey_patch.rb +6 -0
  277. data/lib/puppet/sslcertificates/support.rb +4 -5
  278. data/lib/puppet/transaction.rb +93 -96
  279. data/lib/puppet/transaction/report.rb +5 -1
  280. data/lib/puppet/transportable.rb +79 -125
  281. data/lib/puppet/type.rb +44 -10
  282. data/lib/puppet/type/component.rb +25 -110
  283. data/lib/puppet/type/cron.rb +1 -2
  284. data/lib/puppet/type/exec.rb +19 -13
  285. data/lib/puppet/type/group.rb +0 -1
  286. data/lib/puppet/type/host.rb +0 -1
  287. data/lib/puppet/type/interface.rb +6 -3
  288. data/lib/puppet/type/k5login.rb +87 -0
  289. data/lib/puppet/type/mailalias.rb +0 -1
  290. data/lib/puppet/type/maillist.rb +0 -1
  291. data/lib/puppet/type/mount.rb +7 -13
  292. data/lib/puppet/type/notify.rb +0 -1
  293. data/lib/puppet/type/package.rb +7 -63
  294. data/lib/puppet/type/pfile.rb +25 -32
  295. data/lib/puppet/type/pfile/checksum.rb +0 -1
  296. data/lib/puppet/type/pfile/content.rb +18 -3
  297. data/lib/puppet/type/pfile/ensure.rb +5 -6
  298. data/lib/puppet/type/pfile/group.rb +4 -1
  299. data/lib/puppet/type/pfile/mode.rb +0 -1
  300. data/lib/puppet/type/pfile/owner.rb +6 -9
  301. data/lib/puppet/type/pfile/source.rb +28 -11
  302. data/lib/puppet/type/pfile/target.rb +2 -1
  303. data/lib/puppet/type/pfile/type.rb +0 -1
  304. data/lib/puppet/type/pfilebucket.rb +0 -1
  305. data/lib/puppet/type/port.rb +0 -1
  306. data/lib/puppet/type/resources.rb +0 -1
  307. data/lib/puppet/type/schedule.rb +17 -15
  308. data/lib/puppet/type/service.rb +23 -159
  309. data/lib/puppet/type/sshkey.rb +0 -1
  310. data/lib/puppet/type/tidy.rb +15 -7
  311. data/lib/puppet/type/user.rb +0 -1
  312. data/lib/puppet/type/zone.rb +0 -1
  313. data/lib/puppet/util.rb +1 -2
  314. data/lib/puppet/util/autoload.rb +21 -23
  315. data/lib/puppet/util/checksums.rb +37 -0
  316. data/lib/puppet/util/classgen.rb +0 -1
  317. data/lib/puppet/util/diff.rb +71 -0
  318. data/lib/puppet/util/docs.rb +8 -2
  319. data/lib/puppet/util/errors.rb +0 -1
  320. data/lib/puppet/util/execution.rb +0 -1
  321. data/lib/puppet/util/fact_store.rb +0 -1
  322. data/lib/puppet/util/feature.rb +31 -22
  323. data/lib/puppet/util/fileparsing.rb +3 -2
  324. data/lib/puppet/util/filetype.rb +30 -12
  325. data/lib/puppet/util/graph.rb +0 -1
  326. data/lib/puppet/util/inifile.rb +0 -1
  327. data/lib/puppet/util/instance_loader.rb +11 -4
  328. data/lib/puppet/util/loadedfile.rb +0 -1
  329. data/lib/puppet/util/log.rb +0 -1
  330. data/lib/puppet/util/log_paths.rb +0 -1
  331. data/lib/puppet/util/logging.rb +0 -1
  332. data/lib/puppet/util/metaid.rb +0 -1
  333. data/lib/puppet/util/methodhelper.rb +0 -2
  334. data/lib/puppet/util/metric.rb +1 -2
  335. data/lib/puppet/util/plist.rb +0 -1
  336. data/lib/puppet/util/plist/generator.rb +0 -1
  337. data/lib/puppet/util/plist/parser.rb +0 -1
  338. data/lib/puppet/util/posix.rb +7 -1
  339. data/lib/puppet/util/provider_features.rb +11 -12
  340. data/lib/puppet/util/rails/collection_merger.rb +0 -1
  341. data/lib/puppet/util/reference.rb +2 -3
  342. data/lib/puppet/util/{config.rb → settings.rb} +424 -300
  343. data/lib/puppet/util/storage.rb +1 -3
  344. data/lib/puppet/util/subclass_loader.rb +0 -1
  345. data/lib/puppet/util/suidmanager.rb +25 -42
  346. data/lib/puppet/util/uri_helper.rb +22 -0
  347. data/lib/puppet/util/variables.rb +0 -1
  348. data/lib/puppet/util/warnings.rb +0 -1
  349. data/test/Rakefile +1 -1
  350. data/test/certmgr/ca.rb +8 -2
  351. data/test/certmgr/certmgr.rb +14 -6
  352. data/test/certmgr/inventory.rb +18 -30
  353. data/test/certmgr/support.rb +3 -2
  354. data/test/executables/filebucket.rb +1 -2
  355. data/test/executables/puppetbin.rb +1 -2
  356. data/test/executables/puppetca.rb +7 -2
  357. data/test/executables/puppetd.rb +23 -29
  358. data/test/executables/puppetmasterd.rb +1 -2
  359. data/test/executables/puppetmodule.rb +1 -2
  360. data/test/language/ast.rb +24 -29
  361. data/test/language/ast/casestatement.rb +1 -2
  362. data/test/language/ast/definition.rb +166 -0
  363. data/test/language/ast/hostclass.rb +50 -29
  364. data/test/language/ast/resource.rb +59 -0
  365. data/test/language/ast/{resourceref.rb → resource_reference.rb} +30 -20
  366. data/test/language/ast/selector.rb +1 -2
  367. data/test/language/ast/variable.rb +1 -2
  368. data/test/language/compile.rb +569 -0
  369. data/test/language/functions.rb +57 -76
  370. data/test/language/lexer.rb +20 -3
  371. data/test/language/parser.rb +45 -33
  372. data/test/language/resource.rb +275 -308
  373. data/test/language/scope.rb +135 -410
  374. data/test/language/snippets.rb +19 -41
  375. data/test/language/transportable.rb +8 -29
  376. data/test/lib/mocha/auto_verify.rb +6 -6
  377. data/test/lib/mocha/deprecation.rb +22 -0
  378. data/test/lib/mocha/exception_raiser.rb +17 -0
  379. data/test/lib/mocha/expectation.rb +167 -84
  380. data/test/lib/mocha/infinite_range.rb +4 -6
  381. data/test/lib/mocha/inspect.rb +3 -1
  382. data/test/lib/mocha/is_a.rb +9 -0
  383. data/test/lib/mocha/missing_expectation.rb +27 -0
  384. data/test/lib/mocha/mock.rb +192 -5
  385. data/test/lib/mocha/multiple_yields.rb +20 -0
  386. data/test/lib/mocha/no_yields.rb +11 -0
  387. data/test/lib/mocha/object.rb +11 -1
  388. data/test/lib/mocha/parameter_matchers.rb +9 -0
  389. data/test/lib/mocha/parameter_matchers/all_of.rb +39 -0
  390. data/test/lib/mocha/parameter_matchers/any_of.rb +44 -0
  391. data/test/lib/mocha/parameter_matchers/anything.rb +30 -0
  392. data/test/lib/mocha/parameter_matchers/has_entry.rb +39 -0
  393. data/test/lib/mocha/parameter_matchers/has_key.rb +39 -0
  394. data/test/lib/mocha/parameter_matchers/has_value.rb +39 -0
  395. data/test/lib/mocha/parameter_matchers/includes.rb +37 -0
  396. data/test/lib/mocha/return_values.rb +31 -0
  397. data/test/lib/mocha/single_return_value.rb +24 -0
  398. data/test/lib/mocha/single_yield.rb +18 -0
  399. data/test/lib/mocha/standalone.rb +2 -0
  400. data/test/lib/mocha/stub.rb +18 -0
  401. data/test/lib/mocha/test_case_adapter.rb +3 -3
  402. data/test/lib/mocha/yield_parameters.rb +31 -0
  403. data/test/lib/puppettest.rb +38 -20
  404. data/test/lib/puppettest/certificates.rb +0 -1
  405. data/test/lib/puppettest/exetest.rb +0 -1
  406. data/test/lib/puppettest/fakes.rb +0 -1
  407. data/test/lib/puppettest/fileparsing.rb +8 -15
  408. data/test/lib/puppettest/filetesting.rb +0 -1
  409. data/test/lib/puppettest/parsertesting.rb +37 -23
  410. data/test/lib/puppettest/railstesting.rb +3 -6
  411. data/test/lib/puppettest/reporttesting.rb +0 -1
  412. data/test/lib/puppettest/resourcetesting.rb +6 -34
  413. data/test/lib/puppettest/runnable_test.rb +30 -0
  414. data/test/lib/puppettest/servertest.rb +2 -3
  415. data/test/lib/puppettest/support/assertions.rb +13 -41
  416. data/test/lib/puppettest/support/collection.rb +0 -1
  417. data/test/lib/puppettest/support/helpers.rb +0 -1
  418. data/test/lib/puppettest/support/resources.rb +17 -17
  419. data/test/lib/puppettest/support/utils.rb +45 -27
  420. data/test/lib/puppettest/testcase.rb +2 -21
  421. data/test/lib/rake/puppet_test_loader.rb +0 -1
  422. data/test/lib/rake/puppet_testtask.rb +0 -1
  423. data/test/network/authconfig.rb +1 -2
  424. data/test/network/authorization.rb +1 -2
  425. data/test/network/authstore.rb +1 -2
  426. data/test/network/client/ca.rb +12 -7
  427. data/test/network/client/client.rb +17 -22
  428. data/test/network/client/dipper.rb +1 -2
  429. data/test/network/client/master.rb +70 -184
  430. data/test/network/client/resource.rb +9 -2
  431. data/test/network/client_request.rb +1 -2
  432. data/test/network/daemon.rb +1 -2
  433. data/test/network/handler/bucket.rb +2 -31
  434. data/test/network/handler/ca.rb +9 -3
  435. data/test/network/handler/configuration.rb +160 -0
  436. data/test/network/handler/fileserver.rb +24 -5
  437. data/test/network/handler/handler.rb +1 -2
  438. data/test/network/handler/master.rb +38 -243
  439. data/test/network/handler/report.rb +2 -104
  440. data/test/network/handler/resource.rb +5 -3
  441. data/test/network/handler/runner.rb +22 -60
  442. data/test/network/rights.rb +1 -2
  443. data/test/network/server/mongrel_test.rb +2 -3
  444. data/test/network/server/webrick.rb +17 -11
  445. data/test/network/xmlrpc/client.rb +27 -12
  446. data/test/network/xmlrpc/processor.rb +3 -4
  447. data/test/network/xmlrpc/server.rb +1 -2
  448. data/test/network/xmlrpc/webrick_servlet.rb +8 -2
  449. data/test/other/dsl.rb +2 -4
  450. data/test/other/events.rb +14 -56
  451. data/test/other/overrides.rb +3 -6
  452. data/test/other/propertychange.rb +1 -2
  453. data/test/other/provider.rb +1 -2
  454. data/test/other/puppet.rb +1 -2
  455. data/test/other/relationships.rb +15 -17
  456. data/test/other/report.rb +14 -20
  457. data/test/other/transactions.rb +109 -192
  458. data/test/puppet/conffiles.rb +3 -5
  459. data/test/puppet/defaults.rb +1 -28
  460. data/test/puppet/errortest.rb +1 -2
  461. data/test/puppet/tc_suidmanager.rb +77 -63
  462. data/test/rails/ast.rb +4 -4
  463. data/test/rails/configuration.rb +71 -0
  464. data/test/rails/host.rb +19 -30
  465. data/test/rails/rails.rb +1 -2
  466. data/test/rails/railsparameter.rb +3 -4
  467. data/test/rails/railsresource.rb +6 -5
  468. data/test/ral/manager/attributes.rb +1 -2
  469. data/test/ral/manager/instances.rb +3 -3
  470. data/test/ral/manager/manager.rb +1 -2
  471. data/test/ral/manager/provider.rb +1 -2
  472. data/test/ral/manager/type.rb +89 -93
  473. data/test/ral/providers/cron/crontab.rb +9 -11
  474. data/test/ral/providers/group.rb +1 -2
  475. data/test/ral/providers/host/netinfo.rb +1 -2
  476. data/test/ral/providers/host/parsed.rb +1 -2
  477. data/test/ral/providers/mailalias/aliases.rb +1 -2
  478. data/test/ral/providers/mount/netinfo.rb +1 -2
  479. data/test/ral/providers/nameservice.rb +1 -2
  480. data/test/ral/providers/package.rb +5 -4
  481. data/test/ral/providers/package/apt.rb +0 -1
  482. data/test/ral/providers/package/aptrpm.rb +0 -1
  483. data/test/ral/providers/parsedfile.rb +1 -2
  484. data/test/ral/providers/port/parsed.rb +1 -2
  485. data/test/ral/providers/provider.rb +10 -5
  486. data/test/ral/providers/service/base.rb +1 -2
  487. data/test/ral/providers/service/debian.rb +58 -0
  488. data/test/ral/providers/sshkey/parsed.rb +1 -2
  489. data/test/ral/providers/user.rb +3 -2
  490. data/test/ral/providers/user/useradd.rb +0 -1
  491. data/test/ral/types/basic.rb +4 -9
  492. data/test/ral/types/cron.rb +6 -12
  493. data/test/ral/types/exec.rb +6 -7
  494. data/test/ral/types/file.rb +35 -14
  495. data/test/ral/types/file/target.rb +6 -5
  496. data/test/ral/types/filebucket.rb +3 -2
  497. data/test/ral/types/fileignoresource.rb +10 -42
  498. data/test/ral/types/filesources.rb +21 -60
  499. data/test/ral/types/group.rb +3 -3
  500. data/test/ral/types/host.rb +6 -3
  501. data/test/ral/types/mailalias.rb +1 -2
  502. data/test/ral/types/parameter.rb +5 -3
  503. data/test/ral/types/port.rb +1 -2
  504. data/test/ral/types/property.rb +3 -3
  505. data/test/ral/types/resources.rb +1 -2
  506. data/test/ral/types/service.rb +5 -3
  507. data/test/ral/types/sshkey.rb +5 -3
  508. data/test/ral/types/tidy.rb +63 -3
  509. data/test/ral/types/user.rb +10 -11
  510. data/test/ral/types/yumrepo.rb +1 -1
  511. data/test/ral/types/zone.rb +1 -2
  512. data/test/util/autoload.rb +23 -27
  513. data/test/util/classgen.rb +1 -2
  514. data/test/util/execution.rb +1 -2
  515. data/test/util/features.rb +1 -3
  516. data/test/util/fileparsing.rb +11 -3
  517. data/test/util/filetype.rb +1 -2
  518. data/test/util/inifile.rb +1 -1
  519. data/test/util/instance_loader.rb +5 -6
  520. data/test/util/loadedfile.rb +1 -2
  521. data/test/util/log.rb +1 -2
  522. data/test/util/metrics.rb +1 -2
  523. data/test/util/package.rb +1 -2
  524. data/test/util/posixtest.rb +1 -2
  525. data/test/util/{config.rb → settings.rb} +123 -265
  526. data/test/util/storage.rb +1 -2
  527. data/test/util/subclass_loader.rb +1 -2
  528. data/test/util/utiltest.rb +1 -111
  529. metadata +130 -112
  530. data/ext/tools/passwd2puppet +0 -45
  531. data/lib/puppet/fact_stores/yaml.rb +0 -42
  532. data/lib/puppet/network/handler/facts.rb +0 -70
  533. data/lib/puppet/parser/ast/resourcedef.rb +0 -222
  534. data/lib/puppet/parser/ast/resourceref.rb +0 -58
  535. data/test/language/ast/component.rb +0 -142
  536. data/test/language/collector.rb +0 -179
  537. data/test/language/interpreter.rb +0 -804
  538. data/test/language/node.rb +0 -126
  539. data/test/lib/mocha/mock_methods.rb +0 -122
  540. data/test/lib/puppettest/graph.rb +0 -41
  541. data/test/lib/spec.rb +0 -8
  542. data/test/lib/spec/callback.rb +0 -11
  543. data/test/lib/spec/callback/callback_container.rb +0 -60
  544. data/test/lib/spec/callback/extensions/module.rb +0 -24
  545. data/test/lib/spec/callback/extensions/object.rb +0 -37
  546. data/test/lib/spec/deprecated.rb +0 -3
  547. data/test/lib/spec/expectations.rb +0 -59
  548. data/test/lib/spec/expectations/differs/default.rb +0 -62
  549. data/test/lib/spec/expectations/errors.rb +0 -6
  550. data/test/lib/spec/expectations/extensions.rb +0 -3
  551. data/test/lib/spec/expectations/extensions/object.rb +0 -109
  552. data/test/lib/spec/expectations/extensions/proc.rb +0 -57
  553. data/test/lib/spec/expectations/extensions/string_and_symbol.rb +0 -17
  554. data/test/lib/spec/expectations/handler.rb +0 -47
  555. data/test/lib/spec/expectations/should.rb +0 -5
  556. data/test/lib/spec/expectations/should/base.rb +0 -64
  557. data/test/lib/spec/expectations/should/change.rb +0 -69
  558. data/test/lib/spec/expectations/should/have.rb +0 -128
  559. data/test/lib/spec/expectations/should/not.rb +0 -74
  560. data/test/lib/spec/expectations/should/should.rb +0 -81
  561. data/test/lib/spec/expectations/sugar.rb +0 -47
  562. data/test/lib/spec/matchers.rb +0 -160
  563. data/test/lib/spec/matchers/be.rb +0 -161
  564. data/test/lib/spec/matchers/be_close.rb +0 -37
  565. data/test/lib/spec/matchers/change.rb +0 -120
  566. data/test/lib/spec/matchers/eql.rb +0 -43
  567. data/test/lib/spec/matchers/equal.rb +0 -43
  568. data/test/lib/spec/matchers/has.rb +0 -44
  569. data/test/lib/spec/matchers/have.rb +0 -140
  570. data/test/lib/spec/matchers/include.rb +0 -50
  571. data/test/lib/spec/matchers/match.rb +0 -41
  572. data/test/lib/spec/matchers/raise_error.rb +0 -100
  573. data/test/lib/spec/matchers/respond_to.rb +0 -35
  574. data/test/lib/spec/matchers/satisfy.rb +0 -47
  575. data/test/lib/spec/matchers/throw_symbol.rb +0 -75
  576. data/test/lib/spec/mocks.rb +0 -232
  577. data/test/lib/spec/mocks/argument_expectation.rb +0 -132
  578. data/test/lib/spec/mocks/error_generator.rb +0 -85
  579. data/test/lib/spec/mocks/errors.rb +0 -10
  580. data/test/lib/spec/mocks/extensions/object.rb +0 -3
  581. data/test/lib/spec/mocks/message_expectation.rb +0 -231
  582. data/test/lib/spec/mocks/methods.rb +0 -40
  583. data/test/lib/spec/mocks/mock.rb +0 -26
  584. data/test/lib/spec/mocks/mock_handler.rb +0 -166
  585. data/test/lib/spec/mocks/order_group.rb +0 -29
  586. data/test/lib/spec/rake/spectask.rb +0 -173
  587. data/test/lib/spec/rake/verify_rcov.rb +0 -47
  588. data/test/lib/spec/runner.rb +0 -132
  589. data/test/lib/spec/runner/backtrace_tweaker.rb +0 -55
  590. data/test/lib/spec/runner/command_line.rb +0 -34
  591. data/test/lib/spec/runner/context.rb +0 -154
  592. data/test/lib/spec/runner/context_eval.rb +0 -142
  593. data/test/lib/spec/runner/context_runner.rb +0 -55
  594. data/test/lib/spec/runner/drb_command_line.rb +0 -21
  595. data/test/lib/spec/runner/execution_context.rb +0 -17
  596. data/test/lib/spec/runner/extensions/kernel.rb +0 -17
  597. data/test/lib/spec/runner/extensions/object.rb +0 -32
  598. data/test/lib/spec/runner/formatter.rb +0 -5
  599. data/test/lib/spec/runner/formatter/base_text_formatter.rb +0 -118
  600. data/test/lib/spec/runner/formatter/html_formatter.rb +0 -219
  601. data/test/lib/spec/runner/formatter/progress_bar_formatter.rb +0 -27
  602. data/test/lib/spec/runner/formatter/rdoc_formatter.rb +0 -22
  603. data/test/lib/spec/runner/formatter/specdoc_formatter.rb +0 -23
  604. data/test/lib/spec/runner/heckle_runner.rb +0 -71
  605. data/test/lib/spec/runner/heckle_runner_win.rb +0 -10
  606. data/test/lib/spec/runner/option_parser.rb +0 -224
  607. data/test/lib/spec/runner/reporter.rb +0 -105
  608. data/test/lib/spec/runner/spec_matcher.rb +0 -25
  609. data/test/lib/spec/runner/spec_parser.rb +0 -41
  610. data/test/lib/spec/runner/spec_should_raise_handler.rb +0 -74
  611. data/test/lib/spec/runner/specification.rb +0 -114
  612. data/test/lib/spec/translator.rb +0 -87
  613. data/test/lib/spec/version.rb +0 -30
  614. data/test/network/handler/facts.rb +0 -112
  615. data/test/other/pgraph.rb +0 -290
  616. data/test/other/relationship.rb +0 -74
  617. data/test/puppet/modules.rb +0 -59
  618. data/test/rails/collection.rb +0 -247
  619. data/test/rails/interpreter.rb +0 -91
  620. data/test/ral/providers/mount/parsed.rb +0 -251
  621. data/test/ral/providers/service.rb +0 -235
  622. data/test/ral/types/component.rb +0 -113
  623. data/test/ral/types/interface.rb +0 -40
  624. data/test/ral/types/mount.rb +0 -362
  625. data/test/ral/types/package.rb +0 -154
  626. data/test/ral/types/schedule.rb +0 -357
  627. data/test/tagging/tagging.rb +0 -170
  628. data/test/util/fact_store.rb +0 -67
  629. data/test/util/graph.rb +0 -108
data/CHANGELOG CHANGED
@@ -1,3 +1,114 @@
1
+ 0.24.0 (misspiggy)
2
+ Modifying the behaviour of the certdnsnames setting. It now defaults
3
+ to an empty string, and will only be used if it is set to something
4
+ else. If it is set, then the host's FQDN will also be added as
5
+ an alias. The default behaviour is now to add 'puppet' and
6
+ 'puppet.$domain' as DNS aliases when the name for the cert being
7
+ signed is equal to the signing machine's name, which will only
8
+ be the case for CA servers. This should result in servers always
9
+ having the alias set up and no one else, but you can still override
10
+ the aliases if you want.
11
+
12
+ External node support now requires that you set the 'node_terminus'
13
+ setting to 'exec'. See the IndirectionReference on the wiki for more
14
+ information.
15
+
16
+ http_enable_post_connection_check added as a configuration
17
+ option for puppetd. This defaults to true, which validates the server
18
+ SSL certificate against the requested host name in new versions of ruby.
19
+ See #896 for more information.
20
+
21
+ Mounts no longer remount swap filesystems.
22
+
23
+ Slightly modifying how services manage their list of paths
24
+ (and adding documention for it). Services now default
25
+ to the paths specified by the provider classes.
26
+
27
+ Removed 'type' as a valid attribute for services, since it's been
28
+ deprecated since the creation of providers.
29
+
30
+ Removed 'running' as a valid attribute for services, since it's
31
+ been deprecated since February 2006.
32
+
33
+ Added modified patch by Matt Palmer which adds a 'plugins' mount,
34
+ fixing #891. See PluginsInModules on the wiki for information on
35
+ usage.
36
+
37
+ Empty dbserver and dbpassword settings will now be ignored when
38
+ initializing Rails connections (patch by womble).
39
+
40
+ Configuration settings can now be blank (patch by womble).
41
+
42
+ Added calls to endpwent/endgrent when searching for user and group IDs,
43
+ which fixes #791.
44
+
45
+ Obviated 'target' in interfaces, as all file paths were automatically
46
+ calculated anyway. The parameter is still there, but it's
47
+ not used and just generates a warning.
48
+
49
+ Fixing some of the problems with interface management on Red Hat.
50
+ Puppet now uses the :netmask property and does not try to set
51
+ the bootproto (#762).
52
+
53
+ You now must specify an environment and you are required to specify
54
+ the valid environments for your site. (#911)
55
+
56
+ Certificates now always specify a subjectAltName, but it defaults
57
+ to '*', meaning that it doesn't require DNS names to match. You
58
+ can override that behaviour by specifying a value for
59
+ 'certdnsnames', which will then require that hostname as a match (#896).
60
+
61
+ Relationship metaparams (:notify, :require, :subscribe, and
62
+ :before) now stack when they are collecting metaparam values
63
+ from their containers (#446). For instance, if a resource
64
+ inside a definition has a value set for 'require', and you call
65
+ the definition with 'require', the resource gets both requires,
66
+ where before it would only retain its initial value.
67
+
68
+ Changed the behavior of --debug to include Mongrel client
69
+ debugging information. Mongrel output will be written to
70
+ the terminal only, not to the puppet debug log. This should
71
+ help anyone working with reverse HTTP SSL proxies. (#905)
72
+
73
+ Fixed #800 -- invalid configurations are no longer
74
+ cached. This was done partially by adding a relationship
75
+ validation step once the entire configuration is created,
76
+ but it also required the previously-mentioned changes
77
+ to how the configuration retrieval process works.
78
+
79
+ Removed some functionality from the Master client,
80
+ since the local functionality has been replaced
81
+ with the Indirector already, and rearranging how configuration
82
+ retrieval is done to fix ordering and caching bugs.
83
+
84
+ The node scope is now above all other scopes besides
85
+ the 'main' scope, which should help make its variables
86
+ visible to other classes, assuming those classes were
87
+ not included in the node's parent.
88
+
89
+ Replaced GRATR::Digraph with Puppet::SimpleGraph as
90
+ the base class for Puppet's graphing. Functionality
91
+ should be equivalent but with dramatically better
92
+ performance.
93
+
94
+ The --use-nodes and --no-nodes options are now obsolete.
95
+ Puppet automatically detects when nodes are defined, and if
96
+ they are defined it will require that a node be found,
97
+ else it will not look for a node nor will it fail if it
98
+ fails to find one.
99
+
100
+ Fixed #832. Added the '--no-daemonize' option to puppetd and
101
+ puppetmasterd. NOTE: The default behavior of 'verbose' and
102
+ 'debug' no longer cause puppetd and puppetmasterd to not
103
+ daemonize.
104
+
105
+ Added k5login type. (#759)
106
+
107
+ Fixed CA race condition. (#693)
108
+
109
+ Added shortname support to config.rb and refactored addargs
110
+
111
+ 0.23.2
1
112
  Fixed the problem in cron jobs where environment settings
2
113
  tended to multiple. (#749)
3
114
 
@@ -28,7 +139,7 @@
28
139
  of mandatory, thus allowing Mongrel to function as the CA.
29
140
  This is thanks to work done by Marcin Owsiany.
30
141
 
31
- 0.23.1
142
+ 0.23.1 (beaker)
32
143
  You can now specify relationships to classes, which work
33
144
  exactly like relationships to defined types:
34
145
  require => Class[myclass]
data/README CHANGED
@@ -24,4 +24,4 @@ Generally, you need the following things installed:
24
24
  * Facter => 1.1.1
25
25
  You can get this from < http://reductivelabs.com/projects/facter >
26
26
 
27
- $Id: README 2549 2007-06-03 19:36:02Z ajax $
27
+ $Id$
data/Rakefile CHANGED
@@ -22,6 +22,7 @@ project = Rake::RedLabProject.new("puppet") do |p|
22
22
  '[A-Z]*',
23
23
  'lib/puppet.rb',
24
24
  'lib/puppet/**/*.rb',
25
+ 'lib/puppet/**/*.py',
25
26
  'test/**/*.rb',
26
27
  'bin/**/*',
27
28
  'ext/**/*',
@@ -137,5 +138,3 @@ task :dailyclean do
137
138
  File.unlink(file)
138
139
  end
139
140
  end
140
-
141
- # $Id: Rakefile 2635 2007-06-19 23:44:20Z luke $
@@ -109,7 +109,7 @@ options = [
109
109
  ]
110
110
 
111
111
  # Add all of the config parameters as valid options.
112
- Puppet.config.addargs(options)
112
+ Puppet.settings.addargs(options)
113
113
 
114
114
  result = GetoptLong.new(*options)
115
115
 
@@ -139,7 +139,7 @@ begin
139
139
  when "--remote"
140
140
  options[:remote] = true
141
141
  else
142
- Puppet.config.handlearg(opt, arg)
142
+ Puppet.settings.handlearg(opt, arg)
143
143
  end
144
144
  }
145
145
  rescue GetoptLong::InvalidOption => detail
@@ -209,4 +209,3 @@ else
209
209
  raise "Invalid mode %s" % mode
210
210
  end
211
211
 
212
- # $Id: filebucket 2704 2007-07-18 16:41:15Z luke $
data/bin/puppet CHANGED
@@ -76,18 +76,20 @@ options = [
76
76
  ]
77
77
 
78
78
  # Add all of the config parameters as valid options.
79
- Puppet.config.addargs(options)
79
+ Puppet.settings.addargs(options)
80
80
 
81
81
  result = GetoptLong.new(*options)
82
82
 
83
- debug = false
84
- verbose = false
85
- noop = false
86
- logfile = false
87
- loadclasses = false
88
- logset = false
83
+ options = {
84
+ :debug => false,
85
+ :verbose => false,
86
+ :noop => false,
87
+ :logfile => false,
88
+ :loadclasses => false,
89
+ :logset => false,
90
+ :code => nil
91
+ }
89
92
 
90
- code = nil
91
93
 
92
94
  master = {
93
95
  :Local => true
@@ -107,24 +109,24 @@ begin
107
109
  exit
108
110
  end
109
111
  when "--use-nodes"
110
- master[:UseNodes] = true
112
+ options[:UseNodes] = true
111
113
  when "--verbose"
112
- verbose = true
114
+ options[:verbose] = true
113
115
  when "--debug"
114
- debug = true
116
+ options[:debug] = true
115
117
  when "--execute"
116
- code = arg
118
+ options[:code] = arg
117
119
  when "--loadclasses"
118
- loadclasses = true
120
+ options[:loadclasses] = true
119
121
  when "--logdest"
120
122
  begin
121
123
  Puppet::Util::Log.newdestination(arg)
122
- logset = true
124
+ options[:logset] = true
123
125
  rescue => detail
124
126
  $stderr.puts detail.to_s
125
127
  end
126
128
  else
127
- Puppet.config.handlearg(opt, arg)
129
+ Puppet.settings.handlearg(opt, arg)
128
130
  end
129
131
  }
130
132
  rescue GetoptLong::InvalidOption => detail
@@ -134,7 +136,12 @@ end
134
136
 
135
137
  Puppet.parse_config
136
138
 
137
- unless logset
139
+ # If noop is set, then also enable diffs
140
+ if Puppet[:noop]
141
+ Puppet[:show_diff] = true
142
+ end
143
+
144
+ unless options[:logset]
138
145
  Puppet::Util::Log.newdestination(:console)
139
146
  end
140
147
 
@@ -143,32 +150,39 @@ server = nil
143
150
 
144
151
  Puppet.settraps
145
152
 
146
- if debug
153
+ if options[:debug]
147
154
  Puppet::Util::Log.level = :debug
148
- elsif verbose
155
+ elsif options[:verbose]
149
156
  Puppet::Util::Log.level = :info
150
157
  end
151
158
 
152
159
  # Now parse the config
153
160
  if Puppet[:config] and File.exists? Puppet[:config]
154
- Puppet.config.parse(Puppet[:config])
161
+ Puppet.settings.parse(Puppet[:config])
155
162
  end
156
163
 
157
164
  Puppet.genconfig
158
165
  Puppet.genmanifest
159
166
 
160
- if code
161
- master[:Code] = code
167
+ # Set our code or file to use.
168
+ if options[:code] or ARGV.length == 0
169
+ Puppet[:code] = options[:code] || STDIN.read
162
170
  else
163
- if ARGV.length > 0
164
- master[:Manifest] = ARGV.shift
165
- else
166
- master[:Code] = STDIN.read
167
- end
171
+ Puppet[:manifest] = ARGV.shift
168
172
  end
169
173
 
174
+ # Collect our facts.
175
+ facts = Puppet::Node::Facts.find("me")
176
+ facts.name = facts.values["hostname"]
177
+
178
+ # Find our Node
179
+ node = Puppet::Node.find_by_any_name(facts.name)
180
+
181
+ # Merge in the facts.
182
+ node.merge(facts.values)
183
+
170
184
  # Allow users to load the classes that puppetd creates.
171
- if loadclasses
185
+ if options[:loadclasses]
172
186
  file = Puppet[:classfile]
173
187
  if FileTest.exists?(file)
174
188
  unless FileTest.readable?(file)
@@ -176,25 +190,27 @@ if loadclasses
176
190
  exit(63)
177
191
  end
178
192
 
179
- master[:Classes] = File.read(file).split(/[\s\n]+/)
193
+ node.classes = File.read(file).split(/[\s\n]+/)
180
194
  end
181
195
  end
182
196
 
183
197
  begin
184
- server = Puppet::Network::Handler.master.new(master)
185
- client = Puppet::Network::Client.master.new(
186
- :Master => server,
187
- :Cache => false
188
- )
189
- if Puppet[:parseonly]
190
- exit(0)
191
- end
192
- client.getconfig
193
- client.apply
198
+ # Compile our catalog
199
+ catalog = Puppet::Node::Catalog.find(node)
200
+
201
+ # Translate it to a RAL catalog
202
+ catalog = catalog.to_ral
203
+
204
+ # And apply it
205
+ catalog.apply
194
206
  rescue => detail
195
- $stderr.puts detail
196
207
  if Puppet[:trace]
197
208
  puts detail.backtrace
198
209
  end
210
+ if detail.is_a?(XMLRPC::FaultException)
211
+ $stderr.puts detail.message
212
+ else
213
+ $stderr.puts detail
214
+ end
199
215
  exit(1)
200
216
  end
@@ -32,7 +32,8 @@
32
32
  # '--genconfig'.
33
33
  #
34
34
  # all::
35
- # Operate on all outstanding requests. Only makes sense with '--sign'.
35
+ # Operate on all outstanding requests. Only makes sense with '--sign',
36
+ # or '--list'.
36
37
  #
37
38
  # clean::
38
39
  # Remove all files related to a host from puppetca's storage. This is
@@ -51,7 +52,8 @@
51
52
  # Print this help message
52
53
  #
53
54
  # list::
54
- # List outstanding certificate requests.
55
+ # List outstanding certificate requests. If '--all' is specified,
56
+ # signed certificates are also listed, prefixed by '+'.
55
57
  #
56
58
  # revoke::
57
59
  # Revoke the certificate of a client. The certificate can be specified
@@ -104,7 +106,7 @@ options = [
104
106
  ]
105
107
 
106
108
  # Add all of the config parameters as valid options.
107
- Puppet.config.addargs(options)
109
+ Puppet.settings.addargs(options)
108
110
 
109
111
  result = GetoptLong.new(*options)
110
112
 
@@ -143,7 +145,7 @@ begin
143
145
  when "--verbose"
144
146
  Puppet::Util::Log.level = :info
145
147
  else
146
- Puppet.config.handlearg(opt, arg)
148
+ Puppet.settings.handlearg(opt, arg)
147
149
  end
148
150
  }
149
151
  rescue GetoptLong::InvalidOption => detail
@@ -168,15 +170,17 @@ rescue => detail
168
170
  end
169
171
 
170
172
  unless mode
171
- $stderr.puts "You must specify --list or --sign"
173
+ $stderr.puts "You must specify a mode; see the output from --help"
172
174
  exit(12)
173
175
  end
174
176
 
175
- if [:generate, :clean, :revoke].include?(mode)
177
+ if [:generate, :clean, :revoke, :list].include?(mode)
176
178
  hosts = ARGV.collect { |h| h.downcase }
177
- else
179
+ end
180
+
181
+ if [:sign, :list].include?(mode)
178
182
  waiting = ca.list
179
- unless waiting.length > 0
183
+ unless waiting.length > 0 or (mode == :list and all)
180
184
  puts "No certificates to sign"
181
185
  if ARGV.length > 0
182
186
  exit(17)
@@ -184,12 +188,17 @@ else
184
188
  exit(0)
185
189
  end
186
190
  end
187
- to_sign = ARGV.collect { |h| h.downcase }
188
191
  end
189
192
 
190
193
  case mode
191
194
  when :list
192
- puts waiting.join("\n")
195
+ waiting = ca.list
196
+ if waiting.length > 0
197
+ puts waiting.join("\n")
198
+ end
199
+ if all
200
+ puts ca.list_signed.collect { |cert | cert.sub(/^/,"+ ") }.join("\n")
201
+ end
193
202
  when :clean
194
203
  if hosts.empty?
195
204
  $stderr.puts "You must specify one or more hosts to clean"
@@ -209,6 +218,7 @@ when :clean
209
218
  exit(27)
210
219
  end
211
220
  when :sign
221
+ to_sign = ARGV.collect { |h| h.downcase }
212
222
  unless to_sign.length > 0 or all
213
223
  $stderr.puts(
214
224
  "You must specify to sign all certificates or you must specify hostnames"
@@ -286,4 +296,3 @@ else
286
296
  exit(42)
287
297
  end
288
298
 
289
- # $Id: puppetca 2702 2007-07-17 14:00:29Z luke $
@@ -8,7 +8,7 @@
8
8
  #
9
9
  # = Usage
10
10
  #
11
- # puppetd [-D|--daemonize] [-d|--debug] [--disable] [--enable]
11
+ # puppetd [-D|--daemonize|--no-daemonize] [-d|--debug] [--disable] [--enable]
12
12
  # [-h|--help] [--fqdn <host name>] [-l|--logdest syslog|<file>|console]
13
13
  # [-o|--onetime] [--serve <handler>] [-t|--test]
14
14
  # [-V|--version] [-v|--verbose] [-w|--waitforcert <seconds>]
@@ -63,8 +63,10 @@
63
63
  # '--genconfig'.
64
64
  #
65
65
  # daemonize::
66
- # Send the process into the background. This is the default unless
67
- # +verbose+ or +debug+ is enabled.
66
+ # Send the process into the background. This is the default.
67
+ #
68
+ # no-daemonize::
69
+ # Do not send the process into the background.
68
70
  #
69
71
  # debug::
70
72
  # Enable full debugging.
@@ -161,7 +163,6 @@ require 'getoptlong'
161
163
 
162
164
  options = [
163
165
  [ "--centrallogging", GetoptLong::NO_ARGUMENT ],
164
- [ "--daemonize", "-D", GetoptLong::NO_ARGUMENT ],
165
166
  [ "--disable", GetoptLong::NO_ARGUMENT ],
166
167
  [ "--debug", "-d", GetoptLong::NO_ARGUMENT ],
167
168
  [ "--enable", GetoptLong::NO_ARGUMENT ],
@@ -178,7 +179,7 @@ options = [
178
179
  ]
179
180
 
180
181
  # Add all of the config parameters as valid options.
181
- Puppet.config.addargs(options)
182
+ Puppet.settings.addargs(options)
182
183
 
183
184
  result = GetoptLong.new(*options)
184
185
 
@@ -201,9 +202,7 @@ begin
201
202
  result.each { |opt,arg|
202
203
  case opt
203
204
  # First check to see if the argument is a valid configuration parameter;
204
- # if so, set it.
205
- when "--daemonize"
206
- options[:daemonize] = true
205
+ # if so, set it. NOTE: there is a catch-all at the bottom for defaults.rb
207
206
  when "--disable"
208
207
  options[:disable] = true
209
208
  when "--serve"
@@ -215,16 +214,7 @@ begin
215
214
  when "--enable"
216
215
  options[:enable] = true
217
216
  when "--test"
218
- # Enable all of the most common test options.
219
- Puppet.config.handlearg("--ignorecache")
220
- Puppet.config.handlearg("--no-usecacheonfailure")
221
- Puppet.config.handlearg("--no-splay")
222
- options[:onetime] = true
223
- options[:waitforcert] = 0
224
- unless Puppet::Util::Log.level == :debug
225
- Puppet::Util::Log.level = :info
226
- end
227
- Puppet::Util::Log.newdestination(:console)
217
+ options[:test] = true
228
218
  when "--centrallogging"
229
219
  options[:centrallogs] = true
230
220
  when "--help"
@@ -263,7 +253,7 @@ begin
263
253
  options[:waitforcert] = arg.to_i
264
254
  explicit_waitforcert = true
265
255
  else
266
- Puppet.config.handlearg(opt, arg)
256
+ Puppet.settings.handlearg(opt, arg)
267
257
  end
268
258
  }
269
259
  rescue GetoptLong::InvalidOption => detail
@@ -275,17 +265,27 @@ end
275
265
  # Now parse the config
276
266
  Puppet.parse_config
277
267
 
268
+ if options[:test]
269
+ # Enable all of the most common test options.
270
+ Puppet.settings.handlearg("--ignorecache")
271
+ Puppet.settings.handlearg("--no-usecacheonfailure")
272
+ Puppet.settings.handlearg("--no-splay")
273
+ Puppet.settings.handlearg("--show_diff")
274
+ Puppet.settings.handlearg("--no-daemonize")
275
+ options[:onetime] = true
276
+ options[:waitforcert] = 0
277
+ unless Puppet::Util::Log.level == :debug
278
+ Puppet::Util::Log.level = :info
279
+ end
280
+ Puppet::Util::Log.newdestination(:console)
281
+ end
282
+
278
283
  Puppet.genconfig
279
284
  Puppet.genmanifest
280
285
 
281
- # Default to daemonizing, but if verbose or debug is specified,
282
- # default to staying in the foreground.
283
- unless options.include?(:daemonize)
284
- if Puppet::Util::Log.level == :debug or Puppet::Util::Log.level == :info
285
- options[:daemonize] = false
286
- else
287
- options[:daemonize] = true
288
- end
286
+ # If noop is set, then also enable diffs
287
+ if Puppet[:noop]
288
+ Puppet[:show_diff] = true
289
289
  end
290
290
 
291
291
  unless options[:setdest]
@@ -324,7 +324,7 @@ server = nil
324
324
 
325
325
  # It'd be nice to daemonize later, but we have to daemonize before the
326
326
  # waitforcert happens.
327
- if options[:daemonize]
327
+ if Puppet[:daemonize]
328
328
  client.daemonize
329
329
  end
330
330
 
@@ -390,10 +390,10 @@ if Puppet[:listen] and ! options[:onetime]
390
390
  args[:Handlers] = handlers
391
391
  args[:Port] = Puppet[:puppetport]
392
392
 
393
- require 'puppet/network/server/webrick'
393
+ require 'puppet/network/http_server/webrick'
394
394
 
395
395
  begin
396
- server = Puppet::Network::Server::WEBrick.new(args)
396
+ server = Puppet::Network::HTTPServer::WEBrick.new(args)
397
397
  rescue => detail
398
398
  $stderr.puts detail
399
399
  puts detail.backtrace
@@ -447,4 +447,3 @@ else
447
447
  Puppet.start
448
448
  end
449
449
 
450
- # $Id: puppetd 2729 2007-07-30 22:05:44Z luke $