puppet 0.24.4 → 0.24.5

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 (316) hide show
  1. data/CHANGELOG +170 -0
  2. data/Rakefile +6 -4
  3. data/bin/filebucket +3 -2
  4. data/bin/puppet +7 -4
  5. data/bin/puppetca +32 -14
  6. data/bin/puppetd +12 -34
  7. data/bin/puppetmasterd +3 -2
  8. data/bin/puppetrun +5 -43
  9. data/bin/ralsh +2 -2
  10. data/conf/debian/README.source +2 -0
  11. data/conf/debian/TODO.Debian +1 -0
  12. data/conf/debian/changelog +257 -0
  13. data/conf/debian/compat +1 -0
  14. data/conf/debian/control +45 -0
  15. data/conf/debian/copyright +17 -0
  16. data/conf/debian/docs +1 -0
  17. data/conf/debian/fileserver.conf +12 -0
  18. data/conf/debian/puppet.NEWS +63 -0
  19. data/conf/debian/puppet.conf +8 -0
  20. data/conf/debian/puppet.dirs +7 -0
  21. data/conf/debian/puppet.files +6 -0
  22. data/conf/debian/puppet.init +64 -0
  23. data/conf/debian/puppet.logrotate +11 -0
  24. data/conf/debian/puppet.postinst +9 -0
  25. data/conf/debian/puppet.postrm +21 -0
  26. data/conf/debian/puppet.preinst +25 -0
  27. data/conf/debian/puppetmaster.files +4 -0
  28. data/conf/debian/puppetmaster.init +58 -0
  29. data/conf/debian/rules +115 -0
  30. data/conf/debian/watch +2 -0
  31. data/conf/gentoo/init.d/puppet +1 -1
  32. data/conf/gentoo/init.d/puppetmaster +32 -31
  33. data/conf/redhat/client.init +10 -2
  34. data/conf/redhat/puppet.spec +4 -1
  35. data/conf/redhat/server.init +9 -1
  36. data/examples/{code/allatonce → allatonce} +0 -0
  37. data/examples/{code/assignments → assignments} +0 -0
  38. data/examples/{code/components → components} +0 -0
  39. data/examples/{root/etc → etc}/init.d/sleeper +0 -0
  40. data/examples/{root/etc → etc}/otherfile +0 -0
  41. data/examples/{root/etc → etc}/puppet/fileserver.conf +0 -0
  42. data/examples/{root/etc → etc}/puppet/namespaceauth.conf +0 -0
  43. data/examples/{root/etc → etc}/puppet/puppet.conf +0 -0
  44. data/examples/{root/etc → etc}/puppet/tagmail.conf +0 -0
  45. data/examples/{code/execs → execs} +0 -0
  46. data/examples/{code/file.bl → file.bl} +0 -0
  47. data/examples/{code/filedefaults → filedefaults} +0 -0
  48. data/examples/{code/fileparsing → fileparsing} +0 -0
  49. data/examples/{code/filerecursion → filerecursion} +0 -0
  50. data/examples/{code/functions → functions} +0 -0
  51. data/examples/{code/groups → groups} +0 -0
  52. data/examples/{code/head → head} +0 -0
  53. data/examples/{code/importing → importing} +0 -0
  54. data/examples/{code/mac_automount.pp → mac_automount.pp} +0 -0
  55. data/examples/{code/mac_dscl.pp → mac_dscl.pp} +0 -0
  56. data/examples/{code/mac_dscl_revert.pp → mac_dscl_revert.pp} +0 -0
  57. data/examples/{code/mac_netinfo.pp → mac_netinfo.pp} +0 -0
  58. data/examples/{code/mac_pkgdmg.pp → mac_pkgdmg.pp} +0 -0
  59. data/examples/{code/modules → modules}/sample-module.pp +0 -0
  60. data/examples/{code/modules → modules}/sample-module/README.txt +0 -0
  61. data/examples/{code/modules → modules}/sample-module/lib/puppet/parser/functions/hostname_to_dn.rb +0 -0
  62. data/examples/{code/modules → modules}/sample-module/manifests/init.pp +0 -0
  63. data/examples/{code/modules → modules}/sample-module/templates/sample.erb +0 -0
  64. data/examples/{code/nodes → nodes} +0 -0
  65. data/examples/{code/one → one} +0 -0
  66. data/examples/{code/relationships → relationships} +0 -0
  67. data/examples/{code/selectors → selectors} +0 -0
  68. data/examples/{code/simpletests → simpletests} +0 -0
  69. data/examples/{code/svncommit → svncommit} +0 -0
  70. data/ext/autotest/Rakefile +8 -0
  71. data/ext/autotest/config +43 -0
  72. data/ext/autotest/readme.rst +16 -0
  73. data/{examples/root → ext}/bin/sleeper +1 -1
  74. data/ext/emacs/puppet-mode.el +246 -184
  75. data/ext/ldap/puppet.schema +7 -2
  76. data/ext/module_puppet +4 -3
  77. data/ext/nagios/check_puppet.rb +117 -0
  78. data/ext/puppetlast +40 -0
  79. data/install.rb +12 -3
  80. data/lib/puppet.rb +1 -44
  81. data/lib/puppet/defaults.rb +23 -10
  82. data/lib/puppet/dsl.rb +2 -2
  83. data/lib/puppet/executables/client/certhandler.rb +77 -0
  84. data/lib/puppet/external/nagios.rb +1 -1
  85. data/lib/puppet/external/nagios/base.rb +60 -46
  86. data/lib/puppet/file_serving/indirection_hooks.rb +4 -2
  87. data/lib/puppet/file_serving/metadata.rb +0 -9
  88. data/lib/puppet/file_serving/terminus_helper.rb +4 -4
  89. data/lib/puppet/indirector.rb +26 -28
  90. data/lib/puppet/indirector/catalog/compiler.rb +6 -28
  91. data/lib/puppet/indirector/checksum/file.rb +2 -2
  92. data/lib/puppet/indirector/direct_file_server.rb +7 -7
  93. data/lib/puppet/indirector/envelope.rb +13 -0
  94. data/lib/puppet/indirector/exec.rb +2 -2
  95. data/lib/puppet/indirector/facts/facter.rb +2 -2
  96. data/lib/puppet/indirector/file.rb +17 -14
  97. data/lib/puppet/indirector/file_metadata/file.rb +2 -2
  98. data/lib/puppet/indirector/file_server.rb +14 -14
  99. data/lib/puppet/indirector/indirection.rb +113 -48
  100. data/lib/puppet/indirector/ldap.rb +13 -25
  101. data/lib/puppet/indirector/memory.rb +7 -7
  102. data/lib/puppet/indirector/module_files.rb +14 -14
  103. data/lib/puppet/indirector/node/exec.rb +3 -10
  104. data/lib/puppet/indirector/node/ldap.rb +138 -41
  105. data/lib/puppet/indirector/node/plain.rb +1 -8
  106. data/lib/puppet/indirector/node/rest.rb +1 -1
  107. data/lib/puppet/indirector/plain.rb +2 -2
  108. data/lib/puppet/indirector/report/processor.rb +2 -2
  109. data/lib/puppet/indirector/request.rb +42 -0
  110. data/lib/puppet/indirector/rest.rb +51 -3
  111. data/lib/puppet/indirector/terminus.rb +0 -27
  112. data/lib/puppet/indirector/yaml.rb +12 -17
  113. data/lib/puppet/metatype/attributes.rb +3 -7
  114. data/lib/puppet/metatype/evaluation.rb +2 -2
  115. data/lib/puppet/module.rb +6 -2
  116. data/lib/puppet/network/client/master.rb +29 -81
  117. data/lib/puppet/network/handler/master.rb +12 -43
  118. data/lib/puppet/network/http.rb +8 -6
  119. data/lib/puppet/network/http/handler.rb +42 -32
  120. data/lib/puppet/network/http/mongrel.rb +8 -9
  121. data/lib/puppet/network/http/mongrel/rest.rb +42 -15
  122. data/lib/puppet/network/http/webrick.rb +27 -16
  123. data/lib/puppet/network/http/webrick/rest.rb +38 -14
  124. data/lib/puppet/network/http_pool.rb +3 -2
  125. data/lib/puppet/network/server.rb +24 -22
  126. data/lib/puppet/network/xmlrpc/client.rb +6 -1
  127. data/lib/puppet/node.rb +38 -79
  128. data/lib/puppet/node/catalog.rb +9 -0
  129. data/lib/puppet/node/facts.rb +9 -1
  130. data/lib/puppet/parser/ast/function.rb +1 -1
  131. data/lib/puppet/parser/collector.rb +6 -0
  132. data/lib/puppet/parser/compiler.rb +1 -1
  133. data/lib/puppet/parser/functions.rb +25 -1
  134. data/lib/puppet/parser/interpreter.rb +2 -17
  135. data/lib/puppet/parser/parser.rb +4 -4
  136. data/lib/puppet/parser/parser_support.rb +6 -2
  137. data/lib/puppet/parser/resource.rb +6 -0
  138. data/lib/puppet/parser/templatewrapper.rb +9 -0
  139. data/lib/puppet/pgraph.rb +1 -1
  140. data/lib/puppet/property.rb +0 -1
  141. data/lib/puppet/provider.rb +9 -95
  142. data/lib/puppet/provider/confine.rb +77 -0
  143. data/lib/puppet/provider/confine/exists.rb +22 -0
  144. data/lib/puppet/provider/confine/false.rb +19 -0
  145. data/lib/puppet/provider/confine/feature.rb +17 -0
  146. data/lib/puppet/provider/confine/true.rb +20 -0
  147. data/lib/puppet/provider/confine/variable.rb +42 -0
  148. data/lib/puppet/provider/confine_collection.rb +47 -0
  149. data/lib/puppet/provider/confiner.rb +20 -0
  150. data/lib/puppet/provider/cron/crontab.rb +6 -2
  151. data/lib/puppet/provider/group/groupadd.rb +1 -1
  152. data/lib/puppet/provider/group/ldap.rb +48 -0
  153. data/lib/puppet/provider/ldap.rb +137 -0
  154. data/lib/puppet/provider/nameservice.rb +1 -2
  155. data/lib/puppet/provider/nameservice/objectadd.rb +2 -5
  156. data/lib/puppet/provider/package/dpkg.rb +16 -1
  157. data/lib/puppet/provider/package/freebsd.rb +15 -4
  158. data/lib/puppet/provider/package/gem.rb +33 -12
  159. data/lib/puppet/provider/package/pkgdmg.rb +1 -60
  160. data/lib/puppet/provider/package/ports.rb +6 -1
  161. data/lib/puppet/provider/package/rpm.rb +14 -13
  162. data/lib/puppet/provider/package/urpmi.rb +3 -3
  163. data/lib/puppet/provider/service/base.rb +4 -4
  164. data/lib/puppet/provider/service/debian.rb +1 -1
  165. data/lib/puppet/provider/service/init.rb +5 -3
  166. data/lib/puppet/provider/service/redhat.rb +35 -7
  167. data/lib/puppet/provider/ssh_authorized_key/parsed.rb +69 -0
  168. data/lib/puppet/provider/user/ldap.rb +133 -0
  169. data/lib/puppet/provider/user/useradd.rb +1 -1
  170. data/lib/puppet/rails/database/001_add_created_at_to_all_tables.rb +14 -14
  171. data/lib/puppet/rails/database/schema.rb +9 -0
  172. data/lib/puppet/rails/resource.rb +1 -0
  173. data/lib/puppet/reference/providers.rb +8 -2
  174. data/lib/puppet/reference/report.rb +23 -0
  175. data/lib/puppet/reports/rrdgraph.rb +4 -2
  176. data/lib/puppet/sslcertificates/ca.rb +9 -4
  177. data/lib/puppet/sslcertificates/support.rb +26 -2
  178. data/lib/puppet/transaction.rb +11 -16
  179. data/lib/puppet/transaction/change.rb +94 -0
  180. data/lib/puppet/transaction/event.rb +21 -0
  181. data/lib/puppet/transaction/report.rb +4 -0
  182. data/lib/puppet/type.rb +0 -2
  183. data/lib/puppet/type/file/ensure.rb +0 -5
  184. data/lib/puppet/type/file/group.rb +13 -7
  185. data/lib/puppet/type/file/source.rb +8 -15
  186. data/lib/puppet/type/file/target.rb +2 -0
  187. data/lib/puppet/type/group.rb +1 -1
  188. data/lib/puppet/type/mount.rb +4 -2
  189. data/lib/puppet/type/nagios_hostescalation.rb +3 -0
  190. data/lib/puppet/type/nagios_servicegroup.rb +3 -0
  191. data/lib/puppet/type/ssh_authorized_key.rb +56 -0
  192. data/lib/puppet/type/user.rb +3 -0
  193. data/lib/puppet/type/yumrepo.rb +0 -1
  194. data/lib/puppet/util.rb +1 -1
  195. data/lib/puppet/util/ldap.rb +5 -0
  196. data/lib/puppet/util/ldap/connection.rb +69 -0
  197. data/lib/puppet/util/ldap/generator.rb +45 -0
  198. data/lib/puppet/util/ldap/manager.rb +281 -0
  199. data/lib/puppet/util/posix.rb +2 -2
  200. data/lib/puppet/util/resource_template.rb +61 -0
  201. data/lib/puppet/util/settings.rb +63 -3
  202. data/lib/puppet/util/storage.rb +4 -0
  203. data/lib/puppet/util/warnings.rb +7 -0
  204. data/man/man8/filebucket.8 +116 -0
  205. data/man/man8/pi.8 +34 -0
  206. data/man/man8/puppet.8 +78 -0
  207. data/man/man8/puppet.conf.8 +1747 -0
  208. data/man/man8/puppetca.8 +118 -0
  209. data/man/man8/puppetd.8 +184 -0
  210. data/man/man8/puppetdoc.8 +62 -0
  211. data/man/man8/puppetmasterd.8 +87 -0
  212. data/man/man8/puppetrun.8 +151 -0
  213. data/man/man8/ralsh.8 +135 -0
  214. data/test/README +24 -0
  215. data/test/certmgr/support.rb +28 -1
  216. data/test/data/failers/badclassnoparam +10 -0
  217. data/test/data/failers/badclassparam +10 -0
  218. data/test/data/failers/badcompnoparam +9 -0
  219. data/test/data/failers/badcompparam +9 -0
  220. data/test/data/failers/badtypeparam +3 -0
  221. data/test/data/failers/noobjectrvalue +1 -0
  222. data/test/data/providers/cron/crontab.allthree +17 -0
  223. data/test/data/providers/cron/crontab.envNcomment +12 -0
  224. data/test/data/providers/cron/crontab.envNname +11 -0
  225. data/test/data/providers/cron/crontab.multirecords +12 -0
  226. data/test/data/providers/cron/crontab_collections.yaml +44 -0
  227. data/test/data/providers/cron/crontab_multiple_with_env.yaml +54 -0
  228. data/test/data/providers/cron/crontab_sample_records.yaml +272 -0
  229. data/test/data/providers/cron/examples/freebsd +2 -0
  230. data/test/data/providers/cron/examples/one +14 -0
  231. data/test/data/providers/cron/examples/openbsd +20 -0
  232. data/test/data/providers/package/testpackages.yaml +65 -0
  233. data/test/data/providers/ssh_authorized_key/parsed/authorized_keys +5 -0
  234. data/test/data/reports/1.yaml +108 -0
  235. data/test/data/reports/2.yaml +108 -0
  236. data/test/data/reports/tagmail_failers.conf +3 -0
  237. data/test/data/reports/tagmail_passers.conf +30 -0
  238. data/test/data/snippets/aliastest.pp +16 -0
  239. data/test/data/snippets/argumentdefaults +14 -0
  240. data/test/data/snippets/casestatement.pp +58 -0
  241. data/test/data/snippets/classheirarchy.pp +15 -0
  242. data/test/data/snippets/classincludes.pp +17 -0
  243. data/test/data/snippets/classpathtest +11 -0
  244. data/test/data/snippets/collection.pp +10 -0
  245. data/test/data/snippets/collection_within_virtual_definitions.pp +20 -0
  246. data/test/data/snippets/componentmetaparams.pp +11 -0
  247. data/test/data/snippets/componentrequire.pp +8 -0
  248. data/test/data/snippets/deepclassheirarchy.pp +23 -0
  249. data/test/data/snippets/defineoverrides.pp +17 -0
  250. data/test/data/snippets/emptyclass.pp +9 -0
  251. data/test/data/snippets/emptyexec.pp +3 -0
  252. data/test/data/snippets/falsevalues.pp +3 -0
  253. data/test/data/snippets/filecreate +11 -0
  254. data/test/data/snippets/fqdefinition.pp +5 -0
  255. data/test/data/snippets/fqparents.pp +11 -0
  256. data/test/data/snippets/implicititeration +15 -0
  257. data/test/data/snippets/multipleinstances +7 -0
  258. data/test/data/snippets/multisubs.pp +13 -0
  259. data/test/data/snippets/namevartest +9 -0
  260. data/test/data/snippets/scopetest +13 -0
  261. data/test/data/snippets/selectorvalues.pp +42 -0
  262. data/test/data/snippets/simpledefaults +5 -0
  263. data/test/data/snippets/simpleselector +38 -0
  264. data/test/data/snippets/singleary.pp +19 -0
  265. data/test/data/snippets/singlequote.pp +11 -0
  266. data/test/data/snippets/singleselector.pp +22 -0
  267. data/test/data/snippets/subclass_name_duplication.pp +11 -0
  268. data/test/data/snippets/tag.pp +9 -0
  269. data/test/data/snippets/tagged.pp +35 -0
  270. data/test/data/snippets/virtualresources.pp +14 -0
  271. data/test/data/types/hosts/1 +3 -0
  272. data/test/data/types/hosts/2 +13 -0
  273. data/test/data/types/hosts/solaris +5 -0
  274. data/test/data/types/mailalias/file1 +183 -0
  275. data/test/data/types/mount/freebsd.fstab +7 -0
  276. data/test/data/types/mount/linux.fstab +11 -0
  277. data/test/data/types/mount/solaris.fstab +11 -0
  278. data/test/data/types/port/1 +533 -0
  279. data/test/data/types/port/darwin +11866 -0
  280. data/test/data/types/ssh_authorized_key/1 +2 -0
  281. data/test/data/types/sshkey/1 +21 -0
  282. data/test/data/types/yumrepos/fedora-devel.repo +26 -0
  283. data/test/data/types/yumrepos/fedora.repo +9 -0
  284. data/test/language/parser.rb +8 -1
  285. data/test/lib/puppettest/runnable_test.rb +3 -0
  286. data/test/lib/puppettest/support/utils.rb +1 -1
  287. data/test/lib/rake/puppet_testtask.rb +3 -0
  288. data/test/lib/stubba.rb +1 -1
  289. data/test/network/client/ca.rb +1 -0
  290. data/test/network/client/master.rb +13 -127
  291. data/test/network/handler/master.rb +61 -80
  292. data/test/other/provider.rb +0 -45
  293. data/test/other/transactions.rb +53 -15
  294. data/test/rails/host.rb +0 -37
  295. data/test/ral/providers/cron/crontab.rb +32 -3
  296. data/test/ral/providers/provider.rb +28 -7
  297. data/test/ral/type/filesources.rb +2 -18
  298. data/test/ral/type/sshkey.rb +0 -1
  299. data/test/ral/type/user.rb +6 -0
  300. data/test/test +241 -0
  301. metadata +289 -113
  302. data/examples/root/etc/configfile +0 -0
  303. data/examples/root/etc/debian-passwd +0 -29
  304. data/examples/root/etc/debian-syslog.conf +0 -71
  305. data/lib/puppet/event.rb +0 -28
  306. data/lib/puppet/network/handler/configuration.rb +0 -184
  307. data/lib/puppet/network/http/mongrel/xmlrpc.rb +0 -4
  308. data/lib/puppet/network/http/webrick/xmlrpc.rb +0 -4
  309. data/lib/puppet/propertychange.rb +0 -141
  310. data/lib/puppet/provider/interface/redhat.rb +0 -250
  311. data/lib/puppet/provider/interface/sunos.rb +0 -133
  312. data/lib/puppet/type/interface.rb +0 -60
  313. data/lib/puppet/util/variables.rb +0 -38
  314. data/test/network/handler/configuration.rb +0 -160
  315. data/test/other/propertychange.rb +0 -140
  316. data/test/util/loadedfile.rb +0 -121
