puppet 6.29.0-x64-mingw32 → 7.0.0-x64-mingw32

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 (811) hide show
  1. checksums.yaml +4 -4
  2. data/CODEOWNERS +16 -2
  3. data/CONTRIBUTING.md +5 -5
  4. data/Gemfile +5 -7
  5. data/Gemfile.lock +52 -143
  6. data/README.md +5 -5
  7. data/conf/fileserver.conf +5 -10
  8. data/ext/README.environment +8 -0
  9. data/ext/build_defaults.yaml +1 -1
  10. data/ext/dbfix.sql +132 -0
  11. data/ext/debian/README.Debian +8 -0
  12. data/ext/debian/README.source +2 -0
  13. data/ext/debian/TODO.Debian +1 -0
  14. data/ext/debian/changelog.erb +1122 -0
  15. data/ext/debian/compat +1 -0
  16. data/ext/debian/control +144 -0
  17. data/ext/debian/copyright +339 -0
  18. data/ext/debian/docs +1 -0
  19. data/ext/debian/fileserver.conf +41 -0
  20. data/ext/debian/puppet-common.dirs +13 -0
  21. data/ext/debian/puppet-common.install +3 -0
  22. data/ext/debian/puppet-common.lintian-overrides +5 -0
  23. data/ext/debian/puppet-common.manpages +28 -0
  24. data/ext/debian/puppet-common.postinst +35 -0
  25. data/ext/debian/puppet-common.postrm +33 -0
  26. data/ext/debian/puppet-el.dirs +1 -0
  27. data/ext/debian/puppet-el.emacsen-install +25 -0
  28. data/ext/debian/puppet-el.emacsen-remove +11 -0
  29. data/ext/debian/puppet-el.emacsen-startup +9 -0
  30. data/ext/debian/puppet-el.install +1 -0
  31. data/ext/debian/puppet-testsuite.install +2 -0
  32. data/ext/debian/puppet-testsuite.lintian-overrides +4 -0
  33. data/ext/debian/puppet.lintian-overrides +3 -0
  34. data/ext/debian/puppet.logrotate +20 -0
  35. data/ext/debian/puppet.postinst +20 -0
  36. data/ext/debian/puppet.postrm +20 -0
  37. data/ext/debian/puppet.preinst +20 -0
  38. data/ext/debian/puppetmaster-common.install +2 -0
  39. data/ext/debian/puppetmaster-common.manpages +2 -0
  40. data/ext/debian/puppetmaster-common.postinst +6 -0
  41. data/ext/debian/puppetmaster-passenger.dirs +4 -0
  42. data/ext/debian/puppetmaster-passenger.postinst +162 -0
  43. data/ext/debian/puppetmaster-passenger.postrm +61 -0
  44. data/ext/debian/puppetmaster.README.debian +17 -0
  45. data/ext/debian/puppetmaster.default +14 -0
  46. data/ext/debian/puppetmaster.init +137 -0
  47. data/ext/debian/puppetmaster.lintian-overrides +3 -0
  48. data/ext/debian/puppetmaster.postinst +20 -0
  49. data/ext/debian/puppetmaster.postrm +5 -0
  50. data/ext/debian/puppetmaster.preinst +22 -0
  51. data/ext/debian/rules +132 -0
  52. data/ext/debian/source/format +1 -0
  53. data/ext/debian/source/options +1 -0
  54. data/ext/debian/vim-puppet.README.Debian +13 -0
  55. data/ext/debian/vim-puppet.dirs +5 -0
  56. data/ext/debian/vim-puppet.yaml +7 -0
  57. data/ext/debian/watch +2 -0
  58. data/ext/freebsd/puppetd +26 -0
  59. data/ext/freebsd/puppetmasterd +26 -0
  60. data/ext/gentoo/conf.d/puppet +5 -0
  61. data/ext/gentoo/conf.d/puppetmaster +12 -0
  62. data/ext/gentoo/init.d/puppet +38 -0
  63. data/ext/gentoo/init.d/puppetmaster +51 -0
  64. data/ext/gentoo/puppet/fileserver.conf +41 -0
  65. data/ext/ips/puppet-agent +44 -0
  66. data/ext/ips/puppet-master +44 -0
  67. data/ext/ips/puppet.p5m.erb +12 -0
  68. data/ext/ips/puppetagent.xml +42 -0
  69. data/ext/ips/puppetmaster.xml +42 -0
  70. data/ext/ips/rules +19 -0
  71. data/ext/ips/transforms +34 -0
  72. data/ext/ldap/puppet.schema +24 -0
  73. data/ext/logcheck/puppet +23 -0
  74. data/{examples → ext}/nagios/check_puppet.rb +2 -2
  75. data/ext/osx/file_mapping.yaml +28 -0
  76. data/ext/osx/postflight.erb +109 -0
  77. data/ext/osx/preflight.erb +52 -0
  78. data/ext/osx/prototype.plist.erb +38 -0
  79. data/ext/osx/puppet.plist +0 -2
  80. data/ext/project_data.yaml +2 -16
  81. data/ext/redhat/fileserver.conf +41 -0
  82. data/ext/redhat/logrotate +21 -0
  83. data/ext/redhat/puppet.spec.erb +841 -0
  84. data/ext/redhat/server.init +128 -0
  85. data/ext/redhat/server.sysconfig +13 -0
  86. data/ext/solaris/pkginfo +6 -0
  87. data/ext/solaris/smf/puppetd.xml +77 -0
  88. data/ext/solaris/smf/puppetmasterd.xml +77 -0
  89. data/ext/solaris/smf/svc-puppetd +71 -0
  90. data/ext/solaris/smf/svc-puppetmasterd +67 -0
  91. data/ext/suse/puppet.spec +310 -0
  92. data/ext/suse/server.init +173 -0
  93. data/ext/windows/service/daemon.rb +6 -5
  94. data/ext/yaml_nodes.rb +105 -0
  95. data/install.rb +21 -17
  96. data/lib/puppet/agent.rb +11 -47
  97. data/lib/puppet/application/agent.rb +16 -18
  98. data/lib/puppet/application/apply.rb +4 -24
  99. data/lib/puppet/application/device.rb +100 -106
  100. data/lib/puppet/application/filebucket.rb +13 -10
  101. data/lib/puppet/application/lookup.rb +24 -74
  102. data/lib/puppet/application/resource.rb +16 -32
  103. data/lib/puppet/application/script.rb +0 -2
  104. data/lib/puppet/application/ssl.rb +1 -13
  105. data/lib/puppet/application.rb +178 -108
  106. data/lib/puppet/application_support.rb +0 -7
  107. data/lib/puppet/concurrent/thread_local_singleton.rb +3 -6
  108. data/lib/puppet/configurer/downloader.rb +1 -2
  109. data/lib/puppet/configurer/plugin_handler.rb +21 -19
  110. data/lib/puppet/configurer.rb +86 -183
  111. data/lib/puppet/confine/variable.rb +1 -1
  112. data/lib/puppet/defaults.rb +130 -244
  113. data/lib/puppet/environments.rb +82 -146
  114. data/lib/puppet/face/facts.rb +5 -103
  115. data/lib/puppet/face/generate.rb +0 -2
  116. data/lib/puppet/face/help/action.erb +0 -1
  117. data/lib/puppet/face/help/face.erb +0 -1
  118. data/lib/puppet/face/help.rb +1 -1
  119. data/lib/puppet/face/node/clean.rb +0 -11
  120. data/lib/puppet/face/plugin.rb +5 -8
  121. data/lib/puppet/ffi/windows/api_types.rb +311 -0
  122. data/lib/puppet/ffi/windows/constants.rb +404 -0
  123. data/lib/puppet/ffi/windows/functions.rb +628 -0
  124. data/lib/puppet/ffi/windows/structs.rb +338 -0
  125. data/lib/puppet/ffi/windows.rb +12 -0
  126. data/lib/puppet/file_serving/configuration/parser.rb +3 -34
  127. data/lib/puppet/file_serving/configuration.rb +0 -8
  128. data/lib/puppet/file_serving/fileset.rb +2 -14
  129. data/lib/puppet/file_serving/http_metadata.rb +1 -1
  130. data/lib/puppet/file_serving/metadata.rb +0 -3
  131. data/lib/puppet/file_serving/mount/file.rb +4 -4
  132. data/lib/puppet/file_serving/mount.rb +1 -2
  133. data/lib/puppet/file_system/file_impl.rb +8 -10
  134. data/lib/puppet/file_system/jruby.rb +1 -1
  135. data/lib/puppet/file_system/memory_file.rb +1 -8
  136. data/lib/puppet/file_system/windows.rb +6 -8
  137. data/lib/puppet/file_system.rb +1 -1
  138. data/lib/puppet/forge/repository.rb +0 -1
  139. data/lib/puppet/forge.rb +4 -4
  140. data/lib/puppet/functions/all.rb +1 -1
  141. data/lib/puppet/functions/camelcase.rb +1 -1
  142. data/lib/puppet/functions/capitalize.rb +2 -2
  143. data/lib/puppet/functions/downcase.rb +2 -2
  144. data/lib/puppet/functions/empty.rb +0 -8
  145. data/lib/puppet/functions/find_template.rb +2 -2
  146. data/lib/puppet/functions/get.rb +5 -5
  147. data/lib/puppet/functions/group_by.rb +5 -13
  148. data/lib/puppet/functions/lest.rb +1 -1
  149. data/lib/puppet/functions/new.rb +100 -100
  150. data/lib/puppet/functions/next.rb +1 -18
  151. data/lib/puppet/functions/partition.rb +4 -12
  152. data/lib/puppet/functions/require.rb +5 -5
  153. data/lib/puppet/functions/sort.rb +3 -3
  154. data/lib/puppet/functions/strftime.rb +0 -1
  155. data/lib/puppet/functions/tree_each.rb +10 -7
  156. data/lib/puppet/functions/type.rb +4 -4
  157. data/lib/puppet/functions/unwrap.rb +2 -17
  158. data/lib/puppet/functions/upcase.rb +2 -2
  159. data/lib/puppet/functions/versioncmp.rb +2 -6
  160. data/lib/puppet/generate/models/type/type.rb +4 -1
  161. data/lib/puppet/generate/type.rb +0 -9
  162. data/lib/puppet/http/client.rb +167 -137
  163. data/lib/puppet/{network/resolver.rb → http/dns.rb} +2 -2
  164. data/lib/puppet/http/errors.rb +16 -0
  165. data/lib/puppet/http/external_client.rb +5 -7
  166. data/lib/puppet/{network/http → http}/factory.rb +8 -15
  167. data/lib/puppet/{network/http → http}/pool.rb +61 -26
  168. data/lib/puppet/{network/http/session.rb → http/pool_entry.rb} +2 -3
  169. data/lib/puppet/http/proxy.rb +137 -0
  170. data/lib/puppet/http/redirector.rb +4 -17
  171. data/lib/puppet/http/resolver/server_list.rb +10 -25
  172. data/lib/puppet/http/resolver/settings.rb +4 -7
  173. data/lib/puppet/http/resolver/srv.rb +7 -11
  174. data/lib/puppet/http/resolver.rb +5 -15
  175. data/lib/puppet/http/response.rb +36 -54
  176. data/lib/puppet/http/response_converter.rb +24 -0
  177. data/lib/puppet/http/response_net_http.rb +42 -0
  178. data/lib/puppet/http/retry_after_handler.rb +4 -13
  179. data/lib/puppet/http/service/ca.rb +11 -22
  180. data/lib/puppet/http/service/compiler.rb +23 -144
  181. data/lib/puppet/http/service/file_server.rb +19 -29
  182. data/lib/puppet/http/service/puppetserver.rb +26 -12
  183. data/lib/puppet/http/service/report.rb +8 -10
  184. data/lib/puppet/http/service.rb +12 -26
  185. data/lib/puppet/http/session.rb +11 -20
  186. data/lib/puppet/{network/http → http}/site.rb +1 -2
  187. data/lib/puppet/http.rb +22 -13
  188. data/lib/puppet/indirector/catalog/compiler.rb +6 -25
  189. data/lib/puppet/indirector/catalog/rest.rb +2 -5
  190. data/lib/puppet/indirector/facts/facter.rb +6 -6
  191. data/lib/puppet/indirector/facts/rest.rb +3 -22
  192. data/lib/puppet/indirector/file_bucket_file/rest.rb +3 -9
  193. data/lib/puppet/indirector/file_content/rest.rb +2 -6
  194. data/lib/puppet/indirector/file_metadata/rest.rb +3 -10
  195. data/lib/puppet/indirector/file_server.rb +1 -8
  196. data/lib/puppet/indirector/generic_http.rb +0 -11
  197. data/lib/puppet/indirector/indirection.rb +1 -1
  198. data/lib/puppet/indirector/node/rest.rb +2 -4
  199. data/lib/puppet/indirector/report/rest.rb +3 -8
  200. data/lib/puppet/indirector/request.rb +0 -101
  201. data/lib/puppet/indirector/resource/ral.rb +1 -6
  202. data/lib/puppet/indirector/rest.rb +12 -263
  203. data/lib/puppet/indirector/terminus.rb +0 -4
  204. data/lib/puppet/interface/documentation.rb +0 -1
  205. data/lib/puppet/module/plan.rb +1 -0
  206. data/lib/puppet/module/task.rb +1 -1
  207. data/lib/puppet/module.rb +0 -1
  208. data/lib/puppet/module_tool/applications/installer.rb +2 -56
  209. data/lib/puppet/module_tool/applications/uninstaller.rb +1 -1
  210. data/lib/puppet/module_tool/applications/upgrader.rb +1 -1
  211. data/lib/puppet/module_tool/applications.rb +0 -1
  212. data/lib/puppet/module_tool/errors/shared.rb +2 -34
  213. data/lib/puppet/network/authconfig.rb +2 -96
  214. data/lib/puppet/network/authorization.rb +13 -35
  215. data/lib/puppet/network/formats.rb +0 -67
  216. data/lib/puppet/network/http/api/indirected_routes.rb +3 -21
  217. data/lib/puppet/network/http/api/master/v3.rb +11 -13
  218. data/lib/puppet/network/http/connection.rb +247 -316
  219. data/lib/puppet/network/http/handler.rb +0 -1
  220. data/lib/puppet/network/http.rb +3 -3
  221. data/lib/puppet/network/http_pool.rb +16 -34
  222. data/lib/puppet/node/environment.rb +11 -10
  223. data/lib/puppet/node.rb +2 -31
  224. data/lib/puppet/pal/json_catalog_encoder.rb +4 -0
  225. data/lib/puppet/pal/pal_impl.rb +4 -2
  226. data/lib/puppet/parser/ast/leaf.rb +2 -3
  227. data/lib/puppet/parser/ast/pops_bridge.rb +0 -38
  228. data/lib/puppet/parser/compiler/catalog_validator/relationship_validator.rb +14 -39
  229. data/lib/puppet/parser/compiler.rb +0 -198
  230. data/lib/puppet/parser/functions/fqdn_rand.rb +6 -14
  231. data/lib/puppet/parser/resource.rb +1 -70
  232. data/lib/puppet/parser/scope.rb +0 -1
  233. data/lib/puppet/parser/templatewrapper.rb +1 -2
  234. data/lib/puppet/pops/evaluator/closure.rb +5 -7
  235. data/lib/puppet/pops/evaluator/deferred_resolver.rb +3 -5
  236. data/lib/puppet/pops/evaluator/evaluator_impl.rb +0 -5
  237. data/lib/puppet/pops/evaluator/runtime3_resource_support.rb +3 -4
  238. data/lib/puppet/pops/evaluator/runtime3_support.rb +1 -1
  239. data/lib/puppet/pops/issues.rb +0 -5
  240. data/lib/puppet/pops/loader/ruby_legacy_function_instantiator.rb +6 -8
  241. data/lib/puppet/pops/lookup/lookup_adapter.rb +2 -3
  242. data/lib/puppet/pops/model/ast.pp +0 -42
  243. data/lib/puppet/pops/model/ast.rb +0 -291
  244. data/lib/puppet/pops/model/ast_transformer.rb +1 -1
  245. data/lib/puppet/pops/model/factory.rb +1 -47
  246. data/lib/puppet/pops/model/model_label_provider.rb +0 -5
  247. data/lib/puppet/pops/model/model_tree_dumper.rb +0 -22
  248. data/lib/puppet/pops/model/pn_transformer.rb +0 -16
  249. data/lib/puppet/pops/parser/code_merger.rb +4 -4
  250. data/lib/puppet/pops/parser/egrammar.ra +0 -58
  251. data/lib/puppet/pops/parser/eparser.rb +1685 -1896
  252. data/lib/puppet/pops/parser/lexer2.rb +91 -92
  253. data/lib/puppet/pops/parser/parser_support.rb +0 -5
  254. data/lib/puppet/pops/parser/slurp_support.rb +0 -1
  255. data/lib/puppet/pops/resource/resource_type_impl.rb +2 -24
  256. data/lib/puppet/pops/serialization/to_stringified_converter.rb +1 -1
  257. data/lib/puppet/pops/types/p_sem_ver_type.rb +2 -8
  258. data/lib/puppet/pops/types/p_sensitive_type.rb +0 -10
  259. data/lib/puppet/pops/types/type_calculator.rb +0 -7
  260. data/lib/puppet/pops/types/type_formatter.rb +3 -4
  261. data/lib/puppet/pops/types/type_mismatch_describer.rb +1 -1
  262. data/lib/puppet/pops/types/type_parser.rb +0 -4
  263. data/lib/puppet/pops/types/types.rb +1 -2
  264. data/lib/puppet/pops/validation/checker4_0.rb +9 -37
  265. data/lib/puppet/pops/validation/tasks_checker.rb +0 -12
  266. data/lib/puppet/pops/validation/validator_factory_4_0.rb +1 -2
  267. data/lib/puppet/property/list.rb +1 -1
  268. data/lib/puppet/provider/aix_object.rb +1 -1
  269. data/lib/puppet/provider/exec/posix.rb +4 -16
  270. data/lib/puppet/provider/group/groupadd.rb +10 -18
  271. data/lib/puppet/provider/nameservice.rb +0 -18
  272. data/lib/puppet/provider/package/apt.rb +2 -34
  273. data/lib/puppet/provider/package/aptitude.rb +0 -6
  274. data/lib/puppet/provider/package/dnfmodule.rb +1 -1
  275. data/lib/puppet/provider/package/dpkg.rb +0 -10
  276. data/lib/puppet/provider/package/gem.rb +23 -3
  277. data/lib/puppet/provider/package/nim.rb +6 -11
  278. data/lib/puppet/provider/package/pip.rb +3 -16
  279. data/lib/puppet/provider/package/pkg.rb +2 -23
  280. data/lib/puppet/provider/package/portage.rb +1 -1
  281. data/lib/puppet/provider/package/puppet_gem.rb +1 -4
  282. data/lib/puppet/provider/package/puppetserver_gem.rb +17 -8
  283. data/lib/puppet/provider/package/windows/exe_package.rb +1 -30
  284. data/lib/puppet/provider/package/windows/package.rb +1 -2
  285. data/lib/puppet/provider/package/windows.rb +1 -14
  286. data/lib/puppet/provider/package/yum.rb +1 -1
  287. data/lib/puppet/provider/parsedfile.rb +0 -3
  288. data/lib/puppet/provider/service/base.rb +1 -1
  289. data/lib/puppet/provider/service/debian.rb +0 -2
  290. data/lib/puppet/provider/service/init.rb +9 -10
  291. data/lib/puppet/provider/service/launchd.rb +2 -2
  292. data/lib/puppet/provider/service/redhat.rb +1 -1
  293. data/lib/puppet/provider/service/smf.rb +194 -76
  294. data/lib/puppet/provider/service/systemd.rb +6 -16
  295. data/lib/puppet/provider/service/upstart.rb +5 -5
  296. data/lib/puppet/provider/service/windows.rb +0 -38
  297. data/lib/puppet/provider/user/aix.rb +3 -46
  298. data/lib/puppet/provider/user/directoryservice.rb +11 -39
  299. data/lib/puppet/provider/user/useradd.rb +24 -134
  300. data/lib/puppet/provider.rb +1 -14
  301. data/lib/puppet/reference/configuration.rb +8 -7
  302. data/lib/puppet/reference/indirection.rb +1 -1
  303. data/lib/puppet/reference/providers.rb +2 -2
  304. data/lib/puppet/resource/catalog.rb +2 -15
  305. data/lib/puppet/resource/type.rb +3 -119
  306. data/lib/puppet/resource/type_collection.rb +3 -49
  307. data/lib/puppet/resource.rb +6 -127
  308. data/lib/puppet/runtime.rb +2 -13
  309. data/lib/puppet/settings/environment_conf.rb +0 -1
  310. data/lib/puppet/settings/integer_setting.rb +17 -0
  311. data/lib/puppet/settings/port_setting.rb +15 -0
  312. data/lib/puppet/settings/priority_setting.rb +5 -4
  313. data/lib/puppet/settings.rb +82 -98
  314. data/lib/puppet/ssl/base.rb +3 -5
  315. data/lib/puppet/ssl/certificate.rb +0 -6
  316. data/lib/puppet/ssl/certificate_request.rb +1 -12
  317. data/lib/puppet/ssl/certificate_signer.rb +6 -0
  318. data/lib/puppet/ssl/oids.rb +3 -1
  319. data/lib/puppet/ssl/ssl_provider.rb +36 -75
  320. data/lib/puppet/ssl/state_machine.rb +20 -14
  321. data/lib/puppet/ssl/verifier.rb +2 -6
  322. data/lib/puppet/ssl.rb +10 -6
  323. data/lib/puppet/test/test_helper.rb +2 -7
  324. data/lib/puppet/transaction/additional_resource_generator.rb +1 -1
  325. data/lib/puppet/transaction/persistence.rb +1 -21
  326. data/lib/puppet/transaction/report.rb +3 -19
  327. data/lib/puppet/transaction.rb +1 -7
  328. data/lib/puppet/type/exec.rb +6 -36
  329. data/lib/puppet/type/file/checksum.rb +1 -1
  330. data/lib/puppet/type/file/data_sync.rb +1 -1
  331. data/lib/puppet/type/file/mode.rb +0 -6
  332. data/lib/puppet/type/file/selcontext.rb +1 -1
  333. data/lib/puppet/type/file/source.rb +1 -1
  334. data/lib/puppet/type/file.rb +12 -32
  335. data/lib/puppet/type/filebucket.rb +4 -4
  336. data/lib/puppet/type/group.rb +1 -0
  337. data/lib/puppet/type/package.rb +8 -16
  338. data/lib/puppet/type/resources.rb +1 -1
  339. data/lib/puppet/type/service.rb +41 -26
  340. data/lib/puppet/type/tidy.rb +3 -22
  341. data/lib/puppet/type/user.rb +13 -35
  342. data/lib/puppet/type.rb +1 -77
  343. data/lib/puppet/util/autoload.rb +8 -1
  344. data/lib/puppet/util/command_line.rb +1 -1
  345. data/lib/puppet/util/execution.rb +0 -11
  346. data/lib/puppet/util/filetype.rb +2 -2
  347. data/lib/puppet/util/http_proxy.rb +2 -215
  348. data/lib/puppet/util/json.rb +0 -20
  349. data/lib/puppet/util/log.rb +4 -8
  350. data/lib/puppet/util/logging.rb +25 -1
  351. data/lib/puppet/util/monkey_patches.rb +2 -59
  352. data/lib/puppet/util/package.rb +16 -25
  353. data/lib/puppet/util/pidlock.rb +1 -1
  354. data/lib/puppet/util/posix.rb +5 -54
  355. data/lib/puppet/util/rdoc/parser/puppet_parser_core.rb +1 -1
  356. data/lib/puppet/util/rdoc.rb +0 -7
  357. data/lib/puppet/util/retry_action.rb +1 -1
  358. data/lib/puppet/util/run_mode.rb +9 -1
  359. data/lib/puppet/util/selinux.rb +4 -30
  360. data/lib/puppet/util/suidmanager.rb +2 -1
  361. data/lib/puppet/util/symbolic_file_mode.rb +17 -29
  362. data/lib/puppet/util/tagging.rb +0 -1
  363. data/lib/puppet/util/windows/adsi.rb +0 -46
  364. data/lib/puppet/util/windows/daemon.rb +360 -0
  365. data/lib/puppet/util/windows/error.rb +1 -0
  366. data/lib/puppet/util/windows/eventlog.rb +4 -9
  367. data/lib/puppet/util/windows/file.rb +8 -242
  368. data/lib/puppet/util/windows/monkey_patches/process.rb +414 -0
  369. data/lib/puppet/util/windows/principal.rb +2 -9
  370. data/lib/puppet/util/windows/process.rb +4 -226
  371. data/lib/puppet/util/windows/service.rb +11 -457
  372. data/lib/puppet/util/windows/sid.rb +2 -6
  373. data/lib/puppet/util/windows/string.rb +12 -13
  374. data/lib/puppet/util/windows/user.rb +2 -0
  375. data/lib/puppet/util/windows.rb +3 -11
  376. data/lib/puppet/util/yaml.rb +1 -42
  377. data/lib/puppet/util.rb +5 -5
  378. data/lib/puppet/vendor/require_vendored.rb +0 -1
  379. data/lib/puppet/version.rb +1 -1
  380. data/lib/puppet/x509/cert_provider.rb +29 -1
  381. data/lib/puppet/x509.rb +5 -1
  382. data/lib/puppet.rb +34 -27
  383. data/locales/puppet.pot +9633 -5
  384. data/man/man5/puppet.conf.5 +286 -401
  385. data/man/man8/puppet-agent.8 +2 -5
  386. data/man/man8/puppet-apply.8 +2 -2
  387. data/man/man8/puppet-catalog.8 +9 -9
  388. data/man/man8/puppet-config.8 +1 -1
  389. data/man/man8/puppet-describe.8 +1 -1
  390. data/man/man8/puppet-device.8 +2 -2
  391. data/man/man8/puppet-doc.8 +1 -1
  392. data/man/man8/puppet-epp.8 +1 -1
  393. data/man/man8/puppet-facts.8 +8 -51
  394. data/man/man8/puppet-filebucket.8 +4 -4
  395. data/man/man8/puppet-generate.8 +1 -1
  396. data/man/man8/puppet-help.8 +1 -1
  397. data/man/man8/puppet-lookup.8 +6 -9
  398. data/man/man8/puppet-module.8 +3 -60
  399. data/man/man8/puppet-node.8 +5 -5
  400. data/man/man8/puppet-parser.8 +1 -1
  401. data/man/man8/puppet-plugin.8 +1 -1
  402. data/man/man8/puppet-report.8 +5 -5
  403. data/man/man8/puppet-resource.8 +1 -1
  404. data/man/man8/puppet-script.8 +2 -2
  405. data/man/man8/puppet-ssl.8 +1 -5
  406. data/man/man8/puppet.8 +2 -2
  407. data/spec/fixtures/ssl/127.0.0.1-key.pem +57 -107
  408. data/spec/fixtures/ssl/127.0.0.1.pem +31 -52
  409. data/spec/fixtures/ssl/bad-basic-constraints.pem +35 -57
  410. data/spec/fixtures/ssl/bad-int-basic-constraints.pem +35 -57
  411. data/spec/fixtures/ssl/ca.pem +35 -57
  412. data/spec/fixtures/ssl/crl.pem +18 -28
  413. data/spec/fixtures/ssl/ec-key.pem +11 -11
  414. data/spec/fixtures/ssl/ec.pem +24 -33
  415. data/spec/fixtures/ssl/encrypted-ec-key.pem +12 -12
  416. data/spec/fixtures/ssl/encrypted-key.pem +58 -108
  417. data/spec/fixtures/ssl/intermediate-agent-crl.pem +19 -28
  418. data/spec/fixtures/ssl/intermediate-agent.pem +36 -57
  419. data/spec/fixtures/ssl/intermediate-crl.pem +21 -31
  420. data/spec/fixtures/ssl/intermediate.pem +36 -57
  421. data/spec/fixtures/ssl/pluto-key.pem +57 -107
  422. data/spec/fixtures/ssl/pluto.pem +30 -52
  423. data/spec/fixtures/ssl/request-key.pem +57 -107
  424. data/spec/fixtures/ssl/request.pem +26 -47
  425. data/spec/fixtures/ssl/revoked-key.pem +57 -107
  426. data/spec/fixtures/ssl/revoked.pem +30 -52
  427. data/spec/fixtures/ssl/signed-key.pem +57 -107
  428. data/spec/fixtures/ssl/signed.pem +30 -52
  429. data/spec/fixtures/ssl/tampered-cert.pem +30 -52
  430. data/spec/fixtures/ssl/tampered-csr.pem +26 -47
  431. data/spec/fixtures/ssl/unknown-127.0.0.1-key.pem +57 -107
  432. data/spec/fixtures/ssl/unknown-127.0.0.1.pem +29 -50
  433. data/spec/fixtures/ssl/unknown-ca-key.pem +57 -107
  434. data/spec/fixtures/ssl/unknown-ca.pem +33 -55
  435. data/spec/fixtures/unit/forge/bacula.json +1 -1
  436. data/spec/fixtures/unit/provider/user/aix/aix_passwd_file.out +0 -4
  437. data/spec/integration/application/agent_spec.rb +50 -406
  438. data/spec/integration/application/apply_spec.rb +1 -20
  439. data/spec/integration/application/filebucket_spec.rb +16 -32
  440. data/spec/integration/application/help_spec.rb +2 -0
  441. data/spec/integration/application/lookup_spec.rb +50 -81
  442. data/spec/integration/application/module_spec.rb +0 -21
  443. data/spec/integration/application/plugin_spec.rb +24 -2
  444. data/spec/integration/configurer_spec.rb +2 -18
  445. data/spec/integration/defaults_spec.rb +14 -3
  446. data/spec/integration/environments/settings_interpolation_spec.rb +4 -0
  447. data/spec/integration/http/client_spec.rb +4 -63
  448. data/spec/integration/indirector/direct_file_server_spec.rb +3 -1
  449. data/spec/integration/indirector/facts/facter_spec.rb +39 -93
  450. data/spec/integration/network/http_pool_spec.rb +3 -21
  451. data/spec/integration/parser/catalog_spec.rb +0 -38
  452. data/spec/integration/parser/node_spec.rb +0 -9
  453. data/spec/integration/parser/pcore_resource_spec.rb +0 -47
  454. data/spec/integration/resource/type_collection_spec.rb +6 -2
  455. data/spec/integration/transaction/report_spec.rb +1 -1
  456. data/spec/integration/transaction_spec.rb +9 -4
  457. data/spec/integration/type/exec_spec.rb +45 -70
  458. data/spec/integration/type/file_spec.rb +7 -6
  459. data/spec/integration/type/package_spec.rb +6 -6
  460. data/spec/integration/util/rdoc/parser_spec.rb +1 -1
  461. data/spec/integration/util/windows/adsi_spec.rb +1 -21
  462. data/spec/integration/util/windows/monkey_patches/process_spec.rb +231 -0
  463. data/spec/integration/util/windows/principal_spec.rb +0 -21
  464. data/spec/integration/util/windows/process_spec.rb +9 -1
  465. data/spec/integration/util/windows/registry_spec.rb +10 -6
  466. data/spec/integration/util/windows/security_spec.rb +1 -1
  467. data/spec/lib/matchers/include.rb +27 -0
  468. data/spec/lib/matchers/include_spec.rb +32 -0
  469. data/spec/lib/puppet/test_ca.rb +2 -7
  470. data/spec/lib/puppet_spec/https.rb +1 -1
  471. data/spec/lib/puppet_spec/modules.rb +2 -13
  472. data/spec/lib/puppet_spec/puppetserver.rb +3 -55
  473. data/spec/lib/puppet_spec/settings.rb +1 -1
  474. data/spec/shared_behaviours/documentation_on_faces.rb +2 -0
  475. data/spec/spec_helper.rb +17 -13
  476. data/spec/unit/agent_spec.rb +8 -38
  477. data/spec/unit/application/agent_spec.rb +19 -33
  478. data/spec/unit/application/apply_spec.rb +56 -76
  479. data/spec/unit/application/facts_spec.rb +12 -456
  480. data/spec/unit/application/filebucket_spec.rb +43 -39
  481. data/spec/unit/application/lookup_spec.rb +10 -131
  482. data/spec/unit/application/resource_spec.rb +0 -29
  483. data/spec/unit/application/ssl_spec.rb +2 -25
  484. data/spec/unit/application_spec.rb +9 -51
  485. data/spec/unit/certificate_factory_spec.rb +1 -1
  486. data/spec/unit/configurer/downloader_spec.rb +6 -8
  487. data/spec/unit/configurer/plugin_handler_spec.rb +56 -18
  488. data/spec/unit/configurer_spec.rb +68 -327
  489. data/spec/unit/confine/feature_spec.rb +1 -1
  490. data/spec/unit/confine_spec.rb +2 -8
  491. data/spec/unit/context/trusted_information_spec.rb +2 -6
  492. data/spec/unit/daemon_spec.rb +11 -2
  493. data/spec/unit/defaults_spec.rb +68 -55
  494. data/spec/unit/environments_spec.rb +68 -408
  495. data/spec/unit/face/generate_spec.rb +0 -64
  496. data/spec/unit/face/node_spec.rb +11 -0
  497. data/spec/unit/face/plugin_spec.rb +73 -33
  498. data/spec/unit/file_bucket/dipper_spec.rb +2 -2
  499. data/spec/unit/file_bucket/file_spec.rb +1 -1
  500. data/spec/unit/file_serving/configuration/parser_spec.rb +15 -41
  501. data/spec/unit/file_serving/configuration_spec.rb +10 -26
  502. data/spec/unit/file_serving/fileset_spec.rb +0 -60
  503. data/spec/unit/file_serving/metadata_spec.rb +3 -3
  504. data/spec/unit/file_serving/terminus_helper_spec.rb +4 -11
  505. data/spec/unit/file_system_spec.rb +4 -56
  506. data/spec/unit/forge/module_release_spec.rb +10 -5
  507. data/spec/unit/functions/assert_type_spec.rb +1 -1
  508. data/spec/unit/functions/camelcase_spec.rb +1 -1
  509. data/spec/unit/functions/capitalize_spec.rb +1 -1
  510. data/spec/unit/functions/downcase_spec.rb +1 -1
  511. data/spec/unit/functions/empty_spec.rb +0 -10
  512. data/spec/unit/functions/logging_spec.rb +0 -1
  513. data/spec/unit/functions/lookup_spec.rb +0 -64
  514. data/spec/unit/functions/unwrap_spec.rb +0 -8
  515. data/spec/unit/functions/upcase_spec.rb +1 -1
  516. data/spec/unit/functions/versioncmp_spec.rb +4 -40
  517. data/spec/unit/functions4_spec.rb +2 -2
  518. data/spec/unit/gettext/config_spec.rb +0 -12
  519. data/spec/unit/http/client_spec.rb +8 -84
  520. data/spec/unit/{network/resolver_spec.rb → http/dns_spec.rb} +3 -3
  521. data/spec/unit/http/external_client_spec.rb +4 -4
  522. data/spec/unit/{network/http → http}/factory_spec.rb +5 -30
  523. data/spec/unit/{network/http/session_spec.rb → http/pool_entry_spec.rb} +3 -3
  524. data/spec/unit/{network/http → http}/pool_spec.rb +12 -17
  525. data/spec/unit/{util/http_proxy_spec.rb → http/proxy_spec.rb} +2 -69
  526. data/spec/unit/http/resolver_spec.rb +13 -13
  527. data/spec/unit/http/service/compiler_spec.rb +0 -193
  528. data/spec/unit/http/service/file_server_spec.rb +3 -3
  529. data/spec/unit/http/service/puppetserver_spec.rb +34 -4
  530. data/spec/unit/http/service_spec.rb +0 -1
  531. data/spec/unit/http/session_spec.rb +16 -14
  532. data/spec/unit/{network/http → http}/site_spec.rb +3 -3
  533. data/spec/unit/indirector/catalog/compiler_spec.rb +10 -101
  534. data/spec/unit/indirector/catalog/rest_spec.rb +0 -8
  535. data/spec/unit/indirector/face_spec.rb +1 -0
  536. data/spec/unit/indirector/facts/facter_spec.rb +3 -0
  537. data/spec/unit/indirector/file_bucket_file/file_spec.rb +5 -3
  538. data/spec/unit/indirector/file_bucket_file/selector_spec.rb +8 -26
  539. data/spec/unit/indirector/file_content/rest_spec.rb +0 -4
  540. data/spec/unit/indirector/file_metadata/rest_spec.rb +0 -4
  541. data/spec/unit/indirector/file_server_spec.rb +1 -15
  542. data/spec/unit/indirector/indirection_spec.rb +15 -18
  543. data/spec/unit/indirector/report/rest_spec.rb +2 -17
  544. data/spec/unit/indirector/request_spec.rb +0 -264
  545. data/spec/unit/indirector/resource/ral_spec.rb +75 -40
  546. data/spec/unit/indirector/rest_spec.rb +98 -752
  547. data/spec/unit/indirector/store_configs_spec.rb +7 -0
  548. data/spec/unit/indirector_spec.rb +2 -2
  549. data/spec/unit/interface/action_spec.rb +9 -0
  550. data/spec/unit/module_spec.rb +1 -15
  551. data/spec/unit/module_tool/applications/installer_spec.rb +0 -105
  552. data/spec/unit/network/authconfig_spec.rb +2 -129
  553. data/spec/unit/network/authorization_spec.rb +2 -55
  554. data/spec/unit/network/formats_spec.rb +4 -51
  555. data/spec/unit/network/http/api/indirected_routes_spec.rb +5 -92
  556. data/spec/unit/network/http/api/master/v3_spec.rb +28 -7
  557. data/spec/unit/network/http/api_spec.rb +10 -0
  558. data/spec/unit/network/http/connection_spec.rb +19 -41
  559. data/spec/unit/network/http/handler_spec.rb +0 -1
  560. data/spec/unit/network/http_pool_spec.rb +0 -4
  561. data/spec/unit/node/environment_spec.rb +33 -21
  562. data/spec/unit/node_spec.rb +2 -60
  563. data/spec/unit/parser/compiler_spec.rb +19 -3
  564. data/spec/unit/parser/functions/create_resources_spec.rb +2 -20
  565. data/spec/unit/parser/functions/fqdn_rand_spec.rb +1 -15
  566. data/spec/unit/parser/resource_spec.rb +8 -14
  567. data/spec/unit/parser/templatewrapper_spec.rb +5 -16
  568. data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +4 -7
  569. data/spec/unit/pops/loaders/loaders_spec.rb +6 -21
  570. data/spec/unit/pops/parser/parse_application_spec.rb +4 -22
  571. data/spec/unit/pops/parser/parse_basic_expressions_spec.rb +0 -1
  572. data/spec/unit/pops/parser/parse_capabilities_spec.rb +8 -21
  573. data/spec/unit/pops/parser/parse_containers_spec.rb +13 -2
  574. data/spec/unit/pops/parser/parse_site_spec.rb +20 -24
  575. data/spec/unit/pops/resource/resource_type_impl_spec.rb +0 -71
  576. data/spec/unit/pops/serialization/to_from_hr_spec.rb +1 -1
  577. data/spec/unit/pops/serialization/to_stringified_spec.rb +0 -5
  578. data/spec/unit/pops/types/p_sem_ver_type_spec.rb +0 -18
  579. data/spec/unit/pops/types/p_sensitive_type_spec.rb +0 -18
  580. data/spec/unit/pops/types/type_calculator_spec.rb +6 -12
  581. data/spec/unit/pops/types/type_factory_spec.rb +1 -1
  582. data/spec/unit/pops/validator/validator_spec.rb +61 -51
  583. data/spec/unit/pops/visitor_spec.rb +1 -1
  584. data/spec/unit/property_spec.rb +0 -1
  585. data/spec/unit/provider/group/groupadd_spec.rb +2 -5
  586. data/spec/unit/provider/nameservice_spec.rb +64 -122
  587. data/spec/unit/provider/package/apt_spec.rb +23 -28
  588. data/spec/unit/provider/package/aptitude_spec.rb +1 -1
  589. data/spec/unit/provider/package/base_spec.rb +5 -6
  590. data/spec/unit/provider/package/dnfmodule_spec.rb +1 -10
  591. data/spec/unit/provider/package/dpkg_spec.rb +0 -48
  592. data/spec/unit/provider/package/gem_spec.rb +33 -1
  593. data/spec/unit/provider/package/nim_spec.rb +0 -42
  594. data/spec/unit/provider/package/pacman_spec.rb +12 -18
  595. data/spec/unit/provider/package/pip2_spec.rb +1 -1
  596. data/spec/unit/provider/package/pip3_spec.rb +1 -1
  597. data/spec/unit/provider/package/pip_spec.rb +12 -44
  598. data/spec/unit/provider/package/pkg_spec.rb +4 -29
  599. data/spec/unit/provider/package/pkgdmg_spec.rb +4 -0
  600. data/spec/unit/provider/package/puppet_gem_spec.rb +4 -3
  601. data/spec/unit/provider/package/puppetserver_gem_spec.rb +3 -3
  602. data/spec/unit/provider/package/windows/exe_package_spec.rb +0 -17
  603. data/spec/unit/provider/parsedfile_spec.rb +0 -10
  604. data/spec/unit/provider/service/gentoo_spec.rb +5 -6
  605. data/spec/unit/provider/service/init_spec.rb +9 -16
  606. data/spec/unit/provider/service/launchd_spec.rb +0 -11
  607. data/spec/unit/provider/service/openwrt_spec.rb +29 -23
  608. data/spec/unit/provider/service/redhat_spec.rb +2 -3
  609. data/spec/unit/provider/service/smf_spec.rb +401 -165
  610. data/spec/unit/provider/service/systemd_spec.rb +9 -54
  611. data/spec/unit/provider/service/windows_spec.rb +0 -203
  612. data/spec/unit/provider/user/aix_spec.rb +0 -105
  613. data/spec/unit/provider/user/directoryservice_spec.rb +36 -68
  614. data/spec/unit/provider/user/hpux_spec.rb +1 -1
  615. data/spec/unit/provider/user/pw_spec.rb +0 -2
  616. data/spec/unit/provider/user/useradd_spec.rb +5 -114
  617. data/spec/unit/provider_spec.rb +12 -22
  618. data/spec/unit/puppet_spec.rb +4 -12
  619. data/spec/unit/resource/catalog_spec.rb +2 -15
  620. data/spec/unit/resource/type_collection_spec.rb +2 -22
  621. data/spec/unit/resource/type_spec.rb +1 -1
  622. data/spec/unit/resource_spec.rb +12 -125
  623. data/spec/unit/settings/http_extra_headers_spec.rb +2 -4
  624. data/spec/unit/settings/integer_setting_spec.rb +42 -0
  625. data/spec/unit/settings/port_setting_spec.rb +31 -0
  626. data/spec/unit/settings/priority_setting_spec.rb +4 -4
  627. data/spec/unit/settings_spec.rb +79 -110
  628. data/spec/unit/ssl/base_spec.rb +37 -3
  629. data/spec/unit/ssl/certificate_request_spec.rb +21 -45
  630. data/spec/unit/ssl/certificate_spec.rb +2 -11
  631. data/spec/unit/ssl/ssl_provider_spec.rb +3 -80
  632. data/spec/unit/ssl/state_machine_spec.rb +5 -21
  633. data/spec/unit/ssl/verifier_spec.rb +0 -21
  634. data/spec/unit/transaction/additional_resource_generator_spec.rb +9 -3
  635. data/spec/unit/transaction/event_manager_spec.rb +11 -14
  636. data/spec/unit/transaction/persistence_spec.rb +0 -51
  637. data/spec/unit/transaction/report_spec.rb +0 -2
  638. data/spec/unit/transaction/resource_harness_spec.rb +2 -2
  639. data/spec/unit/transaction_spec.rb +55 -96
  640. data/spec/unit/type/exec_spec.rb +29 -76
  641. data/spec/unit/type/file/checksum_spec.rb +6 -6
  642. data/spec/unit/type/file/content_spec.rb +2 -1
  643. data/spec/unit/type/file/ensure_spec.rb +1 -1
  644. data/spec/unit/type/file/mode_spec.rb +1 -1
  645. data/spec/unit/type/file/selinux_spec.rb +5 -3
  646. data/spec/unit/type/file/source_spec.rb +4 -5
  647. data/spec/unit/type/file_spec.rb +18 -6
  648. data/spec/unit/type/group_spec.rb +6 -13
  649. data/spec/unit/type/package_spec.rb +1 -1
  650. data/spec/unit/type/resources_spec.rb +7 -7
  651. data/spec/unit/type/service_spec.rb +189 -87
  652. data/spec/unit/type/tidy_spec.rb +8 -24
  653. data/spec/unit/type_spec.rb +24 -4
  654. data/spec/unit/util/at_fork_spec.rb +2 -2
  655. data/spec/unit/util/autoload_spec.rb +1 -5
  656. data/spec/unit/util/backups_spec.rb +2 -3
  657. data/spec/unit/util/execution_spec.rb +11 -44
  658. data/spec/unit/util/inifile_spec.rb +14 -6
  659. data/spec/unit/util/log_spec.rb +7 -8
  660. data/spec/unit/util/logging_spec.rb +3 -5
  661. data/spec/unit/util/monkey_patches_spec.rb +0 -6
  662. data/spec/unit/util/posix_spec.rb +15 -363
  663. data/spec/unit/util/run_mode_spec.rb +21 -121
  664. data/spec/unit/util/selinux_spec.rb +68 -163
  665. data/spec/unit/util/storage_spec.rb +1 -3
  666. data/spec/unit/util/suidmanager_spec.rb +41 -44
  667. data/spec/unit/util/windows/sid_spec.rb +0 -41
  668. data/spec/unit/util/windows/string_spec.rb +1 -3
  669. data/spec/unit/util/yaml_spec.rb +13 -92
  670. data/spec/unit/util_spec.rb +6 -31
  671. data/tasks/generate_cert_fixtures.rake +7 -17
  672. data/tasks/parallel.rake +3 -3
  673. metadata +138 -301
  674. data/conf/auth.conf +0 -150
  675. data/ext/README.md +0 -13
  676. data/lib/puppet/application/cert.rb +0 -76
  677. data/lib/puppet/application/key.rb +0 -4
  678. data/lib/puppet/application/man.rb +0 -4
  679. data/lib/puppet/application/status.rb +0 -4
  680. data/lib/puppet/face/key.rb +0 -16
  681. data/lib/puppet/face/man.rb +0 -145
  682. data/lib/puppet/face/module/build.rb +0 -14
  683. data/lib/puppet/face/module/generate.rb +0 -14
  684. data/lib/puppet/face/module/search.rb +0 -103
  685. data/lib/puppet/face/status.rb +0 -51
  686. data/lib/puppet/facter_impl.rb +0 -96
  687. data/lib/puppet/ffi/posix/constants.rb +0 -14
  688. data/lib/puppet/ffi/posix/functions.rb +0 -24
  689. data/lib/puppet/ffi/posix.rb +0 -10
  690. data/lib/puppet/file_serving/mount/scripts.rb +0 -24
  691. data/lib/puppet/indirector/certificate/file.rb +0 -9
  692. data/lib/puppet/indirector/certificate/rest.rb +0 -18
  693. data/lib/puppet/indirector/certificate_request/file.rb +0 -9
  694. data/lib/puppet/indirector/certificate_request/memory.rb +0 -7
  695. data/lib/puppet/indirector/certificate_request/rest.rb +0 -11
  696. data/lib/puppet/indirector/file_content/http.rb +0 -22
  697. data/lib/puppet/indirector/key/file.rb +0 -46
  698. data/lib/puppet/indirector/key/memory.rb +0 -7
  699. data/lib/puppet/indirector/ssl_file.rb +0 -162
  700. data/lib/puppet/indirector/status/local.rb +0 -12
  701. data/lib/puppet/indirector/status/rest.rb +0 -27
  702. data/lib/puppet/indirector/status.rb +0 -3
  703. data/lib/puppet/module_tool/applications/searcher.rb +0 -29
  704. data/lib/puppet/network/auth_config_parser.rb +0 -90
  705. data/lib/puppet/network/authstore.rb +0 -283
  706. data/lib/puppet/network/http/api/master/v3/authorization.rb +0 -18
  707. data/lib/puppet/network/http/api/master/v3/environment.rb +0 -88
  708. data/lib/puppet/network/http/base_pool.rb +0 -36
  709. data/lib/puppet/network/http/compression.rb +0 -127
  710. data/lib/puppet/network/http/connection_adapter.rb +0 -184
  711. data/lib/puppet/network/http/nocache_pool.rb +0 -28
  712. data/lib/puppet/network/rest_controller.rb +0 -2
  713. data/lib/puppet/network/rights.rb +0 -210
  714. data/lib/puppet/parser/compiler/catalog_validator/env_relationship_validator.rb +0 -66
  715. data/lib/puppet/parser/compiler/catalog_validator/site_validator.rb +0 -22
  716. data/lib/puppet/parser/environment_compiler.rb +0 -202
  717. data/lib/puppet/pops/types/enumeration.rb +0 -16
  718. data/lib/puppet/resource/capability_finder.rb +0 -154
  719. data/lib/puppet/rest/errors.rb +0 -15
  720. data/lib/puppet/rest/response.rb +0 -35
  721. data/lib/puppet/rest/route.rb +0 -85
  722. data/lib/puppet/rest/routes.rb +0 -135
  723. data/lib/puppet/settings/alias_setting.rb +0 -37
  724. data/lib/puppet/ssl/host.rb +0 -505
  725. data/lib/puppet/ssl/key.rb +0 -61
  726. data/lib/puppet/ssl/validator/default_validator.rb +0 -209
  727. data/lib/puppet/ssl/validator/no_validator.rb +0 -22
  728. data/lib/puppet/ssl/validator.rb +0 -61
  729. data/lib/puppet/ssl/verifier_adapter.rb +0 -58
  730. data/lib/puppet/status.rb +0 -40
  731. data/lib/puppet/util/connection.rb +0 -88
  732. data/lib/puppet/util/fact_dif.rb +0 -81
  733. data/lib/puppet/util/ssl.rb +0 -83
  734. data/lib/puppet/util/windows/api_types.rb +0 -309
  735. data/lib/puppet/util/windows/monkey_patches/dir.rb +0 -40
  736. data/lib/puppet/vendor/load_pathspec.rb +0 -1
  737. data/lib/puppet/vendor/pathspec/CHANGELOG.md +0 -2
  738. data/lib/puppet/vendor/pathspec/LICENSE +0 -201
  739. data/lib/puppet/vendor/pathspec/PUPPET_README.md +0 -6
  740. data/lib/puppet/vendor/pathspec/README.md +0 -53
  741. data/lib/puppet/vendor/pathspec/lib/pathspec/gitignorespec.rb +0 -275
  742. data/lib/puppet/vendor/pathspec/lib/pathspec/regexspec.rb +0 -17
  743. data/lib/puppet/vendor/pathspec/lib/pathspec/spec.rb +0 -14
  744. data/lib/puppet/vendor/pathspec/lib/pathspec.rb +0 -122
  745. data/man/man8/puppet-key.8 +0 -126
  746. data/man/man8/puppet-man.8 +0 -76
  747. data/man/man8/puppet-status.8 +0 -108
  748. data/spec/fixtures/integration/application/agent/cached_deferred_catalog.json +0 -92
  749. data/spec/fixtures/integration/application/agent/lib/facter/agent_spec_role.rb +0 -3
  750. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/Gemfile +0 -4
  751. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/Rakefile +0 -3
  752. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/lib/puppet/functions/l10n.rb +0 -8
  753. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/locales/config.yaml +0 -25
  754. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/locales/ja/puppet-l10n.po +0 -19
  755. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/locales/puppet-l10n.pot +0 -20
  756. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/metadata.json +0 -8
  757. data/spec/fixtures/ssl/oid-key.pem +0 -117
  758. data/spec/fixtures/ssl/oid.pem +0 -69
  759. data/spec/fixtures/ssl/trusted_oid_mapping.yaml +0 -5
  760. data/spec/fixtures/unit/provider/service/systemd/list_unit_files_services_vendor_preset +0 -9
  761. data/spec/integration/application/resource_spec.rb +0 -68
  762. data/spec/integration/application/ssl_spec.rb +0 -20
  763. data/spec/integration/l10n/compiler_spec.rb +0 -37
  764. data/spec/integration/network/authconfig_spec.rb +0 -256
  765. data/spec/integration/util/windows/monkey_patches/dir_spec.rb +0 -11
  766. data/spec/shared_contexts/l10n.rb +0 -32
  767. data/spec/unit/application/man_spec.rb +0 -52
  768. data/spec/unit/capability_spec.rb +0 -414
  769. data/spec/unit/concurrent/thread_local_singleton_spec.rb +0 -39
  770. data/spec/unit/face/key_spec.rb +0 -9
  771. data/spec/unit/face/module/search_spec.rb +0 -231
  772. data/spec/unit/face/status_spec.rb +0 -9
  773. data/spec/unit/facter_impl_spec.rb +0 -31
  774. data/spec/unit/file_serving/mount/scripts_spec.rb +0 -69
  775. data/spec/unit/indirector/certificate/file_spec.rb +0 -14
  776. data/spec/unit/indirector/certificate/rest_spec.rb +0 -61
  777. data/spec/unit/indirector/certificate_request/file_spec.rb +0 -14
  778. data/spec/unit/indirector/certificate_request/rest_spec.rb +0 -25
  779. data/spec/unit/indirector/key/file_spec.rb +0 -78
  780. data/spec/unit/indirector/ssl_file_spec.rb +0 -305
  781. data/spec/unit/indirector/status/local_spec.rb +0 -10
  782. data/spec/unit/indirector/status/rest_spec.rb +0 -50
  783. data/spec/unit/module_tool/applications/searcher_spec.rb +0 -38
  784. data/spec/unit/network/auth_config_parser_spec.rb +0 -115
  785. data/spec/unit/network/authstore_spec.rb +0 -407
  786. data/spec/unit/network/http/api/master/v3/authorization_spec.rb +0 -57
  787. data/spec/unit/network/http/api/master/v3/environment_spec.rb +0 -185
  788. data/spec/unit/network/http/compression_spec.rb +0 -240
  789. data/spec/unit/network/http/nocache_pool_spec.rb +0 -64
  790. data/spec/unit/network/http_spec.rb +0 -9
  791. data/spec/unit/network/rights_spec.rb +0 -439
  792. data/spec/unit/parser/environment_compiler_spec.rb +0 -730
  793. data/spec/unit/pops/evaluator/deferred_resolver_spec.rb +0 -20
  794. data/spec/unit/pops/types/enumeration_spec.rb +0 -51
  795. data/spec/unit/resource/capability_finder_spec.rb +0 -148
  796. data/spec/unit/rest/route_spec.rb +0 -132
  797. data/spec/unit/ssl/host_spec.rb +0 -645
  798. data/spec/unit/ssl/key_spec.rb +0 -173
  799. data/spec/unit/ssl/validator_spec.rb +0 -278
  800. data/spec/unit/status_spec.rb +0 -45
  801. data/spec/unit/util/json_spec.rb +0 -126
  802. data/spec/unit/util/ssl_spec.rb +0 -91
  803. data/spec/unit/util/windows_spec.rb +0 -23
  804. /data/{examples/enc → ext}/regexp_nodes/classes/databases +0 -0
  805. /data/{examples/enc → ext}/regexp_nodes/classes/webservers +0 -0
  806. /data/{examples/enc → ext}/regexp_nodes/environment/development +0 -0
  807. /data/{examples/enc → ext}/regexp_nodes/parameters/service/prod +0 -0
  808. /data/{examples/enc → ext}/regexp_nodes/parameters/service/qa +0 -0
  809. /data/{examples/enc → ext}/regexp_nodes/parameters/service/sandbox +0 -0
  810. /data/{examples/enc → ext}/regexp_nodes/regexp_nodes.rb +0 -0
  811. /data/spec/fixtures/unit/provider/service/smf/{svcs.out → svcs_instances.out} +0 -0
