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
@@ -12,7 +12,7 @@ Puppet::Type.type(:service).provide :init, :parent => :base do
12
12
 
13
13
  case Facter["operatingsystem"].value
14
14
  when "FreeBSD":
15
- @defpath = "/etc/rc.d"
15
+ @defpath = ["/etc/rc.d", "/usr/local/etc/rc.d"]
16
16
  else
17
17
  @defpath = "/etc/init.d"
18
18
  end
@@ -20,48 +20,25 @@ Puppet::Type.type(:service).provide :init, :parent => :base do
20
20
  # We can't confine this here, because the init path can be overridden.
21
21
  #confine :exists => @defpath
22
22
 
23
- if self.suitable?
24
- # Add it to the search paths
25
- Puppet.type(:service).newpath(:init, defpath())
26
-
27
- # Set the default init directory.
28
- Puppet.type(:service).attrclass(:path).defaultto defpath()
29
- end
30
-
31
23
  # List all services of this type.
32
- def self.instances(name)
33
- # We need to find all paths specified for our type or any parent types
34
- paths = Puppet.type(:service).paths(name)
35
-
36
- # Now see if there are any included modules
37
- included_modules.each do |mod|
38
- next unless mod.respond_to? :name
39
-
40
- mname = mod.name
41
-
42
- if mpaths = Puppet.type(:service).paths(mname) and ! mpaths.empty?
43
- paths += mpaths
44
- end
24
+ def self.instances
25
+ path = self.defpath
26
+ unless FileTest.directory?(path)
27
+ Puppet.notice "Service path %s does not exist" % path
28
+ next
45
29
  end
46
30
 
47
- paths.collect do |path|
48
- unless FileTest.directory?(path)
49
- Puppet.notice "Service path %s does not exist" % path
50
- next
51
- end
31
+ check = [:ensure]
52
32
 
53
- check = [:ensure]
54
-
55
- if public_method_defined? :enabled?
56
- check << :enable
57
- end
33
+ if public_method_defined? :enabled?
34
+ check << :enable
35
+ end
58
36
 
59
- Dir.entries(path).reject { |e|
60
- fullpath = File.join(path, e)
61
- e =~ /^\./ or ! FileTest.executable?(fullpath)
62
- }.collect do |name|
63
- new(:name => name, :path => path)
64
- end
37
+ Dir.entries(path).reject { |e|
38
+ fullpath = File.join(path, e)
39
+ e =~ /^\./ or ! FileTest.executable?(fullpath)
40
+ }.collect do |name|
41
+ new(:name => name, :path => path)
65
42
  end
66
43
  end
67
44
 
@@ -108,7 +85,7 @@ Puppet::Type.type(:service).provide :init, :parent => :base do
108
85
  # if we've gotten this far, we found a valid script
109
86
  return fqname
110
87
  }
