puppet 6.22.1-universal-darwin → 6.25.1-universal-darwin

Sign up to get free protection for your applications and to get access to all the features.
Files changed (415) hide show
  1. checksums.yaml +4 -4
  2. data/CONTRIBUTING.md +5 -5
  3. data/Gemfile +2 -2
  4. data/Gemfile.lock +20 -20
  5. data/README.md +4 -4
  6. data/{ext → examples/enc}/regexp_nodes/classes/databases +0 -0
  7. data/{ext → examples/enc}/regexp_nodes/classes/webservers +0 -0
  8. data/{ext → examples/enc}/regexp_nodes/environment/development +0 -0
  9. data/{ext → examples/enc}/regexp_nodes/parameters/service/prod +0 -0
  10. data/{ext → examples/enc}/regexp_nodes/parameters/service/qa +0 -0
  11. data/{ext → examples/enc}/regexp_nodes/parameters/service/sandbox +0 -0
  12. data/{ext → examples/enc}/regexp_nodes/regexp_nodes.rb +0 -0
  13. data/{ext → examples}/nagios/check_puppet.rb +2 -2
  14. data/ext/README.md +13 -0
  15. data/ext/osx/puppet.plist +2 -0
  16. data/ext/project_data.yaml +1 -0
  17. data/lib/puppet/application/agent.rb +16 -5
  18. data/lib/puppet/application/apply.rb +22 -3
  19. data/lib/puppet/application/device.rb +2 -1
  20. data/lib/puppet/application/filebucket.rb +1 -0
  21. data/lib/puppet/application/resource.rb +32 -16
  22. data/lib/puppet/application/script.rb +2 -1
  23. data/lib/puppet/application/ssl.rb +1 -0
  24. data/lib/puppet/concurrent/thread_local_singleton.rb +1 -0
  25. data/lib/puppet/configurer/downloader.rb +2 -1
  26. data/lib/puppet/configurer.rb +144 -56
  27. data/lib/puppet/confine/variable.rb +1 -1
  28. data/lib/puppet/defaults.rb +47 -33
  29. data/lib/puppet/environments.rb +75 -25
  30. data/lib/puppet/face/facts.rb +1 -1
  31. data/lib/puppet/face/help/action.erb +1 -0
  32. data/lib/puppet/face/help/face.erb +1 -0
  33. data/lib/puppet/face/node/clean.rb +11 -0
  34. data/lib/puppet/facter_impl.rb +96 -0
  35. data/lib/puppet/file_serving/configuration/parser.rb +2 -0
  36. data/lib/puppet/file_serving/configuration.rb +3 -0
  37. data/lib/puppet/file_serving/fileset.rb +14 -2
  38. data/lib/puppet/file_serving/mount/file.rb +4 -4
  39. data/lib/puppet/file_serving/mount/scripts.rb +24 -0
  40. data/lib/puppet/file_system/file_impl.rb +3 -1
  41. data/lib/puppet/file_system/windows.rb +2 -2
  42. data/lib/puppet/forge.rb +4 -4
  43. data/lib/puppet/functions/all.rb +1 -1
  44. data/lib/puppet/functions/camelcase.rb +1 -1
  45. data/lib/puppet/functions/capitalize.rb +2 -2
  46. data/lib/puppet/functions/downcase.rb +2 -2
  47. data/lib/puppet/functions/empty.rb +8 -0
  48. data/lib/puppet/functions/find_template.rb +2 -2
  49. data/lib/puppet/functions/get.rb +5 -5
  50. data/lib/puppet/functions/group_by.rb +13 -5
  51. data/lib/puppet/functions/lest.rb +1 -1
  52. data/lib/puppet/functions/new.rb +100 -100
  53. data/lib/puppet/functions/partition.rb +4 -4
  54. data/lib/puppet/functions/require.rb +5 -5
  55. data/lib/puppet/functions/sort.rb +3 -3
  56. data/lib/puppet/functions/strftime.rb +1 -0
  57. data/lib/puppet/functions/tree_each.rb +7 -9
  58. data/lib/puppet/functions/type.rb +4 -4
  59. data/lib/puppet/functions/unwrap.rb +17 -2
  60. data/lib/puppet/functions/upcase.rb +2 -2
  61. data/lib/puppet/http/client.rb +1 -1
  62. data/lib/puppet/http/redirector.rb +5 -0
  63. data/lib/puppet/http/resolver/server_list.rb +15 -4
  64. data/lib/puppet/http/service/compiler.rb +75 -1
  65. data/lib/puppet/http/service/file_server.rb +2 -1
  66. data/lib/puppet/indirector/catalog/compiler.rb +25 -6
  67. data/lib/puppet/indirector/catalog/rest.rb +1 -0
  68. data/lib/puppet/indirector/facts/facter.rb +6 -6
  69. data/lib/puppet/indirector/file_metadata/rest.rb +1 -0
  70. data/lib/puppet/indirector/indirection.rb +1 -1
  71. data/lib/puppet/indirector/resource/ral.rb +6 -1
  72. data/lib/puppet/indirector/terminus.rb +4 -0
  73. data/lib/puppet/interface/documentation.rb +1 -0
  74. data/lib/puppet/module/plan.rb +0 -1
  75. data/lib/puppet/module/task.rb +1 -1
  76. data/lib/puppet/module.rb +1 -0
  77. data/lib/puppet/module_tool/applications/installer.rb +12 -4
  78. data/lib/puppet/module_tool/applications/uninstaller.rb +1 -1
  79. data/lib/puppet/module_tool/applications/upgrader.rb +1 -1
  80. data/lib/puppet/module_tool/errors/shared.rb +17 -0
  81. data/lib/puppet/network/http/api/indirected_routes.rb +1 -1
  82. data/lib/puppet/node/environment.rb +10 -11
  83. data/lib/puppet/pal/pal_impl.rb +1 -1
  84. data/lib/puppet/parser/functions/fqdn_rand.rb +14 -6
  85. data/lib/puppet/parser/resource.rb +1 -1
  86. data/lib/puppet/parser/scope.rb +1 -0
  87. data/lib/puppet/parser/templatewrapper.rb +1 -0
  88. data/lib/puppet/pops/evaluator/closure.rb +7 -5
  89. data/lib/puppet/pops/evaluator/runtime3_resource_support.rb +1 -0
  90. data/lib/puppet/pops/lookup/lookup_adapter.rb +3 -2
  91. data/lib/puppet/pops/model/ast.rb +1 -0
  92. data/lib/puppet/pops/model/factory.rb +2 -1
  93. data/lib/puppet/pops/parser/eparser.rb +201 -201
  94. data/lib/puppet/pops/parser/lexer2.rb +92 -91
  95. data/lib/puppet/pops/parser/slurp_support.rb +1 -0
  96. data/lib/puppet/pops/serialization/to_data_converter.rb +18 -6
  97. data/lib/puppet/pops/serialization/to_stringified_converter.rb +1 -1
  98. data/lib/puppet/pops/types/p_sem_ver_type.rb +8 -2
  99. data/lib/puppet/pops/types/p_sensitive_type.rb +10 -0
  100. data/lib/puppet/pops/types/type_formatter.rb +4 -3
  101. data/lib/puppet/pops/types/type_mismatch_describer.rb +1 -1
  102. data/lib/puppet/pops/types/types.rb +1 -1
  103. data/lib/puppet/provider/aix_object.rb +1 -1
  104. data/lib/puppet/provider/exec/posix.rb +16 -4
  105. data/lib/puppet/provider/group/groupadd.rb +5 -2
  106. data/lib/puppet/provider/package/nim.rb +11 -6
  107. data/lib/puppet/provider/package/pip.rb +15 -3
  108. data/lib/puppet/provider/package/pkg.rb +19 -2
  109. data/lib/puppet/provider/package/puppetserver_gem.rb +1 -1
  110. data/lib/puppet/provider/package/yum.rb +1 -1
  111. data/lib/puppet/provider/parsedfile.rb +3 -0
  112. data/lib/puppet/provider/service/base.rb +1 -1
  113. data/lib/puppet/provider/service/init.rb +5 -5
  114. data/lib/puppet/provider/service/launchd.rb +2 -2
  115. data/lib/puppet/provider/service/redhat.rb +1 -1
  116. data/lib/puppet/provider/service/smf.rb +3 -3
  117. data/lib/puppet/provider/service/systemd.rb +15 -5
  118. data/lib/puppet/provider/service/upstart.rb +5 -5
  119. data/lib/puppet/provider/service/windows.rb +38 -0
  120. data/lib/puppet/provider/user/aix.rb +44 -1
  121. data/lib/puppet/provider/user/directoryservice.rb +26 -13
  122. data/lib/puppet/provider/user/useradd.rb +72 -16
  123. data/lib/puppet/provider.rb +1 -1
  124. data/lib/puppet/reference/configuration.rb +1 -1
  125. data/lib/puppet/reference/providers.rb +2 -2
  126. data/lib/puppet/resource/catalog.rb +1 -1
  127. data/lib/puppet/resource/type_collection.rb +1 -0
  128. data/lib/puppet/resource.rb +38 -5
  129. data/lib/puppet/runtime.rb +11 -1
  130. data/lib/puppet/settings.rb +32 -9
  131. data/lib/puppet/test/test_helper.rb +4 -1
  132. data/lib/puppet/transaction/additional_resource_generator.rb +1 -1
  133. data/lib/puppet/transaction/persistence.rb +11 -1
  134. data/lib/puppet/transaction/report.rb +15 -1
  135. data/lib/puppet/type/exec.rb +35 -5
  136. data/lib/puppet/type/file/mode.rb +6 -0
  137. data/lib/puppet/type/file/selcontext.rb +1 -1
  138. data/lib/puppet/type/file.rb +25 -7
  139. data/lib/puppet/type/filebucket.rb +3 -3
  140. data/lib/puppet/type/group.rb +0 -1
  141. data/lib/puppet/type/resources.rb +1 -1
  142. data/lib/puppet/type/service.rb +26 -41
  143. data/lib/puppet/type/tidy.rb +22 -3
  144. data/lib/puppet/type/user.rb +38 -21
  145. data/lib/puppet/type.rb +1 -1
  146. data/lib/puppet/util/command_line.rb +1 -1
  147. data/lib/puppet/util/filetype.rb +2 -2
  148. data/lib/puppet/util/json.rb +3 -0
  149. data/lib/puppet/util/log.rb +1 -2
  150. data/lib/puppet/util/logging.rb +1 -25
  151. data/lib/puppet/util/pidlock.rb +1 -1
  152. data/lib/puppet/util/rdoc/parser/puppet_parser_core.rb +1 -1
  153. data/lib/puppet/util/selinux.rb +30 -4
  154. data/lib/puppet/util/suidmanager.rb +1 -2
  155. data/lib/puppet/util/symbolic_file_mode.rb +29 -17
  156. data/lib/puppet/util/tagging.rb +1 -0
  157. data/lib/puppet/util/windows/service.rb +0 -5
  158. data/lib/puppet/util/windows/sid.rb +3 -1
  159. data/lib/puppet/util/windows/user.rb +0 -2
  160. data/lib/puppet/util/windows.rb +3 -0
  161. data/lib/puppet/util.rb +4 -3
  162. data/lib/puppet/version.rb +1 -1
  163. data/lib/puppet.rb +5 -9
  164. data/locales/puppet.pot +408 -364
  165. data/man/man5/puppet.conf.5 +303 -275
  166. data/man/man8/puppet-agent.8 +4 -1
  167. data/man/man8/puppet-apply.8 +1 -1
  168. data/man/man8/puppet-catalog.8 +9 -9
  169. data/man/man8/puppet-config.8 +1 -1
  170. data/man/man8/puppet-describe.8 +1 -1
  171. data/man/man8/puppet-device.8 +1 -1
  172. data/man/man8/puppet-doc.8 +1 -1
  173. data/man/man8/puppet-epp.8 +1 -1
  174. data/man/man8/puppet-facts.8 +8 -8
  175. data/man/man8/puppet-filebucket.8 +1 -1
  176. data/man/man8/puppet-generate.8 +1 -1
  177. data/man/man8/puppet-help.8 +1 -1
  178. data/man/man8/puppet-key.8 +7 -7
  179. data/man/man8/puppet-lookup.8 +1 -1
  180. data/man/man8/puppet-man.8 +1 -1
  181. data/man/man8/puppet-module.8 +3 -3
  182. data/man/man8/puppet-node.8 +5 -5
  183. data/man/man8/puppet-parser.8 +1 -1
  184. data/man/man8/puppet-plugin.8 +1 -1
  185. data/man/man8/puppet-report.8 +5 -5
  186. data/man/man8/puppet-resource.8 +1 -1
  187. data/man/man8/puppet-script.8 +1 -1
  188. data/man/man8/puppet-ssl.8 +1 -1
  189. data/man/man8/puppet-status.8 +4 -4
  190. data/man/man8/puppet.8 +2 -2
  191. data/spec/fixtures/integration/application/agent/cached_deferred_catalog.json +2 -1
  192. data/spec/fixtures/integration/application/agent/lib/facter/agent_spec_role.rb +3 -0
  193. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/Gemfile +4 -0
  194. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/Rakefile +3 -0
  195. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/lib/puppet/functions/l10n.rb +8 -0
  196. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/locales/config.yaml +25 -0
  197. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/locales/ja/puppet-l10n.po +19 -0
  198. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/locales/puppet-l10n.pot +20 -0
  199. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/metadata.json +8 -0
  200. data/spec/fixtures/ssl/127.0.0.1-key.pem +107 -57
  201. data/spec/fixtures/ssl/127.0.0.1.pem +52 -31
  202. data/spec/fixtures/ssl/bad-basic-constraints.pem +57 -35
  203. data/spec/fixtures/ssl/bad-int-basic-constraints.pem +57 -35
  204. data/spec/fixtures/ssl/ca.pem +57 -35
  205. data/spec/fixtures/ssl/crl.pem +28 -18
  206. data/spec/fixtures/ssl/ec-key.pem +11 -11
  207. data/spec/fixtures/ssl/ec.pem +33 -24
  208. data/spec/fixtures/ssl/encrypted-ec-key.pem +12 -12
  209. data/spec/fixtures/ssl/encrypted-key.pem +108 -58
  210. data/spec/fixtures/ssl/intermediate-agent-crl.pem +28 -19
  211. data/spec/fixtures/ssl/intermediate-agent.pem +57 -36
  212. data/spec/fixtures/ssl/intermediate-crl.pem +31 -21
  213. data/spec/fixtures/ssl/intermediate.pem +57 -36
  214. data/spec/fixtures/ssl/oid-key.pem +117 -0
  215. data/spec/fixtures/ssl/oid.pem +69 -0
  216. data/spec/fixtures/ssl/pluto-key.pem +107 -57
  217. data/spec/fixtures/ssl/pluto.pem +52 -30
  218. data/spec/fixtures/ssl/request-key.pem +107 -57
  219. data/spec/fixtures/ssl/request.pem +47 -26
  220. data/spec/fixtures/ssl/revoked-key.pem +107 -57
  221. data/spec/fixtures/ssl/revoked.pem +52 -30
  222. data/spec/fixtures/ssl/signed-key.pem +107 -57
  223. data/spec/fixtures/ssl/signed.pem +52 -30
  224. data/spec/fixtures/ssl/tampered-cert.pem +52 -30
  225. data/spec/fixtures/ssl/tampered-csr.pem +47 -26
  226. data/spec/fixtures/ssl/trusted_oid_mapping.yaml +5 -0
  227. data/spec/fixtures/ssl/unknown-127.0.0.1-key.pem +107 -57
  228. data/spec/fixtures/ssl/unknown-127.0.0.1.pem +50 -29
  229. data/spec/fixtures/ssl/unknown-ca-key.pem +107 -57
  230. data/spec/fixtures/ssl/unknown-ca.pem +55 -33
  231. data/spec/integration/application/agent_spec.rb +141 -37
  232. data/spec/integration/application/filebucket_spec.rb +16 -0
  233. data/spec/integration/application/module_spec.rb +21 -0
  234. data/spec/integration/application/resource_spec.rb +64 -0
  235. data/spec/integration/application/ssl_spec.rb +20 -0
  236. data/spec/integration/configurer_spec.rb +18 -2
  237. data/spec/integration/environments/settings_interpolation_spec.rb +0 -4
  238. data/spec/integration/indirector/facts/facter_spec.rb +93 -39
  239. data/spec/integration/l10n/compiler_spec.rb +37 -0
  240. data/spec/integration/parser/pcore_resource_spec.rb +10 -0
  241. data/spec/integration/transaction/report_spec.rb +1 -1
  242. data/spec/integration/type/exec_spec.rb +70 -45
  243. data/spec/integration/type/file_spec.rb +2 -2
  244. data/spec/integration/type/package_spec.rb +6 -6
  245. data/spec/integration/util/rdoc/parser_spec.rb +1 -1
  246. data/spec/integration/util/windows/process_spec.rb +1 -9
  247. data/spec/lib/puppet/test_ca.rb +7 -2
  248. data/spec/lib/puppet_spec/modules.rb +13 -2
  249. data/spec/lib/puppet_spec/puppetserver.rb +15 -0
  250. data/spec/lib/puppet_spec/settings.rb +1 -0
  251. data/spec/shared_behaviours/documentation_on_faces.rb +0 -2
  252. data/spec/shared_contexts/l10n.rb +27 -0
  253. data/spec/spec_helper.rb +1 -10
  254. data/spec/unit/application/agent_spec.rb +7 -2
  255. data/spec/unit/application/apply_spec.rb +76 -56
  256. data/spec/unit/application/resource_spec.rb +29 -0
  257. data/spec/unit/configurer/downloader_spec.rb +6 -0
  258. data/spec/unit/configurer_spec.rb +256 -57
  259. data/spec/unit/defaults_spec.rb +1 -0
  260. data/spec/unit/environments_spec.rb +184 -0
  261. data/spec/unit/facter_impl_spec.rb +31 -0
  262. data/spec/unit/file_bucket/dipper_spec.rb +2 -2
  263. data/spec/unit/file_serving/configuration/parser_spec.rb +23 -0
  264. data/spec/unit/file_serving/configuration_spec.rb +14 -4
  265. data/spec/unit/file_serving/fileset_spec.rb +60 -0
  266. data/spec/unit/file_serving/mount/scripts_spec.rb +69 -0
  267. data/spec/unit/file_system_spec.rb +13 -0
  268. data/spec/unit/functions/assert_type_spec.rb +1 -1
  269. data/spec/unit/functions/empty_spec.rb +10 -0
  270. data/spec/unit/functions/logging_spec.rb +1 -0
  271. data/spec/unit/functions/lookup_spec.rb +64 -0
  272. data/spec/unit/functions/unwrap_spec.rb +8 -0
  273. data/spec/unit/functions4_spec.rb +2 -2
  274. data/spec/unit/gettext/config_spec.rb +12 -0
  275. data/spec/unit/http/client_spec.rb +58 -1
  276. data/spec/unit/http/service/compiler_spec.rb +131 -0
  277. data/spec/unit/indirector/catalog/compiler_spec.rb +101 -10
  278. data/spec/unit/indirector/catalog/rest_spec.rb +8 -0
  279. data/spec/unit/indirector/indirection_spec.rb +10 -3
  280. data/spec/unit/indirector/resource/ral_spec.rb +40 -75
  281. data/spec/unit/interface/action_spec.rb +0 -9
  282. data/spec/unit/module_spec.rb +15 -1
  283. data/spec/unit/module_tool/applications/installer_spec.rb +51 -12
  284. data/spec/unit/network/authstore_spec.rb +0 -15
  285. data/spec/unit/network/formats_spec.rb +6 -0
  286. data/spec/unit/parser/functions/fqdn_rand_spec.rb +15 -1
  287. data/spec/unit/parser/templatewrapper_spec.rb +12 -2
  288. data/spec/unit/pops/parser/parse_containers_spec.rb +0 -11
  289. data/spec/unit/pops/serialization/to_from_hr_spec.rb +58 -0
  290. data/spec/unit/pops/serialization/to_stringified_spec.rb +5 -0
  291. data/spec/unit/pops/types/p_sem_ver_type_spec.rb +18 -0
  292. data/spec/unit/pops/types/p_sensitive_type_spec.rb +18 -0
  293. data/spec/unit/pops/types/type_calculator_spec.rb +6 -0
  294. data/spec/unit/provider/package/gem_spec.rb +1 -1
  295. data/spec/unit/provider/package/nim_spec.rb +42 -0
  296. data/spec/unit/provider/package/pip2_spec.rb +1 -1
  297. data/spec/unit/provider/package/pip3_spec.rb +1 -1
  298. data/spec/unit/provider/package/pip_spec.rb +38 -1
  299. data/spec/unit/provider/package/pkg_spec.rb +29 -4
  300. data/spec/unit/provider/package/puppet_gem_spec.rb +1 -1
  301. data/spec/unit/provider/package/puppetserver_gem_spec.rb +1 -1
  302. data/spec/unit/provider/parsedfile_spec.rb +10 -0
  303. data/spec/unit/provider/service/init_spec.rb +1 -0
  304. data/spec/unit/provider/service/launchd_spec.rb +11 -0
  305. data/spec/unit/provider/service/openwrt_spec.rb +3 -1
  306. data/spec/unit/provider/service/systemd_spec.rb +43 -9
  307. data/spec/unit/provider/service/windows_spec.rb +202 -0
  308. data/spec/unit/provider/user/aix_spec.rb +100 -0
  309. data/spec/unit/provider/user/directoryservice_spec.rb +68 -36
  310. data/spec/unit/provider/user/useradd_spec.rb +43 -2
  311. data/spec/unit/provider_spec.rb +4 -4
  312. data/spec/unit/puppet_spec.rb +12 -4
  313. data/spec/unit/resource/catalog_spec.rb +14 -1
  314. data/spec/unit/resource_spec.rb +58 -2
  315. data/spec/unit/settings_spec.rb +97 -56
  316. data/spec/unit/ssl/certificate_request_spec.rb +8 -14
  317. data/spec/unit/ssl/state_machine_spec.rb +19 -5
  318. data/spec/unit/transaction/additional_resource_generator_spec.rb +0 -2
  319. data/spec/unit/transaction_spec.rb +18 -20
  320. data/spec/unit/type/exec_spec.rb +76 -29
  321. data/spec/unit/type/file/selinux_spec.rb +3 -3
  322. data/spec/unit/type/file/source_spec.rb +4 -4
  323. data/spec/unit/type/service_spec.rb +86 -188
  324. data/spec/unit/type/tidy_spec.rb +24 -7
  325. data/spec/unit/type/user_spec.rb +45 -0
  326. data/spec/unit/type_spec.rb +2 -2
  327. data/spec/unit/util/logging_spec.rb +2 -0
  328. data/spec/unit/util/selinux_spec.rb +87 -16
  329. data/spec/unit/util/windows/sid_spec.rb +39 -4
  330. data/tasks/generate_cert_fixtures.rake +12 -3
  331. data/tasks/parallel.rake +3 -3
  332. metadata +49 -95
  333. data/ext/README.environment +0 -8
  334. data/ext/dbfix.sql +0 -132
  335. data/ext/debian/README.Debian +0 -8
  336. data/ext/debian/README.source +0 -2
  337. data/ext/debian/TODO.Debian +0 -1
  338. data/ext/debian/changelog.erb +0 -1122
  339. data/ext/debian/compat +0 -1
  340. data/ext/debian/control +0 -144
  341. data/ext/debian/copyright +0 -339
  342. data/ext/debian/docs +0 -1
  343. data/ext/debian/fileserver.conf +0 -41
  344. data/ext/debian/puppet-common.dirs +0 -13
  345. data/ext/debian/puppet-common.install +0 -3
  346. data/ext/debian/puppet-common.lintian-overrides +0 -5
  347. data/ext/debian/puppet-common.manpages +0 -28
  348. data/ext/debian/puppet-common.postinst +0 -35
  349. data/ext/debian/puppet-common.postrm +0 -33
  350. data/ext/debian/puppet-el.dirs +0 -1
  351. data/ext/debian/puppet-el.emacsen-install +0 -25
  352. data/ext/debian/puppet-el.emacsen-remove +0 -11
  353. data/ext/debian/puppet-el.emacsen-startup +0 -9
  354. data/ext/debian/puppet-el.install +0 -1
  355. data/ext/debian/puppet-testsuite.install +0 -2
  356. data/ext/debian/puppet-testsuite.lintian-overrides +0 -4
  357. data/ext/debian/puppet.lintian-overrides +0 -3
  358. data/ext/debian/puppet.logrotate +0 -20
  359. data/ext/debian/puppet.postinst +0 -20
  360. data/ext/debian/puppet.postrm +0 -20
  361. data/ext/debian/puppet.preinst +0 -20
  362. data/ext/debian/puppetmaster-common.install +0 -2
  363. data/ext/debian/puppetmaster-common.manpages +0 -2
  364. data/ext/debian/puppetmaster-common.postinst +0 -6
  365. data/ext/debian/puppetmaster-passenger.dirs +0 -4
  366. data/ext/debian/puppetmaster-passenger.postinst +0 -162
  367. data/ext/debian/puppetmaster-passenger.postrm +0 -61
  368. data/ext/debian/puppetmaster.README.debian +0 -17
  369. data/ext/debian/puppetmaster.default +0 -14
  370. data/ext/debian/puppetmaster.init +0 -137
  371. data/ext/debian/puppetmaster.lintian-overrides +0 -3
  372. data/ext/debian/puppetmaster.postinst +0 -20
  373. data/ext/debian/puppetmaster.postrm +0 -5
  374. data/ext/debian/puppetmaster.preinst +0 -22
  375. data/ext/debian/rules +0 -132
  376. data/ext/debian/source/format +0 -1
  377. data/ext/debian/source/options +0 -1
  378. data/ext/debian/vim-puppet.README.Debian +0 -13
  379. data/ext/debian/vim-puppet.dirs +0 -5
  380. data/ext/debian/vim-puppet.yaml +0 -7
  381. data/ext/debian/watch +0 -2
  382. data/ext/freebsd/puppetd +0 -26
  383. data/ext/freebsd/puppetmasterd +0 -26
  384. data/ext/gentoo/conf.d/puppet +0 -5
  385. data/ext/gentoo/conf.d/puppetmaster +0 -12
  386. data/ext/gentoo/init.d/puppet +0 -38
  387. data/ext/gentoo/init.d/puppetmaster +0 -51
  388. data/ext/gentoo/puppet/fileserver.conf +0 -41
  389. data/ext/ips/puppet-agent +0 -44
  390. data/ext/ips/puppet-master +0 -44
  391. data/ext/ips/puppet.p5m.erb +0 -12
  392. data/ext/ips/puppetagent.xml +0 -42
  393. data/ext/ips/puppetmaster.xml +0 -42
  394. data/ext/ips/rules +0 -19
  395. data/ext/ips/transforms +0 -34
  396. data/ext/ldap/puppet.schema +0 -24
  397. data/ext/logcheck/puppet +0 -23
  398. data/ext/osx/file_mapping.yaml +0 -33
  399. data/ext/osx/postflight.erb +0 -109
  400. data/ext/osx/preflight.erb +0 -52
  401. data/ext/osx/prototype.plist.erb +0 -38
  402. data/ext/redhat/fileserver.conf +0 -41
  403. data/ext/redhat/logrotate +0 -21
  404. data/ext/redhat/puppet.spec.erb +0 -842
  405. data/ext/redhat/server.init +0 -128
  406. data/ext/redhat/server.sysconfig +0 -13
  407. data/ext/solaris/pkginfo +0 -6
  408. data/ext/solaris/smf/puppetd.xml +0 -77
  409. data/ext/solaris/smf/puppetmasterd.xml +0 -77
  410. data/ext/solaris/smf/svc-puppetd +0 -71
  411. data/ext/solaris/smf/svc-puppetmasterd +0 -67
  412. data/ext/suse/puppet.spec +0 -310
  413. data/ext/suse/server.init +0 -173
  414. data/ext/yaml_nodes.rb +0 -105
  415. data/spec/unit/indirector/store_configs_spec.rb +0 -7
