puppet 5.5.17 → 5.5.22

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 (340) hide show
  1. checksums.yaml +4 -4
  2. data/CODEOWNERS +1 -1
  3. data/Gemfile +4 -5
  4. data/Gemfile.lock +59 -55
  5. data/ext/build_defaults.yaml +1 -0
  6. data/ext/cert_inspector +3 -3
  7. data/ext/puppet-test +2 -2
  8. data/ext/regexp_nodes/regexp_nodes.rb +4 -4
  9. data/ext/windows/service/daemon.rb +54 -8
  10. data/install.rb +6 -6
  11. data/lib/puppet.rb +5 -2
  12. data/lib/puppet/agent.rb +5 -13
  13. data/lib/puppet/application.rb +1 -1
  14. data/lib/puppet/application/agent.rb +3 -1
  15. data/lib/puppet/application/apply.rb +2 -2
  16. data/lib/puppet/application/describe.rb +3 -9
  17. data/lib/puppet/application/doc.rb +1 -1
  18. data/lib/puppet/application/filebucket.rb +13 -0
  19. data/lib/puppet/application/lookup.rb +1 -1
  20. data/lib/puppet/application/script.rb +2 -2
  21. data/lib/puppet/configurer.rb +106 -31
  22. data/lib/puppet/configurer/downloader.rb +33 -16
  23. data/lib/puppet/daemon.rb +1 -1
  24. data/lib/puppet/defaults.rb +86 -40
  25. data/lib/puppet/error.rb +9 -1
  26. data/lib/puppet/external/nagios/base.rb +1 -1
  27. data/lib/puppet/face/ca.rb +1 -1
  28. data/lib/puppet/face/module/list.rb +5 -5
  29. data/lib/puppet/face/module/search.rb +1 -1
  30. data/lib/puppet/face/module/uninstall.rb +1 -1
  31. data/lib/puppet/face/module/upgrade.rb +1 -1
  32. data/lib/puppet/file_serving/http_metadata.rb +1 -1
  33. data/lib/puppet/file_serving/mount/locales.rb +1 -2
  34. data/lib/puppet/file_serving/mount/pluginfacts.rb +1 -2
  35. data/lib/puppet/file_serving/mount/plugins.rb +1 -2
  36. data/lib/puppet/file_system.rb +0 -8
  37. data/lib/puppet/file_system/memory_file.rb +1 -1
  38. data/lib/puppet/file_system/posix.rb +3 -2
  39. data/lib/puppet/file_system/uniquefile.rb +4 -0
  40. data/lib/puppet/forge.rb +3 -3
  41. data/lib/puppet/functions/epp.rb +4 -4
  42. data/lib/puppet/functions/inline_epp.rb +5 -5
  43. data/lib/puppet/functions/new.rb +8 -3
  44. data/lib/puppet/functions/reduce.rb +2 -4
  45. data/lib/puppet/functions/reverse_each.rb +1 -1
  46. data/lib/puppet/functions/step.rb +1 -1
  47. data/lib/puppet/gettext/module_translations.rb +1 -1
  48. data/lib/puppet/graph/rb_tree_map.rb +2 -2
  49. data/lib/puppet/graph/simple_graph.rb +6 -5
  50. data/lib/puppet/indirector/catalog/compiler.rb +8 -0
  51. data/lib/puppet/indirector/file_bucket_file/file.rb +1 -1
  52. data/lib/puppet/indirector/hiera.rb +6 -0
  53. data/lib/puppet/indirector/resource/ral.rb +1 -3
  54. data/lib/puppet/indirector/resource/validator.rb +1 -1
  55. data/lib/puppet/interface.rb +2 -1
  56. data/lib/puppet/loaders.rb +0 -1
  57. data/lib/puppet/metatype/manager.rb +1 -1
  58. data/lib/puppet/module.rb +1 -1
  59. data/lib/puppet/module_tool/applications/builder.rb +1 -1
  60. data/lib/puppet/module_tool/applications/installer.rb +1 -1
  61. data/lib/puppet/module_tool/applications/uninstaller.rb +3 -3
  62. data/lib/puppet/module_tool/metadata.rb +1 -1
  63. data/lib/puppet/module_tool/shared_behaviors.rb +4 -4
  64. data/lib/puppet/module_tool/tar/mini.rb +1 -1
  65. data/lib/puppet/network/http/api/indirected_routes.rb +13 -12
  66. data/lib/puppet/network/http/api/master/v3/environment.rb +3 -0
  67. data/lib/puppet/network/http/connection.rb +14 -12
  68. data/lib/puppet/network/http/pool.rb +7 -1
  69. data/lib/puppet/network/http/rack/rest.rb +2 -2
  70. data/lib/puppet/network/http/site.rb +1 -1
  71. data/lib/puppet/network/resolver.rb +2 -2
  72. data/lib/puppet/node/environment.rb +11 -3
  73. data/lib/puppet/parser/ast.rb +1 -1
  74. data/lib/puppet/parser/ast/resourceparam.rb +1 -1
  75. data/lib/puppet/parser/compiler/catalog_validator/env_relationship_validator.rb +2 -0
  76. data/lib/puppet/parser/compiler/catalog_validator/site_validator.rb +2 -0
  77. data/lib/puppet/parser/environment_compiler.rb +3 -0
  78. data/lib/puppet/parser/functions.rb +14 -10
  79. data/lib/puppet/parser/functions/epp.rb +3 -3
  80. data/lib/puppet/parser/functions/inline_epp.rb +5 -5
  81. data/lib/puppet/parser/resource.rb +3 -2
  82. data/lib/puppet/parser/resource/param.rb +6 -0
  83. data/lib/puppet/pops/adaptable.rb +7 -13
  84. data/lib/puppet/pops/adapters.rb +8 -4
  85. data/lib/puppet/pops/evaluator/access_operator.rb +2 -2
  86. data/lib/puppet/pops/evaluator/collectors/abstract_collector.rb +1 -3
  87. data/lib/puppet/pops/evaluator/collectors/catalog_collector.rb +1 -1
  88. data/lib/puppet/pops/evaluator/collectors/exported_collector.rb +1 -1
  89. data/lib/puppet/pops/evaluator/evaluator_impl.rb +1 -1
  90. data/lib/puppet/pops/evaluator/external_syntax_support.rb +3 -2
  91. data/lib/puppet/pops/evaluator/runtime3_support.rb +4 -4
  92. data/lib/puppet/pops/issues.rb +5 -0
  93. data/lib/puppet/pops/loaders.rb +1 -1
  94. data/lib/puppet/pops/lookup/hiera_config.rb +1 -0
  95. data/lib/puppet/pops/lookup/sub_lookup.rb +1 -1
  96. data/lib/puppet/pops/merge_strategy.rb +22 -18
  97. data/lib/puppet/pops/parser/heredoc_support.rb +1 -1
  98. data/lib/puppet/pops/parser/interpolation_support.rb +4 -4
  99. data/lib/puppet/pops/parser/locator.rb +1 -1
  100. data/lib/puppet/pops/parser/pn_parser.rb +17 -16
  101. data/lib/puppet/pops/puppet_stack.rb +51 -48
  102. data/lib/puppet/pops/resource/resource_type_impl.rb +2 -0
  103. data/lib/puppet/pops/types/iterable.rb +34 -8
  104. data/lib/puppet/pops/types/p_meta_type.rb +1 -1
  105. data/lib/puppet/pops/types/p_sensitive_type.rb +1 -1
  106. data/lib/puppet/pops/types/p_type_set_type.rb +4 -0
  107. data/lib/puppet/pops/types/string_converter.rb +10 -10
  108. data/lib/puppet/pops/types/type_calculator.rb +24 -0
  109. data/lib/puppet/pops/types/types.rb +3 -3
  110. data/lib/puppet/pops/validation/checker4_0.rb +29 -15
  111. data/lib/puppet/pops/validation/validator_factory_4_0.rb +1 -0
  112. data/lib/puppet/property.rb +1 -1
  113. data/lib/puppet/property/ensure.rb +1 -1
  114. data/lib/puppet/provider/augeas/augeas.rb +1 -1
  115. data/lib/puppet/provider/cron/crontab.rb +1 -1
  116. data/lib/puppet/provider/exec.rb +6 -2
  117. data/lib/puppet/provider/group/groupadd.rb +19 -19
  118. data/lib/puppet/provider/group/windows_adsi.rb +3 -3
  119. data/lib/puppet/provider/mailalias/aliases.rb +1 -1
  120. data/lib/puppet/provider/mount.rb +1 -1
  121. data/lib/puppet/provider/mount/parsed.rb +8 -8
  122. data/lib/puppet/provider/nameservice/directoryservice.rb +1 -1
  123. data/lib/puppet/provider/nameservice/pw.rb +2 -2
  124. data/lib/puppet/provider/package/aix.rb +17 -2
  125. data/lib/puppet/provider/package/apt.rb +14 -3
  126. data/lib/puppet/provider/package/dnfmodule.rb +141 -0
  127. data/lib/puppet/provider/package/dpkg.rb +16 -18
  128. data/lib/puppet/provider/package/fink.rb +20 -3
  129. data/lib/puppet/provider/package/gem.rb +4 -2
  130. data/lib/puppet/provider/package/openbsd.rb +14 -2
  131. data/lib/puppet/provider/package/pip.rb +37 -10
  132. data/lib/puppet/provider/package/pkg.rb +18 -5
  133. data/lib/puppet/provider/package/pkgdmg.rb +1 -1
  134. data/lib/puppet/provider/package/pkgng.rb +16 -4
  135. data/lib/puppet/provider/package/portage.rb +4 -4
  136. data/lib/puppet/provider/package/puppet_gem.rb +5 -0
  137. data/lib/puppet/provider/package/rpm.rb +6 -6
  138. data/lib/puppet/provider/package/windows/package.rb +1 -1
  139. data/lib/puppet/provider/package/yum.rb +28 -20
  140. data/lib/puppet/provider/package/zypper.rb +1 -0
  141. data/lib/puppet/provider/package_targetable.rb +5 -4
  142. data/lib/puppet/provider/parsedfile.rb +1 -1
  143. data/lib/puppet/provider/scheduled_task/win32_taskscheduler.rb +3 -3
  144. data/lib/puppet/provider/selmodule/semodule.rb +43 -26
  145. data/lib/puppet/provider/service/daemontools.rb +9 -9
  146. data/lib/puppet/provider/service/openbsd.rb +1 -1
  147. data/lib/puppet/provider/service/rcng.rb +2 -2
  148. data/lib/puppet/provider/service/runit.rb +2 -8
  149. data/lib/puppet/provider/service/systemd.rb +31 -13
  150. data/lib/puppet/provider/user/directoryservice.rb +31 -6
  151. data/lib/puppet/provider/user/hpux.rb +1 -1
  152. data/lib/puppet/provider/user/user_role_add.rb +1 -1
  153. data/lib/puppet/provider/user/useradd.rb +39 -20
  154. data/lib/puppet/provider/user/windows_adsi.rb +4 -5
  155. data/lib/puppet/provider/yumrepo/inifile.rb +2 -2
  156. data/lib/puppet/reference/indirection.rb +2 -2
  157. data/lib/puppet/reference/metaparameter.rb +1 -3
  158. data/lib/puppet/reference/providers.rb +1 -1
  159. data/lib/puppet/reference/type.rb +3 -9
  160. data/lib/puppet/reports.rb +1 -1
  161. data/lib/puppet/resource.rb +1 -1
  162. data/lib/puppet/resource/catalog.rb +1 -1
  163. data/lib/puppet/resource/type.rb +10 -1
  164. data/lib/puppet/settings.rb +3 -3
  165. data/lib/puppet/settings/environment_conf.rb +1 -0
  166. data/lib/puppet/ssl/certificate.rb +2 -1
  167. data/lib/puppet/ssl/certificate_authority.rb +6 -5
  168. data/lib/puppet/ssl/certificate_authority/interface.rb +1 -1
  169. data/lib/puppet/ssl/certificate_factory.rb +2 -2
  170. data/lib/puppet/ssl/host.rb +3 -3
  171. data/lib/puppet/ssl/oids.rb +1 -1
  172. data/lib/puppet/test/test_helper.rb +20 -12
  173. data/lib/puppet/transaction/report.rb +1 -1
  174. data/lib/puppet/transaction/resource_harness.rb +1 -1
  175. data/lib/puppet/type.rb +8 -4
  176. data/lib/puppet/type/cron.rb +1 -1
  177. data/lib/puppet/type/exec.rb +7 -3
  178. data/lib/puppet/type/file.rb +14 -2
  179. data/lib/puppet/type/file/data_sync.rb +5 -1
  180. data/lib/puppet/type/group.rb +4 -2
  181. data/lib/puppet/type/interface.rb +1 -1
  182. data/lib/puppet/type/notify.rb +3 -2
  183. data/lib/puppet/type/package.rb +97 -8
  184. data/lib/puppet/type/schedule.rb +1 -1
  185. data/lib/puppet/type/selboolean.rb +17 -3
  186. data/lib/puppet/type/service.rb +2 -8
  187. data/lib/puppet/type/user.rb +5 -9
  188. data/lib/puppet/util.rb +35 -12
  189. data/lib/puppet/util/autoload.rb +9 -7
  190. data/lib/puppet/util/command_line/trollop.rb +1 -1
  191. data/lib/puppet/util/http_proxy.rb +8 -14
  192. data/lib/puppet/util/instance_loader.rb +1 -1
  193. data/lib/puppet/util/log.rb +1 -1
  194. data/lib/puppet/util/log/destinations.rb +3 -12
  195. data/lib/puppet/util/logging.rb +30 -18
  196. data/lib/puppet/util/metric.rb +2 -2
  197. data/lib/puppet/util/monkey_patches.rb +1 -1
  198. data/lib/puppet/util/nagios_maker.rb +2 -2
  199. data/lib/puppet/util/network_device/cisco/device.rb +1 -1
  200. data/lib/puppet/util/network_device/cisco/interface.rb +2 -2
  201. data/lib/puppet/util/network_device/transport/ssh.rb +1 -1
  202. data/lib/puppet/util/pidlock.rb +12 -6
  203. data/lib/puppet/util/plist.rb +6 -0
  204. data/lib/puppet/util/provider_features.rb +2 -4
  205. data/lib/puppet/util/rdoc.rb +1 -1
  206. data/lib/puppet/util/reference.rb +1 -1
  207. data/lib/puppet/util/resource_template.rb +1 -1
  208. data/lib/puppet/util/selinux.rb +3 -1
  209. data/lib/puppet/util/windows/adsi.rb +60 -30
  210. data/lib/puppet/util/windows/api_types.rb +45 -32
  211. data/lib/puppet/util/windows/eventlog.rb +1 -6
  212. data/lib/puppet/util/windows/principal.rb +8 -6
  213. data/lib/puppet/util/windows/process.rb +16 -15
  214. data/lib/puppet/util/windows/registry.rb +17 -15
  215. data/lib/puppet/util/windows/security.rb +1 -0
  216. data/lib/puppet/util/windows/sid.rb +3 -3
  217. data/lib/puppet/vendor.rb +1 -1
  218. data/lib/puppet/version.rb +1 -1
  219. data/lib/puppet_pal.rb +2 -2
  220. data/locales/puppet.pot +362 -318
  221. data/man/man5/puppet.conf.5 +39 -9
  222. data/man/man8/puppet-agent.8 +2 -2
  223. data/man/man8/puppet-apply.8 +1 -1
  224. data/man/man8/puppet-ca.8 +1 -1
  225. data/man/man8/puppet-catalog.8 +1 -1
  226. data/man/man8/puppet-cert.8 +1 -1
  227. data/man/man8/puppet-certificate.8 +1 -1
  228. data/man/man8/puppet-certificate_request.8 +1 -1
  229. data/man/man8/puppet-certificate_revocation_list.8 +1 -1
  230. data/man/man8/puppet-config.8 +1 -1
  231. data/man/man8/puppet-describe.8 +1 -1
  232. data/man/man8/puppet-device.8 +1 -1
  233. data/man/man8/puppet-doc.8 +1 -1
  234. data/man/man8/puppet-epp.8 +1 -1
  235. data/man/man8/puppet-facts.8 +1 -1
  236. data/man/man8/puppet-filebucket.8 +16 -1
  237. data/man/man8/puppet-generate.8 +1 -1
  238. data/man/man8/puppet-help.8 +1 -1
  239. data/man/man8/puppet-key.8 +1 -1
  240. data/man/man8/puppet-lookup.8 +1 -1
  241. data/man/man8/puppet-man.8 +1 -1
  242. data/man/man8/puppet-master.8 +1 -1
  243. data/man/man8/puppet-module.8 +1 -1
  244. data/man/man8/puppet-node.8 +1 -1
  245. data/man/man8/puppet-parser.8 +1 -1
  246. data/man/man8/puppet-plugin.8 +1 -1
  247. data/man/man8/puppet-report.8 +1 -1
  248. data/man/man8/puppet-resource.8 +1 -1
  249. data/man/man8/puppet-script.8 +1 -1
  250. data/man/man8/puppet-status.8 +1 -1
  251. data/man/man8/puppet.8 +2 -2
  252. data/spec/fixtures/integration/provider/mailalias/aliases/test1 +1 -0
  253. data/spec/fixtures/unit/provider/package/dnfmodule/dnf-module-list.txt +19 -0
  254. data/spec/fixtures/unit/provider/package/pkgng/pkg.version +2 -0
  255. data/spec/fixtures/unit/provider/package/yum/yum-check-update-subscription-manager.txt +9 -0
  256. data/spec/fixtures/unit/provider/service/systemd/list_unit_files_services +9 -0
  257. data/spec/integration/configurer_spec.rb +66 -0
  258. data/spec/integration/data_binding_spec.rb +1 -0
  259. data/spec/integration/defaults_spec.rb +1 -2
  260. data/spec/integration/faces/plugin_spec.rb +29 -47
  261. data/spec/integration/indirector/facts/facter_spec.rb +4 -0
  262. data/spec/integration/parser/compiler_spec.rb +11 -0
  263. data/spec/integration/type/notify_spec.rb +46 -0
  264. data/spec/integration/util/windows/adsi_spec.rb +6 -1
  265. data/spec/integration/util/windows/registry_spec.rb +7 -7
  266. data/spec/shared_contexts/types_setup.rb +2 -0
  267. data/spec/unit/agent_spec.rb +34 -26
  268. data/spec/unit/application/apply_spec.rb +2 -12
  269. data/spec/unit/configurer/downloader_spec.rb +10 -0
  270. data/spec/unit/configurer/fact_handler_spec.rb +0 -4
  271. data/spec/unit/configurer_spec.rb +430 -415
  272. data/spec/unit/daemon_spec.rb +0 -1
  273. data/spec/unit/file_serving/mount/locales_spec.rb +2 -2
  274. data/spec/unit/file_serving/mount/pluginfacts_spec.rb +2 -2
  275. data/spec/unit/file_serving/mount/plugins_spec.rb +2 -2
  276. data/spec/unit/file_system/uniquefile_spec.rb +11 -0
  277. data/spec/unit/forge/forge_spec.rb +1 -3
  278. data/spec/unit/forge/repository_spec.rb +1 -3
  279. data/spec/unit/indirector/catalog/compiler_spec.rb +45 -26
  280. data/spec/unit/indirector/resource/ral_spec.rb +4 -4
  281. data/spec/unit/network/http/api/indirected_routes_spec.rb +2 -1
  282. data/spec/unit/network/http/connection_spec.rb +43 -1
  283. data/spec/unit/network/http/pool_spec.rb +32 -0
  284. data/spec/unit/node_spec.rb +7 -4
  285. data/spec/unit/parser/environment_compiler_spec.rb +7 -0
  286. data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +8 -3
  287. data/spec/unit/provider/exec_spec.rb +209 -0
  288. data/spec/unit/provider/group/groupadd_spec.rb +30 -1
  289. data/spec/unit/provider/group/windows_adsi_spec.rb +43 -10
  290. data/spec/unit/provider/package/aix_spec.rb +29 -0
  291. data/spec/unit/provider/package/apt_spec.rb +13 -2
  292. data/spec/unit/provider/package/aptitude_spec.rb +1 -0
  293. data/spec/unit/provider/package/dnfmodule_spec.rb +247 -0
  294. data/spec/unit/provider/package/dpkg_spec.rb +35 -7
  295. data/spec/unit/provider/package/openbsd_spec.rb +17 -0
  296. data/spec/unit/provider/package/pip_spec.rb +93 -22
  297. data/spec/unit/provider/package/pkg_spec.rb +13 -1
  298. data/spec/unit/provider/package/pkgdmg_spec.rb +1 -1
  299. data/spec/unit/provider/package/pkgng_spec.rb +36 -0
  300. data/spec/unit/provider/package/portage_spec.rb +4 -4
  301. data/spec/unit/provider/package/puppet_gem_spec.rb +4 -1
  302. data/spec/unit/provider/package/yum_spec.rb +90 -0
  303. data/spec/unit/provider/package/zypper_spec.rb +13 -0
  304. data/spec/unit/provider/package_targetable_spec.rb +60 -0
  305. data/spec/unit/provider/selmodule_spec.rb +118 -47
  306. data/spec/unit/provider/service/daemontools_spec.rb +24 -0
  307. data/spec/unit/provider/service/runit_spec.rb +24 -0
  308. data/spec/unit/provider/service/systemd_spec.rb +109 -36
  309. data/spec/unit/provider/user/directoryservice_spec.rb +41 -0
  310. data/spec/unit/provider/user/hpux_spec.rb +2 -2
  311. data/spec/unit/provider/user/openbsd_spec.rb +1 -0
  312. data/spec/unit/provider/user/useradd_spec.rb +81 -16
  313. data/spec/unit/provider/user/windows_adsi_spec.rb +3 -3
  314. data/spec/unit/puppet_pal_2pec.rb +3 -0
  315. data/spec/unit/ssl/certificate_authority_spec.rb +2 -3
  316. data/spec/unit/ssl/certificate_spec.rb +7 -0
  317. data/spec/unit/ssl/host_spec.rb +2 -0
  318. data/spec/unit/test/test_helper_spec.rb +17 -0
  319. data/spec/unit/type/exec_spec.rb +6 -12
  320. data/spec/unit/type/file/content_spec.rb +9 -3
  321. data/spec/unit/type/file_spec.rb +9 -4
  322. data/spec/unit/type/package_spec.rb +8 -0
  323. data/spec/unit/type/selboolean_spec.rb +4 -6
  324. data/spec/unit/type/service_spec.rb +9 -8
  325. data/spec/unit/type/user_spec.rb +19 -13
  326. data/spec/unit/util/execution_spec.rb +16 -0
  327. data/spec/unit/util/http_proxy_spec.rb +97 -0
  328. data/spec/unit/util/log/destinations_spec.rb +2 -26
  329. data/spec/unit/util/log_spec.rb +0 -138
  330. data/spec/unit/util/logging_spec.rb +200 -0
  331. data/spec/unit/util/pidlock_spec.rb +67 -40
  332. data/spec/unit/util/plist_spec.rb +20 -0
  333. data/spec/unit/util/windows/adsi_spec.rb +55 -4
  334. data/spec/unit/util/windows/api_types_spec.rb +104 -40
  335. data/spec/unit/util/windows/sid_spec.rb +2 -2
  336. data/tasks/manpages.rake +1 -0
  337. metadata +16 -7
  338. data/lib/puppet/pops/loader/null_loader.rb +0 -60
  339. data/locales/ja/puppet.po +0 -12114
  340. data/spec/integration/test/test_helper_spec.rb +0 -31
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f456b71bbf7beb0f5dce50f192ae88a3ef221c76b8746758806c1dc4a65c1c3c
4
- data.tar.gz: 19db5e065df11908f1cf04e051a8768ac27c8d6d7ad983a2fec192b23cb6d621
3
+ metadata.gz: 14f6097fec24c016827b29ec50cdfb647316d37c9dfa5fde1a84fd860ea1d936
4
+ data.tar.gz: 05dd855255a0ae58339df332390420cb92fd79bbbc1de398739f3e256115fbdd
5
5
  SHA512:
6
- metadata.gz: 2ea3f912e8093a4ea8a3e13afb5c48f8b7e9aa9c1bff8152e3aa7fc11ba485b4a19b42245372d6965090e5501346ce144c305bd67c50db52933f04b4512311b9
7
- data.tar.gz: a946d6e8d457eaa9d885ba29344f0cda602f03440ac630915f249563ad7aecc1f2df9a52473db3b0da3256b389fdf75bfa11e95ed13b0a9c718e7b3da54ccbcc
6
+ metadata.gz: 5007a3f5f4fa9c2fb875f4343b9fbe3e11c2f5a5986c5f092e5aaf6345336ee1043733ec38fa67097d43ed89bcb8bace41105a66ce71b851b914deac1fedf0e3
7
+ data.tar.gz: 1207c236cf47ad666384405b5d5810f46ed03357f5caa6125c73f9a72ca15929f2bbe053e8df960458c0b82d862b862986b3d7c20f24fcd8fe30b1ec03545826
data/CODEOWNERS CHANGED
@@ -1,5 +1,5 @@
1
1
  # default to platform-core
2
- * @puppetlabs/platform-core
2
+ * @puppetlabs/platform-core @puppetlabs/puppetserver-maintainers
3
3
 
4
4
  # Night's Watch
5
5
  /lib/puppet/type/group @puppetlabs/night-s-watch