@@ -48,13 +48,6 @@ module Puppet::Environments
48
48
  root.instance_variable_set(:@rich_data, nil)
49
49
  end
50
50
  end
51
-
52
- # The base implementation is a noop, because `get` returns a new environment
53
- # each time.
54
- #
55
- # @see Puppet::Environments::Cached#guard
56
- def guard(name); end
57
- def unguard(name); end
58
51
  end
59
52
 
60
53
  # @!macro [new] loader_search_paths
@@ -195,7 +188,7 @@ module Puppet::Environments
195
188
 
196
189
  def self.real_path(dir)
197
190
  if Puppet::FileSystem.symlink?(dir) && Puppet[:versioned_environment_dirs]
198
- dir = Pathname.new Puppet::FileSystem.expand_path(Puppet::FileSystem.readlink(dir))
191
+ dir = Puppet::FileSystem.expand_path(Puppet::FileSystem.readlink(dir))
199
192
  end
200
193
  return dir
201
194
  end
@@ -232,9 +225,6 @@ module Puppet::Environments
232
225
  private
233
226
 
234
227
  def create_environment(name)
235
- # interpolated modulepaths may be cached from prior environment instances
236
- Puppet.settings.clear_environment_settings(name)
237
-
238
228
  env_symbol = name.intern