@@ -91,7 +91,7 @@ class Puppet::Configurer
91
91
 
92
92
  if result
93
93
  # don't use use cached catalog if it doesn't match server specified environment
94
- if @node_environment && result.environment != @environment
94
+ if result.environment != @environment
95
95
  Puppet.err _("Not using cached catalog because its environment '%{catalog_env}' does not match '%{local_env}'") % { catalog_env: result.environment, local_env: @environment }
96
96
  return nil
97
97
  end
@@ -118,8 +118,11 @@ class Puppet::Configurer
118
118
  catalog = result.to_ral
119
119
  catalog.finalize
120
120
  catalog.retrieval_duration = duration
121
- catalog.write_class_file
122
- catalog.write_resource_file
121
+
122
+ if Puppet[:write_catalog_summary]
123
+ catalog.write_class_file
124
+ catalog.write_resource_file
125
+ end
123
126
  end
124
127
  options[:report].add_times(:convert_catalog, catalog_conversion_time) if options[:report]
125
128
 
@@ -257,6 +260,7 @@ class Puppet::Configurer
257
260
 
258
261
  def run_internal(options)
259
262
  report = options[:report]
263
+ report.initial_environment = Puppet[:environment]
260
264
 
261
265
  if options[:start_time]
262
266
  startup_time = Time.now - options[:start_time]