data/Gemfile CHANGED
@@ -72,9 +72,9 @@ group(:development, :test) do
72
72
  gem 'addressable', '< 2.5.0'
73
73
  # webmock requires hashdiff which requires ruby 2 as of 0.3.9
74
74
  gem 'hashdiff', '0.3.8'
75
- gem 'webmock', '~> 1.24'
76
- gem 'vcr', '~> 2.9'
77
- gem "hiera-eyaml", :require => false
75
+ gem 'webmock', '~> 2.3'
76
+ gem 'vcr', '~> 5.0'
77
+ gem "hiera-eyaml", *location_for(ENV['HIERA_EYAML_LOCATION'])
78
78
 
79
79
  gem 'memory_profiler', :platforms => [:mri_21, :mri_22, :mri_23, :mri_24, :mri_25]
80
80
  end
@@ -93,8 +93,7 @@ group(:extra) do
93
93
  gem "msgpack", :require => false
94
94
  end
95
95
 
96
-
97
- if File.exists? "#{__FILE__}.local"
96
+ if File.exist? "#{__FILE__}.local"
98
97
  eval(File.read("#{__FILE__}.local"), binding)
99
98
  end
100
99
 
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- puppet (5.5.17)
4
+ puppet (5.5.22)
5
5
  CFPropertyList (~> 2.2)