@@ -0,0 +1,151 @@
1
+ .TH "" "" ""
2
+ .SH NAME
3
+ \-
4
+
5
+ .\" Man page generated from reStructeredText.
6
+
7
+ .SH SYNOPSIS
8
+ Trigger a puppetd run on a set of hosts.
9
+
10
+
11
+ .SH USAGE
12
+
13
+ .\" visit_block_quote
14
+
15
+ .TP
16
+ .B puppetrun [\-a|\-\-all] [\-c|\-\-class <class>] [\-d|\-\-debug] [\-f|\-\-foreground]
17
+ [\-h|\-\-help] [\-\-host <host>] [\-\-no\-fqdn] [\-\-ignoreschedules]
18
+ [\-t|\-\-tag <tag>] [\-\-test]
19
+
20
+
21
+ .\" depart_block_quote
22
+
23
+ .SH DESCRIPTION
24
+ This script can be used to connect to a set of machines running
25
+ +puppetd+ and trigger them to run their configurations. The most common
26
+ usage would be to specify a class of hosts and a set of tags, and
27
+ +puppetrun+ would look up in LDAP all of the hosts matching that class,
28
+ then connect to each host and trigger a run of all of the objects with
29
+ the specified tags.
30
+
31
+ If you are not storing your host configurations in LDAP, you can specify
32
+ hosts manually.
33
+
34
+ You will most likely have to run +puppetrun+ as root to get access to
35
+ the SSL certificates.
36
+
37
+ +puppetrun+ reads +puppetmaster+\'s configuration file, so that it can
38
+ copy things like LDAP settings.
39
+
40
+
41
+ .SH USAGE NOTES
42
+ +puppetrun+ is useless unless +puppetd+ is listening. See its
43
+ documentation for more information, but the gist is that you must enable
44
+ +listen+ on the +puppetd+ daemon, either using +\-\-listen+ on the command
45
+ line or adding \'listen: true\' in its config file. In addition, you need
46
+ to set the daemons up to specifically allow connections by creating the
47
+ +namespaceauth+ file, normally at \'/etc/puppet/namespaceauth.conf\'. This
48
+ file specifies who has access to each namespace; if you create the file
49
+ you must add every namespace you want any Puppet daemon to allow \-\- it
50
+ is currently global to all Puppet daemons.
51
+
52
+ An example file looks like this:
53
+
54
+
55
+ .nf
56
+ [fileserver]
57
+ allow *.madstop.com
58
+
59
+ [puppetmaster]
60
+ allow *.madstop.com
61
+
62
+ [puppetrunner]
63
+ allow culain.madstop.com
64
+ .fi
65
+ This is what you would install on your Puppet master; non\-master hosts
66
+ could leave off the \'fileserver\' and \'puppetmaster\' namespaces.
67
+
68
+ Expect more documentation on this eventually.
69
+
70
+
71
+ .SH OPTIONS
72
+ Note that any configuration parameter that\'s valid in the configuration
73
+ file is also a valid long argument. For example, \'ssldir\' is a valid
74
+ configuration parameter, so you can specify \'\-\-ssldir <directory>\' as an
75
+ argument.
76
+
77
+ See the configuration file documentation at
78
+ http://reductivelabs.com/projects/puppet/reference/configref.html for
79
+ the full list of acceptable parameters. A commented list of all
80
+ configuration options can also be generated by running puppetmasterdd
81
+ with \'\-\-genconfig\'.
82
+
83
+
84
+ .TP
85
+ .B all: Connect to all available hosts. Requires LDAP support
86
+ at this point.
87
+
88
+
89
+ .TP
90
+ .B class: Specify a class of machines to which to connect. This
91
+ only works if you have LDAP configured, at the moment.
92
+
93
+ debug: Enable full debugging.
94
+
95
+
96
+ .TP
97
+ .B foreground: Run each configuration in the foreground; that is, when
98
+ connecting to a host, do not return until the host has
99
+ finished its run. The default is false.
100
+
101
+ help: Print this help message
102
+
103
+
104
+ .TP
105
+ .B host: A specific host to which to connect. This flag can be
106
+ specified more than once.
107
+
108
+
109
+ .TP
110
+ .B ignoreschedules: Whether the client should ignore schedules when running
111
+ its configuration. This can be used to force the client
112
+ to perform work it would not normally perform so soon.
113
+ The default is false.
114
+
115
+
116
+ .TP
117
+ .B parallel: How parallel to make the connections. Parallelization
118
+ is provided by forking for each client to which to
119
+ connect. The default is 1, meaning serial execution.
120
+
121
+
122
+ .TP
123
+ .B tag: Specify a tag for selecting the objects to apply. Does
124
+ not work with the \-\-test option.
125
+
126
+
127
+ .TP
128
+ .B test: Print the hosts you would connect to but do not
129
+ actually connect. This option requires LDAP support at
130
+ this point.
131
+
132
+
133
+ .SH EXAMPLE
134
+
135
+ .\" visit_block_quote
136
+ sudo puppetrun \-p 10 \-\-host host1 \-\-host host2 \-t remotefile \-t webserver
137
+
138
+
139
+ .\" depart_block_quote
140
+
141
+ .SH AUTHOR
142
+ Luke Kanies
143
+
144
+
145
+ .SH COPYRIGHT
146
+ Copyright (c) 2005 Reductive Labs, LLC Licensed under the GNU Public
147
+ License
148
+
149
+
150
+ .\" Generated by docutils manpage writer on 2008-05-05 09:33.
151
+ .\"
@@ -0,0 +1,135 @@
1
+ .TH "" "" ""
2
+ .SH NAME
3
+ \-
4
+
5
+ .\" Man page generated from reStructeredText.
6
+ vim: softtabstop=4 shiftwidth=4 expandtab
7
+
8
+
9
+ .SH SYNOPSIS
10
+ Use the Puppet RAL to directly interact with the system.
11
+
12
+
13
+ .SH USAGE
14
+
15
+ .\" visit_block_quote
16
+
17
+ .TP
18
+ .B ralsh [\-h|\-\-help] [\-d|\-\-debug] [\-v|\-\-verbose] [\-e|\-\-edit] [\-H|\-\-host <host>]
19
+ [\-p|\-\-param <param>] [\-t|\-\-types] type <name>
20
+
21
+
22
+ .\" depart_block_quote
23
+
24
+ .SH DESCRIPTION
25
+ This command provides simple facilities for converting current system
26
+ state into Puppet code, along with some ability to use Puppet to affect
27
+ the current state.
28
+
29
+ By default, you must at least provide a type to list, which case ralsh
30
+ will tell you everything it knows about all instances of that type. You
31
+ can optionally specify an instance name, and ralsh will only describe
32
+ that single instance.
33
+
34
+ You can also add +\-\-edit+ as an argument, and ralsh will write its
35
+ output to a file, open that file in an editor, and then apply the file
36
+ as a Puppet transaction. You can easily use this to use Puppet to make
37
+ simple changes to a system.
38
+
39
+
40
+ .SH OPTIONS
41
+ Note that any configuration parameter that\'s valid in the configuration
42
+ file is also a valid long argument. For example, \'ssldir\' is a valid
43
+ configuration parameter, so you can specify \'\-\-ssldir <directory>\' as an
44
+ argument.
45
+
46
+ See the configuration file documentation at
47
+ http://reductivelabs.com/projects/puppet/reference/configref.html for
48
+ the full list of acceptable parameters. A commented list of all
49
+ configuration options can also be generated by running puppet with
50
+ \'\-\-genconfig\'.
51
+
52
+ debug: Enable full debugging.
53
+
54
+ edit:
55
+
56
+
57
+ .\" visit_block_quote
58
+ Write the results of the query to a file, open the file in an editor,
59
+ and read the file back in as an executable Puppet manifest.
60
+
61
+
62
+ .\" depart_block_quote
63
+ host:
64
+
65
+
66
+ .\" visit_block_quote
67
+ When specified, connect to the resource server on the named host
68
+ and retrieve the list of resouces of the type specified.
69
+
70
+
71
+ .\" depart_block_quote
72
+ help:
73
+
74
+
75
+ .\" visit_block_quote
76
+ Print this help message.
77
+
78
+
79
+ .\" depart_block_quote
80
+ param:
81
+
82
+
83
+ .\" visit_block_quote
84
+ Add more parameters to be outputted from queries.
85
+
86
+
87
+ .\" depart_block_quote
88
+ types:
89
+
90
+
91
+ .\" visit_block_quote
92
+ List all available types.
93
+
94
+
95
+ .\" depart_block_quote
96
+ verbose: Print extra information.
97
+
98
+
99
+ .SH EXAMPLE
100
+ This example uses
101
+ .\" visit_literal
102
+ ralsh
103
+ .\" depart_literal
104
+ to return Puppet configuration for the user
105
+
106
+ .\" visit_literal
107
+ luke
108
+ .\" depart_literal
109
+ :
110
+
111
+
112
+ .nf
113
+ $ ralsh user luke
114
+ user { \'luke\':
115
+ home => \'/home/luke\',
116
+ uid => \'100\',
117
+ ensure => \'present\',
118
+ comment => \'Luke Kanies,,,\',
119
+ gid => \'1000\',
120
+ shell => \'/bin/bash\',
121
+ groups => [\'sysadmin\',\'audio\',\'video\',\'puppet\']
122
+ }
123
+ .fi
124
+
125
+ .SH AUTHOR
126
+ Luke Kanies
127
+
128
+
129
+ .SH COPYRIGHT
130
+ Copyright (c) 2005\-2007 Reductive Labs, LLC Licensed under the GNU
131
+ Public License
132
+
133
+
134
+ .\" Generated by docutils manpage writer on 2008-05-05 09:33.
135
+ .\"
@@ -0,0 +1,24 @@
1
+ $Id$
2
+
3
+ To run all tests, run: 'rake test'. To run an individual suite, run the file
4
+ directly. e.g. cd test/util; ./utiltest.rb
5
+
6
+ You might need to run some tests as root.
7
+
8
+ If you do not have rake installed:
9
+ gem install rake
10
+
11
+ ## The following information is possibly out of date?
12
+
13
+ Tests are organized into a dual hierarchy: each subdirectory is
14
+ considered a test suite, and each file in the subdirectory is considered
15
+ a test case. You can use any test case as an example of how to write
16
+ more of them, but basically the only requirements are that they each have
17
+ their own class names, their names each match /tc_.+\.r/, and that they have
18
+ the following header:
19
+
20
+ if __FILE__ == $0
21
+ $:.unshift '..'
22
+ $:.unshift '../../lib'
23
+ $blinkbase = "../.."
24
+ end
@@ -78,5 +78,32 @@ class TestCertSupport < Test::Unit::TestCase
78
78
  @user.ca_cert
79
79
  end
80
80
  end
81
- end
82
81
 
82
+ # Fixing #1382. This test will always fail on Darwin, because its
83
+ # FS is case-insensitive.
84
+ unless Facter.value(:operatingsystem) == "Darwin"
85
+ def test_uppercase_files_are_renamed_and_read
86
+ # Write a key out to disk in a file containing upper-case.
87
+ key = OpenSSL::PKey::RSA.new(32)
88
+ should_path = Puppet[:hostprivkey]
89
+ puts "%s: %s" % [should_path, FileTest.exist?(should_path).inspect]
90
+
91
+ dir, file = File.split(should_path)
92
+ newfile = file.sub(/^([a-z.]+)\./) { $1.upcase + "."}
93
+ puts "%s: %s" % [should_path, FileTest.exist?(should_path).inspect]
94
+ upper_path = File.join(dir, newfile)
95
+ puts "%s: %s" % [should_path, FileTest.exist?(should_path).inspect]
96
+ puts "%s: %s" % [upper_path, FileTest.exist?(upper_path).inspect]
97
+ File.open(upper_path, "w") { |f| f.print key.to_s }
98
+ puts "%s: %s" % [should_path, FileTest.exist?(should_path).inspect]
99
+ puts "%s: %s" % [upper_path, FileTest.exist?(upper_path).inspect]
100
+
101
+ user = CertUser.new
102
+
103
+ assert_equal(key.to_s, user.read_key.to_s, "Did not read key in from disk")
104
+ assert(! FileTest.exist?(upper_path), "Upper case file was not removed")
105
+ assert(FileTest.exist?(should_path), "File was not renamed to lower-case file")
106
+ assert_equal(key.to_s, user.read_key.to_s, "Did not read key in from disk")
107
+ end
108
+ end
109
+ end
@@ -0,0 +1,10 @@
1
+ class comp() {
2
+ file { "/etc/passwd":
3
+ mode => 644
4
+ }
5
+ }
6
+
7
+ # this argument is invalid, thus we should get a falure
8
+ comp {
9
+ fakearg => "yay"
10
+ }
@@ -0,0 +1,10 @@
1
+ class comp(arg1) {
2
+ file { "/etc/passwd":
3
+ mode => 644
4
+ }
5
+ }
6
+
7
+ # i've specified an arg but it's an invalid one
8
+ comp {
9
+ fakearg => "yay"
10
+ }
@@ -0,0 +1,9 @@
1
+ define comp() {
2
+ file { "/etc/passwd":
3
+ mode => 644
4
+ }
5
+ }
6
+
7
+ comp {
8
+ fakearg => "yay"
9
+ }
@@ -0,0 +1,9 @@
1
+ define comp($arg1) {
2
+ file { "/etc/passwd":
3
+ mode => 644
4
+ }
5
+ }
6
+
7
+ comp {
8
+ fakearg => "yay"
9
+ }
@@ -0,0 +1,3 @@
1
+ file { "/etc/passwd":
2
+ fakeparam => 644
3
+ }
@@ -0,0 +1 @@
1
+ $variable = file { "/etc/passwd": owner => root }
@@ -0,0 +1,17 @@
1
+ ---
2
+ - |
3
+ # comment 1
4
+ # Puppet Name: name2
5
+ env3=val
6
+ * * * * * command4
7
+ # comment 5
8
+
9
+ - - :record_type: :comment
10
+ :line: "# comment 1"
11
+ - :command: command4
12
+ :environment:
13
+ - env3=val
14
+ :name: name2
15
+ :record_type: :crontab
16
+ - :record_type: :comment
17
+ :line: "# comment 5"
@@ -0,0 +1,12 @@
1
+ ---
2
+ - |
3
+ # comment 9
4
+ env10=val
5
+ * * * * * command11
6
+
7
+ - - :record_type: :comment
8
+ :line: "# comment 9"
9
+ - :record_type: :environment
10
+ :line: env10=val
11
+ - :command: command11
12
+ :record_type: :crontab
@@ -0,0 +1,11 @@
1
+ ---
2
+ - |
3
+ env6=val
4
+ # Puppet Name: name7
5
+ * * * * * command8
6
+
7
+ - - :record_type: :environment
8
+ :line: env6=val
9
+ - :command: command8
10
+ :record_type: :crontab
11
+ :name: name7
@@ -0,0 +1,12 @@
1
+ ---
2
+ - |
3
+ # comment 9
4
+ env10=val
5
+ * * * * * command11
6
+
7
+ - - :record_type: :comment
8
+ :line: "# comment 9"
9
+ - :record_type: :environment
10
+ :line: env10=val
11
+ - :command: command11
12
+ :record_type: :crontab