puppet 2.7.11 → 2.7.12

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 (220) hide show
  1. data/CHANGELOG +188 -0
  2. data/conf/osx/createpackage.sh +1 -0
  3. data/conf/redhat/puppet.spec +12 -9
  4. data/conf/suse/puppet.spec +4 -1
  5. data/install.rb +9 -22
  6. data/lib/puppet.rb +1 -31
  7. data/lib/puppet/agent.rb +3 -5
  8. data/lib/puppet/agent/locker.rb +15 -1
  9. data/lib/puppet/application.rb +7 -4
  10. data/lib/puppet/application/agent.rb +4 -25
  11. data/lib/puppet/application/apply.rb +3 -3
  12. data/lib/puppet/application/device.rb +2 -16
  13. data/lib/puppet/application/doc.rb +2 -2
  14. data/lib/puppet/application/face_base.rb +22 -5
  15. data/lib/puppet/application/filebucket.rb +2 -0
  16. data/lib/puppet/application/inspect.rb +2 -1
  17. data/lib/puppet/application/kick.rb +25 -9
  18. data/lib/puppet/application/queue.rb +0 -23
  19. data/lib/puppet/configurer.rb +1 -0
  20. data/lib/puppet/configurer/downloader.rb +7 -3
  21. data/lib/puppet/defaults.rb +34 -29
  22. data/lib/puppet/face/ca.rb +1 -1
  23. data/lib/puppet/face/catalog.rb +1 -0
  24. data/lib/puppet/face/file/store.rb +1 -1
  25. data/lib/puppet/face/module/list.rb +23 -3
  26. data/lib/puppet/face/module/search.rb +21 -32
  27. data/lib/puppet/face/module/uninstall.rb +56 -15
  28. data/lib/puppet/file_bucket/dipper.rb +2 -2
  29. data/lib/puppet/file_serving/base.rb +6 -5
  30. data/lib/puppet/file_serving/configuration/parser.rb +1 -1
  31. data/lib/puppet/file_serving/content.rb +1 -1
  32. data/lib/puppet/forge.rb +153 -0
  33. data/lib/puppet/{module_tool → forge}/cache.rb +1 -2
  34. data/lib/puppet/{module_tool → forge}/repository.rb +46 -4
  35. data/lib/puppet/indirector/exec.rb +1 -1
  36. data/lib/puppet/indirector/file_bucket_file/file.rb +3 -3
  37. data/lib/puppet/interface/action.rb +6 -2
  38. data/lib/puppet/module.rb +70 -10
  39. data/lib/puppet/module_tool.rb +2 -38
  40. data/lib/puppet/module_tool/applications.rb +15 -11
  41. data/lib/puppet/module_tool/applications/application.rb +2 -5
  42. data/lib/puppet/module_tool/applications/cleaner.rb +1 -1
  43. data/lib/puppet/module_tool/applications/installer.rb +10 -45
  44. data/lib/puppet/module_tool/applications/searcher.rb +2 -26
  45. data/lib/puppet/module_tool/applications/uninstaller.rb +39 -13
  46. data/lib/puppet/module_tool/applications/unpacker.rb +1 -1
  47. data/lib/puppet/module_tool/dependency.rb +1 -1
  48. data/lib/puppet/network/authconfig.rb +1 -1
  49. data/lib/puppet/network/handler/fileserver.rb +1 -1
  50. data/lib/puppet/network/http/handler.rb +4 -1
  51. data/lib/puppet/network/http/webrick.rb +4 -2
  52. data/lib/puppet/node/environment.rb +32 -6
  53. data/lib/puppet/parameter/path.rb +0 -4
  54. data/lib/puppet/parser/ast/relationship.rb +3 -16
  55. data/lib/puppet/parser/collector.rb +5 -3
  56. data/lib/puppet/parser/compiler.rb +2 -1
  57. data/lib/puppet/parser/functions/file.rb +1 -1
  58. data/lib/puppet/parser/functions/generate.rb +8 -2
  59. data/lib/puppet/parser/grammar.ra +16 -15
  60. data/lib/puppet/parser/parser.rb +959 -881
  61. data/lib/puppet/parser/relationship.rb +32 -15
  62. data/lib/puppet/parser/resource.rb +0 -1
  63. data/lib/puppet/parser/type_loader.rb +1 -2
  64. data/lib/puppet/provider/augeas/augeas.rb +17 -29
  65. data/lib/puppet/provider/exec/windows.rb +25 -3
  66. data/lib/puppet/provider/file/posix.rb +1 -1
  67. data/lib/puppet/provider/file/windows.rb +1 -1
  68. data/lib/puppet/provider/group/windows_adsi.rb +1 -1
  69. data/lib/puppet/provider/package/aix.rb +1 -1
  70. data/lib/puppet/provider/package/appdmg.rb +1 -1
  71. data/lib/puppet/provider/package/dpkg.rb +1 -1
  72. data/lib/puppet/provider/package/gem.rb +21 -23
  73. data/lib/puppet/provider/package/macports.rb +1 -1
  74. data/lib/puppet/provider/package/msi.rb +7 -1
  75. data/lib/puppet/provider/package/openbsd.rb +13 -16
  76. data/lib/puppet/provider/package/pacman.rb +1 -1
  77. data/lib/puppet/provider/package/pip.rb +3 -0
  78. data/lib/puppet/provider/package/pkg.rb +1 -1
  79. data/lib/puppet/provider/package/pkgdmg.rb +1 -1
  80. data/lib/puppet/provider/package/pkgutil.rb +1 -1
  81. data/lib/puppet/provider/package/portage.rb +2 -2
  82. data/lib/puppet/provider/package/rpm.rb +1 -1
  83. data/lib/puppet/provider/package/sun.rb +1 -1
  84. data/lib/puppet/provider/package/zypper.rb +35 -3
  85. data/lib/puppet/provider/scheduled_task/win32_taskscheduler.rb +6 -2
  86. data/lib/puppet/provider/selmodule/semodule.rb +2 -2
  87. data/lib/puppet/provider/service/base.rb +1 -1
  88. data/lib/puppet/provider/service/launchd.rb +4 -0
  89. data/lib/puppet/provider/service/src.rb +2 -2
  90. data/lib/puppet/provider/service/upstart.rb +1 -1
  91. data/lib/puppet/provider/service/windows.rb +5 -4
  92. data/lib/puppet/provider/user/aix.rb +3 -3
  93. data/lib/puppet/provider/user/pw.rb +6 -0
  94. data/lib/puppet/provider/user/windows_adsi.rb +1 -1
  95. data/lib/puppet/resource/catalog.rb +6 -6
  96. data/lib/puppet/resource/type.rb +2 -0
  97. data/lib/puppet/ssl/certificate_request.rb +0 -70
  98. data/lib/puppet/transaction.rb +1 -1
  99. data/lib/puppet/transaction/report.rb +3 -2
  100. data/lib/puppet/type.rb +1 -1
  101. data/lib/puppet/type/cron.rb +5 -2
  102. data/lib/puppet/type/exec.rb +8 -0
  103. data/lib/puppet/type/file.rb +27 -18
  104. data/lib/puppet/type/file/checksum.rb +2 -2
  105. data/lib/puppet/type/file/content.rb +14 -9
  106. data/lib/puppet/type/file/ensure.rb +5 -4
  107. data/lib/puppet/type/file/group.rb +10 -2
  108. data/lib/puppet/type/file/mode.rb +46 -18
  109. data/lib/puppet/type/file/owner.rb +10 -2
  110. data/lib/puppet/type/file/source.rb +27 -40
  111. data/lib/puppet/type/file/target.rb +6 -6
  112. data/lib/puppet/type/group.rb +13 -9
  113. data/lib/puppet/type/k5login.rb +1 -1
  114. data/lib/puppet/type/package.rb +24 -8
  115. data/lib/puppet/type/scheduled_task.rb +77 -131
  116. data/lib/puppet/type/service.rb +22 -8
  117. data/lib/puppet/type/user.rb +29 -9
  118. data/lib/puppet/util.rb +24 -33
  119. data/lib/puppet/util/colors.rb +98 -0
  120. data/lib/puppet/util/diff.rb +3 -1
  121. data/lib/puppet/util/log.rb +5 -1
  122. data/lib/puppet/util/log/destinations.rb +37 -44
  123. data/lib/puppet/util/monkey_patches.rb +32 -0
  124. data/lib/puppet/util/pidlock.rb +70 -21
  125. data/lib/puppet/util/rdoc/parser.rb +4 -2
  126. data/lib/puppet/util/selinux.rb +1 -1
  127. data/lib/puppet/util/suidmanager.rb +2 -12
  128. data/lib/puppet/util/windows.rb +2 -0
  129. data/lib/puppet/util/windows/process.rb +33 -0
  130. data/lib/puppet/util/windows/security.rb +6 -4
  131. data/lib/puppet/util/windows/user.rb +44 -0
  132. data/lib/semver.rb +55 -4
  133. data/spec/fixtures/unit/provider/package/openbsd/pkginfo.detail +19 -0
  134. data/spec/fixtures/unit/provider/package/openbsd/pkginfo.list +10 -0
  135. data/spec/fixtures/unit/provider/package/openbsd/pkginfo.query +1 -0
  136. data/spec/fixtures/unit/provider/package/zypper/zypper-list-updates-SLES11sp1.out +369 -0
  137. data/spec/integration/defaults_spec.rb +10 -0
  138. data/spec/integration/indirector/direct_file_server_spec.rb +1 -1
  139. data/spec/integration/module_tool_spec.rb +10 -12
  140. data/spec/integration/parser/compiler_spec.rb +147 -0
  141. data/spec/integration/type/file_spec.rb +1 -1
  142. data/spec/integration/util/windows/user_spec.rb +59 -0
  143. data/spec/lib/puppet/face/basetest.rb +5 -0
  144. data/spec/lib/puppet_spec/modules.rb +26 -0
  145. data/spec/spec_helper.rb +25 -0
  146. data/spec/unit/agent/locker_spec.rb +12 -0
  147. data/spec/unit/agent_backward_compatibility_spec.rb +152 -0
  148. data/spec/unit/agent_spec.rb +28 -8
  149. data/spec/unit/application/agent_spec.rb +4 -36
  150. data/spec/unit/application/device_spec.rb +55 -10
  151. data/spec/unit/application/face_base_spec.rb +32 -10
  152. data/spec/unit/application/filebucket_spec.rb +5 -0
  153. data/spec/unit/application/kick_spec.rb +6 -0
  154. data/spec/unit/application_spec.rb +8 -1
  155. data/spec/unit/configurer/downloader_spec.rb +4 -5
  156. data/spec/unit/face/ca_spec.rb +15 -4
  157. data/spec/unit/file_bucket/dipper_spec.rb +1 -1
  158. data/spec/unit/file_serving/base_spec.rb +60 -42
  159. data/spec/unit/file_serving/configuration/parser_spec.rb +5 -3
  160. data/spec/unit/file_serving/content_spec.rb +26 -27
  161. data/spec/unit/file_serving/metadata_spec.rb +22 -21
  162. data/spec/unit/forge/repository_spec.rb +86 -0
  163. data/spec/unit/forge_spec.rb +114 -0
  164. data/spec/unit/indirector/exec_spec.rb +8 -6
  165. data/spec/unit/indirector/facts/inventory_active_record_spec.rb +0 -1
  166. data/spec/unit/indirector/file_bucket_file/file_spec.rb +1 -1
  167. data/spec/unit/indirector/node/exec_spec.rb +1 -1
  168. data/spec/unit/indirector/resource/active_record_spec.rb +0 -4
  169. data/spec/unit/interface/action_builder_spec.rb +7 -5
  170. data/spec/unit/module_spec.rb +228 -9
  171. data/spec/unit/module_tool/application_spec.rb +3 -3
  172. data/spec/unit/module_tool/uninstaller_spec.rb +107 -27
  173. data/spec/unit/module_tool_spec.rb +0 -33
  174. data/spec/unit/network/authconfig_spec.rb +22 -21
  175. data/spec/unit/network/http/webrick_spec.rb +13 -9
  176. data/spec/unit/node/environment_spec.rb +159 -66
  177. data/spec/unit/parser/collector_spec.rb +16 -8
  178. data/spec/unit/parser/functions/generate_spec.rb +60 -18
  179. data/spec/unit/parser/resource_spec.rb +44 -0
  180. data/spec/unit/provider/augeas/augeas_spec.rb +160 -179
  181. data/spec/unit/provider/confine/feature_spec.rb +3 -5
  182. data/spec/unit/provider/package/dpkg_spec.rb +4 -2
  183. data/spec/unit/provider/package/gem_spec.rb +59 -43
  184. data/spec/unit/provider/package/openbsd_spec.rb +114 -0
  185. data/spec/unit/provider/package/pacman_spec.rb +1 -1
  186. data/spec/unit/provider/package/pip_spec.rb +10 -4
  187. data/spec/unit/provider/package/zypper_spec.rb +56 -14
  188. data/spec/unit/provider/selmodule_spec.rb +3 -3
  189. data/spec/unit/provider/service/launchd_spec.rb +22 -21
  190. data/spec/unit/provider/service/{upstart.rb → upstart_spec.rb} +7 -3
  191. data/spec/unit/provider/user/pw_spec.rb +19 -0
  192. data/spec/unit/resource/catalog_spec.rb +3 -3
  193. data/spec/unit/semver_spec.rb +117 -24
  194. data/spec/unit/transaction/report_spec.rb +11 -1
  195. data/spec/unit/type/cron_spec.rb +200 -213
  196. data/spec/unit/type/exec_spec.rb +7 -0
  197. data/spec/unit/type/file/content_spec.rb +2 -2
  198. data/spec/unit/type/file_spec.rb +12 -9
  199. data/spec/unit/type/package_spec.rb +25 -0
  200. data/spec/unit/type/schedule_spec.rb +31 -31
  201. data/spec/unit/util/diff_spec.rb +30 -0
  202. data/spec/unit/util/execution_stub_spec.rb +1 -2
  203. data/spec/unit/util/log/destinations_spec.rb +51 -0
  204. data/spec/unit/util/log_spec.rb +17 -1
  205. data/spec/unit/util/monkey_patches_spec.rb +119 -0
  206. data/spec/unit/util/rdoc/parser_spec.rb +25 -1
  207. data/spec/unit/util/selinux_spec.rb +2 -2
  208. data/spec/unit/util/suidmanager_spec.rb +6 -51
  209. data/spec/unit/util_spec.rb +82 -24
  210. data/test/lib/puppettest/certificates.rb +16 -0
  211. data/test/lib/puppettest/servertest.rb +4 -0
  212. data/test/util/pidlock.rb +125 -0
  213. metadata +23 -14
  214. data/ext/puppetstoredconfigclean.rb +0 -103
  215. data/lib/puppet/agent/disabler.rb +0 -27
  216. data/lib/puppet/util/anonymous_filelock.rb +0 -36
  217. data/spec/unit/agent/disabler_spec.rb +0 -60
  218. data/spec/unit/module_tool/repository_spec.rb +0 -52
  219. data/spec/unit/util/anonymous_filelock_spec.rb +0 -78
  220. data/spec/unit/util/pidlock_spec.rb +0 -208
