puppet 2.7.6 → 2.7.8

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 (206) hide show
  1. data/CHANGELOG +168 -0
  2. data/conf/auth.conf +5 -4
  3. data/conf/redhat/puppet.spec +16 -1
  4. data/conf/solaris/pkginfo +2 -2
  5. data/conf/suse/puppet.spec +9 -3
  6. data/ext/upload_facts.rb +120 -0
  7. data/install.rb +11 -16
  8. data/lib/puppet.rb +1 -1
  9. data/lib/puppet/application/agent.rb +0 -3
  10. data/lib/puppet/application/apply.rb +0 -3
  11. data/lib/puppet/application/queue.rb +21 -1
  12. data/lib/puppet/defaults.rb +6 -4
  13. data/lib/puppet/face/file/store.rb +1 -1
  14. data/lib/puppet/feature/base.rb +2 -1
  15. data/lib/puppet/file_bucket/dipper.rb +3 -2
  16. data/lib/puppet/file_serving/content.rb +1 -1
  17. data/lib/puppet/file_serving/metadata.rb +5 -2
  18. data/lib/puppet/indirector/facts/inventory_service.rb +20 -0
  19. data/lib/puppet/indirector/file_bucket_file/file.rb +3 -2
  20. data/lib/puppet/indirector/report/processor.rb +1 -1
  21. data/lib/puppet/network/handler/filebucket.rb +2 -0
  22. data/lib/puppet/network/handler/fileserver.rb +1 -1
  23. data/lib/puppet/network/handler/master.rb +1 -0
  24. data/lib/puppet/network/handler/report.rb +2 -0
  25. data/lib/puppet/network/handler/runner.rb +1 -0
  26. data/lib/puppet/network/handler/status.rb +2 -0
  27. data/lib/puppet/network/http/mongrel/rest.rb +8 -1
  28. data/lib/puppet/network/http_server.rb +3 -0
  29. data/lib/puppet/network/http_server/mongrel.rb +129 -0
  30. data/lib/puppet/network/rest_authconfig.rb +12 -4
  31. data/lib/puppet/parameter.rb +18 -0
  32. data/lib/puppet/parser/compiler.rb +1 -1
  33. data/lib/puppet/parser/grammar.ra +1 -1
  34. data/lib/puppet/parser/parser.rb +360 -350
  35. data/lib/puppet/property.rb +3 -3
  36. data/lib/puppet/provider/augeas/augeas.rb +1 -1
  37. data/lib/puppet/provider/exec/windows.rb +6 -7
  38. data/lib/puppet/provider/file/windows.rb +9 -2
  39. data/lib/puppet/provider/group/aix.rb +8 -8
  40. data/lib/puppet/provider/group/groupadd.rb +1 -3
  41. data/lib/puppet/provider/group/ldap.rb +8 -10
  42. data/lib/puppet/provider/group/windows_adsi.rb +8 -2
  43. data/lib/puppet/provider/package/aix.rb +1 -1
  44. data/lib/puppet/provider/package/macports.rb +3 -3
  45. data/lib/puppet/provider/package/msi.rb +12 -5
  46. data/lib/puppet/provider/package/nim.rb +1 -1
  47. data/lib/puppet/provider/package/pkgdmg.rb +3 -3
  48. data/lib/puppet/provider/package/ports.rb +1 -1
  49. data/lib/puppet/provider/scheduled_task/win32_taskscheduler.rb +560 -0
  50. data/lib/puppet/provider/service/base.rb +2 -2
  51. data/lib/puppet/provider/service/bsd.rb +4 -3
  52. data/lib/puppet/provider/service/daemontools.rb +25 -25
  53. data/lib/puppet/provider/service/debian.rb +6 -4
  54. data/lib/puppet/provider/service/freebsd.rb +1 -1
  55. data/lib/puppet/provider/service/gentoo.rb +4 -3
  56. data/lib/puppet/provider/service/init.rb +3 -8
  57. data/lib/puppet/provider/service/launchd.rb +129 -96
  58. data/lib/puppet/provider/service/redhat.rb +2 -3
  59. data/lib/puppet/provider/service/runit.rb +20 -20
  60. data/lib/puppet/provider/service/smf.rb +8 -7
  61. data/lib/puppet/provider/service/src.rb +5 -6
  62. data/lib/puppet/provider/service/systemd.rb +1 -1
  63. data/lib/puppet/provider/service/upstart.rb +3 -5
  64. data/lib/puppet/provider/service/windows.rb +7 -7
  65. data/lib/puppet/provider/sshkey/parsed.rb +2 -3
  66. data/lib/puppet/provider/user/aix.rb +21 -21
  67. data/lib/puppet/provider/user/hpux.rb +3 -1
  68. data/lib/puppet/provider/user/ldap.rb +7 -7
  69. data/lib/puppet/provider/user/user_role_add.rb +10 -6
  70. data/lib/puppet/provider/user/useradd.rb +3 -1
  71. data/lib/puppet/provider/user/windows_adsi.rb +4 -3
  72. data/lib/puppet/rb_tree_map.rb +388 -0
  73. data/lib/puppet/reference/configuration.rb +7 -7
  74. data/lib/puppet/reference/indirection.rb +5 -6
  75. data/lib/puppet/reference/metaparameter.rb +3 -1
  76. data/lib/puppet/reference/network.rb +8 -8
  77. data/lib/puppet/reference/providers.rb +17 -21
  78. data/lib/puppet/reference/type.rb +12 -9
  79. data/lib/puppet/resource.rb +2 -5
  80. data/lib/puppet/resource/catalog.rb +1 -1
  81. data/lib/puppet/ssl/certificate_request.rb +70 -0
  82. data/lib/puppet/ssl/host.rb +6 -0
  83. data/lib/puppet/transaction.rb +158 -55
  84. data/lib/puppet/transaction/event_manager.rb +1 -1
  85. data/lib/puppet/type.rb +60 -30
  86. data/lib/puppet/type/augeas.rb +83 -49
  87. data/lib/puppet/type/computer.rb +1 -1
  88. data/lib/puppet/type/cron.rb +11 -11
  89. data/lib/puppet/type/exec.rb +28 -21
  90. data/lib/puppet/type/file.rb +17 -7
  91. data/lib/puppet/type/file/content.rb +2 -2
  92. data/lib/puppet/type/file/ensure.rb +15 -12
  93. data/lib/puppet/type/file/mode.rb +30 -5
  94. data/lib/puppet/type/file/source.rb +11 -10
  95. data/lib/puppet/type/file/target.rb +2 -2
  96. data/lib/puppet/type/filebucket.rb +1 -1
  97. data/lib/puppet/type/group.rb +4 -5
  98. data/lib/puppet/type/host.rb +1 -1
  99. data/lib/puppet/type/interface.rb +13 -10
  100. data/lib/puppet/type/k5login.rb +6 -6
  101. data/lib/puppet/type/macauthorization.rb +37 -36
  102. data/lib/puppet/type/maillist.rb +2 -2
  103. data/lib/puppet/type/mcx.rb +6 -6
  104. data/lib/puppet/type/mount.rb +3 -2
  105. data/lib/puppet/type/notify.rb +1 -1
  106. data/lib/puppet/type/package.rb +24 -23
  107. data/lib/puppet/type/router.rb +4 -1
  108. data/lib/puppet/type/schedule.rb +52 -44
  109. data/lib/puppet/type/scheduled_task.rb +222 -0
  110. data/lib/puppet/type/selmodule.rb +10 -6
  111. data/lib/puppet/type/service.rb +11 -11
  112. data/lib/puppet/type/ssh_authorized_key.rb +2 -5
  113. data/lib/puppet/type/sshkey.rb +1 -1
  114. data/lib/puppet/type/stage.rb +1 -1
  115. data/lib/puppet/type/tidy.rb +10 -8
  116. data/lib/puppet/type/user.rb +61 -53
  117. data/lib/puppet/type/vlan.rb +4 -4
  118. data/lib/puppet/type/whit.rb +6 -2
  119. data/lib/puppet/type/yumrepo.rb +33 -31
  120. data/lib/puppet/type/zfs.rb +34 -32
  121. data/lib/puppet/type/zone.rb +21 -19
  122. data/lib/puppet/type/zpool.rb +3 -3
  123. data/lib/puppet/util.rb +24 -6
  124. data/lib/puppet/util/adsi.rb +12 -7
  125. data/lib/puppet/util/checksums.rb +1 -1
  126. data/lib/puppet/util/diff.rb +1 -1
  127. data/lib/puppet/util/nagios_maker.rb +2 -2
  128. data/lib/puppet/util/reference.rb +16 -17
  129. data/lib/puppet/util/settings/file_setting.rb +14 -2
  130. data/lib/puppet/util/windows/security.rb +96 -32
  131. data/spec/integration/file_serving/terminus_helper_spec.rb +1 -1
  132. data/spec/integration/indirector/direct_file_server_spec.rb +9 -15
  133. data/spec/integration/indirector/file_content/file_server_spec.rb +1 -1
  134. data/spec/integration/indirector/file_metadata/file_server_spec.rb +1 -1
  135. data/spec/integration/provider/package_spec.rb +4 -0
  136. data/spec/integration/provider/service/init_spec.rb +8 -2
  137. data/spec/integration/reference/providers_spec.rb +1 -1
  138. data/spec/integration/ssl/certificate_request_spec.rb +1 -2
  139. data/spec/integration/ssl/certificate_revocation_list_spec.rb +1 -2
  140. data/spec/integration/ssl/host_spec.rb +1 -2
  141. data/spec/integration/transaction_spec.rb +25 -17
  142. data/spec/integration/type/exec_spec.rb +77 -0
  143. data/spec/integration/type/file_spec.rb +322 -2
  144. data/spec/integration/util/windows/security_spec.rb +393 -230
  145. data/spec/integration/util_spec.rb +16 -0
  146. data/spec/lib/puppet_spec/files.rb +3 -7
  147. data/spec/unit/application/apply_spec.rb +0 -9
  148. data/spec/unit/application/inspect_spec.rb +1 -0
  149. data/spec/unit/configurer/downloader_spec.rb +3 -3
  150. data/spec/unit/face/certificate_spec.rb +6 -2
  151. data/spec/unit/file_bucket/dipper_spec.rb +67 -10
  152. data/spec/unit/file_bucket/file_spec.rb +22 -28
  153. data/spec/unit/file_serving/content_spec.rb +1 -1
  154. data/spec/unit/file_serving/metadata_spec.rb +30 -3
  155. data/spec/unit/indirector/facts/inventory_service_spec.rb +22 -0
  156. data/spec/unit/indirector/file_bucket_file/file_spec.rb +21 -24
  157. data/spec/unit/indirector/node/store_configs_spec.rb +1 -0
  158. data/spec/unit/indirector/resource/ral_spec.rb +1 -1
  159. data/spec/unit/indirector/resource_type/parser_spec.rb +2 -2
  160. data/spec/unit/indirector/rest_spec.rb +1 -1
  161. data/spec/unit/network/handler/ca_spec.rb +1 -1
  162. data/spec/unit/network/http/mongrel/rest_spec.rb +54 -25
  163. data/spec/unit/parameter_spec.rb +36 -0
  164. data/spec/unit/parser/parser_spec.rb +4 -0
  165. data/spec/unit/property_spec.rb +2 -2
  166. data/spec/unit/provider/exec/windows_spec.rb +2 -8
  167. data/spec/unit/provider/file/posix_spec.rb +6 -0
  168. data/spec/unit/provider/file/windows_spec.rb +18 -0
  169. data/spec/unit/provider/group/windows_adsi_spec.rb +22 -6
  170. data/spec/unit/provider/mount/parsed_spec.rb +1 -1
  171. data/spec/unit/provider/package/msi_spec.rb +2 -2
  172. data/spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb +1571 -0
  173. data/spec/unit/provider/service/launchd_spec.rb +143 -130
  174. data/spec/unit/provider/ssh_authorized_key/parsed_spec.rb +5 -0
  175. data/spec/unit/provider/user/user_role_add_spec.rb +39 -9
  176. data/spec/unit/provider/user/useradd_spec.rb +1 -1
  177. data/spec/unit/provider/user/windows_adsi_spec.rb +8 -1
  178. data/spec/unit/rb_tree_map_spec.rb +572 -0
  179. data/spec/unit/resource/catalog_spec.rb +1 -1
  180. data/spec/unit/simple_graph_spec.rb +9 -9
  181. data/spec/unit/ssl/host_spec.rb +60 -12
  182. data/spec/unit/transaction/report_spec.rb +3 -3
  183. data/spec/unit/transaction_spec.rb +394 -11
  184. data/spec/unit/type/exec_spec.rb +35 -15
  185. data/spec/unit/type/file/content_spec.rb +11 -10
  186. data/spec/unit/type/file/mode_spec.rb +73 -19
  187. data/spec/unit/type/file/source_spec.rb +1 -1
  188. data/spec/unit/type/file_spec.rb +15 -0
  189. data/spec/unit/type/group_spec.rb +1 -1
  190. data/spec/unit/type/mount_spec.rb +5 -5
  191. data/spec/unit/type/resources_spec.rb +3 -3
  192. data/spec/unit/type/scheduled_task_spec.rb +102 -0
  193. data/spec/unit/type/ssh_authorized_key_spec.rb +2 -3
  194. data/spec/unit/type/user_spec.rb +2 -1
  195. data/spec/unit/type_spec.rb +48 -4
  196. data/spec/unit/util/adsi_spec.rb +18 -7
  197. data/spec/unit/util/checksums_spec.rb +20 -2
  198. data/spec/unit/util/execution_stub_spec.rb +10 -5
  199. data/spec/unit/util/logging_spec.rb +6 -6
  200. data/spec/unit/util/rdoc/parser_spec.rb +1 -1
  201. data/spec/unit/util/reference_spec.rb +29 -0
  202. data/spec/unit/util/settings/file_setting_spec.rb +8 -2
  203. data/spec/unit/util_spec.rb +115 -0
  204. data/test/other/transactions.rb +5 -11
  205. data/test/ral/type/exec.rb +1 -1
  206. metadata +24 -11