@@ -296,69 +300,42 @@ class Puppet::Configurer
296
300
  configured_environment = Puppet[:environment] if Puppet.settings.set_by_config?(:environment)
297
301
 
298
302
  # We only need to find out the environment to run in if we don't already have a catalog
299
- unless (cached_catalog || options[:catalog] || Puppet[:strict_environment_mode])
300
- begin
301
- node = nil
302
- node_retr_time = thinmark do
303
- node = Puppet::Node.indirection.find(Puppet[:node_name_value],
304
- :environment => Puppet::Node::Environment.remote(@environment),
305
- :configured_environment => configured_environment,
306
- :ignore_cache => true,
307
- :transaction_uuid => @transaction_uuid,
308
- :fail_on_404 => true)
309
- end
310
- options[:report].add_times(:node_retrieval, node_retr_time)
303
+ unless (cached_catalog || options[:catalog] || Puppet.settings.set_by_cli?(:environment) || Puppet[:strict_environment_mode])
304
+ Puppet.debug(_("Environment not passed via CLI and no catalog was given, attempting to find out the last server-specified environment"))
305
+ initial_environment, loaded_last_environment = last_server_specified_environment
311
306
 
312
- if node
313
- # If we have deserialized a node from a rest call, we want to set
314
- # an environment instance as a simple 'remote' environment reference.
315
- if !node.has_environment_instance? && node.environment_name
316
- node.environment = Puppet::Node::Environment.remote(node.environment_name)
317
- end
307
+ unless loaded_last_environment
308
+ Puppet.debug(_("Requesting environment from the server"))
309
+ initial_environment = current_server_specified_environment(@environment, configured_environment, options)
310
+ end
318
311
 