6
6
  facter (>= 2.4.0, < 4)
7
7
  fast_gettext (~> 1.1.2)
@@ -17,95 +17,100 @@ GEM
17
17
  CFPropertyList (2.3.6)
18
18
  addressable (2.4.0)
19
19
  artifactory (2.8.2)
20
- ast (2.4.0)
21
- builder (3.2.3)
22
- coderay (1.1.2)
23
- crack (0.4.3)
24
- safe_yaml (~> 1.0.0)
25
- diff-lcs (1.3)
26
- facter (2.5.6)
20
+ ast (2.4.1)
21
+ builder (3.2.4)
22
+ coderay (1.1.3)
23
+ crack (0.4.4)
24
+ csv (3.1.5)
25
+ diff-lcs (1.4.4)
26
+ docopt (0.6.1)
27
+ facter (2.5.7)
27
28
  fast_gettext (1.1.2)
28
29
  gettext (3.2.9)
29
30
  locale (>= 2.0.5)
30
31
  text (>= 1.3.0)
31
- gettext-setup (0.31)
32
+ gettext-setup (0.34)
32
33
  fast_gettext (~> 1.1.0)
33
- gettext (>= 3.0.2)
34
+ gettext (>= 3.0.2, < 3.3.0)
34
35
  locale
35
36
  hashdiff (0.3.8)