239
229
  setting_values = Puppet.settings.values(env_symbol, Puppet.settings.preferred_run_mode)
240
230
  env = Puppet::Node::Environment.create(
@@ -248,7 +238,7 @@ module Puppet::Environments
248
238
 
249
239
  def validated_directory(envdir)
250
240
  env_name = Puppet::FileSystem.basename_string(envdir)
251
- envdir = Puppet::Environments::Directories.real_path(envdir).to_s
241
+ envdir = Puppet::Environments::Directories.real_path(envdir)
252
242
  if Puppet::FileSystem.directory?(envdir) && Puppet::Node::Environment.valid_name?(env_name)
253
243
  envdir
254
244
  else
@@ -337,44 +327,36 @@ module Puppet::Environments
337
327
  end
338
328
 
339
329
  def self.cache_expiration_service=(service)
340
- @cache_expiration_service_singleton = service
330
+ @cache_expiration_service = service
341
331
  end
342
332
 
343
333
  def self.cache_expiration_service
344
- @cache_expiration_service_singleton || DefaultCacheExpirationService.new
334
+ @cache_expiration_service || DefaultCacheExpirationService.new
335
+ end
336
+
337
+ # Returns the end of time (the next Mesoamerican Long Count cycle-end after 2012 (5125+2012) = 7137
338
+ def self.end_of_time
339
+ Time.gm(7137)
345
340
  end
346
341
 
342
+ END_OF_TIME = end_of_time
343
+ START_OF_TIME = Time.gm(1)
344
+
347
345
  def initialize(loader)
348
346
  @loader = loader
349
347
  @cache_expiration_service = Puppet::Environments::Cached.cache_expiration_service
350
348
  @cache = {}
349
+
350
+ # Holds expiration times in sorted order - next to expire is first
351
+ @expirations = SortedSet.new
352
+
353
+ # Infinity since it there are no entries, this is a cache of the first to expire time
354
+ @next_expiration = END_OF_TIME
351
355
  end
352
356
 
353
357
  # @!macro loader_list
354
358
  def list
355
- # Evict all that have expired, in the same way as `get`
356
- clear_all_expired
357
-
358
- # Evict all that was removed from disk
359
- cached_envs = @cache.keys.map!(&:to_sym)
360
- loader_envs = @loader.list.map!(&:name)
361
- removed_envs = cached_envs - loader_envs
362
-
363
- removed_envs.each do |env_name|
364
- Puppet.debug { "Environment no longer exists '#{env_name}'"}
365
- clear(env_name)
366
- end
367
-
368
- @loader.list.map do |env|
369
- name = env.name
370
- old_entry = @cache[name]
371
- if old_entry
372
- old_entry.value
373
- else
374
- add_entry(name, entry(env))
375
- env
376
- end
377
- end
359
+ @loader.list
378
360
  end
379
361
 
380
362
  # @!macro loader_search_paths
@@ -384,94 +366,70 @@ module Puppet::Environments
384
366
 
385
367
  # @!macro loader_get
386
368
  def get(name)
387
- entry = get_entry(name)
388
- entry ? entry.value : nil
389
- end
390
-
391
- # Get a cache entry for an envionment. It returns nil if the
392
- # environment doesn't exist.
393
- def get_entry(name, check_expired = true)
394
369
  # Aggressively evict all that has expired
395
370
  # This strategy favors smaller memory footprint over environment
396
371
  # retrieval time.
397
- clear_all_expired if check_expired
398
- name = name.to_sym
399
- entry = @cache[name]
400
- if entry
401
- Puppet.debug {"Found in cache #{name.inspect} #{entry.label}"}
372
+ clear_all_expired
373
+ result = @cache[name]
374
+ if result
375
+ Puppet.debug {"Found in cache '#{name}' #{result.label}"}
402
376
  # found in cache
403
- entry.touch
404
- elsif (env = @loader.get(name))
377
+ result.touch
378
+ return result.value
379
+ elsif (result = @loader.get(name))
405
380
  # environment loaded, cache it
406
- entry = entry(env)
407
- add_entry(name, entry)
381
+ cache_entry = entry(result)
382
+ @cache_expiration_service.created(result)
383
+ add_entry(name, cache_entry)
384
+ result
408
385
  end
409
- entry
410
386
  end
411
- private :get_entry
412
387
 
413
388
  # Adds a cache entry to the cache
414
389
  def add_entry(name, cache_entry)
415
- Puppet.debug {"Caching environment #{name.inspect} #{cache_entry.label}"}
390
+ Puppet.debug {"Caching environment '#{name}' #{cache_entry.label}"}
416
391
  @cache[name] = cache_entry
417
- @cache_expiration_service.created(cache_entry.value)
392
+ expires = cache_entry.expires
393
+ @expirations.add(expires)
394
+ if @next_expiration > expires
395
+ @next_expiration = expires
396
+ end
418
397
  end
419
398
  private :add_entry
420
399
 
421
- def clear_entry(name, entry)
422
- @cache.delete(name)
423
- Puppet.debug {"Evicting cache entry for environment #{name.inspect}"}
424
- @cache_expiration_service.evicted(name.to_sym)
425
- Puppet::GettextConfig.delete_text_domain(name)
426
- Puppet.settings.clear_environment_settings(name)
427
- end
428
- private :clear_entry
429
-
430
400
  # Clears the cache of the environment with the given name.
431
401
  # (The intention is that this could be used from a MANUAL cache eviction command (TBD)
432
402
  def clear(name)
433
- name = name.to_sym
434
- entry = @cache[name]
435
- clear_entry(name, entry) if entry
403
+ @cache.delete(name)
404
+ Puppet::GettextConfig.delete_text_domain(name)
436
405
  end
437
406
 
438
407
  # Clears all cached environments.
439
408
  # (The intention is that this could be used from a MANUAL cache eviction command (TBD)
440
- def clear_all
409
+ def clear_all()
441
410
  super
442
-
443
- @cache.each_pair do |name, entry|
444
- clear_entry(name, entry)
445
- end
446
-
447
411
  @cache = {}
412
+ @expirations.clear
413
+ @next_expiration = END_OF_TIME
448
414
  Puppet::GettextConfig.delete_environment_text_domains
449
415
  end
450
416
 
451
417
  # Clears all environments that have expired, either by exceeding their time to live, or
452
418
  # through an explicit eviction determined by the cache expiration service.
453
419
  #
454
- def clear_all_expired
420
+ def clear_all_expired()
455
421
  t = Time.now
456
-
457
- @cache.each_pair do |name, entry|
458
- clear_if_expired(name, entry, t)
422
+ return if t < @next_expiration && ! @cache.any? {|name, _| @cache_expiration_service.expired?(name.to_sym) }
423
+ to_expire = @cache.select { |name, entry| entry.expires < t || @cache_expiration_service.expired?(name.to_sym) }
424
+ to_expire.each do |name, entry|
425
+ Puppet.debug {"Evicting cache entry for environment '#{name}'"}
426
+ @cache_expiration_service.evicted(name.to_sym)
427
+ clear(name)
428
+ @expirations.delete(entry.expires)
429
+ Puppet.settings.clear_environment_settings(name)
459
430
  end
431
+ @next_expiration = @expirations.first || END_OF_TIME
460
432
  end
461
- private :clear_all_expired
462
-
463
- # Clear an environment if it is expired, either by exceeding its time to live, or
464
- # through an explicit eviction determined by the cache expiration service.
465
- #
466
- def clear_if_expired(name, entry, t = Time.now)
467
- return unless entry
468
- return if entry.guarded?
469
-
470
- if entry.expired?(t) || @cache_expiration_service.expired?(name.to_sym)
471
- clear_entry(name, entry)
472
- end
473
- end
474
- private :clear_if_expired
475
433
 
476
434
  # This implementation evicts the cache, and always gets the current
477
435
  # configuration of the environment
@@ -482,25 +440,10 @@ module Puppet::Environments
482
440
  #
483
441
  # @!macro loader_get_conf
484
442
  def get_conf(name)
485
- name = name.to_sym
486
- clear_if_expired(name, @cache[name])
443
+ evict_if_expired(name)
487
444
  @loader.get_conf(name)
488
445
  end
489
446
 
490
- # Guard an environment so it can't be evicted while it's in use. The method
491
- # may be called multiple times, provided it is unguarded the same number of
492
- # times. If you call this method, you must call `unguard` in an ensure block.
493
- def guard(name)
494
- entry = get_entry(name, false)
495
- entry.guard if entry
496
- end
497
-
498
- # Unguard an environment.
499
- def unguard(name)
500
- entry = get_entry(name, false)
501
- entry.unguard if entry
502
- end
503
-
504
447
  # Creates a suitable cache entry given the time to live for one environment
505
448
  #
506
449
  def entry(env)
@@ -516,11 +459,18 @@ module Puppet::Environments
516
459
  when Float::INFINITY
517
460
  Entry.new(env) # Entry that never expires (avoids syscall to get time)
518
461
  else
519
- if Puppet[:environment_timeout_mode] == :from_last_used
520
- MRUEntry.new(env, ttl) # Entry that expires in ttl from when it was last touched
521
- else
522
- TTLEntry.new(env, ttl) # Entry that expires in ttl from when it was created
523
- end
462
+ MRUEntry.new(env, ttl) # Entry that expires in ttl from when it was last touched
463
+ end
464
+ end
465
+
466
+ # Evicts the entry if it has expired
467
+ # Also clears caches in Settings that may prevent the entry from being updated
468
+ def evict_if_expired(name)
469
+ if (result = @cache[name]) && (result.expired? || @cache_expiration_service.expired?(name.to_sym))
470
+ Puppet.debug {"Evicting cache entry for environment '#{name}'"}
471
+ @cache_expiration_service.evicted(name.to_sym)
472
+ clear(name)
473
+ Puppet.settings.clear_environment_settings(name)
524
474
  end
525
475
  end
526
476
 
@@ -530,13 +480,12 @@ module Puppet::Environments
530
480
 
531
481
  def initialize(value)
532
482
  @value = value
533
- @guards = 0
534
483
  end
535
484
 
536
485
  def touch
537
486
  end
538
487
 
539
- def expired?(now)
488
+ def expired?
540
489
  false
541
490
  end
542
491
 
@@ -544,63 +493,50 @@ module Puppet::Environments
544
493
  ""
545
494
  end
546
495
 
547
- # These are not protected with a lock, because all of the Cached
548
- # methods are protected.
549
- def guarded?
550
- @guards > 0
551
- end
552
-
553
- def guard
554
- @guards += 1
555
- end
556
-
557
- def unguard
558
- @guards -= 1
496
+ def expires
497
+ END_OF_TIME
559
498
  end
560
499
  end
561
500
 
562
501
  # Always evicting entry
563
502
  class NotCachedEntry < Entry
564
- def expired?(now)
503
+ def expired?
565
504
  true
566
505
  end
567
506
 
568
507
  def label
569
508
  "(ttl = 0 sec)"
570
509
  end
510
+
511
+ def expires
512
+ START_OF_TIME
513
+ end
571
514
  end
572
515
 
573
- # Policy that expires in ttl_seconds from when it was created
574
- class TTLEntry < Entry
516
+ # Policy that expires if it hasn't been touched within ttl_seconds
517
+ class MRUEntry < Entry
575
518
  def initialize(value, ttl_seconds)
576
519
  super(value)
577
520
  @ttl = Time.now + ttl_seconds
578
521
  @ttl_seconds = ttl_seconds
579
- end
580
522
 
581
- def expired?(now)
582
- now > @ttl
523
+ touch
583
524
  end
584
525
 
585
- def label
586
- "(ttl = #{@ttl_seconds} sec)"
526
+ def touch
527
+ @ttl = Time.now + @ttl_seconds
587
528
  end
588
- end
589
-
590
- # Policy that expires if it hasn't been touched within ttl_seconds
591
- class MRUEntry < TTLEntry
592
- def initialize(value, ttl_seconds)
593
- super(value, ttl_seconds)
594
529
 
595
- touch
530
+ def expired?
531
+ Time.now > @ttl
596
532
  end
597
533
 
598
- def touch
599
- @ttl = Time.now + @ttl_seconds
534
+ def expires
535
+ @ttl
600
536
  end
601
537
 
602
538
  def label
603
- "(mru = #{@ttl_seconds} sec)"
539
+ "(ttl = #{@ttl_seconds} sec)"
604
540
  end
605
541
  end
606
542
  end
@@ -1,21 +1,5 @@
1
1
  require 'puppet/indirector/face'
2
2
  require 'puppet/node/facts'
3
- require 'puppet/util/fact_dif'
4
-
5
- EXCLUDE_LIST = %w[ ^facterversion$
6
- ^load_averages\..*$
7
- ^processors\.speed$
8
- ^swapfree$ ^swapfree_mb$
9
- ^memoryfree$ ^memoryfree_mb$
10
- ^memory\.swap\.available_bytes$ ^memory\.swap\.used_bytes$
11
- ^memory\.swap\.available$ ^memory\.swap\.capacity$ ^memory\.swap\.used$
12
- ^memory\.system\.available_bytes$ ^memory\.system\.used_bytes$
13
- ^memory\.system\.available$ ^memory\.system\.capacity$ ^memory\.system\.used$
14
- ^mountpoints\..*\.available.*$ ^mountpoints\..*\.capacity$ ^mountpoints\..*\.used.*$
15
- ^sp_uptime$ ^system_profiler\.uptime$
16
- ^uptime$ ^uptime_days$ ^uptime_hours$ ^uptime_seconds$
17
- ^system_uptime\.uptime$ ^system_uptime\.days$ ^system_uptime\.hours$ ^system_uptime\.seconds$
18
- ]
19
3
 
20
4
  Puppet::Indirector::Face.define(:facts, '0.0.1') do
21
5
  copyright "Puppet Inc.", 2011
@@ -47,7 +31,6 @@ Puppet::Indirector::Face.define(:facts, '0.0.1') do
47
31
 
48
32
  $ puppet facts find
49
33
  EOT
50
- find.default = true
51
34
 
52
35
  deactivate_action(:destroy)
53
36
  deactivate_action(:search)
@@ -60,16 +43,12 @@ Puppet::Indirector::Face.define(:facts, '0.0.1') do
60
43
  EOT
61
44
  returns "Nothing."
62
45
  notes <<-'EOT'
63
- This action requires that the puppet master's `auth.conf` file
46
+ This action requires that the Puppet Server's `auth.conf` file
64
47
  allow `PUT` or `save` access to the `/puppet/v3/facts` API endpoint.
65
48
 
66
49
  For details on configuring Puppet Server's `auth.conf`, see:
67
50
 
68
51
  <https://puppet.com/docs/puppetserver/latest/config_file_auth.html>
69
-
70
- For legacy Rack-based Puppet Masters, see:
71
-
72
- <https://puppet.com/docs/puppet/latest/config_file_auth.html>
73
52
  EOT
74
53
  examples <<-'EOT'
75
54
  Upload facts:
@@ -104,65 +83,6 @@ Puppet::Indirector::Face.define(:facts, '0.0.1') do
104
83
  end
105
84
  end
106
85
 
107
- action(:diff) do
108
- summary _("Compare Facter 3 output with Facter 4 output")
109
- description <<-'EOT'
110
- Compares output from facter 3 with Facter 4 and prints the differences
111
- EOT
112
- returns "Differences between Facter 3 and Facter 4 output as an array."
113
- notes <<-'EOT'
114
- EOT
115
- examples <<-'EOT'
116
- get differences between facter versions:
117
- $ puppet facts diff
118
- EOT
119
-
120
- option("--structured") do
121
- default_to { false }
122
- summary _("Render the different facts as structured.")
123
- end
124
-
125
- option("--exclude " + _("<regex>")) do
126
- summary _("Regex used to exclude specific facts from diff.")
127
- end
128
-
129
- when_invoked do |*args|
130
- options = args.pop
131
-
132
- Puppet.settings.preferred_run_mode = :agent
133
- Puppet::Node::Facts.indirection.terminus_class = :facter
134
-
135
- if Puppet::Util::Package.versioncmp(Puppet.runtime[:facter].value('facterversion'), '4.0.0') < 0
136
- cmd_flags = '--render-as json --show-legacy'
137
-
138
- # puppet/ruby are in PATH since it was updated in the wrapper script
139
- puppet_show_cmd = "puppet facts show"
140
- if Puppet::Util::Platform.windows?
141
- puppet_show_cmd = "ruby -S -- #{puppet_show_cmd}"
142
- end
143
-
144
- facter_3_result = Puppet::Util::Execution.execute("#{puppet_show_cmd} --no-facterng #{cmd_flags}", combine: false)
145
- facter_ng_result = Puppet::Util::Execution.execute("#{puppet_show_cmd} --facterng #{cmd_flags}", combine: false)
146
-
147
- exclude_list = options[:exclude].nil? ? EXCLUDE_LIST : EXCLUDE_LIST + [ options[:exclude] ]
148
- fact_diff = FactDif.new(facter_3_result, facter_ng_result, exclude_list, options[:structured])
149
- fact_diff.difs
150
- else
151
- Puppet.warning _("Already using Facter 4. To use `puppet facts diff` remove facterng from the .conf file or run `puppet config set facterng false`.")
152
- exit 0
153
- end
154
- end
155
-
156
- when_rendering :console do |result|
157
- case result
158
- when Array, Hash
159
- Puppet::Util::Json.dump(result, :pretty => true)
160
- else
161
- result
162
- end
163
- end
164
- end
165
-
166
86
  action(:show) do
167
87
  summary _("Retrieve current node's facts.")
168
88
  arguments _("[<facts>]")
@@ -179,6 +99,7 @@ Puppet::Indirector::Face.define(:facts, '0.0.1') do
179
99
 
180
100
  $ puppet facts show os
181
101
  EOT
102
+ default true
182
103
 
183
104
  option("--config-file " + _("<path>")) do
184
105
  default_to { nil }
@@ -207,42 +128,23 @@ Puppet::Indirector::Face.define(:facts, '0.0.1') do
207
128
  summary _("Show legacy facts when querying all facts.")
208
129
  end
209
130
 
210
- option("--value-only") do
211
- summary _("Show only the value when the action is called with a single query")
212
- end
213
-
214
131
  when_invoked do |*args|
215
132
  options = args.pop
216
133
 
217
134
  Puppet.settings.preferred_run_mode = :agent
218
135
  Puppet::Node::Facts.indirection.terminus_class = :facter
219
136
 
220
- if options[:value_only] && !args.count.eql?(1)
221
- options[:value_only] = nil
222
- Puppet.warning("Incorrect use of --value-only argument; it can only be used when querying for a single fact!")
223
- end
224
137
 
225
138
  options[:user_query] = args
226
139
  options[:resolve_options] = true
227
140
  result = Puppet::Node::Facts.indirection.find(Puppet.settings[:certname], options)
228
141
 
229
- if options[:value_only]
230
- result.values.values.first
231
- else
232
- result.values
233
- end
142
+ result.values
234
143
  end
235
144
 
236
145
  when_rendering :console do |result|
237
- # VALID_TYPES = [Integer, Float, TrueClass, FalseClass, NilClass, Symbol, String, Array, Hash].freeze
238
- # from https://github.com/puppetlabs/facter/blob/4.0.49/lib/facter/custom_facts/util/normalization.rb#L8
239
-
240
- case result
241
- when Array, Hash
242
- Puppet::Util::Json.dump(result, :pretty => true)
243
- else # one of VALID_TYPES above
244
- result
245
- end
146
+ Puppet::Util::Json.dump(result, :pretty => true)
246
147
  end
247
148
  end
248
149
  end
150
+
@@ -58,8 +58,6 @@ Puppet::Face.define(:generate, '0.1.0') do
58
58
  Puppet::FileSystem::mkpath(outputdir)
59
59
 
60
60
  generator.generate(inputs, outputdir, options[:force])
61
-
62
- exit(1) if generator.bad_input?
63
61
  nil
64
62
  end
65
63
  end
@@ -54,7 +54,6 @@ undocumented option
54
54
  end
55
55
  unless action.options.empty?
56
56
  action.options.sort.each do |name|
57
- next if name == :extra
58
57
  option = action.get_option name -%>
59
58
  <%= " " + option.optparse.join(" | ")[0,(optionroom - 1)].ljust(optionroom) + ' - ' -%>
60
59
  <% if !(option.summary) -%>
@@ -49,7 +49,6 @@ undocumented option
49
49
  end
50
50
  unless face.options.empty?
51
51
  face.options.sort.each do |name|
52
- next if name == :extra
53
52
  option = face.get_option name -%>
54
53
  <%= " " + option.optparse.join(" | ")[0,(optionroom - 1)].ljust(optionroom) + ' - ' -%>
55
54
  <% if !(option.summary) -%>
@@ -222,7 +222,7 @@ Puppet::Face.define(:help, '0.0.1') do
222
222
  #private :horribly_extract_summary_from
223
223
 
224
224
  def exclude_from_docs?(appname)
225
- %w{face_base indirection_base cert key man report status}.include? appname
225
+ %w{face_base indirection_base report status}.include? appname
226
226
  end
227
227
  # This should absolutely be a private method, but for some reason it appears
228
228
  # that you can't use the 'private' keyword inside of a Face definition.
@@ -47,17 +47,6 @@ Puppet::Face.define(:node, '0.0.1') do
47
47
  end
48
48
 
49
49
  class LoggerIO
50
- def debug(message)
51
- Puppet.debug(message)
52
- end
53
-
54
- # Notice: For Puppet 6.x, the function below does not matter as it
55
- # does not have any functionality. But we decided to keep it here
56
- # for the ease of merge up to 7.x and having the same code base.
57
- def warn(message)
58
- Puppet.warning(message) unless message =~ /cadir is currently configured to be inside/
59
- end
60
-
61
50
  def err(message)
62
51
  Puppet.err(message) unless message =~ /^\s*Error:\s*/
63
52
  end
@@ -41,14 +41,11 @@ Puppet::Face.define(:plugin, '0.0.1') do
41
41
  when_invoked do |options|
42
42
  remote_environment_for_plugins = Puppet::Node::Environment.remote(Puppet[:environment])
43
43
 
44
- pool = Puppet.runtime[:http].pool
45
- Puppet.override(:http_pool => pool) do
46
- begin
47
- handler = Puppet::Configurer::PluginHandler.new
48
- handler.download_plugins(remote_environment_for_plugins)
49
- ensure
50
- pool.close
51
- end
44
+ begin
45
+ handler = Puppet::Configurer::PluginHandler.new
46
+ handler.download_plugins(remote_environment_for_plugins)
47
+ ensure
48
+ Puppet.runtime[:http].close
52
49
  end
53
50
  end
54
51