319
- @node_environment = node.environment.to_s
320
-
321
- if node.environment.to_s != @environment
322
- Puppet.notice _("Local environment: '%{local_env}' doesn't match server specified node environment '%{node_env}', switching agent to '%{node_env}'.") % { local_env: @environment, node_env: node.environment }
323
- @environment = node.environment.to_s
324
- report.environment = @environment
325
- query_options = nil
326
- facts = nil
327
-
328
- new_env = Puppet::Node::Environment.remote(@environment)
329
- Puppet.push_context(
330
- {
331
- current_environment: new_env,
332
- loaders: Puppet::Pops::Loaders.new(new_env, true)
333
- },
334
- "Local node environment #{@environment} for configurer transaction"
335
- )
336
- else
337
- Puppet.info _("Using configured environment '%{env}'") % { env: @environment }
338
- end
339
- end
340
- rescue StandardError => detail
341
- Puppet.warning(_("Unable to fetch my node definition, but the agent run will continue:"))
342
- Puppet.warning(detail)
312
+ if initial_environment
313
+ @environment = initial_environment
314
+ report.environment = initial_environment
315
+
316
+ push_current_environment_and_loaders
317
+ else
318
+ Puppet.debug(_("Could not find a usable environment in the lastrunfile. Either the file does not exist, does not have the required keys, or the values of 'initial_environment' and 'converged_environment' are identical."))
343
319
  end