data/CHANGELOG CHANGED
@@ -1,3 +1,191 @@
1
+ 2.7.12
2
+ ===
3
+ 36ca299 Update packaging spec files for 2.7.12
4
+ ea116f5 Updating puppet.spec for 2.7.11-1, 2.7.11-2
5
+ 6cb0690 Updating CHANGELOG for 2.7.12rc2
6
+ 21cdab1 (#7592) Remove redundant call to String#to_s
7
+ 5474941 (#11988) Work around Augeas reload bug when changing save modes
8
+ f4d9753 (#11988) Don't overwrite symlinks in augeas provider
9
+ c085327 (#8312) Fix zypper provider so ensure => 'latest' now works
10
+ 28d5d9b (#12844) Fix a unit test relating to lockfiles
11
+ 1d058ce (#12914) Allow puppet to be interrupted while waiting for child
12
+ 8f626d0 (#12933) Better error message when agent is administratively disabled
13
+ 30855bd (#12844) Agent lockfiles: backwards compatibility with 2.7.10/2.7.11
14
+ bcbe2a3 Revert "Merge remote-tracking branch 'masterzen/tickets/2.7.x/3757' into 2.7.x"
15
+ 95810ad Revert "(#12844) Backwards compatibility for 'puppet agent --enable'"
16
+ 2d8d9ce (#12881) Fix cron type default name error on windows
17
+ fcac8f7 (#12844) Backwards compatibility for 'puppet agent --enable'
18
+ 5f0f269 Updating CHANGELOG and lib/puppet.rb for 2.7.12rc1
19
+ 90fb5c8 Maint: Fix bad copy and paste
20
+ aa8a00b (#12725) Fix puppet agent --listen on Windows
21
+ c5d3825 (#11740) Wait on the handle from the PROCESS_INFORMATION structure
22
+ 4f493a3 (#12564) Stub CHILDSTATUS in all test cases, not just failure cases.
23
+ 0a7d05a Fix spec ordering failure on environment
24
+ 8be0882 Typo: "Seperated" -> "separated"
25
+ 86f2876 (#11408): Don't add execute bit to newly created files on Windows
26
+ 673c425 (#11408) Skip default file permissions for sync'ed files on Windows
27
+ 94f5f53 (#11408) Allow POSIX paths for files served to Windows agents
28
+ e323bce Fix a test that tries to create a dir with '*' in the name
29
+ 03bd20b (#12631) Remove puppet module face
30
+ edf13c1 Fix range intersection monkey patch :& alias
31
+ f903c41 (#12256) Fix SemVer's range behavior to work with Ruby 1.9
32
+ bbff8d0 (#12256) module_requirements should include versions
33
+ 7156e9c Update module and environment with functionality for the module tool
34
+ b6d052e (#12424) Update SemVer to use ranges and new comparison operators
35
+ 2e98bd1 (#12645) Face actions should be able to set exit codes
36
+ 50082e3 (#6663) Raise default key lengths in Puppet.
37
+ 6fc9ccd (#12403) Always create a default log destination
38
+ babe7e4 Maint: Remove duplicate code from bad merge conflict
39
+ 27476f6 (#12403) Refactor duplicate log setup
40
+ 4720a94 (#12080) Implement a rich console logging prototype.
41
+ 7f6947a (#12564) Paste execpipe commands together with spaces.
42
+ 9e672a3 Add tests for the OpenBSD package provider.
43
+ 74cc1eb Whitespace cleanup on OpenBSD package provider.
44
+ 3d1c687 Possible fix for #8435 - remote package installation broken
45
+ 25bbecf (#12310) Remove process_name instrumentation listener
46
+ 0eab682 (#5454) add "autosign" argument
47
+ 1e54190 (#10299) Use CheckTokenMembership to see if user has admin rights
48
+ 44af10f (#10299) Refactor Windows administrator detection
49
+ a195717 (#12412) Don't assume the `root` user exists
50
+ 2dd0f55 (#12106) Enhance the uninstall PMT action for UX
51
+ 9ff4d1f Improve guidance for getting `puppet kick` to work.
52
+ 6e39e58 Revert "(#12106) Enhance the uninstall PMT action for UX"
53
+ bad1d31 (#5454) Acceptance test to verify that pluginsync works properly with "features"
54
+ b222cd5 (#12106) Enhance the uninstall PMT action for UX
55
+ b8d77a6 Revert "(#12339) Adding basic search output formatting."
56
+ c01571a Revert "(#12339) Improving documentation around Puppet::Util::Terminal.width."
57
+ 00685a2 Revert "(#12339) Clarifying source attribution."
58
+ 3d518b0 (#12454) device_spec.rb fails with ruby 1.8.7-p357 and mocha v.0.9.12
59
+ 6569af3 (#12244) All forge interactions should be centralized
60
+ 15de31a (#11535) Edit scheduled_task type docs
61
+ 163da19 (#11535) Update Windows exec provider docs
62
+ 44bd741 (#11535) Update package type docs w/ Windows-specific quirks
63
+ 4ec0bc8 (#11535) Update service type w/ Windows-specific quirks
64
+ 7cfcbda (#11535) Update group type's docs w/ Windows-specific quirks
65
+ 27aa560 Maint: Kill bogus allowdupe compatibility warning for FreeBSD
66
+ 675ddbb (#11535) Update user type docs w/ Windows-specific quirks
67
+ 3b0e359 (#12452) Make Puppet::Util::SELinux#read_mounts work on Ruby 1.9
68
+ e32a39c (#12464) Avoid unnecessarily reloading facts when node_name_fact is not set
69
+ f5067ed (#11535) Update file type with Windows-specific quirks
70
+ f16881f (#2927) Document symbolic modes in mode parameter
71
+ ba6b8b5 (#7485) Support zypper 0.6 with zypper package provider
72
+ 0b95f3a (#12412) Mark symbolic file modes test as pending on Windows
73
+ 8ae9247 (#12412) Skip ca acceptance test on Window agents
74
+ 104192d (#12412) Refactor execution of echo in acceptance tests
75
+ dce3d58 (#12412) Use host-specific methods for generating tmp file/dir
76
+ 75d484e (#12412) Warn when running hostname -f on Windows agents
77
+ e1f1f41 (#12412) Skip symlink tests on Windows
78
+ 6201ecd (#12412) Refactor puppet_resource('exec')
79
+ 1d1f687 (#12412) Refactor puppet_resource('host')
80
+ 612f945 (#12412) Refactor puppet_resource('tidy')
81
+ 0544ca7 (#12412) Skip cron on Windows
82
+ 41e91d8 (#12412) Refactor puppet_resource('file')
83
+ fb28ce0 (#12412) Refactor puppet_resource('group') tests
84
+ 85fd690 (#12412) Refactor puppet_resource('user') tests
85
+ 9b4c97d Maint: General improvement of file type parameter doc strings
86
+ 2a9562a Maint: Improve documentation of file type's source parameter
87
+ 8b87452 Maint: Clarify ancient text about directories of symlinks
88
+ 3365c85 (#12349) Order stderr output to fix acceptance test for `module list`
89
+ bfcb775 (#12339) Clarifying source attribution.
90
+ 2575417 (#12405) Remove obsolete storeconfig purging code.
91
+ f73a741 (#7485) Support zypper 0.6 with zypper package provider
92
+ 0e7d2f0 (#12339) Improving documentation around Puppet::Util::Terminal.width.
93
+ 64abee3 (#11535) Call out differing config defaults on Windows
94
+ 99e6708 (#11535) Platform agnosticism: Desc strings should refer to path separator instead of ':'
95
+ de58c0b (#12349) Order module list output
96
+ 77f5a48 Symbolic file mode test fixes when no mode change happens.
97
+ 9e2705b Maint: Update external_nodes setting description for changes from 2.6.5
98
+ d14ee6a Maint: Configuration settings shouldn't be referred to as "parameters"
99
+ 5225d39 (#12386) Disable puppet kick on windows
100
+ 984997f (#12372) Remove duplicate methods from certificate_request
101
+ a7bd569 (#12339) Adding basic search output formatting.
102
+ 0578737 (#12356) Mention the expected exit codes in the hasstatus parameter doc
103
+ 8fd54b1 Restore compatible `insync?` behaviour for matching arrays.
104
+ 5520726 Fix bugs around the finer-grained insync? protocol.
105
+ 7c9f861 Finer-grained protocol for property `insync?`.
106
+ c0e28b0 Add unit tests for the `insysc?` method of a property.
107
+ 7f84c49 Property Spec cleanup: eliminate stubbing of resource and provider.
108
+ d66bb00 Property Spec cleanup: last let method extraction.
109
+ 2775dd7 Property Spec cleanup: extract more let methods.
110
+ cd536ab Property Spec cleanup: remove unused instance variable.
111
+ a5d7bd6 Property Spec cleanup: remove some pointless extra stubs.
112
+ f17dbf7 Property Spec cleanup: extract property instance to a let method.
113
+ 4157102 Property Spec cleanup: extract mock resource to let method.
114
+ 8f9214e Property Spec cleanup: extract mock provider to let method.
115
+ 47510b0 Property Spec cleanup: extract new subclass to let method.
116
+ 03e3756 (#2927) Acceptance test for symbolic file modes.
117
+ 51fa666 (#12363) Use Tempfile to generate temp files
118
+ 7da2c58 Alternate, and portable, stubbing of execution for upstart spec.
119
+ a6c196f (#12349) Add module dependency errors to module list output
120
+ 17d3e31 (#12268) Fix upstart test to work with String#each_line
121
+ 2303a81 Revert "Merge pull request #396 from jeffmccune/feature/2.7.x/12088_windows_build_tasks"
122
+ a116726 (#12329) Allow faces when_rendering blocks to take options
123
+ a8a0f5f (#12268) String#each is not available in Ruby 1.9
124
+ 20e03a9 (#11423) Better error when imported resources overlap.
125
+ f8d4be6 (#12296) Acceptance test for cycle detection in graphs.
126
+ d89423f Use natural ordering of Puppet::Provider.
127
+ 83ca48d Make `Puppet::Provider` ordered.
128
+ 3f88882 (#12296) Now that `Puppet::Type` is ordered, use that.
129
+ 316de58 (#12296) Make `Puppet::Type` ordered.
130
+ 37a3e82 (#12296) Test cycle detection on real Puppet::Type instances.
131
+ 289dddc (#12188) Handle Win32 as well as Unix in pidfile tests.
132
+ 25a0a69 (#10064) Add the Puppet environment to reports
133
+ 3310470 (#12188) Better handling of PID file cleanup warnings.
134
+ 744dfa4 Revert "Finer-grained protocol for property `insync?`."
135
+ 4911faf (#12195) Fix future ruby warning messaves in process_name
136
+ f11201e (#12169) Correct redhat spec changelog chronology issue
137
+ 5c97173 (#8855) Follow HTTP redirects is {app,pkg}dmg providers.
138
+ e81de1e (#6771) Check for ActiveRecord::Base instead of Puppet.features.rails?
139
+ 3892875 (#6771) Stop other AR connection handling.
140
+ 80ecd88 (#6771) Stop stubbing some feature tests.
141
+ ed24b80 (#6771) Disconnect any ActiveRecord connection after every test.
142
+ dd0e405 Document why we disable GC during the test runs.
143
+ afe93b7 Allow storeconfigs collector to accept parser resources
144
+ b0c8d2c (#12114) Qualify usages of `::File` to avoid conflict with file face
145
+ 8ec0b6c Revert "(#12101) Add shared context for specs to imitate windows or posix"
146
+ 33420a6 Revert "(#12101) Make Puppet::Util::absolute_path? usable in autoloader"
147
+ 85e8cea (#12101) Make Puppet::Util::absolute_path? usable in autoloader
148
+ edc544d (#12101) Add shared context for specs to imitate windows or posix
149
+ 60c6150 (#11804) Enhance PMT search action output
150
+ e415daa (#2279) Handle providers with multiple installed versions - ruby gems
151
+ e56dd9a (#2279) Convert package specs to not use mocks
152
+ d28768a (#10417) Disable `diff` on Windows by default
153
+ 1c9e68c (#12088) Add windows:build task to build MSI package
154
+ 1cb8462 (#12088) Add rake download and unpack handlers
155
+ d937ae3 (#6541) Use the same filebucket for backup and restore
156
+ e4f6bc9 Revert "(#11600) Remove module face"
157
+ f56a09a (#11955) Refactor to use IO.binread
158
+ d3cc7d6 (#12081) ensure user deletes respect managehome
159
+ 8202729 (#11955) Monkey patch IO.binread and IO.binwrite
160
+ 3abfa67 (#10296) Switch schedule tests from should to must
161
+ 72a2fe0 (#5445) Create /var/lib/puppet in OS X Package
162
+ 0f2bb27 (#6710) Fix Ruby 1.9.2 failures due to Array#to_s changes.
163
+ 0f19cbe (#11990) Puppetdoc rdoc should also parse README.rdoc
164
+ a6255d2 (6404) Failing when no file is specified to backup
165
+ 9345497 (2056) Launchd now supports overriding stop/start
166
+ 11dc062 Removing resource stubbing from launchd tests
167
+ 17ac2c1 (#11826) Fix error when no certs were printed to console from ca face
168
+ ad83422 (#5353) Change agent default to graph=true
169
+ 5f5e103 (#11961) Apply and catch a timeout when contacting PyPI over XMLRPC
170
+ f2c407a (#12051) Send exec onlyif/unless command output to debug log
171
+ 9e6a01f (#12070) Fix crontab value munging
172
+ b1eda36 maint: Add expected error messages to cron spec
173
+ c86c97d maint: Use a real provider class in cron spec
174
+ 01e7200 maint: Remove unused vars in cron spec
175
+ 38f386f maint: Fix indention in cron spec
176
+ d60a88e (#11930) Add validation of Windows paths in the generate function
177
+ aa48965 (#11930) Use Puppet::Util.absolute_path? to validate paths
178
+ 1ffbeb1 (#11930) Use FileUtils.mkdir_p to recursively create directories
179
+ eee3511 (Maint) Remove dead code
180
+ 64446ac (maint) Fix test 3360 to use per host cfg data
181
+ 5d1b7fe (#11057) Add spec, should notify why a run is skipped
182
+ 9e7ce16 (#11057) Note why a scheduled run was skipped in Puppet.
183
+ b26e03a Fix stage inheritance between multiple included classes
184
+ 4f295f3 (#11451) Fix improper use of "defined" in the duplicate declaration error
185
+ 132dca4 (#6710) Support relationships for resources defined by other constructs
186
+ 982564e (#6710) Support relationship arrows between resource refs with title arrays
187
+ 0e6d0a4 maint: Unify 'type' and 'classref' non-terminals in the grammar
188
+
1
189
  2.7.11
2
190
  ===
3
191
  01b57e9 (#12188) Better handling of PID file cleanup warnings.
@@ -51,6 +51,7 @@ function find_puppet_root() {
51
51
  function install_puppet() {
52
52
  echo "Installing Puppet to ${pkgroot}"
53
53
  "${installer}" --destdir="${pkgroot}" --bindir="${BINDIR}" --sbindir="${SBINDIR}" --sitelibdir="${SITELIBDIR}"
54
+ mkdir -p ${pkgroot}/var/lib/puppet
54
55
  chown -R root:admin "${pkgroot}"
55
56
  }
56
57
 
@@ -5,7 +5,7 @@
5
5
  %global confdir conf/redhat
6
6
 
7
7
  Name: puppet
8
- Version: 2.7.10
8
+ Version: 2.7.12
9
9
  #Release: 0.1rc1%{?dist}
10
10
  Release: 1%{?dist}
11
11
  Summary: A network tool for managing many disparate systems
@@ -25,7 +25,7 @@ BuildRequires: ruby >= 1.8.1
25
25
 
26
26
  %if 0%{?fedora} || 0%{?rhel} >= 5
27
27
  BuildArch: noarch
28
- Requires: ruby(abi) = 1.8
28
+ Requires: ruby(abi) >= 1.8
29
29
  Requires: ruby-shadow
30
30
  %endif
31
31
 
@@ -82,7 +82,7 @@ done
82
82
  for f in external/nagios.rb network/http_server/mongrel.rb relationship.rb; do
83
83
  sed -i -e '1d' lib/puppet/$f
84
84
  done
85
- chmod +x ext/puppetstoredconfigclean.rb
85
+ #chmod +x ext/puppetstoredconfigclean.rb
86
86
 
87
87
  find examples/ -type f -empty | xargs rm
88
88
  find examples/ -type f | xargs chmod a-x
@@ -285,6 +285,15 @@ fi
285
285
  rm -rf %{buildroot}
286
286
 
287
287
  %changelog
288
+ * Mon Mar 12 2012 Michael Stahnke <stahnma@puppetlabs.com> - 2.7.12-1
289
+ - Update for 2.7.12
290
+
291
+ * Fri Feb 24 2012 Matthaus Litteken <matthaus@puppetlabs.com> - 2.7.11-2
292
+ - Update 2.7.11 from proper tag, including #12572
293
+
294
+ * Wed Feb 22 2012 Michael Stahnke <stahnma@puppetlabs.com> - 2.7.11-1
295
+ - Update for 2.7.11
296
+
288
297
  * Wed Jan 25 2012 Michael Stahnke <stahnma@puppetlabs.com> - 2.7.10-1
289
298
  - Update for 2.7.10
290
299
 
@@ -328,12 +337,6 @@ rm -rf %{buildroot}
328
337
  * Wed Jul 06 2011 Michael Stahnke <stahnma@puppetlabs.com> - 2.7.2-0.1.rc1
329
338
  - Update to 2.7.2rc1
330
339
 
331
- * Mon Dec 12 2011 Matthaus Litteken <matthaus@puppetlabs.com> - 2.6.13-1
332
- - Release of 2.6.13
333
-
334
- * Fri Oct 21 2011 Michael Stahnke <stahnma@puppetlabs.com> - 2.6.12-1
335
- - CVE-2011-3872 fixes
336
-
337
340
  * Wed Jun 15 2011 Todd Zullinger <tmz@pobox.com> - 2.6.9-0.1.rc1
338
341
  - Update rc versioning to ensure 2.6.9 final is newer to rpm
339
342
  - sync changes with Fedora/EPEL
@@ -4,7 +4,7 @@
4
4
 
5
5
  Summary: A network tool for managing many disparate systems
6
6
  Name: puppet
7
- Version: 2.7.10
7
+ Version: 2.7.12
8
8
  Release: 1%{?dist}
9
9
  License: Apache 2.0
10
10
  Group: Productivity/Networking/System
@@ -136,6 +136,9 @@ find %{buildroot}%{ruby_sitelibdir} -type f -perm +ugo+x -exec chmod a-x '{}' \;
136
136
  %{__rm} -rf %{buildroot}
137
137
 
138
138
  %changelog
139
+ * Mon Mar 12 2012 Michael Stahnke <stahnma@puppetlabs.com> - 2.7.12-1
140
+ - Update for 2.7.12
141
+
139
142
  * Wed Jan 25 2012 Michael Stahnke <stahnma@puppetlabs.com> - 2.7.10-1
140
143
  - Update for 2.7.10
141
144
 
data/install.rb CHANGED
@@ -35,6 +35,7 @@
35
35
  require 'rbconfig'
36
36
  require 'find'
37
37
  require 'fileutils'
38
+ require 'tempfile'
38
39
  begin
39
40
  require 'ftools' # apparently on some system ftools doesn't get loaded
40
41
  $haveftools = true
@@ -226,8 +227,6 @@ def prepare_installation
226
227
  opts.parse!
227
228
  end
228
229
 
229
- tmpdirs = [ENV['TMP'], ENV['TEMP'], "/tmp", "/var/tmp", "."]
230
-
231
230
  version = [Config::CONFIG["MAJOR"], Config::CONFIG["MINOR"]].join(".")
232
231
  libdir = File.join(Config::CONFIG["libdir"], "ruby", version)
233
232
 
@@ -310,9 +309,6 @@ def prepare_installation
310
309
  FileUtils.makedirs(mandir)
311
310
  FileUtils.makedirs(sitelibdir)
312
311
 
313
- tmpdirs << bindir
314
-
315
- InstallOptions.tmp_dirs = tmpdirs.compact
316
312
  InstallOptions.site_dir = sitelibdir
317
313
  InstallOptions.config_dir = configdir
318
314
  InstallOptions.bin_dir = bindir
@@ -385,20 +381,11 @@ end
385
381
  # (e.g., bin/rdoc becomes rdoc); the shebang line handles running it. Under
386
382
  # windows, we add an '.rb' extension and let file associations do their stuff.
387
383
  def install_binfile(from, op_file, target)
388
- tmp_dir = nil
389
- InstallOptions.tmp_dirs.each do |t|
390
- if File.directory?(t) and File.writable?(t)
391
- tmp_dir = t
392
- break
393
- end
394
- end
395
-
396
- fail "Cannot find a temporary directory" unless tmp_dir
397
- tmp_file = File.join(tmp_dir, '_tmp')
384
+ tmp_file = Tempfile.new('puppet-binfile')
398
385
  ruby = File.join(Config::CONFIG['bindir'], Config::CONFIG['ruby_install_name'])
399
386
 
400
387
  File.open(from) do |ip|
401
- File.open(tmp_file, "w") do |op|
388
+ File.open(tmp_file.path, "w") do |op|
402
389
  ruby = File.join(Config::CONFIG['bindir'], Config::CONFIG['ruby_install_name'])
403
390
  op.puts "#!#{ruby}"
404
391
  contents = ip.readlines
@@ -421,7 +408,7 @@ def install_binfile(from, op_file, target)
421
408
  end
422
409
 
423
410
  if not installed_wrapper
424
- tmp_file2 = File.join(tmp_dir, '_tmp_wrapper')
411
+ tmp_file2 = Tempfile.new('puppet-wrapper')
425
412
  cwv = <<-EOS
426
413
  @echo off
427
414
  setlocal
@@ -429,15 +416,15 @@ set RUBY_BIN=%~dp0
429
416
  set RUBY_BIN=%RUBY_BIN:\\=/%
430
417
  "%RUBY_BIN%ruby.exe" -x "%RUBY_BIN%puppet" %*
431
418
  EOS
432
- File.open(tmp_file2, "w") { |cw| cw.puts cwv }
433
- FileUtils.install(tmp_file2, File.join(target, "#{op_file}.bat"), :mode => 0755, :verbose => true)
419
+ File.open(tmp_file2.path, "w") { |cw| cw.puts cwv }
420
+ FileUtils.install(tmp_file2.path, File.join(target, "#{op_file}.bat"), :mode => 0755, :verbose => true)
434
421
 
435
- File.unlink(tmp_file2)
422
+ tmp_file2.unlink
436
423
  installed_wrapper = true
437
424
  end
438
425
  end
439
- FileUtils.install(tmp_file, File.join(target, op_file), :mode => 0755, :verbose => true)
440
- File.unlink(tmp_file)
426
+ FileUtils.install(tmp_file.path, File.join(target, op_file), :mode => 0755, :verbose => true)
427
+ tmp_file.unlink
441
428
  end
442
429
 
443
430
  check_prereqs
@@ -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.11'
27
+ PUPPETVERSION = '2.7.12'
28
28
 
29
29
  def Puppet.version
30
30
  PUPPETVERSION
@@ -110,36 +110,6 @@ module Puppet
110
110
  Puppet.settings.parse
111
111
  end
112
112
 
113
- # XXX this should all be done using puppet objects, not using
114
- # normal mkdir
115
- def self.recmkdir(dir,mode = 0755)
116
- if FileTest.exist?(dir)
117
- return false
118
- else
119
- tmp = dir.sub(/^\//,'')
120
- path = [File::SEPARATOR]
121
- tmp.split(File::SEPARATOR).each { |dir|
122
- path.push dir
123
- if ! FileTest.exist?(File.join(path))
124
- begin
125
- Dir.mkdir(File.join(path), mode)
126
- rescue Errno::EACCES => detail
127
- Puppet.err detail.to_s
128
- return false
129
- rescue => detail
130
- Puppet.err "Could not create #{path}: #{detail}"
131
- return false
132
- end
133
- elsif FileTest.directory?(File.join(path))
134
- next
135
- else FileTest.exist?(File.join(path))
136
- raise Puppet::Error, "Cannot create #{dir}: basedir #{File.join(path)} is a file"
137
- end
138
- }
139
- return true
140
- end
141
- end
142
-
143
113
  # Create a new type. Just proxy to the Type class. The mirroring query
144
114
  # code was deprecated in 2008, but this is still in heavy use. I suppose
145
115
  # this can count as a soft deprecation for the next dev. --daniel 2011-04-12
@@ -8,9 +8,6 @@ class Puppet::Agent
8
8
  require 'puppet/agent/locker'
9
9
  include Puppet::Agent::Locker
10
10
 
11
- require 'puppet/agent/disabler'
12
- include Puppet::Agent::Disabler
13
-
14
11
  attr_reader :client_class, :client, :splayed
15
12
 
16
13
  # Just so we can specify that we are "the" instance.
@@ -35,9 +32,10 @@ class Puppet::Agent
35
32
  return
36
33
  end
37
34
  if disabled?
38
- Puppet.notice "Skipping run of #{client_class}; administratively disabled: #{disable_message}"
35
+ Puppet.notice "Skipping run of #{client_class}; administratively disabled; use 'puppet #{client_class} --enable' to re-enable."
39
36
  return
40
37
  end
38
+
41
39
  result = nil
42
40
  block_run = Puppet::Application.controlled_run do
43
41
  splay
@@ -53,7 +51,7 @@ class Puppet::Agent
53
51
  end
54
52
  true
55
53
  end
56
- Puppet.notice "Shutdown/restart in progress; skipping run" unless block_run
54
+ Puppet.notice "Shutdown/restart in progress (#{Puppet::Application.run_status.inspect}); skipping run" unless block_run
57
55
  result
58
56
  end
59
57
 
@@ -3,6 +3,16 @@ require 'puppet/util/pidlock'
3
3
  # Break out the code related to locking the agent. This module is just
4
4
  # included into the agent, but having it here makes it easier to test.
5
5
  module Puppet::Agent::Locker
6
+ # Let the daemon run again, freely in the filesystem.
7
+ def enable
8
+ lockfile.unlock(:anonymous => true)
9
+ end
10
+
11
+ # Stop the daemon from making any catalog runs.
12
+ def disable
13
+ lockfile.lock(:anonymous => true)
14
+ end
15
+
6
16
  # Yield if we get a lock, else do nothing. Return
7
17
  # true/false depending on whether we get the lock.
8
18
  def lock
@@ -25,6 +35,10 @@ module Puppet::Agent::Locker
25
35
  end
26
36
 
27
37
  def running?
28
- lockfile.locked?
38
+ lockfile.locked? and !lockfile.anonymous?
39
+ end
40
+
41
+ def disabled?
42
+ lockfile.locked? and lockfile.anonymous?
29
43
  end
30
44
  end