36
- hiera (3.5.0)
37
- hiera-eyaml (3.0.0)
37
+ hiera (3.6.0)
38
+ hiera-eyaml (3.2.0)
38
39
  highline (~> 1.6.19)
39
40
  optimist
40
41
  highline (1.6.21)
41
- hocon (1.2.5)
42
+ hocon (1.3.1)
42
43
  hpricot (0.8.6)
43
44
  json-schema (2.8.1)
44
45
  addressable (>= 2.4)
45
- locale (2.1.2)
46
+ locale (2.1.3)
46
47
  memory_profiler (0.9.14)
47
- metaclass (0.0.4)
48
- method_source (0.9.2)
49
- mocha (1.9.0)
50
- metaclass (~> 0.0.1)
51
- msgpack (1.3.1)
52
- multi_json (1.13.1)
53
- mustache (1.1.0)
48
+ method_source (1.0.0)
49
+ mocha (1.11.2)
50
+ msgpack (1.3.3)
51
+ multi_json (1.15.0)
52
+ mustache (1.1.1)
54
53
  net-ssh (4.2.0)
55
- optimist (3.0.0)
56
- packaging (0.99.44)
54
+ optimist (3.0.1)
55
+ packaging (0.99.71)
57
56
  artifactory (~> 2)
57
+ csv (= 3.1.5)
58
58
  rake (>= 12.3)
59
- parallel (1.18.0)
60
- parser (2.6.5.0)
61
- ast (~> 2.4.0)
59
+ release-metrics
60
+ parallel (1.19.2)
61
+ parser (2.7.2.0)
62
+ ast (~> 2.4.1)
62
63
  pathspec (0.2.1)
63
64
  powerpack (0.1.2)