344
320
  end
345
321
 
322
+ Puppet.info _("Using environment '%{env}'") % { env: @environment }
323
+
346
324
  # This is to maintain compatibility with anyone using this class
347
325
  # aside from agent, apply, device.
348
326
  unless Puppet.lookup(:loaders) { nil }
349
- new_env = Puppet::Node::Environment.remote(@environment)
350
- Puppet.push_context(
351
- {
352
- current_environment: new_env,
353
- loaders: Puppet::Pops::Loaders.new(new_env, true)
354
- },
355
- "Local node environment #{@environment} for configurer transaction"
356
- )
327
+ push_current_environment_and_loaders
357
328
  end
358
329
 
330
+ temp_value = options[:pluginsync]
331
+
332
+ # only validate server environment if pluginsync is requested
333
+ options[:pluginsync] = valid_server_environment? if options[:pluginsync] == true
334
+
359
335
  query_options, facts = get_facts(options) unless query_options
336
+ options[:pluginsync] = temp_value
337
+
360
338
  query_options[:configured_environment] = configured_environment
361
- options[:convert_for_node] = node
362
339
 
363
340
  catalog = prepare_and_retrieve_catalog(cached_catalog, facts, options, query_options)
364
341
  unless catalog
@@ -383,6 +360,8 @@ class Puppet::Configurer
383
360
  @environment = catalog.environment
384
361
  report.environment = @environment
385
362
 
363
+ push_current_environment_and_loaders
364
+
386
365
  query_options, facts = get_facts(options)
387
366
  query_options[:configured_environment] = configured_environment
388
367
 
@@ -456,6 +435,25 @@ class Puppet::Configurer
456
435
  end
457
436
  private :run_internal
458
437
 
438
+ def valid_server_environment?
439
+ session = Puppet.lookup(:http_session)
440
+ begin
441
+ fs = session.route_to(:fileserver)
442
+ fs.get_file_metadatas(path: URI(Puppet[:pluginsource]).path, recurse: :false, environment: @environment)
443
+ true
444
+ rescue Puppet::HTTP::ResponseError => detail
445
+ if detail.response.code == 404
446
+ Puppet.notice(_("Environment '%{environment}' not found on server, skipping initial pluginsync.") % { environment: @environment })
447
+ else
448
+ Puppet.log_exception(detail, detail.message)
449
+ end
450
+ false
451
+ rescue => detail
452
+ Puppet.log_exception(detail, detail.message)
453
+ false
454
+ end
455
+ end
456
+
459
457
  def find_functional_server
460
458
  begin
461
459
  session = Puppet.lookup(:http_session)
@@ -472,10 +470,88 @@ class Puppet::Configurer
472
470
  end
473
471
  private :find_functional_server
474
472
 