data/CHANGELOG CHANGED
@@ -1,3 +1,171 @@
1
+ 2.7.8
2
+ ===
3
+ 3eff60a Readying for 2.7.8rc release
4
+ e4ee794 (#10739) Provide default subjectAltNames while bootstrapping master
5
+ 2dedee6 (#2744) Don't automatically enable show_diff in noop mode
6
+ ef78358 Give variables more descriptive names
7
+ cd3d4ea maint: Rename xgenerate to add_dynamically_generated_resources
8
+ 000a2d8 (#6907) Prefetch unsuitable providers
9
+ 70114e9 (#6907) Allow providers to be selected in the run they become suitable
10
+ a0ee5c7 maint: Fix incorrect whitespace
11
+ 4e8a73c Fix description in service provider test for FreeBSD
12
+ a2eab4f (#6697) Set service provider default path to /etc/rc.d on Archlinux
13
+ da75795 (#6335) Allow optional trailing comma in argument lists.
14
+ 47c786e Update CHANGELOG and packaging for 2.7.7 final
15
+ 8030428 (#8255) Always use string modes when creating resources from FileSetting settings
16
+ c804346 (#7274) Output 4-digit file modes in File type
17
+ 220f2ba (#10799) Regexp escaping too much
18
+ 4462eb5 Merged 2.6.x into 2.7x
19
+ 67e048b Updated CHANGELOG for 2.7.7rc2
20
+ 93aca5a maint: Fix failing specs for Windows exec provider
21
+ 7f3a1bb (#9617) Use an RbTreeMap to store ready resources
22
+ 9eff0f4 (#9671) Implement RbTreeMap#each recursively, and #first/#last explicitly
23
+ 5f7f467 (#9671) Return nodes from internal RbTreeMap recursion
24
+ 1dc9c72 (#9671) Stop tracking size and height of nodes in RbTreeMap
25
+ f180f9b (#9617) Add a red-black tree map
26
+ c62e949 (#9617) Keep track of blockers for resources when traversing
27
+ 2cb6d72 (#9671) Generated resources should not depend on the completed_ whit
28
+ a5845b7 (#9671) Exit early from #eval_generate if nothing is created
29
+ 7002eff (#9617) Be smarter about finding parents when eval_generating
30
+ 11fda78 maint: Don't File#expand_path when unmunging file paths
31
+ ad4316a (#9671) Use Array#concat rather than +=
32
+ 20260f3 maint: Correct the spelling of sentinel
33
+ 4f03384 (#10614) Detect when trying to managing ACLs on a non-ACL volume
34
+ 37b9f0f (#10614) Provide default metadata values for Windows ACLs
35
+ 1cb37c9 (#10614) Add method for detecting Windows volumes that support ACLs
36
+ c9ee5a0 (#10614) Fix setting and clearing read-only attribute on Windows
37
+ ed27a90 (#10614) Fix error checking for Windows BOOL return values
38
+ 7f0756d (#10727) Don't rely on Kernel#Pathname
39
+ 23379d0 (#10614) Detect when trying to managing ACLs on a non-ACL volume
40
+ 374fee5 (#10614) Provide default metadata values for Windows ACLs
41
+ f60e889 (#10614) Add method for detecting Windows volumes that support ACLs
42
+ 1371dbd (#10614) Fix setting and clearing read-only attribute on Windows
43
+ 7eb0197 (#10614) Fix error checking for Windows BOOL return values
44
+ 9dfd011 (#5617) Puppet queue logging
45
+ 0a34697 (#2744) Display file diffs through the Puppet log system.
46
+ 0c28238 (#9508) Be explicit is setting `auth any` for default ACLs.
47
+ f140eca Updated CHANGELOG for 2.7.7rc1
48
+ 057cda6 (#9508) Default ACL of `auth any` makes sense where we had `auth no`
49
+ 78670ed (#9983) Checksum file in binary mode when storing to filebucket
50
+ da11a78 (#9983) Serve file content in binary mode
51
+ 13f1054 (#9983) Read file content from disk using binary mode
52
+ 4b4bb8b (#9983) Use binary mode when reading and writing FileBucketFiles
53
+ 899833b (#9983) Read file content in binary mode when backing up
54
+ dc8bcf8 (#9983) Restore files in binary mode
55
+ 489a679 (#9983) Checksum files in binary mode
56
+ f7bfa05 (#9983) Add method for reading binary files
57
+ 674068a (#10269) Make directories executable so they can be cleaned up
58
+ fd747cc (#10365) Add pending test when file overwrites an executable directory
59
+ fe30d8f (#10315) Add pending tests when following symlinks
60
+ a22c7aa Maint: Fix test breakage
61
+ 8576e86 (#10269) Search bit not set on newly created directories
62
+ a91cfa1 maint: Fix failing spec on old version of rspec
63
+ 428e08c Stub File.open to not touch the disk
64
+ aa2a762 (#10289) Add an ext script to upload facts to inventory server
65
+ a97337f (#10346) Fix storeconfigs spec failures when run alone
66
+ 5129d38 (#10289) Add a safe alternative to REST for inventory service
67
+ 5c4daa4 (#7601) Use definition lists in indirection references
68
+ 7df46a2 (#7601) Use definition lists in type references
69
+ ad97dc9 (#7601) Add markdown_definitionlist method to reference.rb
70
+ 455c9aa Maint: Revise reference text for most types and providers
71
+ ced8e19 (#7601) Remove unnecessarily abstracted paramwrap method
72
+ a6957ac (#7601) Rename "h" method to "markdown_header"
73
+ 7a0ade6 (#7601) Use << instead of += in references
74
+ 7d65796 (#9109) Retrieve request parameters from the request body for POSTs
75
+ 5a2952c (maint) Fix CA-related specs failing on Windows
76
+ 42fb76e Fix typo in report debug message
77
+ eab5965 missing includes in network XML-RPC handlers
78
+ 7514d32 missing includes in network XML-RPC handlers
79
+ 614526a (#10244) Restore Mongrel XMLRPC functionality
80
+ 397a506 (#10244) Restore Mongrel XMLRPC functionality
81
+ fcaf7c5 Updated CHANGELOG for 2.6.12
82
+ f51d221 Improve the error message when a CSR is rejected
83
+ d551747 Allow a master to bootstrap itself with dns_alt_names and autosign
84
+ 0405196 (maint) Remove ssl dir before starting a master with DNS alt names
85
+ 3ed6499 Backport Enumerable#count to Rubies < 1.8.7
86
+ 5f44c23 More 1.8.5 compatibility fixes.
87
+ ef1b960 Better 1.8.5 compatible implementation of `lines`.
88
+ 246e875 (#2848) Config options require '_', not '-'.
89
+ 3bdeb3a Ruby 1.8.5 compatibility changes in tests and code.
90
+ 6866d4b Add `lines` alias for `each_line` in Ruby 1.8.5.
91
+ 2f9ec3c s/not_to/should_not/ for older versions of RSpec 2.
92
+ 56320ea (#2848) Eliminate redundant `master_dns_alt_names`.
93
+ de19861 (#2848) Remove the legacy SSLCertificates code
94
+ cf008a6 (#2848) Rework the xmlrpc CA handler to use the modern SSL code
95
+ 32be180 (#2848) Remove unused xmlrpc code
96
+ 5f2a44d (#2848) Consistent return values from `subject_alt_names` accessors.
97
+ 5e507f2 (#2848) Consistently use `subject_alt_names` as accessor name.
98
+ 5ac2417 (#2848) Don't strip the subjectAltName label when listing.
99
+ 44cf3a2 (#2848) Don't enable `emailProtection` for server keys.
100
+ d66def9 (#2848) Only mark `subjectAltName` critical if `subject` is empty.
101
+ 8174047 (#2848) Migrate `dns-alt-names` back to settings.
102
+ f18df2b Wire up the `setbycli` slot in Puppet settings.
103
+ efa61f2 (#2848) rename subject-alt-name option to dns-alt-names
104
+ f103b20 (#2848) Rename `certdnsnames` to match new behaviour.
105
+ 363b47b (#2848) Use `certdnsnames` when bootstrapping a local master.
106
+ 49334ff (#2848) CSR subjectAltNames handling while signing.
107
+ 5f2af93 (#2848) List subject alt names in output of puppet cert --list
108
+ bb475ec (#7224) Add a helper to Puppet::SSL::Certificate to retrieve alternate names
109
+ bab9310 (#2848) Rewrite SSL Certificate Factory, fixing `subjectAltName` leak.
110
+ fca1ff0 (#2848) Reject unknown (== all) extensions on the CSR.
111
+ 443a756 (#2848) extract the subjectAltName value from the CSR.
112
+ 66101f1 (#2848) Set `certdnsnames` values into the CSR.
113
+ 77b814f (#6928) Don't blow up when the method is undefined...
114
+ 5427f1e (#6928) backport Symbol#to_proc for Ruby < 1.8.7
115
+ 6ef1d3a (#6371) Update lastchg field in shadow file on Solaris.
116
+ c343615 (#10161) Parenthesize method arguments
117
+ 5721ab9 Maint: Remove duplicate path extension code
118
+ edc721e (#9636) Always set $CHILD_STATUS when executing on Windows
119
+ 448d5db (#9636) Fix PATHEXT resolution for paths other than system32
120
+ 424379d (#9996) Restore functionality for multi-line commands in exec resources
121
+ ad98d47 (#9831) Standardize Windows provider confining
122
+ cf8fae2 (#9832) General StoreConfigs regression.
123
+ 1e8a2cd (#9607) Only validate package source when it is set or needed
124
+ 0258096 (#9461) Resolve executables using PATHEXT on Windows
125
+ d78afda (#9938) Allow directory sticky-ness to be set
126
+ 23b4864 Maint: Document tag metaparameter's ability to take an array
127
+ b3c0f1d Stub method for getting roles from the user provider
128
+ 006a128 Set vardir so that msi package provider runs on Windows
129
+ 4185b4e Add Windows-specific tests when user parameter specified in exec
130
+ aab6b40 Disable mount provider tests on Windows
131
+ 58f97e3 Update test due to lack of 'true' on Windows
132
+ 1fd90c3 Change tests to not use 'mount' provider
133
+ 220f5e0 Added 'touch' method enabling tests to run on Windows
134
+ ca0bc4f Change test to not call 'rm -rf'
135
+ 1883455 Remove 'fails_on_windows' tag for passing tests
136
+ 0d7c797 (#8414) Create scheduled_task type for use with Windows scheduled tasks
137
+ 4ddef89 (#8414) Require win32-taskscheduler gem on Windows
138
+ 0ecf3ab Add ability to look up fully qualified local accounts using Puppet::Util::Adsi.sid_for_account
139
+ 23d5aeb Add support for displaying hashes to Puppet::Parameter.format_value_for_display
140
+ f0c3414 Move parameter formatting rules into helper method
141
+ 845e05b Wrap long lines in Type::Package
142
+ 18d65ec Whitespace cleanup in Type::SshAuthorizedKey
143
+ b2e2175 Include necessary Facter stubs
144
+ f5bc897 Remove test dependencies on QUANTITY of calls
145
+ 51adf31 Reset the @macosx_version_major variable
146
+ 4b9dfdd Reset the @job_list variable between tests
147
+ 446a5bf Remove use of defined?()
148
+ 0e4079d Use memoization instead of 'unless'
149
+ 9d504ff (#9796) ssh_authorized_key supports whitespace again
150
+ 122b8c2 (#9459) Fix problems with Windows 'user' and 'group' providers.
151
+ ee107cf Use instance variable for job_list
152
+ d1e0fa1 Refactor launchd provider spec tests
153
+ 3440c10 Refactor status method
154
+ 62b8d6b Deprecation Warning if using Facter <= 1.5.5
155
+ 8a50c3a Test prefetching
156
+ f09d264 Stub call to Facter
157
+ a6bc5a5 Optimize @product_version variable
158
+ af42ff8 Documentation Commit
159
+ 55610bf Whitespace Commit
160
+ cf3d378 Change method used to get Fact Value
161
+ ce776b0 Revert launchd_spec
162
+ f65b111 Rearrange launchd provider
163
+ ed90957 First attempt at launchd spec
164
+ 637b57b Implement Caching
165
+ 60482f4 Whitespace and Alignment Commit
166
+ 5b52bd6 Bring up to date with topic branch
167
+ 27057a6 Maint: Fix the "provider" parameter documentation
168
+
1
169
  2.7.6 (includes CVE-2011-3872 see http://puppetlabs.com/security/hotfixes/cve-2011-3872/
2
170
  ===
3
171
  c09517a Improve the error message when a CSR is rejected
@@ -75,21 +75,22 @@ path /file
75
75
  allow *
76
76
 
77
77
  ### Unauthenticated ACL, for clients for which the current master doesn't
78
- ### have a valid certificate
78
+ ### have a valid certificate; we allow authenticated users, too, because
79
+ ### there isn't a great harm in letting that request through.
79
80
 
80
81
  # allow access to the master CA
81
82
  path /certificate/ca
82
- auth no
83
+ auth any
83
84
  method find
84
85
  allow *
85
86
 
86
87
  path /certificate/
87
- auth no
88
+ auth any
88
89
  method find
89
90
  allow *
90
91
 
91
92
  path /certificate_request
92
- auth no
93
+ auth any
93
94
  method find, save
94
95
  allow *
95
96
 
@@ -5,13 +5,16 @@
5
5
  %global confdir conf/redhat
6
6
 
7
7
  Name: puppet
8
- Version: 2.7.6
8
+ Version: 2.7.8
9
+ #Release: 0.1rc1%{?dist}
9
10
  Release: 1%{?dist}
10
11
  Summary: A network tool for managing many disparate systems
11
12
  License: ASL 2.0
12
13
  URL: http://puppetlabs.com
13
14
  Source0: http://puppetlabs.com/downloads/%{name}/%{name}-%{version}.tar.gz
15
+ #Source0: http://puppetlabs.com/downloads/%{name}/%{name}-%{version}rc1.tar.gz
14
16
  Source1: http://puppetlabs.com/downloads/%{name}/%{name}-%{version}.tar.gz.asc
17
+ #Source1: http://puppetlabs.com/downloads/%{name}/%{name}-%{version}rc1.tar.gz.asc
15
18
 
16
19
  Group: System Environment/Base
17
20
 
@@ -282,6 +285,18 @@ fi
282
285
  rm -rf %{buildroot}
283
286
 
284
287
  %changelog
288
+ * Thu Dec 8 2011 Matthaus Litteken <matthaus@puppetlabs.com> - 2.7.8-1
289
+ - Update for 2.7.8
290
+
291
+ * Wed Nov 30 2011 Michael Stahnke <stahnma@puppetlabs.com> - 2.7.8-0.1rc1
292
+ - Update for 2.7.8rc1
293
+
294
+ * Mon Nov 21 2011 Michael Stahnke <stahnma@puppetlabs.com> - 2.7.7-1
295
+ - Relaese 2.7.7
296
+
297
+ * Tue Nov 01 2011 Michael Stahnke <stahnma@puppetlabs.com> - 2.7.7-0.1rc1
298
+ - Update for 2.7.7rc1
299
+
285
300
  * Fri Oct 21 2011 Michael Stahnke <stahnma@puppetlabs.com> - 2.7.6-1
286
301
  - 2.7.6 final
287
302
 
@@ -1,6 +1,6 @@
1
1
  PKG=CSWpuppet
2
2
  NAME=puppet - System Automation Framework
3
- VERSION=2.7.2
3
+ VERSION=2.7.8
4
4
  CATEGORY=application
5
5
  VENDOR=http://projects.puppetlabs.com/projects/puppet
6
- EMAIL=luke@puppetlabs.com
6
+ EMAIL=info@puppetlabs.com
@@ -4,13 +4,13 @@
4
4
 
5
5
  Summary: A network tool for managing many disparate systems
6
6
  Name: puppet
7
- Version: 2.7.2
7
+ Version: 2.7.8
8
8
  Release: 0.1rc1%{?dist}
9
9
  License: Apache 2.0
10
10
  Group: Productivity/Networking/System
11
11
 
12
12
  URL: http://puppetlabs.com/projects/puppet/
13
- Source0: http://puppetlabs.com/downloads/puppet/%{name}-%{version}.tar.gz
13
+ Source0: http://puppetlabs.com/downloads/puppet/%{name}-%{version}rc1.tar.gz
14
14
 
15
15
  PreReq: %{insserv_prereq} %{fillup_prereq}
16
16
  Requires: ruby >= 1.8.2
@@ -35,7 +35,7 @@ Provides the central puppet server daemon which provides manifests to clients.
35
35
  The server can also function as a certificate authority and file server.
36
36
 
37
37
  %prep
38
- %setup -q
38
+ %setup -q -n %{name}-%{version}rc1
39
39
 
40
40
  %build
41
41
  for f in bin/* sbin/*; do
@@ -136,6 +136,12 @@ find %{buildroot}%{ruby_sitelibdir} -type f -perm +ugo+x -exec chmod a-x '{}' \;
136
136
  %{__rm} -rf %{buildroot}
137
137
 
138
138
  %changelog
139
+ * Wed Nov 30 2011 Michael Stahnke <stahnma@puppetlabs.com> - 2.7.8-0.1rc1
140
+ - Update for 2.7.8rc1
141
+
142
+ * Mon Nov 21 2011 Michael Stahnke <stahnma@puppetlabs.com> - 2.7.7-1
143
+ - Release 2.7.7
144
+
139
145
  * Wed Jul 06 2011 Michael Stahnke <stahnma@puppetlabs.com> - 2.7.2-0.1rc1
140
146
  - Updating to 2.7.2rc1
141
147
 
@@ -0,0 +1,120 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'net/https'
4
+ require 'openssl'
5
+ require 'openssl/x509'
6
+ require 'optparse'
7
+ require 'pathname'
8
+ require 'yaml'
9
+
10
+ require 'puppet'
11
+ require 'puppet/network/http_pool'
12
+
13
+ class Puppet::Application::UploadFacts < Puppet::Application
14
+ should_parse_config
15
+ run_mode :master
16
+
17
+ option('--debug', '-d')
18
+ option('--verbose', '-v')
19
+
20
+ option('--logdest DEST', '-l DEST') do |arg|
21
+ Puppet::Util::Log.newdestination(arg)
22
+ options[:setdest] = true
23
+ end
24
+
25
+ option('--minutes MINUTES', '-m MINUTES') do |minutes|
26
+ options[:time_limit] = 60 * minutes.to_i
27
+ end
28
+
29
+ def help
30
+ print <<HELP
31
+ == Synopsis
32
+
33
+ Upload cached facts to the inventory service.
34
+
35
+ = Usage
36
+
37
+ upload_facts [-d|--debug] [-v|--verbose] [-m|--minutes <minutes>]
38
+ [-l|--logdest syslog|<file>|console]
39
+
40
+ = Description
41
+
42
+ This command will read YAML facts from the puppet master's YAML directory, and
43
+ save them to the configured facts_terminus. It is intended to be used with the
44
+ facts_terminus set to inventory_service, in order to ensure facts which have
45
+ been cached locally due to a temporary failure are still uploaded to the
46
+ inventory service.
47
+
48
+ = Usage Notes
49
+
50
+ upload_facts is intended to be run from cron, with the facts_terminus set to
51
+ inventory_service. The +--minutes+ argument should be set to the length of time
52
+ between upload_facts runs. This will ensure that only new YAML files are
53
+ uploaded.
54
+
55
+ = Options
56
+
57
+ Note that any configuration parameter that's valid in the configuration file
58
+ is also a valid long argument. For example, 'server' is a valid configuration
59
+ parameter, so you can specify '--server <servername>' as an argument.
60
+
61
+ See the configuration file documentation at
62
+ http://docs.puppetlabs.com/references/stable/configuration.html for
63
+ the full list of acceptable parameters. A commented list of all
64
+ configuration options can also be generated by running puppet agent with
65
+ '--genconfig'.
66
+
67
+ minutes::
68
+ Limit the upload only to YAML files which have been added within the last n
69
+ minutes.
70
+ HELP
71
+
72
+ exit
73
+ end
74
+
75
+ def setup
76
+ # Handle the logging settings.
77
+ if options[:debug] or options[:verbose]
78
+ if options[:debug]
79
+ Puppet::Util::Log.level = :debug
80
+ else
81
+ Puppet::Util::Log.level = :info
82
+ end
83
+
84
+ Puppet::Util::Log.newdestination(:console) unless options[:setdest]
85
+ end
86
+
87
+ exit(Puppet.settings.print_configs ? 0 : 1) if Puppet.settings.print_configs?
88
+ end
89
+
90
+ def main
91
+ dir = Pathname.new(Puppet[:yamldir]) + 'facts'
92
+
93
+ cutoff = options[:time_limit] ? Time.now - options[:time_limit] : Time.at(0)
94
+
95
+ files = dir.children.select do |file|
96
+ file.extname == '.yaml' && file.mtime > cutoff
97
+ end
98
+
99
+ failed = false
100
+
101
+ terminus = Puppet::Node::Facts.indirection.terminus
102
+
103
+ files.each do |file|
104
+ facts = YAML.load_file(file)
105
+
106
+ request = Puppet::Indirector::Request.new(:facts, :save, facts)
107
+
108
+ # The terminus warns for us if we fail.
109
+ if terminus.save(request)
110
+ Puppet.info "Uploaded facts for #{facts.name} to inventory service"
111
+ else
112
+ failed = true
113
+ end
114
+ end
115
+
116
+ exit !failed
117
+ end
118
+ end
119
+
120
+ Puppet::Application::UploadFacts.new.run
data/install.rb CHANGED
@@ -423,11 +423,17 @@ def install_binfile(from, op_file, target)
423
423
  if not installed_wrapper
424
424
  tmp_file2 = File.join(tmp_dir, '_tmp_wrapper')
425
425
  cwn = File.join(Config::CONFIG['bindir'], op_file)
426
- regex_safe_ruby = Regexp.escape(ruby.gsub(%r{/}) { "\\" })
427
- regex_safe_cwn = Regexp.escape(cwn.gsub(%r{/}) { "\\" })
428
-
429
- cwv = CMD_WRAPPER.gsub('<ruby>', regex_safe_ruby).gsub('<command>', regex_safe_cwn)
430
- File.open(tmp_file2, "wb") { |cw| cw.puts cwv }
426
+ cwv = <<-EOS
427
+ @echo off
428
+ if "%OS%"=="Windows_NT" goto WinNT
429
+ #{ruby} -x "#{cwn}" %1 %2 %3 %4 %5 %6 %7 %8 %9
430
+ goto done
431
+ :WinNT
432
+ #{ruby} -x "#{cwn}" %*
433
+ goto done
434
+ :done
435
+ EOS
436
+ File.open(tmp_file2, "w") { |cw| cw.puts cwv }
431
437
  FileUtils.install(tmp_file2, File.join(target, "#{op_file}.bat"), :mode => 0755, :verbose => true)
432
438
 
433
439
  File.unlink(tmp_file2)
@@ -438,17 +444,6 @@ def install_binfile(from, op_file, target)
438
444
  File.unlink(tmp_file)
439
445
  end
440
446
 
441
- CMD_WRAPPER = <<-EOS
442
- @echo off
443
- if "%OS%"=="Windows_NT" goto WinNT
444
- <ruby> -x "<command>" %1 %2 %3 %4 %5 %6 %7 %8 %9
445
- goto done
446
- :WinNT
447
- <ruby> -x "<command>" %*
448
- goto done
449
- :done
450
- EOS
451
-
452
447
  check_prereqs
453
448
  prepare_installation
454
449
 
@@ -24,7 +24,7 @@ require 'puppet/util/run_mode'
24
24
  # it's also a place to find top-level commands like 'debug'
25
25
 
26
26
  module Puppet
27
- PUPPETVERSION = '2.7.6'
27
+ PUPPETVERSION = '2.7.8'
28
28
 
29
29
  def Puppet.version
30
30
  PUPPETVERSION