64
- pry (0.12.2)
65
- coderay (~> 1.1.0)
66
- method_source (~> 0.9.0)
67
- puppet-lint (2.3.6)
68
- puppet-syntax (2.6.0)
65
+ pry (0.13.1)
66
+ coderay (~> 1.1)
67
+ method_source (~> 1.0)
68
+ puppet-lint (2.4.2)
69
+ puppet-syntax (3.1.0)
70
+ puppet (>= 5)
69
71
  rake
70
- puppetlabs_spec_helper (2.14.1)
72
+ puppetlabs_spec_helper (2.15.0)
71
73
  mocha (~> 1.0)
72
74
  pathspec (~> 0.2.1)
73
75
  puppet-lint (~> 2.0)
74
- puppet-syntax (~> 2.0)
76
+ puppet-syntax (>= 2.0, < 4)
75
77
  rspec-puppet (~> 2.0)
76
78
  racc (1.4.9)
77
- rack (1.6.11)
79
+ rack (1.6.13)
78
80
  rainbow (2.1.0)
79
81
  rake (12.3.3)
80
- rdiscount (2.2.0.1)
82
+ rdiscount (2.2.0.2)
81
83
  rdoc (4.3.0)
82
84
  redcarpet (2.3.0)
85
+ release-metrics (1.1.0)
86
+ csv
87
+ docopt
83
88
  ronn (0.7.3)
84
89
  hpricot (>= 0.8.2)
85
90
  mustache (>= 0.7.0)
86
91
  rdiscount (>= 1.5.8)
87
- rspec (3.8.0)
88
- rspec-core (~> 3.8.0)
89
- rspec-expectations (~> 3.8.0)
90
- rspec-mocks (~> 3.8.0)
92
+ rspec (3.9.0)
93
+ rspec-core (~> 3.9.0)
94
+ rspec-expectations (~> 3.9.0)
95
+ rspec-mocks (~> 3.9.0)
91
96
  rspec-collection_matchers (1.2.0)
92
97
  rspec-expectations (>= 2.99.0.beta1)
93
- rspec-core (3.8.2)
94
- rspec-support (~> 3.8.0)
95
- rspec-expectations (3.8.5)
98
+ rspec-core (3.9.3)
99
+ rspec-support (~> 3.9.3)
100
+ rspec-expectations (3.9.2)
96
101
  diff-lcs (>= 1.2.0, < 2.0)
97
- rspec-support (~> 3.8.0)
102
+ rspec-support (~> 3.9.0)
98
103
  rspec-its (1.3.0)
99
104
  rspec-core (>= 3.0.0)
100
105
  rspec-expectations (>= 3.0.0)
101
106
  rspec-legacy_formatters (1.0.2)
102
107
  rspec (~> 3.0)
103
- rspec-mocks (3.8.2)
108
+ rspec-mocks (3.9.1)
104
109
  diff-lcs (>= 1.2.0, < 2.0)
105
- rspec-support (~> 3.8.0)
106
- rspec-puppet (2.7.7)
110
+ rspec-support (~> 3.9.0)
111
+ rspec-puppet (2.7.10)
107
112
  rspec
108
- rspec-support (3.8.3)
113
+ rspec-support (3.9.3)
109
114
  rubocop (0.49.1)
110
115
  parallel (~> 1.10)
111
116
  parser (>= 2.3.3.1, < 3.0)
@@ -115,17 +120,16 @@ GEM
115
120
  unicode-display_width (~> 1.0, >= 1.0.1)
116
121
  rubocop-i18n (1.2.0)
117
122
  rubocop (~> 0.49.0)
118
- ruby-prof (1.0.0)
123
+ ruby-prof (1.4.1)
119
124
  ruby-progressbar (1.10.1)
120
- safe_yaml (1.0.5)
121
125
  text (1.3.1)
122
- unicode-display_width (1.6.0)
123
- vcr (2.9.3)
124
- webmock (1.24.6)
126
+ unicode-display_width (1.7.0)
127
+ vcr (5.1.0)
128
+ webmock (2.3.2)
125
129
  addressable (>= 2.3.6)
126
130
  crack (>= 0.3.2)
127
131
  hashdiff
128
- yard (0.9.20)
132
+ yard (0.9.25)
129
133
  yarjuf (2.0.0)
130
134
  builder
131
135
  rspec (~> 3)
@@ -159,8 +163,8 @@ DEPENDENCIES
159
163
  rubocop (~> 0.49.1)
160
164
  rubocop-i18n (~> 1.2.0)
161
165
  ruby-prof (>= 0.16.0)
162
- vcr (~> 2.9)
163
- webmock (~> 1.24)
166
+ vcr (~> 5.0)
167
+ webmock (~> 2.3)
164
168
  yard
165
169
  yarjuf (~> 2.0)
166
170
 
@@ -16,3 +16,4 @@ apt_signing_server: 'apt.puppetlabs.com'
16
16
  apt_repo_url: 'http://apt.puppetlabs.com'
17
17
  apt_repo_path: '/opt/repository/incoming'
18
18
  tar_host: 'downloads.puppetlabs.com'
19
+ nonfinal_gem_path: '/opt/repository-nightlies/downloads/gems/puppet5-nightly'
@@ -75,15 +75,15 @@ class X509Collector
75
75
  end
76
76
  when OpenSSL::X509::Certificate
77
77
  signature_desc = who_signed(meaning, key_names, keys)
78
- "Certificate assigning name #{meaning.subject.to_s} to #{key_names[meaning.public_key.to_s]}\n serial number #{meaning.serial}\n issued by #{meaning.issuer.to_s}\n signed by #{signature_desc}"
78
+ "Certificate assigning name #{meaning.subject} to #{key_names[meaning.public_key.to_s]}\n serial number #{meaning.serial}\n issued by #{meaning.issuer}\n signed by #{signature_desc}"
79
79
  when OpenSSL::X509::Request
80
80
  signature_desc = who_signed(meaning, key_names, keys)
81
- "Certificate request for #{meaning.subject.to_s} having key #{key_names[meaning.public_key.to_s]}\n signed by #{signature_desc}"
81
+ "Certificate request for #{meaning.subject} having key #{key_names[meaning.public_key.to_s]}\n signed by #{signature_desc}"
82
82
  when OpenSSL::X509::CRL