473
+ #
474
+ # @api private
475
+ #
476
+ # Read the last server-specified environment from the lastrunfile. The
477
+ # environment is considered to be server-specified if the values of
478
+ # `initial_environment` and `converged_environment` are different.
479
+ #
480
+ # @return [String, Boolean] An array containing a string with the environment
481
+ # read from the lastrunfile in case the server is authoritative, and a
482
+ # boolean marking whether the last environment was correctly loaded.
483
+ def last_server_specified_environment
484
+ return @last_server_specified_environment, @loaded_last_environment if @last_server_specified_environment
485
+
486
+ if Puppet::FileSystem.exist?(Puppet[:lastrunfile])
487
+ summary = Puppet::Util::Yaml.safe_load_file(Puppet[:lastrunfile])
488
+ return [nil, nil] unless summary['application']['run_mode'] == 'agent'
489
+ initial_environment = summary['application']['initial_environment']
490
+ converged_environment = summary['application']['converged_environment']
491
+ @last_server_specified_environment = converged_environment if initial_environment != converged_environment
492
+ Puppet.debug(_("Successfully loaded last environment from the lastrunfile"))
493
+ @loaded_last_environment = true
494
+ end
495
+
496
+ Puppet.debug(_("Found last server-specified environment: %{environment}") % { environment: @last_server_specified_environment }) if @last_server_specified_environment
497
+ [@last_server_specified_environment, @loaded_last_environment]
498
+ rescue => detail
499
+ Puppet.debug(_("Could not find last server-specified environment: %{detail}") % { detail: detail })
500
+ [nil, nil]
501
+ end
502
+ private :last_server_specified_environment
503
+
504
+ def current_server_specified_environment(current_environment, configured_environment, options)
505
+ return @server_specified_environment if @server_specified_environment
506
+
507
+ begin
508
+ node_retr_time = thinmark do
509
+ node = Puppet::Node.indirection.find(Puppet[:node_name_value],
510
+ :environment => Puppet::Node::Environment.remote(current_environment),
511
+ :configured_environment => configured_environment,
512
+ :ignore_cache => true,
513
+ :transaction_uuid => @transaction_uuid,
514
+ :fail_on_404 => true)
515
+
516
+ # The :rest node terminus returns a node with an environment_name, but not an
517
+ # environment instance. Attempting to get the environment instance will load
518
+ # it from disk, which will likely fail. So create a remote environment.
519
+ #
520
+ # The :plain node terminus returns a node with an environment, but not an
521
+ # environment_name.
522
+ if !node.has_environment_instance? && node.environment_name
523
+ node.environment = Puppet::Node::Environment.remote(node.environment_name)
524
+ end
525
+
526
+ @server_specified_environment = node.environment.to_s
527
+
528
+ if @server_specified_environment != @environment
529
+ Puppet.notice _("Local environment: '%{local_env}' doesn't match server specified node environment '%{node_env}', switching agent to '%{node_env}'.") % { local_env: @environment, node_env: @server_specified_environment }
530
+ end
531
+ end
532
+
533
+ options[:report].add_times(:node_retrieval, node_retr_time)
534
+
535
+ @server_specified_environment
536
+ rescue => detail
537
+ Puppet.warning(_("Unable to fetch my node definition, but the agent run will continue:"))
538
+ Puppet.warning(detail)
539
+ nil
540
+ end
541
+ end
542
+ private :current_server_specified_environment
543
+
475
544
  def send_report(report)
476
545
  puts report.summary if Puppet[:summarize]
477
546
  save_last_run_summary(report)
478
- Puppet::Transaction::Report.indirection.save(report, nil, :environment => Puppet::Node::Environment.remote(@environment)) if Puppet[:report]
547
+ if Puppet[:report]
548
+ remote = Puppet::Node::Environment.remote(@environment)
549
+ begin
550
+ Puppet::Transaction::Report.indirection.save(report, nil, ignore_cache: true, environment: remote)
551
+ ensure
552
+ Puppet::Transaction::Report.indirection.save(report, nil, ignore_terminus: true, environment: remote)
553
+ end
554
+ end
479
555
  rescue => detail
480
556
  Puppet.log_exception(detail, _("Could not send report: %{detail}") % { detail: detail })
481
557
  end
@@ -498,7 +574,7 @@ class Puppet::Configurer
498
574
  # @return [false] If an exception is raised during fact generation or
499
575
  # submission.
500
576
  def resubmit_facts
501
- ::Facter.clear
577
+ Puppet.runtime[:facter].clear
502
578
  facts = find_facts
503
579
 
504
580
  client = Puppet.runtime[:http]
@@ -533,6 +609,17 @@ class Puppet::Configurer
533
609
  end
534
610
  end
535
611
 
612
+ def push_current_environment_and_loaders
613
+ new_env = Puppet::Node::Environment.remote(@environment)
614
+ Puppet.push_context(
615
+ {
616
+ :current_environment => new_env,
617
+ :loaders => Puppet::Pops::Loaders.new(new_env, true)
618
+ },
619
+ "Local node environment #{@environment} for configurer transaction"
620
+ )
621
+ end
622
+
536
623
  def retrieve_catalog_from_cache(query_options)
537
624
  result = nil
538
625
  @duration = thinmark do
@@ -560,6 +647,7 @@ class Puppet::Configurer
560
647
  # don't update cache until after environment converges
561
648
  :ignore_cache_save => true,
562
649
  :environment => Puppet::Node::Environment.remote(@environment),
650
+ :check_environment => true,
563
651
  :fail_on_404 => true,
564
652
  :facts_for_catalog => facts
565
653
  )
@@ -18,7 +18,7 @@ class Puppet::Confine::Variable < Puppet::Confine
18
18
 
19
19
  # Retrieve the value from facter
20
20
  def facter_value
21
- @facter_value ||= ::Facter.value(name).to_s.downcase
21
+ @facter_value ||= Puppet.runtime[:facter].value(name).to_s.downcase
22
22
  end
23
23
 
24
24
  def initialize(values)
@@ -3,7 +3,7 @@ require 'puppet/util/platform'
3
3
  module Puppet
4
4
 
5
5
  def self.default_diffargs
6
- if (Facter.value(:kernel) == "AIX" && Facter.value(:kernelmajversion) == "5300")
6
+ if (Puppet.runtime[:facter].value(:kernel) == "AIX" && Puppet.runtime[:facter].value(:kernelmajversion) == "5300")
7
7
  ""
8
8
  else
9
9
  "-u"
@@ -90,7 +90,7 @@ module Puppet
90
90
  This setting is still experimental.',
91
91
  :hook => proc do |value|
92
92
  value = munge(value)
93
- if value && Puppet::Util::Package.versioncmp(Facter.value('facterversion'), '4.0.0') < 0
93
+ if value && Puppet::Util::Package.versioncmp(Puppet.runtime[:facter].value('facterversion'), '4.0.0') < 0
94
94
  begin
95
95
  original_facter = Object.const_get(:Facter)
96
96
  Object.send(:remove_const, :Facter)
@@ -218,7 +218,7 @@ module Puppet
218
218
 
219
219
  The strictness level is for both language semantics and runtime
220
220
  evaluation validation. In addition to controlling the behavior with
221
- this master switch some individual warnings may also be controlled
221
+ this primary server switch some individual warnings may also be controlled
222
222
  by the disable_warnings setting.
223
223
 
224
224
  No new validations will be added to a micro (x.y.z) release,
@@ -262,7 +262,7 @@ module Puppet
262
262
  internal Ruby stack trace interleaved with Puppet function frames.",