111
- @model[:path].each { |path|
88
+ @resource[:path].each { |path|
112
89
  fqname_sh = File.join(path,"#{name}.sh")
113
90
  begin
114
91
  stat = File.stat(fqname_sh)
@@ -146,4 +123,3 @@ Puppet::Type.type(:service).provide :init, :parent => :base do
146
123
  end
147
124
  end
148
125
 
149
- # $Id: init.rb 2619 2007-06-18 21:26:04Z luke $
@@ -6,16 +6,12 @@ Puppet::Type.type(:service).provide :redhat, :parent => :init do
6
6
 
7
7
  commands :chkconfig => "/sbin/chkconfig"
8
8
 
9
- defaultfor :operatingsystem => [:redhat, :fedora, :suse]
9
+ defaultfor :operatingsystem => [:redhat, :fedora, :suse, :centos]
10
10
 
11
11
  def self.defpath
12
12
  superclass.defpath
13
13
  end
14
14
 
15
- if self.suitable?
16
- Puppet.type(:service).newpath(:redhat, defpath())
17
- end
18
-
19
15
  # Remove the symlinks
20
16
  def disable
21
17
  begin
@@ -56,4 +52,3 @@ Puppet::Type.type(:service).provide :redhat, :parent => :init do
56
52
  end
57
53
  end
58
54
 
59
- # $Id: redhat.rb 2501 2007-05-09 23:08:42Z luke $
@@ -82,4 +82,3 @@ Puppet::Type.type(:service).provide :smf, :parent => :base do
82
82
  end
83
83
  end
84
84
 
85
- # $Id: smf.rb 2501 2007-05-09 23:08:42Z luke $
@@ -33,4 +33,3 @@ Puppet::Type.type(:sshkey).provide(:parsed,
33
33
  }
34
34
  end
35
35
 
36
- # $Id: parsed.rb 2281 2007-03-14 17:49:19Z luke $
@@ -103,4 +103,3 @@ Puppet::Type.type(:user).provide :netinfo, :parent => Puppet::Provider::NameServ
103
103
  end
104
104
  end
105
105
 
106
- # $Id: netinfo.rb 2542 2007-05-30 20:36:29Z mpalmer $
@@ -43,4 +43,3 @@ Puppet::Type.type(:user).provide :pw, :parent => Puppet::Provider::NameService::
43
43
  end
44
44
  end
45
45
 
46
- # $Id: pw.rb 2600 2007-06-18 06:42:07Z luke $
@@ -59,4 +59,3 @@ Puppet::Type.type(:user).provide :useradd, :parent => Puppet::Provider::NameServ
59
59
  end
60
60
  end
61
61
 
62
- # $Id: useradd.rb 2542 2007-05-30 20:36:29Z mpalmer $
@@ -240,4 +240,3 @@ set zonepath=%s
240
240
  end
241
241
  end
242
242
 
243
- # $Id: solaris.rb 2577 2007-06-14 03:39:23Z luke $
@@ -8,45 +8,51 @@ module Puppet::Rails
8
8
  def self.connect
9
9
  # This global init does not work for testing, because we remove
10
10
  # the state dir on every test.
11
- unless ActiveRecord::Base.connected?
12
- Puppet.config.use(:main, :rails, :puppetmasterd)
13
-
14
- ActiveRecord::Base.logger = Logger.new(Puppet[:railslog])
15
- begin
16
- loglevel = Logger.const_get(Puppet[:rails_loglevel].upcase)
17
- ActiveRecord::Base.logger.level = loglevel
18
- rescue => detail
19
- Puppet.warning "'%s' is not a valid Rails log level; using debug" % Puppet[:rails_loglevel]
20
- ActiveRecord::Base.logger.level = Logger::DEBUG
21
- end
22
- ActiveRecord::Base.allow_concurrency = true
23
- ActiveRecord::Base.verify_active_connections!
24
-
25
- begin
26
- ActiveRecord::Base.establish_connection(database_arguments())
27
- rescue => detail
28
- if Puppet[:trace]
29
- puts detail.backtrace
30
- end
31
- raise Puppet::Error, "Could not connect to database: %s" % detail
32
- end
11
+ return if ActiveRecord::Base.connected?
12
+
13
+ Puppet.settings.use(:main, :rails, :puppetmasterd)
14
+
15
+ ActiveRecord::Base.logger = Logger.new(Puppet[:railslog])
16
+ begin
17
+ loglevel = Logger.const_get(Puppet[:rails_loglevel].upcase)
18
+ ActiveRecord::Base.logger.level = loglevel
19
+ rescue => detail
20
+ Puppet.warning "'%s' is not a valid Rails log level; using debug" % Puppet[:rails_loglevel]
21
+ ActiveRecord::Base.logger.level = Logger::DEBUG
33
22
  end
23
+
24
+ ActiveRecord::Base.allow_concurrency = true
25
+ ActiveRecord::Base.verify_active_connections!
26
+
27
+ begin
28
+ ActiveRecord::Base.establish_connection(database_arguments())
29
+ rescue => detail
30
+ if Puppet[:trace]
31
+ puts detail.backtrace
32
+ end
33
+ raise Puppet::Error, "Could not connect to database: %s" % detail
34
+ end
34
35
  end
35
36
 
36
37
  # The arguments for initializing the database connection.
37
38
  def self.database_arguments
38
- args = {:adapter => Puppet[:dbadapter], :log_level => Puppet[:rails_loglevel]}
39
+ adapter = Puppet[:dbadapter]
40
+
41
+ args = {:adapter => adapter, :log_level => Puppet[:rails_loglevel]}
39
42
 
40
- case Puppet[:dbadapter]
43
+ case adapter
41
44
  when "sqlite3":
42
45
  args[:dbfile] = Puppet[:dblocation]
43
46
  when "mysql", "postgresql":
44
- args[:host] = Puppet[:dbserver]
45
- args[:username] = Puppet[:dbuser]
46
- args[:password] = Puppet[:dbpassword]
47
+ args[:host] = Puppet[:dbserver] unless Puppet[:dbserver].empty?
48
+ args[:username] = Puppet[:dbuser] unless Puppet[:dbuser].empty?
49
+ args[:password] = Puppet[:dbpassword] unless Puppet[:dbpassword].empty?
47
50
  args[:database] = Puppet[:dbname]
51
+
52
+ socket = Puppet[:dbsocket]
53
+ args[:socket] = socket unless socket.empty?
48
54
  else
49
- raise ArgumentError, "Invalid db adapter %s" % Puppet[:dbadapter]
55
+ raise ArgumentError, "Invalid db adapter %s" % adapter
50
56
  end
51
57
  args
52
58
  end
@@ -103,7 +109,7 @@ module Puppet::Rails
103
109
  raise Puppet::DevError, "No activerecord, cannot init Puppet::Rails"
104
110
  end
105
111
 
106
- Puppet.config.use(:puppetmasterd, :rails)
112
+ Puppet.settings.use(:puppetmasterd, :rails)
107
113
 
108
114
  begin
109
115
  ActiveRecord::Base.establish_connection(database_arguments())
@@ -124,4 +130,3 @@ if Puppet.features.rails?
124
130
  require 'puppet/rails/host'
125
131
  end
126
132
 
127
- # $Id: rails.rb 2667 2007-07-09 23:15:01Z luke $
@@ -107,4 +107,3 @@ class Puppet::Rails::Schema
107
107
  end
108
108
  end
109
109
 
110
- # $Id: schema.rb 2590 2007-06-15 19:30:20Z luke $
@@ -28,35 +28,27 @@ class Puppet::Rails::Host < ActiveRecord::Base
28
28
  end
29
29
 
30
30
  # Store our host in the database.
31
- def self.store(hash)
32
- unless name = hash[:name]
33
- raise ArgumentError, "You must specify the hostname for storage"
34
- end
35
-
31
+ def self.store(node, resources)
36
32
  args = {}
37
33
 
38
34
  host = nil
39
35
  transaction do
40
36
  #unless host = find_by_name(name)
41
37
  seconds = Benchmark.realtime {
42
- unless host = find_by_name(name)
43
- host = new(:name => name)
38
+ unless host = find_by_name(node.name)
39
+ host = new(:name => node.name)
44
40
  end
45
41
  }
46
42
  Puppet.notice("Searched for host in %0.2f seconds" % seconds) if defined?(Puppet::TIME_DEBUG)
47
- if ip = hash[:facts]["ipaddress"]
43
+ if ip = node.parameters["ipaddress"]
48
44
  host.ip = ip
49
45
  end
50
46
 
51
47
  # Store the facts into the database.
52
- host.setfacts(hash[:facts])
53
-
54
- unless hash[:resources]
55
- raise ArgumentError, "You must pass resources"
56
- end
48
+ host.setfacts node.parameters
57
49
 
58
50
  seconds = Benchmark.realtime {
59
- host.setresources(hash[:resources])
51
+ host.setresources(resources)
60
52
  }
61
53
  Puppet.notice("Handled resources in %0.2f seconds" % seconds) if defined?(Puppet::TIME_DEBUG)
62
54
 
@@ -158,4 +150,3 @@ class Puppet::Rails::Host < ActiveRecord::Base
158
150
  end
159
151
  end
160
152
 
161
- # $Id: host.rb 2735 2007-08-03 19:31:15Z lutter $
@@ -9,7 +9,7 @@ class Puppet::Rails::ParamName < ActiveRecord::Base
9
9
  hash = {}
10
10
  hash[:name] = self.name.to_sym
11
11
  hash[:source] = source
12
- hash[:value] = resource.param_values.find(:all, :conditions => [ "param_name_id = ?", self]).collect { |v| v.value }
12
+ hash[:value] = resource.param_values.find(:all, :conditions => [ "param_name_id = ?", self.id]).collect { |v| v.value }
13
13
  if hash[:value].length == 1
14
14
  hash[:value] = hash[:value].shift
15
15
  elsif hash[:value].empty?
@@ -19,4 +19,3 @@ class Puppet::Rails::ParamName < ActiveRecord::Base
19
19
  end
20
20
  end
21
21
 
22
- # $Id: param_name.rb 2706 2007-07-18 19:47:09Z luke $
@@ -22,4 +22,3 @@ class Puppet::Rails::ParamValue < ActiveRecord::Base
22
22
  end
23
23
  end
24
24
 
25
- # $Id: param_value.rb 2706 2007-07-18 19:47:09Z luke $
@@ -4,4 +4,3 @@ class Puppet::Rails::PuppetClass < ActiveRecord::Base
4
4
  has_many :hosts
5
5
  end
6
6
 
7
- # $Id$
@@ -104,16 +104,16 @@ class Puppet::Rails::Resource < ActiveRecord::Base
104
104
  end
105
105
  hash[:scope] = scope
106
106
  hash[:source] = scope.source
107
- obj = Puppet::Parser::Resource.new(hash)
108
-
107
+ hash[:params] = []
109
108
  names = []
110
109
  self.param_names.each do |pname|
111
110
  # We can get the same name multiple times because of how the
112
111
  # db layout works.
113
112
  next if names.include?(pname.name)
114
113
  names << pname.name
115
- obj.set(pname.to_resourceparam(self, scope.source))
114
+ hash[:params] << pname.to_resourceparam(self, scope.source)
116
115
  end
116
+ obj = Puppet::Parser::Resource.new(hash)
117
117
 
118
118
  # Store the ID, so we can check if we're re-collecting the same resource.
119
119
  obj.rails_id = self.id
@@ -121,5 +121,3 @@ class Puppet::Rails::Resource < ActiveRecord::Base
121
121
  return obj
122
122
  end
123
123
  end
124
-
125
- # $Id: resource.rb 2705 2007-07-18 17:32:46Z luke $
@@ -1,6 +1,6 @@
1
1
  config = Puppet::Util::Reference.newreference(:configuration, :depth => 1, :doc => "A reference for all configuration parameters") do
2
2
  docs = {}
3
- Puppet.config.each do |name, object|
3
+ Puppet.settings.each do |name, object|
4
4
  docs[name] = object
5
5
  end
6
6
 
@@ -29,7 +29,9 @@ config = Puppet::Util::Reference.newreference(:configuration, :depth => 1, :doc
29
29
  elsif name.to_s == "confdir"
30
30
  val = "/etc/puppet"
31
31
  end
32
- str += "- **Section**: %s\n" % object.section
32
+
33
+ # Leave out the section information; it was apparently confusing people.
34
+ #str += "- **Section**: %s\n" % object.section
33
35
  unless val == ""
34
36
  str += "- **Default**: %s\n" % val
35
37
  end
@@ -73,10 +75,14 @@ the client configuration.
73
75
 
74
76
  Configuration Files
75
77
  +++++++++++++++++++
76
- As mentioned above, the configuration parameters can also be stored in a
77
- configuration file, located in the configuration directory (`/etc/puppet`
78
- by default). As of 0.23.0, all executables look for ``puppet.conf`` in their
79
- configuration directory (although they previously looked for separate files).
78
+ As mentioned above, the configuration parameters can also be stored in a
79
+ configuration file, located in the configuration directory. As root, the
80
+ default configuration directory is ``/etc/puppet``, and as a regular user, the
81
+ default configuration directory is ``~user/.puppet``. As of 0.23.0, all
82
+ executables look for ``puppet.conf`` in their configuration directory
83
+ (although they previously looked for separate files). For example,
84
+ ``puppet.conf`` is located at ``/etc/puppet/puppet.conf`` as root and
85
+ ``~user/.puppet/puppet.conf`` as a regular user by default.
80
86
 
81
87
  All executables will set any parameters set within the ``main`` section,
82
88
  while each executable will also look for a section named for the executable
@@ -0,0 +1,34 @@
1
+ require 'puppet/indirector/indirection'
2
+ require 'puppet/checksum'
3
+ require 'puppet/file_serving/content'
4
+ require 'puppet/file_serving/metadata'
5
+
6
+ reference = Puppet::Util::Reference.newreference :indirection, :doc => "Indirection types and their terminus classes" do
7
+ text = ""
8
+ Puppet::Indirector::Indirection.instances.sort { |a,b| a.to_s <=> b.to_s }.each do |indirection|
9
+ ind = Puppet::Indirector::Indirection.instance(indirection)
10
+ name = indirection.to_s.capitalize
11
+ text += indirection.to_s + "\n" + ("-" * name.length) + "\n\n"
12
+
13
+ text += ind.doc + "\n\n"
14
+
15
+ Puppet::Indirector::Terminus.terminus_classes(ind.name).sort { |a,b| a.to_s <=> b.to_s }.each do |terminus|
16
+ text += terminus.to_s + "\n" + ("+" * terminus.to_s.length) + "\n\n"
17
+
18
+ term_class = Puppet::Indirector::Terminus.terminus_class(ind.name, terminus)
19
+
20
+ text += Puppet::Util::Docs.scrub(term_class.doc) + "\n\n"
21
+ end
22
+ end
23
+
24
+ text
25
+ end
26
+
27
+ reference.header = "This is the list of all indirections, their associated terminus classes, and how you select between them.
28
+
29
+ In general, the appropriate terminus class is selected by the application for you (e.g., ``puppetd`` would always use the ``rest``
30
+ terminus for most of its indirected classes), but some classes are tunable via normal settings. These will have ``terminus setting``
31
+ documentation listed with them.
32
+
33
+
34
+ "
@@ -0,0 +1,9 @@
1
+ require 'puppet/node'
2
+
3
+ noderef = Puppet::Util::Reference.newreference :node_source, :doc => "Sources of node configuration information" do
4
+ Puppet::Network::Handler.node.docs
5
+ end
6
+
7
+ noderef.header = "
8
+ Nodes can be searched for in different locations. This document describes those different locations.
9
+ "
@@ -3,12 +3,15 @@
3
3
  # Created by Luke A. Kanies on 2006-11-24.
4
4
  # Copyright (c) 2006. All rights reserved.
5
5
 
6
- require 'puppet/external/gratr'
7
-
8
6
  # subscriptions are permanent associations determining how different
9
7
  # objects react to an event
10
8
 
11
- class Puppet::Relationship < GRATR::Edge
9
+ # This is Puppet's class for modeling edges in its configuration graph.
10
+ # It used to be a subclass of GRATR::Edge, but that class has weird hash
11
+ # overrides that dramatically slow down the graphing.
12
+ class Puppet::Relationship
13
+ attr_accessor :source, :target, :label
14
+
12
15
  # Return the callback
13
16
  def callback
14
17
  if label
@@ -30,17 +33,17 @@ class Puppet::Relationship < GRATR::Edge
30
33
  def initialize(source, target, label = {})
31
34
  if label
32
35
  unless label.is_a?(Hash)
33
- raise Puppet::DevError, "The label must be a hash"
36
+ raise ArgumentError, "Relationship labels must be a hash"
34
37
  end
35
38
 
36
39
  if label[:event] and label[:event] != :NONE and ! label[:callback]
37
- raise Puppet::DevError, "You must pass a callback for non-NONE events"
40
+ raise ArgumentError, "You must pass a callback for non-NONE events"
38
41
  end
39
42
  else
40
43
  label = {}
41
44
  end
42
-
43
- super(source, target, label)
45
+
46
+ @source, @target, @label = source, target, label
44
47
  end
45
48
 
46
49
  # Does the passed event match our event? This is where the meaning
@@ -60,4 +63,3 @@ class Puppet::Relationship < GRATR::Edge
60
63
  end
61
64
  end
62
65
 
63
- # $Id: relationship.rb 2119 2007-01-30 05:27:56Z luke $