83
83
  signature_desc = who_signed(meaning, key_names, keys)
84
84
  revoked_serial_numbers = meaning.revoked.map { |r| r.serial }
85
85
  revoked_desc = if revoked_serial_numbers.count > 0 then "serial numbers #{revoked_serial_numbers.inspect}" else "nothing" end
86
- "Certificate revocation list revoking #{revoked_desc}\n issued by #{meaning.issuer.to_s}\n signed by #{signature_desc}"
86
+ "Certificate revocation list revoking #{revoked_desc}\n issued by #{meaning.issuer}\n signed by #{signature_desc}"
87
87
  else
88
88
  "Unknown"
89
89
  end
@@ -435,9 +435,9 @@ begin
435
435
  when "--node"
436
436
  $options[:nodes] << arg
437
437
  when "--list"
438
- Suite.suites.sort { |a,b| a.to_s <=> b.to_s }.each do |suite_name|
438
+ Suite.suites.sort_by(&:to_s).each do |suite_name|
439
439
  suite = Suite[suite_name]
440
- tests = suite.tests.sort { |a,b| a.to_s <=> b.to_s }.join(", ")
440
+ tests = suite.tests.sort_by(&:to_s).join(", ")
441
441
  puts "%20s: %s" % [suite_name, tests]
442
442
  end
443
443
  exit(0)
@@ -159,7 +159,7 @@ class ExternalNode
159
159
  log("list of patterns for #{filepath}: #{patternlist}")
160
160
 
161
161
  if matchthis =~ Regexp.union(patternlist)
162
- log("matched #{$~.to_s} in #{matchthis}, returning true")
162
+ log("matched #{$~} in #{matchthis}, returning true")
163
163
  return true
164
164
 
165
165
  else # hostname didn't match anything in patternlist
@@ -181,7 +181,7 @@ class ExternalNode
181
181
  log("Attempting to match [#{@hostname}] in [#{filepath}]")
182
182
  if matched_in_patternfile?(filepath,@hostname)
183
183
  @classes << patternfile.to_s
184
- log("Appended #{patternfile.to_s} to classes instance variable")
184
+ log("Appended #{patternfile} to classes instance variable")
185
185
  end
186
186
  end
187
187
  end
@@ -198,7 +198,7 @@ class ExternalNode
198
198
  log("Attempting to match [#{@hostname}] in [#{filepath}]")
199
199
  if matched_in_patternfile?(filepath,@hostname)
200
200
  @environment = patternfile.to_s
201
- log("Wrote #{patternfile.to_s} to environment instance variable")
201
+ log("Wrote #{patternfile} to environment instance variable")
202
202
  end
203
203
  end
204
204
  end
@@ -230,7 +230,7 @@ class ExternalNode
230
230
  log("Attempting to match [#{@hostname}] in [#{secondlevel}]")
231
231
  if matched_in_patternfile?(secondlevel, @hostname)
232
232
  @parameters[ parametername.to_s ] = patternfile.to_s
233
- log("Set @parameters[#{parametername.to_s}] = #{patternfile.to_s}")
233
+ log("Set @parameters[#{parametername}] = #{patternfile}")
234
234
  end
235
235
  end
236
236
  end
@@ -15,6 +15,7 @@ class WindowsDaemon < Win32::Daemon
15
15
 
16
16
  @run_thread = nil
17
17
  @LOG_TO_FILE = false
18
+ @loglevel = 0
18
19
  LOG_FILE = File.expand_path(File.join(Dir::COMMON_APPDATA, 'PuppetLabs', 'puppet', 'var', 'log', 'windows.log'))
19
20
  LEVELS = [:debug, :info, :notice, :warning, :err, :alert, :emerg, :crit]
20
21
  LEVELS.each do |level|
@@ -37,7 +38,9 @@ class WindowsDaemon < Win32::Daemon
37
38
  FileUtils.mkdir_p(File.dirname(LOG_FILE))
38
39
  args = args.gsub("--logtofile","")
39
40
  end
40
- basedir = File.expand_path(File.join(File.dirname(__FILE__), '..'))
41
+
42
+ base_dir = File.expand_path(File.join(File.dirname(__FILE__), '..'))
43
+ load_env(base_dir)
41
44
 
42
45
  # The puppet installer registers a 'Puppet' event source. For the moment events will be logged with this key, but
43
46
  # it may be a good idea to split the Service and Puppet events later so it's easier to read in the windows Event Log.
@@ -54,25 +57,29 @@ class WindowsDaemon < Win32::Daemon
54
57
  # )
55
58
  # end
56
59
 
57
- puppet = File.join(basedir, 'bin', 'puppet.bat')
58
- unless File.exists?(puppet)
60
+ puppet = File.join(base_dir, 'puppet', 'bin', 'puppet').tr('/', '\\')
61
+ ruby = File.join(base_dir, "sys", "ruby", "bin", "ruby.exe").tr('/', '\\')
62
+ ruby_puppet_cmd = "\"#{ruby}\" \"#{puppet}\""
63
+
64
+ unless File.exist?(puppet)
59
65
  log_err("File not found: '#{puppet}'")
60
66
  return
61
67
  end
62
68
  log_debug("Using '#{puppet}'")
63
69
 
64
70
  cmdline_debug = argsv.index('--debug') ? :debug : nil
65
- @loglevel = parse_log_level(puppet, cmdline_debug)
71
+ @loglevel = parse_log_level(ruby_puppet_cmd, cmdline_debug)
66
72
  log_notice('Service started')
67
73
 
68
74
  service = self
69
75
  @run_thread = Thread.new do
70
76
  begin
71
77
  while service.running? do
72
- runinterval = service.parse_runinterval(puppet)
78
+ runinterval = service.parse_runinterval(ruby_puppet_cmd)
79
+
73
80
  if service.state == RUNNING or service.state == IDLE
74
81
  service.log_notice("Executing agent with arguments: #{args}")
75
- pid = Process.create(:command_line => "\"#{puppet}\" agent --onetime #{args}", :creation_flags => CREATE_NEW_CONSOLE).process_id
82
+ pid = Process.create(:command_line => "#{ruby_puppet_cmd} agent --onetime #{args}", :creation_flags => CREATE_NEW_CONSOLE).process_id
76
83
  service.log_debug("Process created: #{pid}")