263
263
  :hook => proc do |value|
264
264
  # Enable or disable Facter's trace option too
265
- Facter.trace(value) if Facter.respond_to? :trace
265
+ Puppet.runtime[:facter].trace(value)
266
266
  end
267
267
  },
268
268
  :puppet_trace => {
@@ -294,7 +294,7 @@ module Puppet
294
294
  :default => true,
295
295
  :type => :boolean,
296
296
  :desc => "Whether to compile a [static catalog](https://puppet.com/docs/puppet/latest/static_catalogs.html#enabling-or-disabling-static-catalogs),
297
- which occurs only on a Puppet Server master when the `code-id-command` and
297
+ which occurs only on Puppet Server when the `code-id-command` and
298
298
  `code-content-command` settings are configured in its `puppetserver.conf` file.",
299
299
  },
300
300
  :strict_environment_mode => {
@@ -412,13 +412,13 @@ module Puppet
412
412
  :default => "production",
413
413
  :desc => "The environment in which Puppet is running. For clients,
414
414
  such as `puppet agent`, this determines the environment itself, which
415
- Puppet uses to find modules and much more. For servers, such as `puppet master`,
415
+ Puppet uses to find modules and much more. For servers, such as `puppet server`,
416
416
  this provides the default environment for nodes that Puppet knows nothing about.
417
417
 
418
418
  When defining an environment in the `[agent]` section, this refers to the
419
- environment that the agent requests from the master. The environment doesn't
419
+ environment that the agent requests from the primary server. The environment doesn't
420
420
  have to exist on the local filesystem because the agent fetches it from the
421
- master. This definition is used when running `puppet agent`.
421
+ primary server. This definition is used when running `puppet agent`.
422
422
 
423
423
  When defined in the `[user]` section, the environment refers to the path that
424
424
  Puppet uses to search for code and modules related to its execution. This
@@ -800,6 +800,12 @@ Valid values are 0 (never cache) and 15 (15 second minimum wait time).
800
800
  :owner => "service",
801
801
  :group => "service",
802
802
  :desc => "The directory where catalog previews per node are generated."
803
+ },
804
+ :location_trusted => {
805
+ :default => false,
806
+ :type => :boolean,
807
+ :desc => "This will allow sending the name + password and the cookie header to all hosts that puppet may redirect to.
808
+ This may or may not introduce a security breach if puppet redirects you to a site to which you'll send your authentication info and cookies."
803
809
  }
804
810
  )
805
811
 
@@ -830,7 +836,7 @@ Valid values are 0 (never cache) and 15 (15 second minimum wait time).
830
836
  :certname => {
831
837
  :default => lambda { Puppet::Settings.default_certname.downcase },
832
838
  :desc => "The name to use when handling certificates. When a node
833
- requests a certificate from the CA puppet master, it uses the value of the
839
+ requests a certificate from the CA Puppet Server, it uses the value of the
834
840
  `certname` setting as its requested Subject CN.
835
841
 
836
842
  This is the name used when managing a node's permissions in
@@ -878,8 +884,8 @@ names.
878
884
  **Note:** The list of alternate names is locked in when the server's
879
885
  certificate is signed. If you need to change the list later, you can't just
880
886
  change this setting; you also need to regenerate the certificate. For more
881
- information on that process, see the [cert regen docs]
882
- (https://puppet.com/docs/puppet/latest/ssl_regenerate_certificates.html).
887
+ information on that process, see the
888
+ [cert regen docs](https://puppet.com/docs/puppet/latest/ssl_regenerate_certificates.html).
883
889
 
884
890
  To see all the alternate names your servers are using, log into your CA server
885
891
  and run `puppetserver ca list --all`, then check the output for `(alt names: ...)`.
@@ -893,7 +899,7 @@ EOT
893
899
  :desc => <<EOT
894
900
  An optional file containing custom attributes to add to certificate signing
895
901
  requests (CSRs). You should ensure that this file does not exist on your CA
896
- puppet master; if it does, unwanted certificate extensions may leak into
902
+ Puppet Server; if it does, unwanted certificate extensions may leak into
897
903
  certificates created with the `puppetserver ca generate` command.
898
904
 
899
905
  If present, this file must be a YAML hash containing a `custom_attributes` key
@@ -1205,7 +1211,7 @@ EOT
1205
1211
  :default => "$confdir/autosign.conf",
1206
1212
  :type => :autosign,
1207
1213
  :desc => "Whether (and how) to autosign certificate requests. This setting
1208
- is only relevant on a puppet master acting as a certificate authority (CA).
1214
+ is only relevant on a Puppet Server acting as a certificate authority (CA).
1209
1215
 
1210
1216
  Valid values are true (autosigns all certificate requests; not recommended),
1211
1217
  false (disables autosigning certificates), or the absolute path to a file.
@@ -1216,7 +1222,7 @@ EOT
1216
1222
  file, it will be treated as a policy executable; otherwise, it will be
1217
1223
  treated as a config file.
1218
1224
 
1219
- If a custom policy executable is configured, the CA puppet master will run it
1225
+ If a custom policy executable is configured, the CA Puppet Server will run it
1220
1226
  every time it receives a CSR. The executable will be passed the subject CN of the
1221
1227
  request _as a command line argument,_ and the contents of the CSR in PEM format
1222
1228
  _on stdin._ It should exit with a status of 0 if the cert should be autosigned
@@ -1302,7 +1308,7 @@ EOT
1302
1308
  :manifest => {
1303
1309
  :default => nil,
1304
1310
  :type => :file_or_directory,
1305
- :desc => "The entry-point manifest for puppet master. This can be one file
1311
+ :desc => "The entry-point manifest for the primary server. This can be one file
1306
1312
  or a directory of manifests to be evaluated in alphabetical order. Puppet manages
1307
1313
  this path as a directory if one exists or if the path ends with a / or \\.
1308
1314
 
@@ -1509,15 +1515,17 @@ EOT
1509
1515
  their names should be comma-separated, with whitespace allowed. (For example,
1510
1516
  `reports = http, store`.)
1511
1517
 
1512
- This setting is relevant to puppet master and puppet apply. The puppet
1513
- master will call these report handlers with the reports it receives from
1518
+ This setting is relevant to puppet server and puppet apply. The primary Puppet
1519
+ server will call these report handlers with the reports it receives from
1514
1520
  agent nodes, and puppet apply will call them with its own report. (In
1515
1521
  all cases, the node applying the catalog must have `report = true`.)
1516
1522
 
1517
1523
  See the report reference for information on the built-in report
1518
1524
  handlers; custom report handlers can also be loaded from modules.
1519
1525
  (Report handlers are loaded from the lib directory, at
1520
- `puppet/reports/NAME.rb`.)",
1526
+ `puppet/reports/NAME.rb`.)
1527
+
1528
+ To turn off reports entirely, set this to `none`",
1521
1529
  },
1522
1530
  :reportdir => {
1523
1531
  :default => "$vardir/reports",
@@ -1576,7 +1584,7 @@ EOT
1576
1584
  :node_name_value => {
1577
1585
  :default => "$certname",
1578
1586
  :desc => "The explicit value used for the node name for all requests the agent
1579
- makes to the master. WARNING: This setting is mutually exclusive with
1587
+ makes to the primary server. WARNING: This setting is mutually exclusive with
1580
1588
  node_name_fact. Changing this setting also requires changes to the default
1581
1589
  auth.conf configuration on the Puppet Master. Please see
1582
1590
  http://links.puppet.com/node_name_value for more information."
@@ -1584,7 +1592,7 @@ EOT
1584
1592
  :node_name_fact => {
1585
1593
  :default => "",
1586
1594
  :desc => "The fact name used to determine the node name used for all requests the agent
1587
- makes to the master. WARNING: This setting is mutually exclusive with
1595
+ makes to the primary server. WARNING: This setting is mutually exclusive with
1588
1596
  node_name_value. Changing this setting also requires changes to the default
1589
1597
  auth.conf configuration on the Puppet Master. Please see
1590
1598
  http://links.puppet.com/node_name_fact for more information.",
@@ -1598,8 +1606,8 @@ EOT
1598
1606
  :default => "$statedir/state.yaml",
1599
1607
  :type => :file,
1600
1608
  :mode => "0640",
1601
- :desc => "Where puppet agent and puppet master store state associated
1602
- with the running configuration. In the case of puppet master,
1609
+ :desc => "Where Puppet agent and Puppet Server store state associated
1610
+ with the running configuration. In the case of Puppet Server,
1603
1611
  this file reflects the state discovered through interacting
1604
1612
  with clients."
1605
1613
  },
@@ -1636,6 +1644,12 @@ EOT
1636
1644
  :mode => "0750",
1637
1645
  :desc => "The directory in which serialized data is stored on the client."
1638
1646
  },
1647
+ :write_catalog_summary => {
1648
+ :default => true,
1649
+ :type => :boolean,
1650
+ :desc => "Whether to write the `classfile` and `resourcefile` after applying
1651
+ the catalog. It is enabled by default, except when running `puppet apply`.",
1652
+ },
1639
1653
  :classfile => {
1640
1654
  :default => "$statedir/classes.txt",
1641
1655
  :type => :file,
@@ -1662,11 +1676,11 @@ EOT
1662
1676
  the POSIX syslog service and the Windows Event Log are unavailable. (Currently,
1663
1677
  no supported operating systems match that description.)
1664
1678
 
1665
- Despite the name, both puppet agent and puppet master will use this file
1679
+ Despite the name, both puppet agent and puppet server will use this file
1666
1680
  as the fallback logging destination.
1667
1681
 
1668
1682
  For control over logging destinations, see the `--logdest` command line
1669
- option in the manual pages for puppet master, puppet agent, and puppet
1683
+ option in the manual pages for puppet server, puppet agent, and puppet
1670
1684
  apply. You can see man pages by running `puppet <SUBCOMMAND> --help`,
1671
1685
  or read them online at https://puppet.com/docs/puppet/latest/man/."
1672
1686
  },
@@ -1680,12 +1694,12 @@ EOT
1680
1694
  },
1681
1695
  :server => {
1682
1696
  :default => "puppet",
1683
- :desc => "The puppet master server to which the puppet agent should connect.",
1697
+ :desc => "The primary Puppet server to which the Puppet agent should connect.",
1684
1698
  },
1685
1699
  :server_list => {
1686
1700
  :default => [],
1687
1701
  :type => :server_list,
1688
- :desc => "The list of puppet master servers to which the puppet agent should connect,
1702
+ :desc => "The list of primary Puppet servers to which the Puppet agent should connect,
1689
1703
  in the order that they will be tried.",
1690
1704
  },
1691
1705
  :use_srv_records => {
@@ -1700,7 +1714,7 @@ EOT
1700
1714
  :http_extra_headers => {
1701
1715
  :default => [],
1702
1716
  :type => :http_extra_headers,
1703
- :desc => "The list of extra headers that will be sent with http requests to the master.
1717
+ :desc => "The list of extra headers that will be sent with http requests to the primary server.
1704
1718
  The header definition consists of a name and a value separated by a colon."
1705
1719
  },
1706
1720
  :ignoreschedules => {
@@ -1726,7 +1740,7 @@ EOT
1726
1740
  like it does when running normally. However, if a resource attribute is not in
1727
1741
  the desired state (as declared in the catalog), Puppet will take no
1728
1742
  action, and will instead report the changes it _would_ have made. These
1729
- simulated changes will appear in the report sent to the puppet master, or
1743
+ simulated changes will appear in the report sent to the primary Puppet server, or
1730
1744
  be shown on the console if running puppet agent or puppet apply in the
1731
1745
  foreground. The simulated changes will not send refresh events to any
1732
1746
  subscribing or notified resources, although Puppet will log that a refresh
@@ -1798,7 +1812,7 @@ EOT
1798
1812
  :desc => "Whether to only use the cached catalog rather than compiling a new catalog
1799
1813
  on every run. Puppet can be run with this enabled by default and then selectively
1800
1814
  disabled when a recompile is desired. Because a Puppet agent using cached catalogs
1801
- does not contact the master for a new catalog, it also does not upload facts at
1815
+ does not contact the primary server for a new catalog, it also does not upload facts at
1802
1816
  the beginning of the Puppet run.",
1803
1817
  },
1804
1818
  :ignoremissingtypes => {
@@ -1806,7 +1820,7 @@ EOT
1806
1820
  :type => :boolean,
1807
1821
  :desc => "Skip searching for classes and definitions that were missing during a
1808
1822
  prior compilation. The list of missing objects is maintained per-environment and
1809
- persists until the environment is cleared or the master is restarted.",
1823
+ persists until the environment is cleared or the primary server is restarted.",
1810
1824
  },
1811
1825
  :splaylimit => {
1812
1826
  :default => "$runinterval",
@@ -1836,7 +1850,7 @@ EOT
1836
1850
  If you restart an agent's puppet service with `splay` enabled, it
1837
1851
  recalculates its splay period and delays its first agent run after
1838
1852
  restarting for this new period. If you simultaneously restart a group of
1839
- puppet agents with `splay` enabled, their checkins to your puppet masters
1853
+ puppet agents with `splay` enabled, their checkins to your primary servers
1840
1854
  can be distributed more evenly.",
1841
1855
  },
1842
1856
  :clientbucketdir => {
@@ -1928,7 +1942,7 @@ EOT
1928
1942
 
1929
1943
  When starting for the first time, puppet agent will submit a certificate
1930
1944
  signing request (CSR) to the server named in the `ca_server` setting
1931
- (usually the puppet master); this may be autosigned, or may need to be
1945
+ (usually the primary Puppet server); this may be autosigned, or may need to be
1932
1946
  approved by a human, depending on the CA server's configuration.
1933
1947
 
1934
1948
  Puppet agent cannot apply configurations until its approved certificate is
@@ -2042,7 +2056,7 @@ EOT
2042
2056
  :call_hook => :on_initialize_and_write, # Call our hook with the default value, so we always get the value added to facter.
2043
2057
  :hook => proc do |value|
2044
2058
  paths = value.split(File::PATH_SEPARATOR)
2045
- Facter.search(*paths)
2059
+ Puppet.runtime[:facter].search(*paths)
2046
2060
  end
2047
2061
  }
2048
2062
  )