77
84
  else
78
85
  service.log_debug("Service is paused. Not invoking Puppet agent")
@@ -153,7 +160,7 @@ class WindowsDaemon < Win32::Daemon
153
160
 
154
161
  def parse_runinterval(puppet_path)
155
162
  begin
156
- runinterval = %x{ "#{puppet_path}" agent --configprint runinterval }.to_i
163
+ runinterval = %x{ #{puppet_path} agent --configprint runinterval }.to_i
157
164
  if runinterval == 0
158
165
  runinterval = 1800
159
166
  log_err("Failed to determine runinterval, defaulting to #{runinterval} seconds")
@@ -168,7 +175,7 @@ class WindowsDaemon < Win32::Daemon
168
175
 
169
176
  def parse_log_level(puppet_path,cmdline_debug)
170
177
  begin
171
- loglevel = %x{ "#{puppet_path}" agent --configprint log_level}.chomp
178
+ loglevel = %x{ #{puppet_path} agent --configprint log_level}.chomp
172
179
  unless loglevel
173
180
  loglevel = :notice
174
181
  log_err("Failed to determine loglevel, defaulting to #{loglevel}")
@@ -180,6 +187,45 @@ class WindowsDaemon < Win32::Daemon
180
187
 
181
188
  LEVELS.index(cmdline_debug ? cmdline_debug : loglevel.to_sym)
182
189
  end
190
+
191
+ private
192
+
193
+ def load_env(base_dir)
194
+ begin
195
+ # ENV that uses backward slashes
196
+ ENV['FACTERDIR'] = File.join(base_dir, 'facter').tr('/', '\\')
197
+ ENV['FACTER_env_windows_installdir'] = base_dir.tr('/', '\\')
198
+ ENV['HIERA_DIR'] = File.join(base_dir, 'hiera').tr('/', '\\')
199
+ ENV['MCOLLECTIVE_DIR'] = File.join(base_dir, 'mcollective').tr('/', '\\')
200
+ ENV['PL_BASEDIR'] = base_dir.tr('/', '\\')
201
+ ENV['PUPPET_DIR'] = File.join(base_dir, 'puppet').tr('/', '\\')
202
+ ENV['RUBYOPT'] = 'rubygems'
203
+ ENV['RUBY_DIR'] = File.join(base_dir, 'sys', 'ruby').tr('/', '\\')
204
+ ENV['OPENSSL_CONF'] = File.join(base_dir, 'puppet', 'ssl', 'openssl.cnf').tr('/', '\\')
205
+ ENV['SSL_CERT_DIR'] = File.join(base_dir, 'puppet', 'ssl', 'certs').tr('/', '\\')
206
+ ENV['SSL_CERT_FILE'] = File.join(base_dir, 'puppet', 'ssl', 'cert.pem').tr('/', '\\')
207
+ ENV['Path'] = [
208
+ File.join(base_dir, 'puppet', 'bin'),
209
+ File.join(base_dir, 'facter', 'bin'),
210
+ File.join(base_dir, 'hiera', 'bin'),
211
+ File.join(base_dir, 'mcollective', 'bin'),
212
+ File.join(base_dir, 'bin'),
213
+ File.join(base_dir, 'sys', 'ruby', 'bin'),
214
+ File.join(base_dir, 'sys', 'tools', 'bin')
215
+ ].join(';').tr('/', '\\') + ';' + ENV['Path']
216
+
217
+ # ENV that uses forward slashes
218
+ ENV['RUBYLIB'] = [
219
+ File.join(base_dir, 'puppet','lib'),
220
+ File.join(base_dir, 'facter', 'lib'),
221
+ File.join(base_dir, 'hiera', 'lib'),
222
+ File.join(base_dir, 'mcollective', 'lib'),
223
+ ENV['RUBYLIB']
224
+ ].compact.join(';') + ';'
225
+ rescue => e
226
+ log_exception(e)
227
+ end
228
+ end
183
229
  end
184
230
 
185
231
  if __FILE__ == $0
data/install.rb CHANGED
@@ -122,12 +122,12 @@ def check_prereqs
122
122
  facter_version = Facter.version.to_f
123
123
  if facter_version < MIN_FACTER_VERSION
124
124
  puts "Facter version: #{facter_version}; minimum required: #{MIN_FACTER_VERSION}; cannot install"
125
- exit (-1)
125
+ exit(-1)
126
126
  end
127
127
  end
128
128
  rescue LoadError
129
129
  puts "Could not load #{pre}; cannot install"
130
- exit (-1)
130
+ exit(-1)
131
131
  end
132
132
  }
133
133
  end
@@ -248,7 +248,7 @@ def prepare_installation
248
248
  require 'win32/dir'
249
249
  rescue LoadError => e
250
250
  puts "Cannot run on Microsoft Windows without the win32-process, win32-dir & win32-service gems: #{e}"
251
- exit (-1)
251
+ exit(-1)
252
252
  end
253
253
  end
254
254
 
@@ -437,13 +437,13 @@ def install_binfile(from, op_file, target)
437
437
  if $operatingsystem == "windows" && InstallOptions.batch_files
438
438
  installed_wrapper = false
439
439
 
440
- unless File.extname(from).match(/\.(cmd|bat)/)
441
- if File.exists?("#{from}.bat")
440
+ unless File.extname(from) =~ /\.(cmd|bat)/
441
+ if File.exist?("#{from}.bat")
442
442
  FileUtils.install("#{from}.bat", File.join(target, "#{op_file}.bat"), :mode => 0755, :preserve => true, :verbose => true)
443
443
  installed_wrapper = true
444
444
  end
445
445
 
446
- if File.exists?("#{from}.cmd")
446
+ if File.exist?("#{from}.cmd")
447
447
  FileUtils.install("#{from}.cmd", File.join(target, "#{op_file}.cmd"), :mode => 0755, :preserve => true, :verbose => true)
448
448
  installed_wrapper = true
449
449
  end